ADC0809采集的AD值为什么不正确?

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

粽子糖果 发表于11-26 09:20 浏览65535次
分享到:

已有1条评论

  • 一见钟情
    一见钟情 11-26 09:44

    应该不是软件问题!

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

粽子糖果
粽子糖果(总统)
金币:41623个|学分:51975个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号