📄 lcd1602.h
字号:
void Delay(unsigned char t);
void Read_Busy(void);
void Write_Comm(unsigned char lcdcomm);
void Write_Data(unsigned char lcddata);
void Lcd_Init(void);
#define Lcd_Data P0 //定义数据端口
sbit RS=P1^0; //定义和LCM的连接端口
sbit RW=P1^1;
sbit E=P1^2;
sbit Busy=P0^7;
//***************************************************************************//
// 延时子程序 //
// 延时 1MS*t //
//***************************************************************************//
void Delay(unsigned char t)
{
unsigned char a;
while(--t!=0)
{
for(a=0;a<125;a++);
}
}
//***************************************************************************//
// 读忙子程序 //
//***************************************************************************//
void Read_Busy(void)
{
do{
Lcd_Data=0xff;
RS=0;
RW=1;
E=0;
Delay(2);
E=1;
}while(Busy);
}
//***************************************************************************//
// 写指令函数 //
//***************************************************************************//
void Write_Comm(unsigned char lcdcomm)
{
Lcd_Data=lcdcomm;
RS=0;
RW=0;
E=0;
Read_Busy();
E=1;
}
//***************************************************************************//
// 写数据函数 //
//***************************************************************************//
void Write_Data(unsigned char lcddata)
{
Lcd_Data=lcddata;
RS=1;
RW=0;
E=0;
Read_Busy();
E=1;
}
//***************************************************************************//
// 初始化函数 //
//***************************************************************************//
void Lcd_Init(void)
{
Delay(400); //稍微延时,等待LCM进入工作状态
Write_Comm(0x01);//清显示
//Write_Comm(0x02);//光标归位
Write_Comm(0x38);//8位2行5*8
Write_Comm(0x06);//文字不动,光标右移
Write_Comm(0x0c);//显示开/关,光标开闪烁开
//Write_Comm(0x18);//左移
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -