LCD1602液晶显示屏没显示数据

2019-07-16 02:59发布

LCD1602.rar (44.21 KB, 下载次数: 45) 这个是ISIS图
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
//50US秒延时
sbit rs=P2^4;
sbit rw=P2^5;
sbit e=P2^6;
uchar table1[]="kkkk";
uchar table2[]="1234";

void delay_50us(x)//延时
{
uchar j;
for(;x>0;x--);
for(j=19;j>0;j--);
}
void xie_com(uchar com)//开启写
{
e=0;
rs=0;
rw=0;
P0=com;
delay_50us(10);
e=1;
delay_50us(20);
e=0;
}
void xie_data(uchar dat)//写数据
{
e=0;
rs=1;
rw=0;
P0=dat;
delay_50us(10);
e=1;
delay_50us(20);
e=0;
}
void init(void)//初始化函数
{
delay_50us(300);
xie_com(0x38);
delay_50us(100);
xie_com(0x38);
delay_50us(100);
xie_com(0x38);
xie_com(0x38);
xie_com(0x08);
xie_com(0x01);
xie_com(0x06);
xie_com(0x0c);

}

main()
{
uchar j;
init();//初始化
xie_com(0x80);//第1行起始位子
for(j=0;j<16;j++)
{
  xie_data(table1[j]);
  delay_50us(10);
}
xie_com(0x80+0x40);//第2行起始位子
for(j=0;j<16;j++)
{
  xie_data(table2[j]);
  delay_50us(10);
}
while(1);
}
发现LCD1602没显示数据!
123.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
abc1323202239
1楼-- · 2019-07-16 20:35
dongyumin 发表于 2012-12-27 13:38
估计这贴子类容太容易了,没人愿意教、、、
你这代码有问题。没必要什么都去延时个几毫秒的,延时那么多干 ...

我勒个去没有lcd1602.h的头文件= =这是要自己网上下载的么??
abc1323202239
2楼-- · 2019-07-16 23:30
本帖最后由 abc1323202239 于 2012-12-28 16:50 编辑

果然新人不该来论坛么= =
太简单没人理啊= =||
abc1323202239
3楼-- · 2019-07-17 04:50
zhihuizhou 发表于 2012-12-28 15:23
不是说他简单没人回复,而是说这个程序没有一点注释  其实首先应该自己经过努力 然后将问题描述清楚, 这 ...

真抱歉。。。
忘了注释,不好意思
出现乱码,大概是因为循环第4次的时候就没了数据(就是读完四个k后 uchar table1[]="kkkk";)
解决方法就判断有没有结束符‘'就可以了。
gao2173600
4楼-- · 2019-07-17 06:06
 精彩回答 2  元偷偷看……
gao2173600
5楼-- · 2019-07-17 08:48
请楼主,开示{:4:}
╭ァのゝ偲淰
6楼-- · 2019-07-17 10:13
我也是,显示出来都是乱码

一周热门 更多>