本帖最后由 光翟999 于 2020-8-18 22:37 编辑
//初始化ADC,主频是16M的
void Ntc_Init()
{
ADCCFG2=0x02;
ADCCFG0=0x40;//设置AIN6为ADC输入
OPINX = 0xC2;
OPREG &= 0x7f; //选择参考电压VDD,VDD=5V
ADCCON=0x80;//开启 ADC 模块电源
}
//获取指定通道的adc值
u16 getad(u8 ch)
{
u16 ADCValue=0;
ADCCON&=0x80;
ADCCON|=ch;
ADCCON|=0X40;// 启动转换
while(!(ADCCON&0x20));//等待转换结束
ADCCON &= 0xdf;
ADCValue = (ADCVH<<4)+(ADCVL>>4);
return ADCValue;//
}
AIN6测电压VDD的值,getad(6)返回的值是4060的,不应该是4095的吗?
|