Generar pulso de 500 hz con un cristal o un pic

Alguien sabe como generar un pulso de 500 hz ya sea con un pic o de alguna otra fora, he tratado con el pwm del pic y me da una frecuencia minima de 770 hz,alguien conoce alguna forma de dar este valor exacto?
 
No tiene por que ser el módulo PWM, podés prender una salida, esperar, apagarla, esperar y que se repita el ciclo a 500Hz
 
bueno, no se que pic usas, pero si tienes un pic 16f877a (es el que yo he manejado), con un cristal de 4 MHZ, puedes con el pwm alcanzar hasta 250HZ como minimo....
probablemente estas usando un cristal de 12 MHz...si tu problema es que no puedes cambiar el cristal, has un temorizador, que cuente la mitad del periodo de la señal que ocupas..
es decir... si tienes una señal de 770hz.. osa (1/770) segundos de periodo...la señal podria estar constituida por 1/(770/2) segundos en alto... y el mismo tiempo en bajo..
periodo=(1/770)=.001298 segundos
para conformar la serñal ocupas un semiciclo en alto y otro en bajo...
alto(1)=.000649 segundos
bajo(0)=.000649 segundos.
entonces para aterrizar.. configurta un timer para que te cuente 649 microsegundos..cuando se inicia, inicia una salida en 0.. cuando se cumplan los 649 microsegundos, ponla ahora en uno... cuando vuelvan a pasar los 649 segundos ponla en 0.. y ahi lo tienes...

con cristal de 4Mhz estos son los valores de conf del pwm
PR2 = 0b01111100 ;
T2CON = 0b00000111 ;
CCPR1L = 0b00111110 ;
CCP1CON = 0b00011100 ;
 
He tratado de hacer lo que me sugirieron con pwm pero al cabo de cierto tiempo hay un descuadre en la frecuencia cuando, si coloco la salida pwm del de 500 hz a un contador este funciona bien pero si coloco hacer otras cosas al pic se desface es bastante significativo, exitse alguna otra forma con un crystal y un divisor de frecuencia puede ser?
 
Atrás
Arriba