SOTASOTA
- 9th February 2014, 23:47
I am pulling what hair is left out of my head.
For PIC16F1826, I am trying to get the ADC setup.
I have a voltage INPUT on RA2 (pin1).
This is where I want to ADC to be controlled (AN2).
I referred to the datasheet (page 139), but cannot get this thing to work.
I also have INPUTS on RA3 (pin2) and RA5 (pin4)
Here is my code:
'= PIC16F1826 =
'================================================= =======
'Initialize variable
#CONFIG
__config _CONFIG1, _FOSC_HS & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
__config _CONFIG2, _PLLEN_OFF & _LVP_OFF & _STVREN_OFF
#ENDCONFIG
'_MCLRE_OFF = MCLR pin functions as INPUT RA5, MCLR internally tied to VDD
DEFINE OSC 4
DEFINE ADC_BITS 8 ' 8 bit A/D Conversion
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50 ' 50 uS A/D sample time
PORTA = 0
PORTB = 0
TRISA = %00101100
TRISB = %00000000
ADCON0 =%00001001
ADCON1 =%11000000 'Right justified
ANSELA =%00000100 ' AN2 on PortA.2 analog
ANSELB =%00000000 ' Digital inputs
FVRCON = 0
DACCON0 = 0
DACCON1 = 0
INTCON = 0
CM1CON1 = 0
adval var word
mainloop:
adcin 2, adval
if adval<18 then PortB.3 = 1
if adval>28 then PortB.3 = 0
goto mainloop
end
Help please!!
Thx!
For PIC16F1826, I am trying to get the ADC setup.
I have a voltage INPUT on RA2 (pin1).
This is where I want to ADC to be controlled (AN2).
I referred to the datasheet (page 139), but cannot get this thing to work.
I also have INPUTS on RA3 (pin2) and RA5 (pin4)
Here is my code:
'= PIC16F1826 =
'================================================= =======
'Initialize variable
#CONFIG
__config _CONFIG1, _FOSC_HS & _WDTE_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _CPD_OFF & _BOREN_OFF & _CLKOUTEN_OFF & _IESO_OFF & _FCMEN_OFF
__config _CONFIG2, _PLLEN_OFF & _LVP_OFF & _STVREN_OFF
#ENDCONFIG
'_MCLRE_OFF = MCLR pin functions as INPUT RA5, MCLR internally tied to VDD
DEFINE OSC 4
DEFINE ADC_BITS 8 ' 8 bit A/D Conversion
DEFINE ADC_CLOCK 3
DEFINE ADC_SAMPLEUS 50 ' 50 uS A/D sample time
PORTA = 0
PORTB = 0
TRISA = %00101100
TRISB = %00000000
ADCON0 =%00001001
ADCON1 =%11000000 'Right justified
ANSELA =%00000100 ' AN2 on PortA.2 analog
ANSELB =%00000000 ' Digital inputs
FVRCON = 0
DACCON0 = 0
DACCON1 = 0
INTCON = 0
CM1CON1 = 0
adval var word
mainloop:
adcin 2, adval
if adval<18 then PortB.3 = 1
if adval>28 then PortB.3 = 0
goto mainloop
end
Help please!!
Thx!