📄 yijingxianshi.c
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar count;
char haomiao,miao,fen;
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
sbit P36=P3^6;
uchar n,k,h,l,m;
uchar code d[ ]="lucheng"; //第一行要输入的字符
uchar code b[ ]="00:00:00"; //第二行要输入的字符
void delay(uint z) //延时 z ms
{
uint i;
uchar j;
for(i=z;i>0;i--)
for(j=110;j>0;j--);
}
void zhiling(uchar a) //写命令
{
E=0;RS=0;RW=0;
E=1;
P0=a;
delay(5); //延时 5ms
E=0;
delay(5); //延时 5ms
}
void shuju(uchar b) //写数据
{
E=0;RS=1;RW=0;
E=1;
P0=b;
delay(5); //延时 5ms
E=0;
delay(5); //延时 5ms
}
void write_sfm(uchar add,uchar date) //秒表写入
{
uchar shi,ge;
shi=date/10;
ge=date%10;
zhiling(0x80+add);//在第一行add位写命令
shuju(0x30+shi);//显示十位的字符
shuju(0x30+ge);//显示个位的字符
}
void init() //初始化
{
uchar num;
zhiling(0x01); //清屏
zhiling(0x38); //功能设置
zhiling(0x0e); //开/关显示设置
zhiling(0x06); //输入方式设置
zhiling(0x80+0x40); //第2行首地址初始化
for(num=0;num<8;num++)//第一行显示00:00:00
{
shuju(d[num]);
delay(5);
}
zhiling(0x80);//第yi行首地址初始化
for(num=0;num<8;num++)
{
shuju(b[num]);
delay(5);
}
/*********设置定时器0**********/
TMOD=0x01; //T0定时器 16位定时器工作模式
TH0=(65536-50000)/256; //装初值,设置50毫秒
TL0=(65536-50000)%256;
EA=1;//开总中断
ET0=1;//T0中断允许位;
TR0=1;//开定时器0
}
void main()
{
init();
while(1) ;
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
for(fen=0;fen<60;fen++)
{
for(miao=0;miao<60;miao++)
{
write_sfm(3,miao);
for(haomiao=0;haomiao<100;haomiao++)
{
write_sfm(6,haomiao);
for(count=0;count<2;count++) ;
}
}
write_sfm(0,fen);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -