📄 lcm1602.c
字号:
#include "at89x51.h"
#include "LCM1602.h"
//uchar HexToDdram(unsigned char);
//----------------LCD1602函数---------------------//
//---初始化
void InitialLcd()
{
LCM_DATA=0xff;
WriteLcdInstr(0x28);
delay_50us(200);
WriteLcdInstr(0x28);
delay_50us(200);
WriteLcdInstr(0x28);
delay_50us(200);
WriteLcdInstr(0x28);
WriteLcdInstr(0x0c);
WriteLcdInstr(0x01);
WriteLcdInstr(0x06);
}
//---写指令
void WriteLcdInstr(unsigned char Temp)
{
CheckLcdBusy();
LCM_DATA=(Temp&(0xf0))|(LCM_DATA&(0x0f));
RW=0;
RS=0;
E=1;
E=0;
E=0;
LCM_DATA=((Temp<<4)&(0xf0))|(LCM_DATA&(0x0f));
RS=0;
E=1;
E=0;
}
//---写数据
void WriteLcdData(unsigned char Temp)
{
CheckLcdBusy();
LCM_DATA=(Temp&(0xf0))|(LCM_DATA&(0x0f));
RW=0;
RS=1;
E=1;
E=0;
E=0;
LCM_DATA=((Temp<<4)&(0xf0))|(LCM_DATA&(0x0f));
RS=1;
E=1;
E=0;
}
//---查忙
void CheckLcdBusy()
{
BF=1;
RS=0;
RW=1;
E=0;
E=0;
E=1;
for(;;)
{
if (!BF)
break;
}
}
void delay_50us(unsigned int t)
{
unsigned char j;
for(;t>0;t--)
for(j=19;j>0;j--)
;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -