Hola a todos. A ver si me pueden echar una mano porque ya la cabeza no me da. Ayer estaba haciendo un programita sencillo para generar cuatro secuencias de luces mediante un pulsador en RB0 (como entrada) y las 12 patas restantes, como salida. Lo curioso del tema es que el circuito me funciona correctamente en el simulador, pero cuando lo llevo a la práctica, no.
Ya verifiqué el WDT y está desactivado. El conexionado del circuito también está correcto. Los LDS´s permanecen todo el tiempo apagados.
Gracias por sus comentarios.
Saludos,
list p=16f84a
porta equ 0x05
portb equ 0x06
estado equ 0x03
tmr0 equ 0x01
intcon equ 0x0b
acu equ 0x0c
aux equ 0x0d
org 0
goto inicio
org 4
goto inter
org 5
inicio bsf estado,5
movlw b"00000001"
movwf portb
clrf porta
movlw b"11000111"
movwf tmr0
movlw b"10110000"
movwf intcon
bcf estado,5
clrf tmr0
clrf porta
clrf portb
clrf aux
clrf acu
ppal clrw
subwf aux,0
btfss estado,2
goto dos
call rutina1
dos movlw d"1"
subwf aux,0
btfss estado,2
goto tres
call rutina2
tres movlw d"2"
subwf aux,0
btfss estado,2
goto cuatro
call rutina3
cuatro movlw d"3"
subwf aux,0
btfss estado,2
goto ppal
call rutina4
goto ppal
rutina1 clrf tmr0
movlw b"00010000"
movwf porta
clrf portb
call retardo
etiq1 rrf porta,1
call retardo
btfss porta,0
goto etiq1
clrf porta
movlw b"10000000"
movwf portb
call retardo
etiq2 rrf portb,1
call retardo
btfss portb,1
goto etiq2
movlw b"00000100"
movwf portb
call retardo
etiq3 rlf portb,1
call retardo
btfss portb,7
goto etiq3
clrf portb
movlw b"00000001"
movwf porta
call retardo
etiq4 rlf porta,1
call retardo
btfss porta,3
goto etiq4
return
rutina2 clrf tmr0
movlw b"00010000"
movwf porta
movlw b"00000010"
movwf portb
call retardo
movlw b"00001000"
movwf porta
movlw b"00000100"
movwf portb
call retardo
movlw b"00000100"
movwf porta
movlw b"00001000"
movwf portb
call retardo
movlw b"00000010"
movwf porta
movlw b"00010000"
movwf portb
call retardo
movlw b"00000001"
movwf porta
movlw b"00100000"
movwf portb
call retardo
movlw b"00000000"
movwf porta
movlw b"11000000"
movwf portb
call retardo
movlw b"00000001"
movwf porta
movlw b"00100000"
movwf portb
call retardo
movlw b"00000010"
movwf porta
movlw b"00010000"
movwf portb
call retardo
movlw b"00000100"
movwf porta
movlw b"00001000"
movwf portb
call retardo
movlw b"00001000"
movwf porta
movlw b"00000100"
movwf portb
call retardo
return
rutina3 clrf tmr0
movlw b"00010000"
movwf porta
movlw b"00000010"
movwf portb
call retardo
movlw b"00011000"
movwf porta
movlw b"00000110"
movwf portb
call retardo
movlw b"00011100"
movwf porta
movlw b"00001110"
movwf portb
call retardo
movlw b"00011110"
movwf porta
movlw b"00011110"
movwf portb
call retardo
movlw b"00011111"
movwf porta
movlw b"00111110"
movwf portb
call retardo
movlw b"00011111"
movwf porta
movlw b"11111110"
movwf portb
call retardo
movlw b"00001111"
movwf porta
movlw b"11111100"
movwf portb
call retardo
movlw b"00000111"
movwf porta
movlw b"11111000"
movwf portb
call retardo
movlw b"00000011"
movwf porta
movlw b"11110000"
movwf portb
call retardo
movlw b"00000001"
movwf porta
movlw b"11100000"
movwf portb
call retardo
movlw b"00000000"
movwf porta
movlw b"11000000"
movwf portb
call retardo
movlw b"00000000"
movwf porta
movlw b"00000000"
movwf portb
call retardo
return
rutina4 clrf tmr0
movlw b"00010000"
movwf porta
movlw b"00000010"
movwf portb
call retardo
movlw b"00010100"
movwf porta
movlw b"00001010"
movwf portb
call retardo
movlw b"00010101"
movwf porta
movlw b"00101010"
movwf portb
call retardo
movlw b"00011111"
movwf porta
movlw b"11111110"
movwf portb
call retardo
movlw b"00001111"
movwf porta
movlw b"11111100"
movwf portb
call retardo
movlw b"00001011"
movwf porta
movlw b"11110100"
movwf portb
call retardo
movlw b"00001010"
movwf porta
movlw b"11010100"
movwf portb
call retardo
movlw b"00011111"
movwf porta
movlw b"11111110"
movwf portb
call retardo
return
retardo clrf tmr0
movlw 0x01
movwf acu
etiq5 btfsc acu,0
goto etiq5
return
inter btfss intcon,2
goto etiq6
clrf acu
bcf intcon,2
clrf tmr0
retfie
etiq6 incf aux
btfss aux,2
goto etiq7
clrf aux
bcf intcon,1
retfie
etiq7 bcf intcon,1
retfie
end