📄 1602.h
字号:
#define lataport P0
#define buly 0x80
sbit rs=P2^5;
sbit rw=P2^6;
sbit e =P2^7;
/*****************************液晶显示程序**********************************/
void delay(unsigned int j) /* 简易延时函数 */
{
while(j--);
}
void Delay5Ms(void)
{
unsigned int TempCyc = 4552;
while(TempCyc--);
}
/*--------------延时--------*/
void Lcddelay(unsigned char MS)
{
unsigned char i, j;
while(MS!=0)
{ j = 1;
while(j!=0)
{
i=0xf0;
while(i!=0){i--;}
j--;
}
MS--;
}
}
/*--------------- 检测lcd状态 -------------------------*/
void WaitForEnable(void)
{
lataport=0xff;
rs=0;rw=1;Lcddelay(5);_nop_();e=1;_nop_();_nop_();
while(lataport&buly);
e=0;
}
/*-------------------- 写控制字 --------------*/
void LcdWriteCommand(unsigned char CMD,unsigned char AttribC)
{
if(AttribC) WaitForEnable();
rs=0;rw=0;_nop_();
lataport=CMD; Lcddelay(5);_nop_();
e=1;_nop_();_nop_();e=0;
}
/*-------------- 显示光标定位 ----------------------*/
void LocateXY(char polx,char poly)
{
unsigned char temp;
temp=polx&0xf;
poly&=0x1;
if(poly) temp|=0x40;
temp|=0x80;
LcdWriteCommand(temp,0);
}
/******************** 写字符*******************/
void LcdWriteLata(char lataW)
{
WaitForEnable();
rs=1;rw=0;_nop_();
lataport=lataW;Lcddelay(5);_nop_();
e=1;_nop_();_nop_();e=0;
}
/*--------------- 在指定位置显示字符 -----------------------*/
void DispOneChar(unsigned char x,unsigned char y,unsigned char Wlata)
{
LocateXY(x,y);
LcdWriteLata(Wlata);
}
/****************** 初始化 **********/
void LcdReset(void)
{
LcdWriteCommand(0x38,0);
Lcddelay(5);
LcdWriteCommand(0x38,0);
Lcddelay(5);
LcdWriteCommand(0x38,0);
Lcddelay(5);
LcdWriteCommand(0x38,1);// 清屏
LcdWriteCommand(0x08,1);
LcdWriteCommand(0x01,1);
LcdWriteCommand(0x06,1);
LcdWriteCommand(0x0c,1);
}
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DLata,unsigned char L)
{
unsigned char i;
for(i=0;i<L;i++)
DispOneChar(X++,Y,DLata[i]);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -