找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4020|回复: 0
收起左侧

AD转换与LCD1602显示问题,求助

[复制链接]
ID:268239 发表于 2018-1-9 14:39 | 显示全部楼层 |阅读模式
ad转换的数据在lcd1602上呈现非线性,怎么让其呈线性?
while(1)                           //无限循环
{
        ST=0;                                //使采集信号为低
        ST=1;                                //开始数据转换
        ST=0;                                //停止数据转换
        while(~EOC);                //等待数据转换完毕
        OE=1;                                //允许数据输出信号
        AD0809=P1;                    //读取数据
        OE=0;                                //关闭数据输出允许信号
//        if(AD0809>=251)                //电压显示不能超过5V
//        AD0809=250;
        date=AD0809;                //数码管显示的数据值,其中20为采集数据的毫安值
                voldata = date*1.0/255*500;
                LED1=1,LED2=1,LED3=1,LED4=1,LED5=1,X=1;
                switch(voldata/100)
                {
                case 0:          LED1=0,X=0; break;
                case 1:          LED2=0; break;
                case 2:          LED3=0; break;
                case 3:          LED4=0; break;
                case 4:          LED5=0,X=0; break;
                }
//                voldata=voldata*4*0.7;
                dis4[3] = voldata%10;
                dis4[2] = voldata/10%10;
                dis4[1] = voldata/100%10;
                dis4[0] = voldata/1000;
        lcd_wcmd(0x06);//向右移动光标
            lcd_pos(0x86);//设置显示位置为第一行的第1个字符
//                lcd_wdat('0'+dis4[ 0 ]);
//                 lcd_pos(0x87);
//                lcd_wdat('0'+dis4[ 1 ]);
//                 lcd_pos(0x88);
//                lcd_wdat('0'+dis4[ 2 ]);
//                 lcd_pos(0x89);
//                lcd_wdat('0'+dis4[ 3 ]);
//                 lcd_pos(0x8A);
//                lcd_wdat('0'+dis4[ 4 ]);
             for(i=0;i<4;i++)
             {   
               lcd_wdat('0'+dis4[ i ]);
               delay(10);//控制两字之间显示速度
             }
             lcd_pos(0x40);//设置显示位置为第二行第1个字符
             i = 0;
             while(dis3[ i ] != '\0')
             {
               lcd_wdat(dis3[ i ]);
               i++;
               delay(30);//控制两字之间显示速度
             }


无标题.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表