TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Leonsport en 04 de Diciembre de 2003, 04:22:00
-
Hola amigos a ver si me podeis hechar una manita en este mini-proyecto. Os lo comento :
- se trata de hacer un frecuencimetro con un 16f84 para medir de 0 a 255hz. Entonces tengo q leer la señal que me entra por ra4 durante 1seg y almacenar el resultado para posteriormente sacarlo hacia 1 display de 7segmentos.
Si aprieto ra0 saco las centenas,ra1 decenas y ra2 unidades.
Por ejemplo si sale 122hz, apretando cada boton me saldria la frecuencia q lea.(1-2-2).
Al apretar ra3 se borrará el display e se calculará la nueva frecuencia durante 1seg
Gracias y salu2222222
-
Hola, no aclaras en que lenguaje... pero, el tiempo de un minuto lo tendras que controlar con el tmr0, que estara llevando la cuenta en forma paralela mientras verificas los flancos en ra4, es decir, testeas que pase de 0 a 1 e incrementas un contador... como este contador, estara expresado en binario (maxima cuenta 255) ,lo ten dras que presentar en 3 registros, es decir pasar de binario a bcd... esto esta en www.todopic.com.ar en la parte de asembler...
luego simplemente leeras el pulsador, y mostraras cada registro...
perooooo (siempre hay un pero ) supongo que esto lo pidieron en el colegio... asi que... tu tendras que ir colocando los programas... nosotros te daremos consejos o correcciones ok? 
Suerte!
Norberto
-
El lenguaje es asm.
La idea q me has dicho mas o menos si q la entiendo. Tu lo q dices es de testear el paso de 0 a 1, es decir cuando pase de 0 a 1 incremento un contador y cuando este llegue a 255 pues ya lo represento en los displays. Pero el paso de como contar lo de ra4 durante 1seg todavia no sé como enlazarlo y lo de testear el paso de 0 a 1 no lo tengo mu claro.
A ver si me orientas un poco y ya voy avanzando en el programa.
gracias y salu222222
-
Revisadme este codigo please...en el proteus no me rula bien.
LIST P=16F84
PORTA EQU 05
PORTB EQU 06
TMR0 EQU 01
INTCON EQU 0B
TEMPO2 EQU 0E
ESTADO EQU 03
;-------------RUTINA DE RETARDO DE 1SEGUNDO--------------------------------
RETARDO BCF INTCON,2
MOVLW D"39"
MOVWF TMR0
RETARD1 BTFSS INTCON,2
GOTO RETARD1
DECFSZ TEMPO2,1
GOTO RETARDO
RETURN
RETARD_1S MOVLW D"64"
MOVWF TEMPO2
CALL RETARDO
RETURN
;-----------------CONFIGURACION -------------------------------------
BSF ESTADO,5
MOVLW B"00011111"
MOVWF PORTA
CLRF PORTB
MOVLW B"11101000"
MOVWF TMR0
;---------------INICIO DE PROGRAMA----------------------------------
ORG 0
GOTO INICIO
ORG 5
INICIO BCF ESTADO,5
CLRF TMR0
CALL RETARD_1S
MOVF TMR0,0
MOVWF PORTB
GOTO INICIO
END