21ic问答首页 - 赛元单片机AD问题
赛元单片机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转化启动后一直不结束。
*函数名称: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转化启动后一直不结束。
赞0
评论
2021-02-01
您需要登录后才可以回复 登录 | 注册