微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 为什么51单片机中遥控解码后1602液晶不能持续显示

为什么51单片机中遥控解码后1602液晶不能持续显示

时间:10-02 整理:3721RD 点击:
怎么才能让基于51单片机遥控解码后1602液晶持续显示,每次遥控之后,液晶上只会显示一下,如何让他持续显示,求大神帮忙解决

详细一点说明问题,或者贴上相关代码,既然接收遥控后能显示一次,那想继续显示就是你的流程和代码的问题了

就是我遥控按一下之后,液晶上显示了相应的编码,但是不能持续显示出来,我想让他持续显示这那个编码,等到下一个按键之后再消失
void Disp(void)
{  
        unsigned char i,j,k;
    WriteAddress(0x40);  // 设置显示位置为第一行的第1个字
           if(a[2]==0x40)
           {
            i=0;
                while(string1 != '\0')    //'\0'是数组结束标志
                        {                                               
                                WriteData(string1);
                                i++;
                                       
                        }
               
           }
          
          
           if(a[2]==0x19)
           {
           j=0;
                while(string2[j] != '\0')   
                        {                                       
                                WriteData(string2[j]);
                             j++;       
                        }
                                       
           }
                       
          if(a[2]==0x15)
           {
           k=0;
                while(string3[k] != '\0')   
                        {                                               
                                WriteData(string3[k]);
                                k++;       
                        }
                       
           }          
}

液晶显示如果你不更改内容的话,会一直显示的,如果有变化,就是你更新了,另外你的string1里定义了i,也做了i++运算,但是没有用到i,其他的string看都是数组,但string1并没有数组的标志。还有按键是否有做防抖处理

没更改内容之前也是只显示一下,我找了个开发板上的程序也是只显示一下,那个1是数组,复制过来的问题吧,源程序上没错

那就是程序里在这个显示后又对液晶进行了操作,更改了内容,查看后面的程序流程吧

后来解决了,供电问题,不要同时使用数码管,液晶屏等等

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top