; interrupción es la 0004H, pero como en este proyecto no se usan ; las interrupciones, podemos seguir con el programa. ; Se ponen todas las terminales del puerto B como salidas, y se ; colocan en ceros. Nota que dado que el registro TRISB está en el ; banco de memoria 1, hay que configurar el bit RP0 del registro ; STATUS para que pueda ser modificado. MOVLW BSF MOVWF BCF MOVWF
b'00000000' STATUS, RP0 TRISB STATUS, RP0 PORTB
; Ahora vamos a implementar la subrutina de espera SEG; para ello ; vamos a colocar tres contadores anidados uno dentro de otro, dos ; de 255 a cero y uno de 15 a cero; con esto se consigue un retraso ; de poco más de 1 segundo. SEG
SEGA
MOVLW MOVWF MOVWF MOVLW MOVWF DECFSZ GOTO DECFSZ GOTO DECFSZ GOTO RETURN
b'11111111' CONT1 CONT2 b'00001111' CONT3 CONT1, 1 SEGA CONT2, 1 SEGA CONT3, 1 SEGA
; Se enciende Verde1 y Rojo2, se coloca un indicador en este punto PUNTO1
MOVLW MOVWF
b’00100001’ PORTB
; Se carga la cantidad de tiempo en el registro respectivo MOVLW MOVWF
b'00101000' TIEMPO
; Se llama a la subrutina de retraso de SEG. Se coloca un marcador ; en este punto. Comienza a decrementarse el registro TIEMPO, cuando
109