📄 clock.c
字号:
#include <REGX51.H>
#include <absacc.h>
#define CTRL XBYTE[0x0100] /*控制字地址*/
#define PA XBYTE[0x0101] /*PA口地址*/
#define PB XBYTE[0x0102] /*PB口地址*/
#define PC XBYTE[0x0103] /*PC口地址*/
#define uchar unsigned char
code uchar TAB[]={0x3f,0x06,0x5b,0x4f,0x66,0x6D,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar sz[6];
unsigned int i,a,b,c,sww,ww,qw,bw,sw,gw;
void bin_hms(void)
{
if(a>=46800)a=a-43200;
sww=sz[0]=a/36000;
ww=sz[1]=a/3600%10;
qw=sz[2]=a%3600/600;
bw=sz[3]=a%3600/60%10;
sw=sz[4]=a%60/10;
gw=sz[5]=a%60%10;
}
void delay(void)
{
for(i=0;i<12;i++)
{;}
}
void display(void)
{
PA=0x00;
PC=0xdf;
bin_hms();
for(b=0;b<6;b++)
{
PA=TAB[sz[b]];
delay();
if(PC==0xfe)break;
PA=0x00;
PC=PC<<7|PC>>1;
}
}
t0_100ms() interrupt 1
{
TL0=0xB0;
TH0=0x3C;
c++;
if(c==20)
{a++;c=0;}
}
main()
{
CTRL=0x0d;
a=0;
c=0;
TMOD=0x01;
IE=0x82;
TH0=0x3C;
TL0=0xB0;
TR0=1;
while(1)
{
display();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -