Hola Foro, este es mi primer mensaje, pero desde hace tiempo me estan ayudando ya que leo los mensajes anteriores.
Ahora tengo un problema, y que no encontré post similar asi que decidí hacer uno nuevo tema.
Estoy construyendo el clasico Tacometro Digital con PBP, y un 16F84A (como el del libro de Carlos A Reyes "Microcontroladores PIC programación en BASIC")
Para simular los pulso uso un botón, por ahora me conformo con que cuente esos pulsos.
En proteus funciona a las mil maravillas.
Pero cuando armé el circuito en el Protoboar pasa algo curioso.
Por un lado no cuenta nada de nada. Y cuando desconecto el cable que esta al PIN que cuenta, ahí empieza a contar. Llega hasta 50 Hz (por eso sospecho que quizas tiene algo que ver la alimentación)
cuando conecto ese cable (el del PIN que cuenta) a positivo, o negativo NADA.
Adjunto esta la imagen del circuito en proteus.
Este es el código:
'PIC16F84A
DEFINE CONF_WORD = 0x3FF9
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4 'RB4 - RB7
DEFINE LCD_RSREG PORTA
DEFINE LCD_RSBIT 4
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 3
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
trisa = 0
trisb = 128 'RB0 = entrada y RB1 - RB7 salida
revoSeg var word
revoMin var word
revoMax var word
revoMax = 0
prog:
revoSeg = 0
revoMin = 0
count portb.0,1000,revoSeg
revoMin = revoSeg * 60
if (RevoSeg > revoMax) Then
revoMax = revoSeg
Endif
LCDOUT $fe, 1
pause 2
'1º Linea
LCDOUT $fe, $80
if (revoSeg <= 1000) Then
LCDOUT DEC revoMIN
LCDOUT $fe, $85, "RPM"
Else
LCDOUT "-----RPM"
EndIf
LCDOUT $fe, $88, "|MAX RPS"
'2º Linea
LCDOUT $fe, $C0, DEC revoSeg
LCDOUT $fe, $C5, "RPS|"
LCDOUT $fe, $C9, DEC revoMax
goto prog
end
Muchas gracias, ojala puedan ayudarme.