📄 lcd1602.c
字号:
//*******************************************************//
#define LCD1602_GLOBALS
#include "LCD1602.h"
//*******************************************************//
void lcd_ready (void)
{
U16 t=500;
while(t--);
}
//******************************************************//
void WrData(U8 wd)
{
LCD = wd;
RS = 1;
RW = 0;
LE = 0;
LE = 1;
lcd_ready();
}
//*****************************************************//
void WrCom(U8 wc)
{
LCD = wc;
RS = 0;
RW = 0;
LE = 0;
LE = 1;
lcd_ready();
}
//*****************************************************//
void ClearLcd(void)
{
U8 j;
//清LCD
WrCom(0x80);
for(j=0;j<16;j++)
{
WrData(0xa0);
}
WrCom(0xc0);
for(j=0;j<16;j++)
{
WrData(0xa0);
}
}
//*****************************************************//
void Initlcd(void)
{
U8 j;
WrCom(0x01);
WrCom(0x02);
WrCom(0x06); //lcd初始化
WrCom(0x0c);
WrCom(0x3c);
WrCom(0x80);
for(j=0;j<16;j++)
{
WrData(0xa0);
}
WrCom(0xc0);
for(j=0;j<16;j++)
{
WrData(0xa0);
}
WrCom(0x80);
}
//*****************************************************//
void Dis_U8(U8 Line,U8 Start_Add,U8 da)
{
//显示数据
if(Line==0)
{
WrCom(0x80+Start_Add);
}
else
{
WrCom(0xc0+Start_Add);
}
//写十位
WrData(da / 10 +'0');
//写个位
WrData(da % 10 +'0');
}
//*******************************************************//
void Dis_str(U8 Line,U8 Start_Add,U8 *str)
{
U8 i=0;
//清除显示区域
if(Line==0)
{
WrCom(0x80+Start_Add);
}
else
{
WrCom(0xc0+Start_Add);
}
for(i=0;i<16;i++)
{
WrData(0xa0);
}
//显示数据
if(Line==0)
{
WrCom(0x80+Start_Add);
}
else
{
WrCom(0xc0+Start_Add);
}
for(i=0;str[i]!='\0';i++)
{
WrData(str[i]);
}
}
//*******************************************************//
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -