Escolar Documentos
Profissional Documentos
Cultura Documentos
START
BCF STATUS, RP1
BSF STATUS, RP0 ; Selecciona Banco 1 (para acesso ao registo TRI
S)
MOVLW 0x00
MOVWF TRISB ; Configura todos os pinos de PORTB como sadas
;-------------------DEFINE ENTRADAS
BSF TRISA, 1 ; DEFINE O BOTAO ON/OFF (RA1)
BSF TRISA, 2 ; DEFINE SENSOR ENTRADA (RA2)
BSF TRISA, 3 ; DEFINE SENSOR DE SAIDA (RA3)
;------------ DEFINE SAIDAS
BCF TRISA, 6 ; DEFINE LUZ DE OCUPADO (RA6)
BCF TRISA, 7 ; DEFINE A LUZ LIVRE (RA7)
BCF STATUS, RP0
BCF STATUS, RP1 ; Selecciona o banco 0 (para acesso PORTB)
MOVF CAR, 0x00
;-------{ LUZ VERDE INTERMITENTE
CICLO:
BSF PORTA, 7 ; LIGA
BCF PORTA, 7 ; DESLIGA
BTFSS PORTA, 1 ; SE O BOTAO ESTIVER ON[]
GOTO CICLO
BTFSC PORTA, 2 ; (RA2 Entrada) Salta se no ligado
INCF CAR, 1
BTFSC PORTA, 3 ; (RA3 Sada) Salta se no ligado
DECF CAR, 1
;-------{ PROCEDIMENTO CONVERTE
; MOVF CAR, NUM
CALL CONVERTE
MOVWF PORTB ; Envia o valor para o PORTB
CALL LL ; Reset PCL
GOTO CICLO
CONVERTE:
MOVLW 0x00
MOVWF PCLATH
MOVF 0x22, W; 0x22 = CAR
ADDWF PCL, F; F acumulador ; PCLATH so os ltimos 5 bits mais altos d
o PCL, coloca bits a 00000
RETLW 0x3F
RETLW 0x06
RETLW 0x5B
RETLW 0x4FA
RETLW 0x66
RETLW 0x6D
RETLW 0x7D
RETLW 0x07
RETLW 0x7F
RETLW 0x6F
LL:
RETURN
CICLODELAY:
INCFSZ COUNT, 1
GOTO CICLODELAY
RETURN
END