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

2019-03-24 17:12发布

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


1501463205(1).jpg



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
zimiaoxinghan
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);  //转为字符串格式的电压值

一周热门 更多>