⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 数字钟.c

📁 是一个数字电子钟程序
💻 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 + -