📄 数字钟.c
字号:
#include<reg51.h>
#define uchar unsigned char
int x=2007;
uchar y=2,z=28,l=0,m=0,n=10,i=0,j=0,k=0,p,q=0,w=0,e=0,r=0,q1;
sbit m1=P1^0;
sbit m2=P1^1;
sbit m3=P1^2;
sbit m4=P1^3; //duan kou ding yi//
sbit m5=P1^4;
sbit m6=P1^5;
sbit m7=P3^0;
void main()
{
TMOD=0x01;
TH0=(65536-5000)/256;
TL0=(65536-5000)%256; //中断初始化//
TR0=1;
ET0=1;
EA=1;
while(1);
}
void timer() interrupt 1
{
uchar code a[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x98,0x76};//位选码,数型码//
uchar code b[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
char c[8],d[8],g[8];
TH0=(65536-5000)/256;
TL0=(65536-5000)%256;
d[0]=x/1000; d[1]=x%1000/100;
d[2]=x%1000%100/10; d[3]=x%1000%100%10;
d[4]=y/10; d[5]=y%10;
d[6]=z/10; d[7]=z%10;
c[0]=l/10; c[1]=l%10;
c[2]=10; c[3]=m/10; //数显//
c[4]=m%10; c[5]=10;
c[6]=n/10; c[7]=n%10;
g[0]=w/10; g[1]=w%10;
g[2]=10; g[3]=e/10;
g[4]=e%10; g[5]=10;
g[6]=r/10; g[7]=r%10;
P2=b[i];
P0=a[g[i]];
if(m3==0){q++;if(q==40){if(m2==0){z++;q=0;if(z==32)z=1;}else if(m6==0){r++;q=0;if(r==60)r=0;} else n++;q=0;if(n==60)n=0;}}
if(m4==0){q++;if(q==40){if(m2==0){y++;q=0;if(y==13)y=1;}else if(m6==0){e++;q=0;if(e==60)e=0;} else m++;q=0;if(m==60)m=0;}} //年月日设定
if(m5==0){q++;if(q==40){if(m2==0){x++;q=0;if(x==10000)x=0;}else if(m6==0){w++;q=0;if(w==24)w=0;} else l++;q=0;if(l==24)l=0;}}
if(m2==0) P0=a[d[i]];
else
if(m6==0)P0=a[g[i]];
else //年月日时钟切换//
P0=a[c[i]];
i++;
if(i==8){i=0;}
if(m1==0)
{
j++;
if(j==200){n++;j=0;}
if(n==60){m++;n=0;}
if(m==60){l++;m=0;}
if(l==24){z++;l=0;} //时钟进位程序//
if(z==p){y++;z=1;}
if(y==13){x++;y=1;}
if(x==10000){x=0;}
if(m6==1){if(l==w){if(m==e){if(n==r){m7=0;}}}q1=e+1;if(l==w){if(m<=q1&&m>=e){if(n>r){m7=~m7;}}if(m>=q1){if(n<r)m7=~m7;else m7=1;}}}
}
switch(y)
{
case 1:p=32;break;
case 2:if((x%4==0&&x%100!=0)||x%400==0)p=30;else p=29;break;
case 3:p=32;break;
case 4:p=31;break;
case 5:p=32;break;
case 6:p=31;break; //大小月判断//
case 7:p=32;break;
case 8:p=32;break;
case 9:p=31;break;
case 10:p=32;break;
case 11:p=31;break;
case 12:p=32;break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -