标题:
1602显示屏显示不完全问题
[打印本页]
作者:
反击的圆脸
时间:
2019-8-12 16:24
标题:
1602显示屏显示不完全问题
我是看着郭天祥的书跟着学习的,但是看着书上打了一些代码之后,放到仿真图里,显示出来的字符却不完全。
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="hello everyone!";
uchar code table1[]="welcome to here!";
sbit lcden=P3^4;
sbit lcdrs=P3^5;
sbit dula=P2^6;
sbit wela=P2^7;
uchar num;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date)
{
lcdrs=1;
P0=date;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
dula=0;
wela=0;
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void main()
{
init();
write_com(0x80+0x10);
for(num=0;num<15;num++)
{
write_data(table[num]);
delay(5);
}
write_com(0x80+0x50);
for(num=0;num<16;num++)
{
write_data(table1[num]);
delay(5);
}
for(num=0;num<16;num++)
{
write_com(0x18);
delay(200);
}
write_com(0x01);
while(1);
}
51hei截图20190812162352.png
(227.23 KB, 下载次数: 36)
下载附件
2019-8-12 16:24 上传
作者:
wulin
时间:
2019-8-13 09:50
郭天祥的程序在TX-1C实验板上测试没有问题,用仿真软件测试会发生左移溢出。可能是两种LCD1602的驱动码有点区别,你的显示程序是空第一格写的,再左移当然溢出了。你把最后左移语句和清0命令删除就可以正常显示了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1