📄 lcd.h
字号:
// ------- -------- 文件名: LCD.H -----------------------
//----------------------lcd1602----------------------------
//-------------------author: adeola------------------------
#ifndef LCD_H_HEADER_FILE
#define LCD_H_HEADER_FILE 1
#define BYTE unsigned char
#define LCD_EN P3_7 //P3_7
//#define LCD_RW P2_1 //P3_6
#define LCD_RS P3_5 //P3_2
#define LCD_DATA P1 //P1
// void WriteInstruct(BYTE instruction); // 写指令到LCD
// void WriteData(BYTE dispData); // 写数据到LCD
// void WriteDatas(BYTE datas[],BYTE length); // 将数组Datas的数据写到LCD
// void WriteString(const char *str); // 将字符串str写到LCD
// void ClearLCD(); // 清除LCD显示
// void GotoXY(BYTE X,BYTE Y); // 设置光标到X,Y位置
// void Initial_LCD(); // 初始化LCD
// void Delay10us(int n); // 延时10us
//-----------------------写指令到LCD--------------------------------------------//
void Delay10us(int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<10;j++);
}
void WriteInstruct(unsigned char instruction)
{
Delay10us(50);
LCD_EN =0;
LCD_RS =0; // 写指令
//LCD_RW =0;
LCD_EN =1;
LCD_DATA =instruction;
LCD_EN =0;
}
//-----------------------------------写数据到LCD----------------------------------//
void WriteData(unsigned char dispData)
{
Delay10us(50);
LCD_EN =0;
LCD_RS =1;
//LCD_RW =0;
LCD_EN =1;
LCD_DATA =dispData;
LCD_EN =0;
}
//------------------------------------把数组datas的数据写到LCD--------------------//
/*void WriteDatas(unsigned char datas[],unsigned char length)
{
BYTE i;
for(i=0;i<length;i++)
{
WriteData(datas[i]+'0');
}
}*/
//----------------------------------将字符串str写到LCD--------------------------------//
void WriteString(const char *str)
{
if(*str==0)
{
return;
}
while(*str!='\0')
{
WriteData(*str);
str++;
}
}
//-----------------------------------清除LCD显示--------------------------------------//
void ClearLCD()
{
WriteInstruct(0x01);
}
//------------------------------------ 设置光标到X,Y位置------------------------------//
/*void GotoXY(BYTE X,BYTE Y)
{
BYTE address;
if(X==0) address=0x80 | Y;
else address=0xC0 | Y;
WriteInstruct(address);
}
*/
//-----------------------------------初始化LCD-------------------------------------//
void Initial_LCD()
{
ClearLCD();
WriteInstruct(0x38); // 8 bit, 2 lines, 5*7 dot Maxtrix
WriteInstruct(0x0C); // open display, cusor off , blink off
WriteInstruct(0x06); // 文字不动,光标自动右移
}
//--------------------------------延时10us-------------------------------------------//
#endif //LCD_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -