Init_Ports clrf STATUS ; B0
bsf STATUS,RP0 ; B1
bsf STATUS,RP1 ; B3
clrf ANSEL
clrf ANSELH
bcf STATUS,RP1 ; B1
movlw b'01100000'
movwf OSCCON
movlw b'00000001' ; AN0 = Input
movwf TRISA
movlw b'11110000'
movwf TRISB
movlw b'00000000' ; Make UART TX as output
movwf TRISC
movlw b'00001000' ; MCLR
movwf TRISE
;---------------------------------------------------------------------------------------------------
Setup_TMR0 movlw b'00000011' ; PS=1:16,Global WPU=Enable
movwf OPTION_REG
movlw b'11110000'
movwf WPUB
bcf STATUS,RP0 ; B0
movlw b'00100000' ; T0IE = ON
movwf INTCON
clrf TMR0 ; reset TMR0
;--------------------------------------------------------------------------------------------
Initialise_AD bsf STATUS,RP0 ; B3
bsf STATUS,RP1 ; //
movlw b'00000001' ; RA0=Analog Input
movwf ANSEL ; turn off analog inputs & make it to digital
clrf ANSELH
bcf STATUS,RP1 ; B1
movlw b'10000000' ; Right Justified,Vref=Vdd & Vss
movwf ADCON1
bcf STATUS,RP0 ; B0
movlw b'01000001' ; AD=ON,CHS=RA0,FOSC/8
movwf ADCON0