prova programação vargas
;Data:data da prova
;Autor:coloca seu nome
;Letra Por Letra Temp.
;
; a RB1=a
; --- RB2=b
; f| g |b RB3=c
; --- RB4=d
; e| |c RB5=e
; --- RB6=f
; d RB7=G
;
; gfed cba0
; xxxx xxxx
;
;Cada Segmento Acende Com Nivel "0"
;-------------------------------------------------------------------
include "P16f628a.inc" ;default para o chip
__config 0x3D18
;-------------------------------------------------------------------
; PAGINACAO DE MEMORIA
;-------------------------------------------------------------------
;DEFINICAO DE COMANDOS DE USUARIO PARA ALTERACAO DA PAGINA DE MEMORIA
#DEFINE BANK0 BCF STATUS,RP0 ;SETA BANK 0 DE MEMORIA
#DEFINE BANK1 BSF STATUS,RP0 ;SETA BANK 1 DE MEMORIA
;-------------------------------------------------------------------
; VETOR DE RESET
;-------------------------------------------------------------------
ORG 0x00 ;ENDERECO INICIAL DE PROCESSAMENTO
GOTO INICIO
ORG 0x04 ;ENDERECO INICIAL DA INTERRUPCAO
RETFIE
;-------------------------------------------------------------------
; INICIO DO PROGRAMA
;-------------------------------------------------------------------
INICIO:
BANK1 ;ALTERA PARA O BANCO 1.
MOVLW b'01001111' ;
MOVWF TRISB ;DEFINE O PORTB COMO ENTRADAS
MOVLW b'00000000' ;DEFINE O RA2 COMO SAIDA E AS ;DEMAIS COMO ENTRADAS.
MOVWF TRISA
MOVLW b'10000000' ; MOVWF OPTION_REG ;PULL-UPS DESABILITADOS
;DEMAIS BITS IRRELEVANTES.
BANK0 ;RETORNO PARA O BANCO 0
MOVLW b'00000000'
MOVWF INTCON ;TODAS A INTERRUPCOES DESLIGADAS
MOVLW b'00000111'
MOVWF CMCON ;DEFINE O MODO DE OPERACAO DO COMPARADOR
MOVLW b'11111111' ;
MOVWF PORTA
MOVLW b'01111111' ;
MOVWF PORTB
;-------------------------------------------------------------------
; ROTINA