1602液晶显示一排方块是为什么?

2019-07-16 02:29发布

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS_1602=P2^5;
sbit RW_1602=P2^6;
sbit E_1602=P2^5;
////////////////////////////////////////////////////////////////////////
//fuction:延时程序;
//author:zc
//input:ms
//output:null
////////////////////////////////////////////////////////////////////////
void delay(uint ms)
{
uint x,y;
for (x=ms;x>0;x--)
  for(y=110;y>0;y--);  
}
////////////////////////////////////////////////////////////////////////
//fuction:初始化程序;
//author:zc
//input:null
//output:null
////////////////////////////////////////////////////////////////////////
void write_com(uchar com)
{
RS_1602=0;
P0=com;
delay(5);
E_1602=1;
delay(5);
E_1602=0;
}
////////////////////////////////////////////////////////////////////////
//fuction:初始化程序;
//author:zc
//input:null
//output:null
////////////////////////////////////////////////////////////////////////
void inti ()
{
RS_1602=0;
RW_1602=0;
E_1602=0;
write_com(0x38);
write_com(0x0f);
write_com(0x06);
write_com(0x01);
write_com(0x80+0x10);   
}
void main ()
{
inti();
while(1);
}

这个是程序。按理说不是应该有光标闪烁的吗?
我之前把液晶插反了。是不是因为这个原因弄坏了?
HOT-51电路图.pdf 下载积分: 积分 -1 分
103.6 KB, 下载次数: 12, 下载积分: 积分 -1 分
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
yintianye
1楼-- · 2019-07-16 02:36
sbit RS_1602=P2^5;

sbit E_1602=P2^5;
首先这里定义都不对吧!
千念飞羽
2楼-- · 2019-07-16 08:23
 精彩回答 2  元偷偷看……
liuzhaoxin1020
3楼-- · 2019-07-16 08:23
不错的文件,值得收藏

一周热门 更多>