¿Se puede programar un oscilador externo de 64Mhz para que trabaje a menos velocidad?

#1
Hola a todos,

Resulta que estamos haciendo un proyecto final de electronica, y usamos un oscilador externo de 64Mhz. Lo usamos para un panel de matrices LED.
Pues la informacion va tan rapida, que nos da problemas a la hora de visualizar el mensaje. Nos dimos cuenta que sin el oscilador externo, el mensaje se lee pero va muyyy lento, pro con el oscilador de 64Mhz hace que el mensaje se vea raro con LEDs que no deberian de encenderse y asi

Por lo tanto, queremos usar ese oscilador de 64Mhz pero que trabaje un poco mas lento.

¿Se puede porgramar un PIC18F14K22 en lenguaje C, compilando con CCS, para que podamos ir reduciendo la velocidad del oscilador?

Esque tenemos que ir probando diferentes velocidades para ver cual es la maxima velocidad para que el mensaje se vea correcto


Muchisimas gracias por vuestra atencion :)
 
#3
en el ccs hay esa opcion? y si es asi, como se hace?
como se varia el tiempo de actualizacion de datos?

Muchisimas gracias por tu respuesta



me acabo de dar cuenta de que ya se hacer eso.

pero la pregunta era si se puede hacer que un oscilador de 64Mhz trabaje a 30Mhz, por ejemplo
 
Última edición:
#5
Creo que lo que buscas es un simple divisor de frecuencia, y de ese tema hay mucho aqui en el foro, por favor usa el buscador
 
#6
gracias por las respuestas, pero lo que queria saber, es sin con el osiclador de 64Mhz, en la programacion del PIC, se puede hacer que trabaje por lo menos a la mitad.

Sin tener que poner ningun componente nuevo.

He leido algo por ahi, que hay un FUSES, que lo que hace es dividir la entrada donde se conecta el oscialdor externo, y que le haga trabajar a la mitad, simplemente con programacion


eso se puede?
 
#8
En ese PIC no se puede ya que no cuenta con Prescaler, se puede aumentar la frecuencia a X4 usando el PLL y podrías operar a 64MHz con el cristal de 16MHz, pero no reducir la velocidad, podrías intentar usar el oscilador interno, parece que puedes usar el PLL con el modo de 8MHz y 16MHz así que tendrías 32MHz y 64MHz, ademas de las otras frecuencias.
 
Última edición:
#10
Tambien puedes usar el oscilador interno, que corre a distintas frecuencias, pero realmente lo adecuado es que pongas un retraso en alguna parte del código que se dedique a mostrar los mensajes. Cambiar le frecuencia del reloj no es la forma adecuada de hacer que tu mensaje vaya más lento. Usa la función delay_ms([tiempo en ms]) dentro de la función encargada de mostrar el mensaje para hacer que tu mensaje sea más lento.
 
Arriba