Hola Amigos
tengo que realizar una actividad con un PIC16F84A en el MPLAB; La actividad consiste en hacer un semáforo, donde el tiempo que se demoran los peatones se vea en un un display 7seg y ese tiempo es de 0-9 y ademas tiene que llevar una interrupción para cuando haya un carro y no hay peatones se active el semáforo sin importar en que número vaya el contador.
Esto es lo que he hecho me falta solo la interrupción:
Gracias por su ayuda 
tengo que realizar una actividad con un PIC16F84A en el MPLAB; La actividad consiste en hacer un semáforo, donde el tiempo que se demoran los peatones se vea en un un display 7seg y ese tiempo es de 0-9 y ademas tiene que llevar una interrupción para cuando haya un carro y no hay peatones se active el semáforo sin importar en que número vaya el contador.
Esto es lo que he hecho me falta solo la interrupción:
Código:
#INCLUDE <P16F84A.INC>
radix hex
estado equ 0x03
reg1 equ 0x0C
reg2 equ 0x0D
reg3 equ 0x0E
reset org 0x00
inicio
bsf estado,5
movlw b'00000001'
movwf TRISB
clrf TRISA
bcf estado,5
movlw b'01111110'
movwf PORTB
call retardoP
movlw b'00001100'
movwf PORTB
call retardoP
movlw b'10110110'
movwf PORTB
call retardoP
movlw b'10011110'
movwf PORTB
call retardoP
movlw b'11001100'
movwf PORTB
call retardoP
movlw b'11011010'
movwf PORTB
call retardoP
movlw b'11111010'
movwf PORTB
call retardoP
movlw b'00001110'
movwf PORTB
call retardoP
movlw b'11111110'
movwf PORTB
call retardoP
movlw b'11011110'
movwf PORTB
call retardoP
movlw b'01111111'
movwf PORTB
call retardo
movlw b'00000001'
movwf PORTA
CALL retardo
movlw b'00000010'
movwf PORTA
CALL retardo
movlw b'00000100'
movwf PORTA
CALL retardoP
CALL retardoP
CALL retardoP
CALL retardoP
CALL retardoP
CALL retardoP
CALL retardoP
CALL retardoP
CALL retardoP
CALL retardoP
CALL retardo
movlw b'00000010'
movwf PORTA
CALL retardo
movlw b'00000001'
movwf PORTA
goto inicio
retardoP
movlw 50
movwf reg1
tres movlw 40
movwf reg2
dos movlw 30
movwf reg3
uno decfsz reg3,1
goto uno
decfsz reg2,1
goto dos
decfsz reg1,1
goto tres
retlw 00
retardo movlw 30
movwf reg1
tres1 movlw 20
movwf reg2
dos1 movlw 10
movwf reg3
uno1 decfsz reg3,1
goto uno
decfsz reg2,1
goto dos
decfsz reg1,1
goto tres
retlw 00
end
Última edición por un moderador: