📄 lcd1602.c
字号:
#include <AT89X51.H>
#define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P3^0;
sbit lcdrw=P3^1;
sbit lcden=P3^2;
void delayms(uint count)
{
uint i,j;
for(i=0;i<count;i++)
for(j=0;j<110;j++);
}
void lcdwc(uchar com)
{
lcdrs=0;
P0=com;
lcdrw=0;
delayms(1);
lcden=1;
delayms(1);
lcden=0;
}
void lcdwd(uchar date)
{
lcdrs=1;
P0=date;
lcdrw=0;
delayms(1);
lcden=1;
delayms(1);
lcden=0;
}
void initlcd()
{
delayms(1);
lcdwc(0x38);
lcdwc(0x0f);
}
void lcdshow(uchar spr,uchar hang,uchar lie)
{
if(hang==1)
{
lcdwc(0x80+lie);
lcdwd(spr);
}
else
{
lcdwc(0x80+0x40+lie);
lcdwd(spr);
}
}
main()
{ uchar i;
uchar a[]=" ( O __ O ) ";
uchar b[]={'A','1',0x20,65,49,0x20,0x41,0x31}; //字符、ASCII、液晶字库
initlcd();
for(i=0;i<16;i++)
{
lcdshow(a[i],1,i);
}
for(i=0;i<8;i++)
{
lcdshow(b[i],2,i);
}
while(1)
{
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -