函数如下,只有电压为5V时才显示AD=255是正确的 ,其它电压采集到的AD都是乱跳的,主函数还要加什么东西吗?
void ADC0809_init() //ADC0809初始化
{
TMOD=0x01;
TH0=(65536-200)/256;
TL0=(65536-200)%256;
ET0=1;
TR0=1;
EA=1;
ALE=0;
ST=0;
OE=0;
delay(10);
}
unsigned char Read_AD() //读ADC0809数据
{
uchar A=0; //存放AD采集的数据
OE=0;
ST=0;
delay(10);
ST=1;
delay(10);
ST=0;
while(EOC==0); //等待转换完成
OE=1;
A=P1; //读取数据
delay(10);
OE=0;
return A;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>