Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

13/06/2011 #1


Frecuenciometro con 16f628A y PicBasicPro
Estoy haciendo un frecuenciometro y ya me esta aburriendo....

codigo...

Código:
@ Device   PIC16F628A
@ Device   Intrc_Osc
@ Device   WDT_Off
@ Device   Pwrt_off
@ Device   Mclr_off
@ Device   BOD_Off
@ Device   LVP_Off
@ Device   CPD_Off
@ Device   Protect_Off
Define osc 4

CmCOn=7
TrisA=0
TrisB=%01000000

On Interrupt goto MyInt

Define LCD_Bits  4 
Define LCD_DREG  PortB
Define LCD_DBIT  0
Define LCD_RSREG PortA
Define LCD_RSBIT 6
Define LCD_RWREG PortA
Define LCD_RWBIT 7
Define LCD_EREG  PortA
Define LCD_EBIT  0
Define LCD_Lines 2


Hz    var word
Lapso    var word

PS_tmr1 con  1
IntCon     = %11000000
T1CON      = %00000110

Lapso=1000
loop:
 Gosub muestra
Goto loop

End          
                                     
Muestra:
 TMR1H  = 0: TMR1L  = 0
 PIE1.0   = 1  
 T1CON.0      = 1  

 pause Lapso
 
 T1CON.0      = 0 
 PIE1.0   = 0  
 Hz = TMR1L + (TMR1H * 255)*ps_tmr1
 LCDOUT $FE,$C0
 Lcdout dec HZ," Hz" 
 pause 1000
return

MyInt:
 Disable
  If PIR1.0   = 1 Then  PIR1.0 = 0:lapso=lapso/10
 Resume        
Enable
pongo esquema...


pongo video...

en el video no se ve bien pero es un oscilador de cristal TTL de 32MHz, y otro de 25MHz, yo ya lo voy a dejar asi...

pero requiero de su coolaboracion para ver si es posible que me pasen un circuito para un oscilador de cristal normalito(no TTL)...diagmos de 4Mz o 10MHZ

pd. no sean koolaids ya me aburrio y no encuentro nada sencillito..
13/06/2011 #2


opssss...

me tarde exactamente 4 Horas... pero lo encontre...


aqui lo pongo por si se me olvida

gracia de cualquier manera...
25/06/2011 #3


lubeck seria posible explicaras esta parte de el programa
Muestra:
TMR1H = 0: TMR1L = 0
PIE1.0 = 1
T1CON.0 = 1

pause Lapso

T1CON.0 = 0
PIE1.0 = 0
Hz = TMR1L + (TMR1H * 255)*ps_tmr1
LCDOUT $FE,$C0
Lcdout dec HZ," Hz"
pause 1000
return

gracias
25/06/2011 #4


El timer1 se utiliza como contador

TMR1H = 0: TMR1L = 0 ' el valor del timer1 se guarda en 2 variables la H y la L y yo aqui la pngo en cero para que empiece el conteo

PIE1.0 = 1 habilito el registro del overflow (sobreflujo) del Timer1
T1CON.0 = 1 'habilito el timer1

pause Lapso hago una pausa para que haga un determinado numero de conteos en un lapso de tiempo digamos 1mS

T1CON.0 = 0 'deshabilito el timer1 para que deje de contar
PIE1.0 = 0 deshabilito el registro del overflow (sobreflujo) del Timer1
Hz = TMR1L + (TMR1H * 255)*ps_tmr1 ' sumo la variable L +la variable h que es el resultado del conteo pero la multiplico por 255 porque la L tiene los primeros 8 bitsy H los 8 siguiente bits para dar un word de 16bits... y lo multiplico por 1 el valor del preescaler... si se cambia el preescaler en la configuracion del Timer1 entonces se debe cambiar la constante... en este caso se toma la predeterminada del micro que es 1...
LCDOUT $FE,$C0 pongo en pantalla
Lcdout dec HZ," Hz"
pause 1000 Pauso 1 segundo y regreso al bucle principal
return
25/06/2011 #5


se ve bueno el proyecto pero es un generador o medidor de oscilaciones ?
25/06/2011 #6


se ve bueno el proyecto pero es un generador o medidor de oscilaciones ?
en teoría es un frecuenciometro(para medir frecuencias)... a ese codigo solo le falta hacer los ajustes de presentación... y quizás los ajustes de calibración...

si lo preguntas porque puse unos osciladores... es que los osciladores los queria armar para verificar las frecuencias con el frecuenciometro...
25/06/2011 #7


hasta que maximo mide de frecuencia ?
25/06/2011 #8


en teoria se puede como hasta 50MHz, ahi lo probé con un Oscilador TTL de 38MHz...
25/06/2011 #9


por ahi tengo uno con el pic 16f84A ,espera a ver si lo encuentro
28/06/2011 #10


gracias por la explicacion lubeck
01/10/2011 #11


lubeck terminaste tu proyecto ?
07/10/2011 #12

Avatar de dinoelectro

aqui tienes mi frecuencimetro en PICBasic espero te sirva.. adjunto programa y simulacion (para pic 16f628a)

utilizo la funcion count.. ahi esta el truco revizalo
Archivos Adjuntos
Tipo de Archivo: rar EX5_FRECUENCIMETRO.rar (53,8 KB (Kilobytes), 157 visitas)
08/10/2011 #13


gracias vamos a revisar
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.