📄 lcd1602.c
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P1^0;
sbit rw=P1^1;
sbit en=P1^2;
uchar code a[]="I Like AT89S52";
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write1602_command(uchar command)//写指令子函数
{
rs=0;
rw=0;
P2=command;
delay(1);
en=1;
delay(2);
en=0;
}
void write1602_data(uchar date)//写数据子函数
{
rs=1;
rw=0;
P2=date;
delay(1);
en=1;
delay(2);
en=0;
}
void init()
{
en=0;
rw=0;
write1602_command(0x38);
write1602_command(0x01);
write1602_command(0x0c);
write1602_command(0x06);
write1602_command(0x80);
}
void main()
{ uchar i,temp=0,ge,shi,bai;
init();
write1602_command(0x80);
for(i=0;i<14;i++)
{
write1602_data(a[i]);
delay(6);
}
while(1)
{
bai=temp/100;
shi=temp%100/10;
ge=temp%10;
write1602_command(0x80+0x40+6);
write1602_data(0x30+bai);
write1602_data(0x30+shi);
write1602_data(0x30+ge);
temp++;
if(temp>200)
temp=0;
delay(800);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -