小白求教:ADC0809采集的AD值为什么不正确?

2019-07-15 12:32发布

函数如下,只有电压为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;
}
         

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
猎国倾城
1楼-- · 2019-07-15 17:13
应该不是软件问题! 最佳答案
zeng10119
2楼-- · 2019-07-15 17:21
猎国倾城 发表于 2016-11-22 15:35
应该不是软件问题!

这么一说我懂了,输出OUT0~7在仿真里面接反了。看了下0808跟0809接线是反着的谢谢!
ST_Lover
3楼-- · 2019-07-15 21:52
1002925094                        

一周热门 更多>