标题:
stc12系列单片机自带AD问题
[打印本页]
作者:
sbit=TT
时间:
2017-4-9 10:46
标题:
stc12系列单片机自带AD问题
void main()
{
AD_init(); //A/D转换初始化
serial_init(); //串口初始化
while(1)
{
{
TI=1; //使用printf函数前须先将发送标志位TI置1
printf("%f",AD_get() );
TI=0;
delay(1000); //延时约1s
}
}
}
uint AD_get(void)
{
ADC_CONTR=0xe8; //开启AD转换
_nop_(); _nop_(); _nop_(); _nop_();//要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR 寄存器
while(!(ADC_CONTR&0x10)); //等待转换完成
ADC_CONTR&=0xe7; //关闭AD转换,ADC_FLAG位由软件清0
return(ADC_RES*4+ADC_RESL); //返回AD转换完成的10位数据(16进制)
}
void AD_init()
{
P1ASF=0xff; //P1口全部作为模拟功能AD使用
ADC_RES=0; //清零转换结果寄存器高8位
ADC_RESL=0; //清零转换结果寄存器低2位
ADC_CONTR=0xe0;//开启AD电源
delay(2); //等待1ms,让AD电源稳定
}
这个程序串口返回的一直是9F FA,外面电压变了也是这个值
求大佬救救小白
作者:
sbit=TT
时间:
2017-4-9 15:12
求助
作者:
光翟11
时间:
2017-4-10 16:53
检查一下程序 ADC_CONTR=0xe8; //开启AD转换
作者:
一方大佬
时间:
2017-4-14 23:46
这个是单片机自带的ad转换调用程序吗?完整的?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1