📄 shizhonglcd.c
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
unsigned code table[]={0x30,0x31,0x32,0x33,
0x34,0x35,0x36,0x37,
0x38,0x39};
uchar t,h,m,s,a,b,c,d,e,f;
sbit RS=P0^2;
sbit RW=P0^3;
sbit E=P0^4;
void delay(uchar x);
void init();
void display();
void fbusy();
void wc51r(uchar i);
void wc51ddr(uchar j);
void chaifen();
main()
{ init();
while(1)
{
chaifen();
display();
}
}
void timer() interrupt 1 //时钟中断函数
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t++;
if(t==20)
{t=0;
s++;
if(s==60)
{s=0;
m++;
if(m==60)
{m=0;
h++;
if(h==24)
h=00;
}
}
}
}
void init()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
h=14;
m=24;
wc51r(0x01); //清屏
wc51r(0x3c); //使用8位数据,显示两行,使用5x7的字型
wc51r(0x0e); //显示器开,字符不闪烁
wc51r(0x08); //字符不动,光标自动一格
wc51r(0x06);
wc51r(0x82);
wc51ddr(0x20);
wc51r(0x83);
wc51ddr(0x20);
wc51r(0x84);
wc51ddr(0x32);
wc51r(0x85);
wc51ddr(0x30);
wc51r(0x86);
wc51ddr(0x30);
wc51r(0x88);
wc51ddr(0x38);
wc51r(0x89);
wc51ddr(0x2e);
wc51r(0x8a);
wc51ddr(0x30);
wc51r(0x8b);
wc51ddr(0x33);
wc51r(0x8c);
wc51ddr(0x2e);
wc51r(0x8d);
wc51ddr(0x32);
wc51r(0x8e);
wc51ddr(0x37);
}
void fbusy() //检查忙标志
{
RS=0;RW=1;
E=1;
while((P2&0x80)==0x80);
E=0;
}
void wc51r(uchar i) //写命令函数
{
fbusy();
E=0;RS=0;RW=0;
E=1;
P2=i;
E=0;
}
void wc51ddr(uchar j) //写数据函数
{
fbusy();
E=0;RS=1;RW=0;
E=1;
P2=j;
E=0;
}
void display()
{
wc51r(0xc0);
wc51ddr(0x54);
wc51r(0xc1);
wc51ddr(0x49);
wc51r(0xc2);
wc51ddr(0x4d);
wc51r(0xc3);
wc51ddr(0x45);
wc51r(0xc4);
wc51ddr(0x20);
wc51r(0xc5);
wc51ddr(table[e]);
wc51r(0xc6);
wc51ddr(table[f]);
wc51r(0xc7);
delay(2000);
wc51ddr(0x3a);
wc51r(0xc8);
wc51ddr(table[c]);
wc51r(0xc9);
wc51ddr(table[d]);
wc51r(0xca);
delay(2000);
wc51ddr(0x3a);
wc51r(0xcb);
wc51ddr(table[a]);
wc51r(0xcc);
wc51ddr(table[b]);
delay(2000);
}
void chaifen()
{ a=s/10;
b=s%10;
c=m/10;
d=m%10;
e=h/10;
f=h%10;
}
void delay (uchar x) //延时1ms函数
{ uchar y,z;
for(;x>0;x--)
for(y=2;y>0;y--)
for(z=248;z>0;z--);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -