微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 1602为什么会显示乱码?

1602为什么会显示乱码?

时间:10-02 整理:3721RD 点击:

  1. #include<reg52.h>
  2. #include<intrins.h>

  3. #define uchar unsigned char
  4. #define uint unsigned int

  5. uchar code myData[] = "Welcome!";
  6.                                                        
  7. sbit rs=P2^6;
  8. sbit rw=P2^5;
  9. sbit e=P2^7;


  10. void delay_ms(uchar ms)
  11. {
  12.         uchar i,j;
  13.         for(i=0;i<ms;i++)
  14.                 for(j=0;j<110;j++);
  15. }

  16. void SendCmdMsg(uchar ch)
  17. {
  18.         rs=0;
  19.         rw=0;
  20.         delay_ms(5);
  21.         P0=ch;
  22.         delay_ms(5);
  23.         e=1;
  24.         delay_ms(5);
  25.         e=0;
  26.         delay_ms(5);
  27. }

  28. void SendDataMsg(uchar ch)
  29. {
  30.         rs=1;
  31.         rw=0;
  32.         delay_ms(5);
  33.         P0=ch;
  34.         delay_ms(5);
  35.         e=1;
  36.         delay_ms(5);
  37.         e=0;
  38.         delay_ms(5);
  39. }

  40. void InitLCD()
  41. {
  42.         e=0;
  43.         SendCmdMsg(0x38);
  44.         SendCmdMsg(0x08);
  45.         SendCmdMsg(0x01);
  46.         delay_ms(5);
  47.         SendCmdMsg(0x0c);
  48.         SendCmdMsg(0x06);
  49. }

  50. void main()
  51. {       
  52.         uchar i;

  53.         InitLCD();
  54.         SendCmdMsg(0x80);

  55.         for(i=0;i<16;i++)
  56.         {
  57.                 SendDataMsg(myData[i]);
  58.         }                                                                                                                                                                                                                     
  59.         while(1);       
  60. }

复制代码

显示效果,有的字符是对的,有的字符改变了大小写,有的字符完全乱码。这是什么原因啊?

没人看看嘛,求顶

http://yunpan.cn/QhVfDx5XBRBRi  访问密码 e6ae          这个是可以用的1602程序     我是做硬件的   你可以参考我给你的程序,这个程序是肯定可以用的   

你可以去官网下载一个 测试程序 看看 是不是你的程序有问题 或者硬件有问题。

问题如果不好找,,,你就从新下载个好的例程,

程序上没看出啥问题,你应该尽量说明显示成啥样了,能上张图最好,还有是不是每次显示的都一样;
要想大家帮你,你得说出所有细节,这样方便大家帮你分析。

P0口有没有上拉电阻?

首先能够点亮制定位置,然后是显示字符,如果说有的字符是正确的有的是错误的,很有可能是你的编码错了。

每次显示一个字符串后要加一点延时时间,因为写数据是需要时间的。

我也遇到了相同的问题,定义的数组里面的字符串能显示出来,但是后面会跟上一些乱码,不知道是为什么

小编现在知道是什么原因了吗

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

网站地图

Top