#include #define uchar unsigned char #define uint unsigned int uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //共阴数码管 0-9 uint a=20; uchar buffer[]={59,59}; sbit P2_7=P2^7; sbit P2_6=P2^6; sbit P2_5=P2^5; sbit P2_4=P2^4; sbit P2_3=P2^3; sbit P2_2=P2^2; void delay(uint x); void display(); void init() { TH0=0x4c; TL0=0x00; TMOD=0X01; IE=0X82; TR0=1; } void main() { init(); while(1) { display(); } } timer0() interrupt 1 using 1 { TH0=0x4c; TL0=0x00; a--; if(a==10) { P2_3=0; P2_2=0; } if (a==0) { a=20; P2_3=1; P2_2=1; buffer[1]--; if(buffer[1]==0) { buffer[1]=59; buffer[0]--; if(buffer[0]==0) { buffer[0]=59; } } } } void display() { P0=tab[buffer[0]/10]; P2_7=0; delay(50); P2_7=1; P0=tab[buffer[0]%10]; P2_6=0; delay(50); P2_6=1; P0=tab[buffer[1]/10]; P2_5=0; delay(50); P2_5=1; P0=tab[buffer[1]%10]; P2_4=0; delay(50); P2_4=1; } void delay(uint x) { uint j ,k; for(x=j;j>0;j--) for(k=100;k>0;k--); } 因篇幅问题不能全部显示,请点此查看更多更全内容