Você está na página 1de 4

; PROJETO NO-BREAK COM PIC

;**************************************
; ARQUIVO DE DEFINIES
;**************************************
#INCLUDE <P16F84A.INC>
PROCESSOR PIC16F84A
ERRORLEVEL -302
;***************************************
__CONFIG 0X3FF1
;****************************************
; VARIAVEIS
;*****************************************
CBLOCK 0X0C
VAR1
INV
ENDC

;****************************************
; CONSTANTES
;****************************************
PORTA EQU 5H
TRISA EQU 85H
RA0 EQU 0H
RA1 EQU 1H
RA2 EQU 2H
RA3 EQU 3H
RA4 EQU 4H
RB0 EQU 0H
RB1 EQU 1H
RB2 EQU 2H
RB3 EQU 3H
RB4 EQU 4H
PORTB EQU 06H
TRISB EQU 86H
TRISB4 EQU 4H
STATUS EQU 03H
RP0 EQU 5H

;***********************************************
; PAGINA DE MEMORIA
;**********************************************
#DEFINE BANK0 BCF STATUS, RP0
#DEFINE BANK1 BSF TATUS, RP0
;**********************************************
;VETOR DO RESET
;*************************************************
ORG 0X00
GOTO INIC
;************************************************

CAL1 BANK0
BTFSC PORTA, RA3
GOTO RA31
BSF PORTB, RB1
BCF PORTB, RB0
BCF INV, 0
GOTO FIM1

RA31 BTFSS PORTA, RA4


GOTO RA40
BCF PORTB, RB1
BSF PORTB, RB0
BCF INV, 0
GOTO FIM1

RA40 BCF PORTB, RB1


BSF PORTB, RB0
BSF INV, 0

FIM1 RETURN

CAL2 BANK0
BTFSC PORTA, RA0
GOTO RA01B
BCF PORTB, RB2
GOTO CAL21

RA01B BSF PORTB, RB2

CAL21BTFSC PORTA, RA1


GOTO RA11B
BCF PORTB, RB3
GOTO FIM2

RA11B BSF PORTB, RB3

FIM2 BANK1
MOVLW 0XF0
MOVWF TRISB

INIC BANK0
CLRF PORTA
BSF STATUS
BANK1
MOVLW 0X1F
MOVWF TRISA
LIG1 MOVLW 0X10
MOVWF VAR1

LIG11 CALL CAL1

BTFSS INV, 0
GOTO INV0
BANK0
BSF PORTB, RB4
BANK1
BCF TRISB, TRISB4
GOTO EMC

INV0 BANK1
BSF TRISB, TRISB4

EMC CALL CAL2

DECFSZ VAR1, F
GOTO LIG11
NOP

DSLG1 MOVLW 0X1F


MOVWF VAR1

DSG11 CALL CAL1

BANK1
BSF TRISB, TRISB4

CALL CAL2

DECFSZ VAR1, F
GOTO DSGG11
NOP

LIG0 MOVLW 0X10


MOVWF VAR1

LIG01 CALL CAL1

BTFSS INV, 0
GOTO INV0B
BANK0
BCF PORTB, RB4
BANK1
BCF TRISB, TRISB4
GOTO EMC2

INV0B BANK1
BSF TRISB, TRISB4

EMC2 CALL CAL2

DECFSZ VAR1, F
GOTO LIG01
NOP

DSLG2 MOVLW 0X1F


MOVWF VAR1

DSG21 CALL CAL1

BANK1
BSF TRISB, TRISB4

CALL CAL2

DECFSZ VAR1, F
GOTO DSGG21
NOP

GOTO LIG1

END

Você também pode gostar