#include #include #define uchar unsigned char #define uint unsignde int sbit P20 = P2^0; sbit P21 = P2^1; unsigned char code table []={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; unsigned char code table2 []={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x80}; unsigned int shi=0; unsigned int fen=0; unsigned int miao=0; unsigned int a=0; unsigned int b=0; unsigned int i; unsigned int t=0; unsigned int w=0; unsigned int v=0; sbit p30=P3^0; sbit p31=P3^1; void delay1ms(unsigned int i) //1ms { uchar j; while(i--) {for(j=0;j<125;j++) {;} } } void dis() { a=shi/10; b=shi%10; P0=table[a]; P2=0xdf; delay1ms(5); P0=(table[b]|0x80); P2=0xef; delay1ms(5); a=fen/10; b=fen%10; P0=table[a]; P2=0xf7; delay1ms(5); P0=(table[b]|0x80); P2=0xfb; delay1ms(5); a=miao/10; b=miao%10; P0=table[a]; P2=0xfd; delay1ms(5); P0=table[b]; P2=0xfe; delay1ms(5); if(v==1) {P1=0x00;} else {P1=table2[w];} } void key(void) { P3=0xff; if(p30==0) { dis(); if(p30==0) { shi++; if(shi==24) {shi=0;} fen=0; miao=0; } } if(p31==0) { dis(); if(p31==0) { fen++; if(fen==60) {fen=0;} miao=0; } } } void main() { P0=0x00; P2=0x00; P3=0xff; shi=00; fen=00; miao=00; EA=1; ET0=1; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; while (1) { dis(); key(); } } void Time0(void) interrupt 1 using 0 { t++; if (t==20) { t=0; miao++; w++; if(w==8) {w=0;} if (miao==60) { miao=0; fen++; v=0; if(fen==60) { fen=0; shi++; v=1; if(shi==24) {shi=0; } } } } TH0=(65536-50000)/256; TL0=(65536-50000)%256; } |