lcd1602怎么不显示呢

2019-07-16 03:05发布

void LCD1602(void)
{
EN = 0;
RS = 1;
RW = 1;
LCD_DATA = 0xFF;
}

void Read_Busy(void)
{  
   RS=0;
   RW=1;
   EN=1;
   while(LCD_DATA & 0x80);
   EN=0;
}//读状态
void Write_Lcd(unsigned char Value, bit i) //i = 0写指令.i = 1写数据;
{
Read_Busy();
RS = i;
RW = 0;
EN = 1;
    LCD_DATA = Value;
EN = 0;
}
void Init_Lcd(void)
{
Delay(15000);
Write_Lcd(0x38,0);
Delay(5000);
Write_Lcd(0x38,0);
Delay(5000);
Write_Lcd(0x38,0);
Write_Lcd(0x08,0);
Write_Lcd(0x01,0);

}
void Delay(unsigned int i)
{
while(-- i);
}//延时
void main(void)
{   LCD1602();
    Init_Lcd();
    Write_Lcd(0x80,0);
Write_Lcd('K',1);
while(1);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
A670521546
1楼-- · 2019-07-16 03:58
 精彩回答 2  元偷偷看……
hlln20100410
2楼-- · 2019-07-16 06:29
在你的主程序中应该把你的LCD初始化写在最前面也就是你的Init_Lcd();函数。1602液晶首先初始化要弄好,其次是写数据函数,在此是写指令函数,最后判断一下盲信号。注意各个函数的时序,这要对照着液晶的PDF资料来看,在此很重要的一点就是写地址的时候要或上0X08;
yintianye
3楼-- · 2019-07-16 08:59
头文件之类的都没有吗?程序中,有先调用函数,然后再写函数体的,也某声明!问题貌似不少呢,尽量写规范一点!
sirius08
4楼-- · 2019-07-16 09:34
看数据手册
czc568
5楼-- · 2019-07-16 15:33
{:6:}{:6:}
binqichen
6楼-- · 2019-07-16 21:33
 精彩回答 2  元偷偷看……

一周热门 更多>