1602为什么会显示乱码?
时间:10-02
整理:3721RD
点击:
- #include<reg52.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar code myData[] = "Welcome!";
-
- sbit rs=P2^6;
- sbit rw=P2^5;
- sbit e=P2^7;
- void delay_ms(uchar ms)
- {
- uchar i,j;
- for(i=0;i<ms;i++)
- for(j=0;j<110;j++);
- }
- void SendCmdMsg(uchar ch)
- {
- rs=0;
- rw=0;
- delay_ms(5);
- P0=ch;
- delay_ms(5);
- e=1;
- delay_ms(5);
- e=0;
- delay_ms(5);
- }
- void SendDataMsg(uchar ch)
- {
- rs=1;
- rw=0;
- delay_ms(5);
- P0=ch;
- delay_ms(5);
- e=1;
- delay_ms(5);
- e=0;
- delay_ms(5);
- }
- void InitLCD()
- {
- e=0;
- SendCmdMsg(0x38);
- SendCmdMsg(0x08);
- SendCmdMsg(0x01);
- delay_ms(5);
- SendCmdMsg(0x0c);
- SendCmdMsg(0x06);
- }
- void main()
- {
- uchar i;
- InitLCD();
- SendCmdMsg(0x80);
- for(i=0;i<16;i++)
- {
- SendDataMsg(myData[i]);
- }
- while(1);
- }
没人看看嘛,求顶
http://yunpan.cn/QhVfDx5XBRBRi 访问密码 e6ae 这个是可以用的1602程序 我是做硬件的 你可以参考我给你的程序,这个程序是肯定可以用的
你可以去官网下载一个 测试程序 看看 是不是你的程序有问题 或者硬件有问题。
问题如果不好找,,,你就从新下载个好的例程,
程序上没看出啥问题,你应该尽量说明显示成啥样了,能上张图最好,还有是不是每次显示的都一样;
要想大家帮你,你得说出所有细节,这样方便大家帮你分析。
P0口有没有上拉电阻?
首先能够点亮制定位置,然后是显示字符,如果说有的字符是正确的有的是错误的,很有可能是你的编码错了。
每次显示一个字符串后要加一点延时时间,因为写数据是需要时间的。
我也遇到了相同的问题,定义的数组里面的字符串能显示出来,但是后面会跟上一些乱码,不知道是为什么
小编现在知道是什么原因了吗