LIST P=16F88A include "P16F88.inc" errorlevel -302 ;Eliminate bank warning TEMP EQU 0x20 ADON EQU 0X00 ADIF EQU 0X06 GO_DONE EQU 0X02 TMR2ON EQU 0X02 TMR2IF EQU 0X01 RP0 EQU 0x05 RP1 EQU 0x06 W EQU H'0000' F EQU H'0001' org 0x00 ; Reset Vector clrf PORTA ;B0 clrf PORTB ;B0 CLRF STATUS ;B0 ;B0 Banksel TRISA ;B1 CLRF TRISA ;B1 ;B1 BCF STATUS ,RP0 ;B0 ;B0 CLRF T2CON ;B0 MOVLW D'000' ;B0 MOVWF CCPR1L ;B0 BSF STATUS,RP0 ;B1 MOVLW 0x1F ;B1 MOVWF PR2 ;B1 BCF STATUS,RP0 ;B0 MOVLW b'00001100' ;B0 MOVWF CCP1CON ;B0 BSF T2CON,TMR2ON ;B0 ;B0 BSF STATUS,RP0 ;B1 MOVLW b'00001111' ;B1 MOVWF TRISA ;B1 ;B1 ;B1 MOVLW b'00001110' ;B1 AN0 as input: AN2 as Vref- MOVWF ADCON1 ;B1 : AN3 as Vref+ BCF STATUS,RP0 ;B0 MOVLW b'01000000' ;B0 MOVWF ADCON0 ;B0 BSF ADCON0,ADON ;B0 turn on A2D CLRF PIR1 ;B0 ;B0 LOOP CALL ADC ;B0 MOVWF CCPR1L ;B0 GOTO LOOP ;B0 ;B0 ADC BTFSS PIR1,TMR2IF ;B0 GOTO ADC ;B0 BCF PIR1,TMR2IF ;B0 ;B0 MOVF ADRESH,W ;B0 BSF ADCON0,GO_DONE ;B0 RETURN END