#include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit A=P2^2; sbit D=P2^3; sbit C=P2^4; sbit A1=P2^5; sbit D1=P2^6; sbit C1=P2^7; uchar code c[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; int shi1=2,shi2=3,fen1=5,fen2=9,miao1=4,miao2=0,nian1=1,nian2=8,yue1=0,yue2=6,ri1=0,ri2=6; int t=0; void delay(uint z) { uint x; uchar y; for(x=z;x>0;x--) for(y=20;y>0;y--); } void disp1() //年月日 { A=0; D=0; C=0; P1=c[nian1]; //顯示該位數(shù)字 delay(10); //延時 P1=0x00; //消去陰影 A=1; D=0; C=0; P1=c[nian2]; delay(10); P1=0x00; A=0; D=1; C=0; P1=0x40; delay(10); P1=0x00; A=1; D=1; C=0; P1=c[yue1]; delay(10); P1=0x00; A=0; D=0; C=1; P1=c[yue2]; delay(10); P1=0x00; A=1; D=0; C=1; P1=0x40; delay(10); P1=0x00; A=0; D=1; C=1; P1=c[ri1]; delay(10); P1=0x00; A=1; D=1; C=1; P1=c[ri2]; delay(10); P1=0x00; } void disp2() //時分秒 { A1=0; D1=0; C1=0; P0=c[shi1]; delay(10); P0=0x00; A1=1; D1=0; C1=0; P0=c[shi2]; delay(10); P0=0x00; A1=0; D1=1; C1=0; P0=0x40; delay(10); P0=0x00; A1=1; D1=1; C1=0; P0=c[fen1]; delay(10); P0=0x00; A1=0; D1=0; C1=1; P0=c[fen2]; delay(10); P0=0x00; A1=1; D1=0; C1=1; P0=0x40; delay(10); P0=0x00; A1=0; D1=1; C1=1; P0=c[miao1]; delay(10); P0=0x00; A1=1; D1=1; C1=1; P0=c[miao2]; delay(10); P0=0x00; } void jishi() { miao2++; if(miao2==10) { miao2=0; miao1++; if(miao1==6) { miao1=0; fen2++; if(fen2==10) { fen2=0; fen1++; if(fen1==6) { fen1=0; shi2++; if(shi1==2) { if(shi2==4) { shi2=0; shi1=0; ri2++; if(ri2==10) { ri2=0; ri1++; if(ri1==4) { ri1=0; yue2++; if(yue1==1) { if(yue2==3) { yue2=0; yue1=0; nian2++; if(nian2==10) { nian2=0; nian1++; if(nian1==10) nian1=0; } } } else { if(yue2==10) { yue2=0; yue1++; } } } } } } else { if(shi2==10) shi2=0; shi1++; } } } } } } void main() { while(1) { disp1(); disp2(); jishi(); } }
|