📄 +Ȧ
字号:
#ifndef _LCD1602_H_
#define _LCD1602_H_
//sbit RS=P2^5; //寄存器选择信号 H:数据寄存器 L:指令寄存器
//sbit RW=P2^6; //读写信号 H:读 L:写
//sbit EN=P2^7; //片选信号 下降沿触发
#define data_1602 P0
uchar code table_num[]="0123456789abcdefg";
//
sbit rs=P1^2;
sbit rw=P1^1;
sbit e=P1^0;
void delay_uint(uint q)
{
while(q--);
}
void write_com(uchar com)
{
e=0;
rs=0;
rw=0;
P0=com;
delay_uint(3);
e=1;
delay_uint(25);
e=0;
}
void write_data(uchar dat)
{
e=0;
rs=1;
rw=0;
P0=dat;
delay_uint(3);
e=1;
delay_uint(25);
e=0;
}
void write_sfm(uchar hang,uchar add,uchar date)
{
uchar shi,ge;
if(hang==1)
write_com(0x80+add);
else
write_com(0x80+0x40+add);
shi=date%100/10;
ge=date%10;
write_data(0x30+date%1000/100);
write_data(0x30+shi);
write_data(0x30+ge);
}
void write_sfm2(uchar hang,uchar add,uint date)
{
uchar shi,ge;
if(hang==1)
write_com(0x80+add);
else
write_com(0x80+0x40+add);
shi=date%100/10;
ge=date%10;
write_data(0x30+shi);
write_data(0x30+ge);
}
void write_sfm1(uchar hang,uchar add,uchar date)
{
uchar shi,ge;
if(hang==1)
write_com(0x80+add);
else
write_com(0x80+0x40+add);
shi=date%100/10;
ge=date%10;
// write_data(0x30+shi);
write_data(0x30+ge);
}
void write_sfm3(uchar hang,uchar add,uint date)
{
uchar bai,shi,ge;
if(hang==1)
write_com(0x80+add);
else
write_com(0x80+0x40+add);
bai=date/100%10;
shi=date/10%10;
ge=date%10;
write_data(0x30+bai);
write_data(0x30+shi);
write_data(0x30+ge);
}
void write_string(uchar hang,uchar add,uchar *p)
{
if(hang==1)
write_com(0x80+add);
else
write_com(0x80+0x40+add);
while(1)
{
if(*p == '\0') break;
write_data(*p);
p++;
}
}
void clear_1602()
{
write_string(1,0," ");
write_string(2,0," ");
}
void init_1602()
{
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_string(1,0," migong ");
write_string(2,0," ");
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -