Controlador de temperatura com pic
ERRORLEVEL -302 ;Nao exibe "Register in operand not in bank 0. Ensure that bank bits are correct"
__config _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC & _BODEN_ON & _DEBUG_OFF & _CPD_OFF & _LVP_OFF
;.....................................................................................
; Tabela de definicoes de RAM e constantes.
W equ 0 ; referencia a W tempo equ 32 ; define variavel auxiliar tempo na RAM 0CH. (primeira posicao) dt1 equ 33 ; variavel auxiliar para tempo
X equ 34
Y equ 35 tudo equ 36
;----------------------------- Memoria de Programa -----------------------------------
org 0 ; define inicio do trecho a seguir em 000
goto inicio ; desvia para o programa principal onde inicia pelo ; ajuste dos registros de controle. ; Este desvio tem por objetivo deixar o endereco 004 ; para a rotina de interrupcao.
;.............................. INICIO DA ROTINA DE INTERRUPCAO ............................ org 4
nop ; primeira instrucao da interrupcao. retfie ; retorna da interrupcao.
;.............................. INICIO DO PROGRAMA .........................................
inicio: ; este endereco e' o imediatamente apos o fim da interrupcao ; AQUI ESTAMOS NO BANCO 0 movlw B'00000000' ; W = 0 movwf INTCON ; INTCON = 0. Nenhuma interr habilitada. clrf PORTA ;inicializa portas A e B. Ver itens 7.1.4 e 7.2.7 clrf PORTB ; clrf ADRESH ; clrf TMR0 ; bsf STATUS,RP0 ; Seleciona banco 1 para option e tris movlw B'00001110' ; movwf ADCON1 ;AD só canal 0, left movlw B'11111111' ; W = 255 movwf TRISA ; TRISA = ffH. PortA toda entrada movlw B'00000000' ; W = 0 movwf TRISD ; TRISB = 0. PortB toda saida movlw B'00000000' ; W = 0 movwf TRISB ; TRISB = 0. PortB toda saida movlw B'11011111' ; movwf OPTION_REG ; Registro OPTION