/*****************ADC配置初始化***********/
void hal_adc_Init(void)
{
APCFG |= 1; //模拟I/O配置,AIN0(P0.0)作为模拟I/O使用
P0SEL |= (1<(0)); //设置P0.0为外设功能
P0DIR &=~(1<<0); //设置P0.0为输入方向
}
/***************************************/
/************获得ADC采样值************/
unsigned int get_adc(void)
{
unsigned long value;
hal_adc_Init(); //ADC初始化
ADCIF=0; //清ADC中断标志
ADCCON3=(0x80|0x10|0x00); //采用基准电压avdd5:3.3V,通道0,启动AD转换
while(!ADCIF); //等待AD转换结束
value=ADCL; //ADC转换结果的低位部分存入value中
value|=((uint16)ADCH<<8); //取得最终结果存入value中
value=value*330;
value=value>>15; //根据计算公式算出结果值
return (uint16)value;
}