问答

汇集网友智慧,解决技术难题

21ic问答首页 - 赛元单片机AD问题

AD 单片机 dc ADC ADCc

赛元单片机AD问题

beibei03122021-01-29
/*****************************************************
*函数名称:void Ntc_Init(void)
*函数功能:ADC初始化
*入口参数:void
*出口参数:void
*****************************************************/
void Ntc_Init()
{        
        ADCCFG2=0x02;
        ADCCFG0=0x00;//设置AIN8为ADC输入
                ADCCFG1=0x01;//设置AIN8为ADC输入
        OPINX = 0xC2;
        OPREG &= 0x7f;                //选择参考电压VDD,VDD=5V
        ADCCON=0x80;//开启 ADC 模块电源
}
/*****************************************************
*函数名称:void getad(uint ch)
*函数功能:ADC运行
*入口参数:void
*出口参数:Channel
*****************************************************/
unsigned int getad(unsigned char ch)
{
        unsigned int ADCValue=0;        
        ADCCON&=0x80;
        ADCCON|=ch;
        ADCCON|=0X40;// 启动转换
        while(!(ADCCON&0x20));//等待转换结束
        ADCCON &= 0xdf;
        ADCValue = (ADCVH<<4)+(ADCVL>>4);
        return ADCValue;//
}

程序一直停留在   while(!(ADCCON&0x20));//等待转换结束   上 不知道为什么AD转化启动后一直不结束。
回答 +关注 16
1294人浏览 1人回答问题 分享 举报
1 个回答

您需要登录后才可以回复 登录 | 注册