Hola cómo les va? Les cuento que estoy involucrandome con el mundo de los microcontroladores, el cual me resulta muy interesante.
Estoy intentando hacer mi primer programa, y venía muy bien hasta que se me complicó!
Mi intención era hacer un simple programa que con un pulsador conectado al pin RA0, fuera incrementando en uno (del 0 al 9) el número mostrado en un 7 segmentos, conectado al puerto B.
Hice el programa con el mplab en assembler e intenté simularlo con el Proteus, obviamente que por algún error en mi programación no funciona, y hace 2 días que me estoy quemando las pestañas, lo único que hace es encender cualquier segmento al azar.
Podrían por favor orientarme en donde está el problema ya que no consigo verlo?
Les adjunto el diseño del circuito y el programa.
Ver el archivo adjunto test.bmp
Estoy intentando hacer mi primer programa, y venía muy bien hasta que se me complicó!
Mi intención era hacer un simple programa que con un pulsador conectado al pin RA0, fuera incrementando en uno (del 0 al 9) el número mostrado en un 7 segmentos, conectado al puerto B.
Hice el programa con el mplab en assembler e intenté simularlo con el Proteus, obviamente que por algún error en mi programación no funciona, y hace 2 días que me estoy quemando las pestañas, lo único que hace es encender cualquier segmento al azar.
Podrían por favor orientarme en donde está el problema ya que no consigo verlo?
Les adjunto el diseño del circuito y el programa.
Ver el archivo adjunto test.bmp
Código:
Código:
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST P=PIC16F84A
INCLUDE<P16F84A.INC>
ORG 0
CUENTA EQU 0CH
RETARDO EQU 0DH
Inicio
bsf STATUS,RP0
clrf TRISB
movlw b'11111111'
movwf TRISA
bcf STATUS,RP0
CLRF CUENTA
movf CUENTA,W
Principal
btfsc PORTA,0
call TEST
call ESPERA
goto Principal
ESPERA
BTFSC PORTA,0
GOTO ESPERA
return
TEST
incf CUENTA
movf CUENTA,W
call Binario_7Seg
movwf PORTB
return
Binario_7Seg
addwf PCL,F
Tabla retlw 3fh
retlw 06h
retlw 5bh
retlw 4fh
retlw 66h
retlw 6dh
retlw 7dh
retlw 07h
retlw 7fh
retlw 67h
retlw 77h
retlw 7ch
retlw 39h
retlw 5eh
retlw 79h
retlw 71h
END
Última edición por un moderador: