📄 lcd1602.h
字号:
#include <reg51.h>
#define _lcd1602_h
#define uint unsigned int
#define uchar unsigned char
void delayus(uint k);//延时
void write_LCD_command(uchar command);//命令写入LCD
void write_LCD_data(uchar LCDdata);//数据写入LCD
void init_1602(void);//初始化LCD
void clear_LCD();//LCD清屏
void gotoxy(uchar x,uchar y);//光标在x行y列
sbit rs=P2^5;//指令寄存器的选择
sbit rw=P2^6;//数据写入/读出lcd
sbit en=P2^7;//始能端
//////////////////////////////////////////////////.......1
void write_LCD_command(uchar command)//命令写入LCD
{
rw=0;//写入LCM
rs=0;//指令寄存器
en=1;//始能端
P3=command;//写命令
delayus(20);//延时40*20us
en=0;//关闭始能端
rw=1;//读取LCM
}
void write_LCD_data(uchar LCDdata)//数据写入LCD//.......2
{
rw=0;
rs=1;
en=1;
P3=LCDdata;
delayus(1);//40us
en=0;
rw=1;
}
void init_1602(void)//初始化LCD/////...................3
{
write_LCD_command(0x38);// 0x38 单行显示//8位传输
write_LCD_command(0x0c);// 0x0C 屏幕开启//光标不出现//不闪烁
//write_LCD_command(0x0e);// 0x0C 屏幕开启//光标出现//不闪烁
//write_LCD_command(0x0f);// 0x0C 屏幕开启//光标出现 //闪烁
//write_LCD_command(0x0d);// 0x0C 屏幕开启//光标不出现 //闪烁
}
void clear_LCD()//LCD清屏...........................4
{
write_LCD_command(0x01);//0x01 LCD清屏
write_LCD_command(0x02);//0x02 光标回到左上角
}
void gotoxy(uchar x,uchar y)//光标在x行y列...............7
{
if(x==1)
write_LCD_command(128+y);//128=0b1000,0000
else
write_LCD_command(192+y);//192=0b1100,0000
}
void delayus(uint k)//延时..................................8
{
k=10*k;//40us
while(k--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -