TODOPIC
Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: jhoonyn46 en 28 de Abril de 2009, 11:11:58
-
buenas estoy en el estudio de como con un pic 16f628 puedo habilitar 4 diferente frecuencia en 3 pines diferentes , osea quiero contruir un reloj con 4 frecuencia diferentes la primera frecuencia es de 76hz la segunda dividimos la primera entre 2 y es 38 hz y la tercera volvemos a dividir pero ahora la segunda fecuencia en tre 2 y la ultima es 0 , lo primera parte del proyecto es esa , porque tengo que hacerle unas entrada al pc para que depende al codigo que resiva me habilite el puerto con la frecuencia que necesito. y eso pines a su ves van conectados a otro proyecto que tiene otra funcion depende la frecuencia entrante, espero si alguien tine alguna informacion que me pueda servir de ayuda se lo agradecere . saludos :-/ :-/ :-/ :-/ :) :) :)
-
Desde mi punto de vista no necesitas un pic para tu problema. Lo puedes resolver poniendo un LM555 que genere una frecuencia cuadrada de 152Hz y después la divides entre 2, entre 4 y entre 8 con un contador como el 74LS93.
Q0 será la salida de la frecuencia de 76Hz.
Q1 será 38Hz
Q2 será 19Hz
-
//hola, mire es sencillo de hacer, debe crear una interrupción por timer de 1/(2*76Hz), dentro de esa incremente una variable ejemplo
contador++;
//listo suponga que la salida va ha ser el puerto B
PORTB=0x0F&contador;//
//para una frecuencia =0 eso es un nivel DC, no se nesecita pic para eso, ni siquiera para esto, se puede hacer con un CD4024 sino estoy mal es un contador, y //555 con la frecuencia bien calculada,
//hablamos, espero sea util
-
gracias por su respuesta pero me lo mandaron hacer con ese pic en especial
-
Ah, bueno en ensamblador yo haría una subrutina de tiempo de 6.57ms (1/152Hz).
Luego en el puerto b coloco:
RB0: 76Hz
RB1: 38Hz
RB2: 19Hz
Y el programa
salto: incf portb,f
call tiempo6ms
goto salto
Y listo, el conteo generará las frecuencias cuadradas. El valor de los bits cambia en múltiplos de dos por lo que funciona igual al contador 74LS93.
Si no sabes hacer subrutinas de tiempos con ciclos anidados usa este programa:
http://www.4shared.com/file/102232704/f64264b6/Picdel_sp.html
-
También puedes configurar el timer1 como para generar una interrupción cada 6.5789ms. Por ejemplo para 4MHz, configurando preescaler a 1:1 y Pre cargando Timer1 con 58957 se puede lograr una interrupción cada 6.579ms. Pero hay que tener en cuenta el tiempo que ocuparan las instrucciones en la interrupción para afinar la temporización.
Si usas asm yo realice un programita que tiene una utilidad para calcular temporizaciones que puede ayudarte. El programa lo puedes descargar de aquí (http://www.todopic.com.ar/foros/index.php?topic=25660.0)