#include "P18F4455.INC" ORG 0X800 CONFIG_PINS: BSF TRISA, 0 ; AN0 BCF TRISA, 2 ; VREF- BCF TRISA, 3 ; VREF+ BCF TRISA, 4 ; FAN COMMAND BCF TRISA, 5 CLRF TRISB CLRF TRISD CLRF PORTB MOVLW 0X0E MOVWF ADCON1 ; only AN0 channel as Analog (the rest digital) MOVLW B'10000000' MOVWF ADCON2 ;SETF ADCON2 MOVLW B'00000011' MOVWF ADCON0 ; enable converter MOVLW B'10000011' MOVWF T0CON SETF PORTA BSF PORTA, 2 BCF PORTA, 3 WAIT: BTFSC ADCON0, 1 GOTO WAIT BCF INTCON, T0IF DELAY: BTFSS INTCON, T0IF GOTO DELAY MOVFF ADRESL, PORTB BSF ADCON0, 1 BTFSS ADRESH, 0 BCF PORTD, 2 BTFSC ADRESH, 0 BSF PORTD, 2 BTFSS ADRESH, 1 BCF PORTD, 3 BTFSC ADRESH, 1 BSF PORTD, 3 ; BTG PORTD, 2 MOVLW 0X40 CPFSGT PORTB BRA OFF ON: BSF PORTA, 4 BRA WAIT OFF: BCF PORTA, 4 BRA WAIT END