📄 lcd1602.c
字号:
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit lcdrs=P3^2;
sbit lcdrw=P3^1;
sbit lcde=P3^0;
uchar code table[]="I LOVE YOU !";
uchar code table1[]="YOU ARE MY ONLY!";
void delay(uint n)//延时nms
{
uint i,j;
for(i=n;i>0;i--)
for(j=110;j>0;j--);
}
void write_com(uchar x)
{
uchar y;
y=x;
P2=y;
}
void write_data(uchar date)
{
uchar y;
y=date;
P2=y;
}
void init()
{
lcdrs=0;
lcdrw=0;
lcde=0;
delay(1);
write_com(0x38);//显示模式设置
delay(10);
lcde=1;
delay(1);
lcde=0;
delay(1);
write_com(0x0f);//显示开关及光标设置
delay(1);
lcde=1;
delay(1);
lcde=0;
delay(1);
write_com(0x06);//显示模式设置
delay(1);
lcde=1;
delay(1);
lcde=0;
delay(1);
}
void main()
{
uint i;
init();
write_data(0x80);//设置数据指针
delay(1);
lcde=1; //使能脉冲
delay(1);
lcde=0;
delay(1);
for(i=0;i<12;i++)
{
lcdrs=1;//写数据控制位设置
lcdrw=0;
lcde=0;
delay(1);
write_data(table[i]); //写数据
delay(1);
lcde=1; //使能脉冲
delay(1);
lcde=0;
delay(1);
}
lcdrs=0; //写数据控制位设置
delay(1);
write_com(0x80+0x40);//设置数据指针
delay(1);
lcde=1; //使能脉冲
delay(1);
lcde=0;
delay(1);
for(i=0;i<16;i++)
{
lcdrs=1;
lcdrw=0;
lcde=0;
delay(1);
write_data(table1[i]); //写数据
delay(1);
lcde=1; //使能脉冲
delay(1);
lcde=0;
delay(1);
}
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -