为什么把adc0809的数据处理成十进制输出到lcd1602,有很多数据是错误的

2019-07-15 08:47发布

1521778714(1).jpg
这是ad转换和数据处理
#include <reg51.h>
#include <absacc.h>
#include <intrins.h>        
#define uchar unsigned char
#define uint unsigned int
#define    AD_IN7    XBYTE[0xfeff]    //IN7通道地址
sbit ad_busy=P3^3;              //定义检测单元变量
uchar q,w,e,r,t;
void shuju()
{   
    q=AD_IN7;
    w=q/100;                        //百位
    e=q%100/10;                        //十位
    r=q%100%10;                      //个位
}
void main(void)
{
    INIT_LCD();                    //初始化lcd   
    delay(100);        
    while(1)
    {
        AD_IN7 = 0;              //启动A/D信号               
        while(ad_busy==1);         //等待A/D转换结束
        shuju();                //转换为十进制
        CONV_TEMP();            //显示
    }        
}

0条回答

一周热门 更多>