#ifndef adc_H
#define adc_H
#define ch0 0b01000001
#define ch1 0b01001001
#define ch2 0b01010001
#define ch3 0b01010001
#define ch4 0b01010001
#define ch5 0b01010001
#define ch6 0b01010001
#define ch7 0b00011101
unsigned char d1,d2,d3,d4;
long tlong;
void adc_init(int i);
int adc_read(long k);
unsigned int adc_res(void);
int result=0;//,val;
int adc_read(long k)
{
adc_init(k);
result=0;
result=adc_res();
tlong = ADRESH;
tlong = tlong*256;
tlong+=result;
//tlong=(tlong/4); ///for 8 bit
return tlong;
}
int adc_display(long tlong)
{
d4 = tlong / 1000;
d3 = (tlong / 100)%10;
d2 = (tlong / 10)%10;
d1 = tlong %10;
d1+=48;
d2+=48;
d3+=48;
d4+=48;
lcd_data(d4);
lcd_data(d3);
lcd_data(d2);
lcd_data(d1);
}
int c_display(long tlong)
{
d4 = tlong / 1000;
d3 = (tlong / 100)%10;
d2 = (tlong / 10)%10;
d1 = tlong %10;
d1+=48;
d2+=48;
d3+=48;
d4+=48;
lcd_data(d3);
lcd_data('.');
lcd_data(d2);
lcd_data(d1);
}
void adc_init(int i)
{
__delay_us(20);
///msb--------lsb//
///D7---------D0//
//ADCON1=0b10000010; //RJ,/000/,5/0
ADCON1=0b00000000; //RJ,/000/,5/0
__delay_us(20);
///msb--------lsb//
///D7---------D0//
ADCON0=i;// //FOSC/2,RA0/AN0,GO=0,/0/,EN=1;
//
}
unsigned int adc_res(void)
{
ADRESL=0;
__delay_us(10);
GO=1;
while(GO)
{
continue;
}
return ADRESL;
}
#endif