|
| | include <p16F876.inc>
tempo EQU 0x20
;**********************************************************************
ORG 0x000 ; processor reset vector
clrf PCLATH ; ensure page bits are cleared
main
bsf STATUS, RP0
bcf STATUS, RP1 ; muda para banco 1
clrf ADCON1 ; seta AD para VCC, GND e entradas analogicas
clrf TRISC ; configura PORTC como saida
bcf STATUS, RP0 ; muda para o banco 0
clrf ADCON0 ; seleciona RA0 como entrada, Fosc/2
bsf ADCON0, 0 ; liga conversor analogico digital
inicio
movlw .20
call pausa ; pausa para iniciar aquisicao
bsf ADCON0,GO ; iniciar conversao
aguarda_conversao
btfss ADCON0,GO ; testa fim da conversao
goto fim_conversao
goto aguarda_conversao
fim_conversao
movf ADRESH, W ; exibe resultado
movwf PORTC
goto inicio ; volta a solicitar nova aquisicao
pausa
movwf tempo
pausa1
decfsz tempo,F ; decrementa tempo
goto pausa1
return
END ; directive 'end of program'
|