Proteus仿真C51单片机程序----LCD显示不能更新

2019-03-24 17:12发布

各位大神,小弟编写一段C51程序,用的是AT89C52芯片,采集电阻电压,通过ADC转换结果 LCD 显示,现在出现的问题是:当检测端的电压出现不同数值时(状况切换时),LCD显示的结果还是上次的,没有更新出新的结果情况,请各位大神帮忙给分析一下,找出原因,我将不胜感激………………


1501463205(1).jpg



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
zimiaoxinghan
1楼-- · 2019-03-24 18:49

    while (1)
    {
        if (flag300ms)
        {
            flag300ms = 0;
            //显示通道0的电压
            val = GetADCValue(0);     //获取ADC通道0的转换值
                        if(val>=0x00&&val<=0x32)
                        {
                          LcdShowStr(0, 0, " C1           ");
                          LcdShowStr(0, 1," OP  " );
                        }
                        else if(val<=0xFF&&val>=0xE6)
                        {
                          LcdShowStr(0, 0, " C1           ");
                      LcdShowStr(0, 1," SB " );
                        }
                        else
                   {
                    ValueToString(str, val);  //转为字符串格式的电压值
                        //LcdShowStr(0, 0, " C1           ");
           // LcdShowStr(0, 1, str);    //显示到液晶上
                        }
         
            //显示通道1的电压
           val = GetADCValue(1);

                        if(val>=0x00&&val<=0x32)
                        {
                          LcdShowStr(6, 0, " C2       ");
                          LcdShowStr(6, 1," OP  " );
                        }
                        else if(val<=0xFF&&val>=0xE6)
                        {
                          LcdShowStr(6, 0, " C2       ");
                      LcdShowStr(6, 1," SB " );
                        }
                        else
                   {
                    ValueToString(str, val);  //转为字符串格式的电压值
ienglgge
2楼-- · 2019-03-24 21:13
 精彩回答 2  元偷偷看……
ou513
3楼-- · 2019-03-25 01:51
debug一下就知道了,看看程序跑到哪里去了
zimiaoxinghan
4楼-- · 2019-03-25 07:45
ienglgge 发表于 2017-7-31 09:25
你看看是不是和flag300ms有关,思路还是比较清晰的,检测ADC的值是否有变化,变了就刷lcd。

非常感谢你的解答,当切换不同状况时,电压值是立刻变化的,但是LCD显示依旧是上次状况的电压值
zimiaoxinghan
5楼-- · 2019-03-25 08:17
 精彩回答 2  元偷偷看……
ienglgge
6楼-- · 2019-03-25 08:32
zimiaoxinghan 发表于 2017-7-31 14:10
非常感谢你的解答,当切换不同状况时,电压值是立刻变化的,但是LCD显示依旧是上次状况的电压值

那就是lcd处理的问题。设置,变量。一旦电压值变化,就改变变量的值。检测到变量变化,就刷lcd。

一周热门 更多>