lcd1602.c
来自「52单片机开发板的实例程序」· C语言 代码 · 共 70 行
C
70 行
#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 + =
减小字号Ctrl + -
显示快捷键?