You are on page 1of 3

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

;* SANDOVAL JOSÉ DA SILVA ALVES_201501299531 *


;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

;QUESTÃO 1

#INCLUDE <P16F628A.INC>
__CONFIG _BOREN_ON & _CP_OFF & _PWRTE_ON & _WDT_ON & _LVP_OFF & _MCLRE_OFF & _XT_OSC

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* PAGINAÇÃO DE MEMÓRIA *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

#DEFINE BANK0 BCF STATUS,RP0


#DEFINE BANK1 BSF STATUS,RP0

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* VARIÁVEIS *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

CBLOCK 0x20

W_TEMP
STATUS_TEMP

ENDC

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* ENTRADAS *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

#DEFINE BT_VM PORTA,1

#DEFINE BT_MT PORTA,2

#DEFINE BT_CLR PORTA,3

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* SAÍDAS *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

#DEFINE LED_VM PORTB,4

#DEFINE MT_DC PORTB,5

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* VETOR DE RESET *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

ORG 0x00 ;ENDEREÇO INICIAL DE PROCESSAMENTO


GOTO INICIO

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* INÍCIO DA INTERRUPÇÃO *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

ORG 0x04
RETFIE

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* INICIO DO PROGRAMA *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

INICIO
BANK0
MOVLW B'00000111'
MOVWF CMCON

CLRF PORTA
CLRF PORTB

BANK1
MOVLW B'00001110'
MOVWF TRISA

MOVLW B'00000000'
MOVWF TRISB
MOVLW B'10000000'
MOVWF OPTION_REG

MOVLW B'00000000'
MOVWF INTCON
BANK0

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* INICIALIZAÇÃO DAS VARIÁVEIS *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* ROTINA PRINCIPAL *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

MAIN

BTFSC BT_VM
GOTO BT_MT
GOTO LIGA_LED_VM

BTFSC BT_MT
GOTO BT_CLR
GOTO LIGA_MT_DC

BTFSC BT_CLR
GOTO MAIN
GOTO DESLIGA TUDO

DESLIGA TUDO
BCF LED_VM
BCF MT_DC
GOTO MAIN

LIGA_LED_VM
BSF LED_VM
GOTO MAIN

LIGA_MT_DC
BSF MT_DC
GOTO MAIN

;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;* FIM DO PROGRAMA *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

END
QUESTÃO 2

Resposta: Diagrama 5. Devido as portas RA1, RA2 e RA3 serem respectivamente BT_VM,
BT_MT e BT_CLR. E as mesmas estão sendo acionadas com um nível lógico baixo, ou
seja, quando apertar o botão o mesmo enviara terra. E o MCLRE estar em OFF.

You might also like