📄 lcd1602.h
字号:
#define uchar unsigned char
#define uint unsigned int
#define DATA P0 //定义数据传送端口
#define CONTROL P1 //定义控制端口
sbit E=CONTROL^4; //定义使能端
sbit RW=CONTROL^3; //定义读写控制端
sbit RS=CONTROL^2; //定义数据/命令端
sbit bflag=DATA^7;
/***********************************void wait()*****************************
该函数的作用是对LCD进行检测,看LCD是否处于忙的状态.当bflag=1时表示忙,
此时不可以向LCD进行读写操作.而当bflag=0时,表示可以向它读写数据.
****************************************************************************/
void Wait()
{DATA=0xff;
RW=1; RS=0; //设LCD为读控制字的状态
do{E=0;E=1;}while(bflag==1);
}
/**********************************void Wrcom()*******************************
该函数的作用是向LCD写入控制字.
******************************************************************************/
void Wrcom(uchar com)
{DATA=com;
RW=0; RS=0; //设LCD为写控制字的状态
E=0; E=1;
Wait();
}
/**************************************void Disdata()*******************************
该函数的作用是向LCD写入数据并显示出来.
***********************************************************************************/
void Disdata(uchar dat)
{DATA=dat;
RW=0; RS=1; //设LCD为写数据的状态
E=0; E=1;
Wait();
}
/***************************************void Init_LCD()*******************************
该函数的作用是初始化LCD.
*****************************************************************************************/
void Init_LCD()
{Wrcom(0x01); //清屏
Wrcom(0x0c); //开显示,关光标及闪烁
Wrcom(0x06); //文字不动,光标右移
Wrcom(0x3c); //8位,两行,5*10点阵
}
/****************************************void Disdatastring()********************************
该函数的作用是向LCD写入一串数据,并把数据串显示出来.
********************************************************************************************/
void Disdatastring(uchar line,uchar row,uchar dat[])
{uchar com,*s;
EA=0;
s=dat;
if(line==1)
{com=0x80+row-1; //把数据写到第一行
Wrcom(com);
while(*s!='@'&&com<=0x8f) //写入数据串
{Disdata(*s);
com++;
s++;
}
}
else
{com=0xc0+row-1; //把数据写入第二行
Wrcom(com);
while(*s!='@'&&com<=0xcf) //写入数据串
{Disdata(*s);
com++;
s++;
}
}
EA=1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -