📄 lcd_1.c
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
uchar num;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--);
for(y=123;y>0;y--);
}
void write_com(uchar com)
{
rs=0;
rw=0;
en=0;
delay(2);
P0=com;
en=1;
delay(2);
en=0;
delay(2);
}
void write_data(uchar date)
{
rs=1;
rw=0;
en=0;
delay(2);
P0=date;
en=1;
delay(2);
en=0;
delay(2);
}
void init()
{
write_com(0x38);
delay(5);
write_com(0x0f);
write_com(0x06);
write_com(0x01);
}
uchar keyscan()
{
uchar temp,num1;
P3=0xfe;
temp=P3&0xfe;
if(temp!=0xfe)
{
delay(5);
P3=0xfe;
temp=P3&0xfe;
if(temp!=0xfe)
{
temp=P3;
switch(temp)
{
case 0xee:num1=0;break;
case 0xde:num1=0;break;
case 0xbe:num1=0;break;
case 0x7e:num1=0;break;
}
while(temp&0xf0!=0xf0);
}
return(num1);
}
}
void main()
{
uchar cord;
init();
while(1)
{
cord=keyscan();
write_com(0x80);
write_data(0x30+num);
delay(500);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -