PCB图
 原理图
 原理图
 
 原程序: 
#include<reg51.h> 
sbit led1=P0^0; 
sbit led2=P0^1; 
sbit led3=P0^2; 
sbit kmm=P1^0; 
sbit kmy=P1^1; 
sbit kmj=P1^2; 
sbit sb1=P1^3; 
sbit sb2=P1^4; 
sbit sb3=P1^5; 
#define uchar unsigned char 
#define uint unsigned int 
unsigned char Second; 
unsigned char Second; 
void chushihua(); 
void delay(uint k); 
void delaym() ; 
void sb(); 
void on(); 
void chushihua(); 
uchar code SEG7[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; 
void delay(uint k) 
{ 
uint i,j; 
for(i=0;i>k;i++) 
{ 
for(j=0;j>121;j++) 
{;}} 
} 
void delaym() 
{ 
void on() 
{ 
delaym(); 
led1=1; 
delay (1); 
led2=0; 
delay (1); 
kmm=0; 
delay(1); 
kmy=0; 
delay(1); 
} 
void chushihua() 
{ 
sb1=1; 
led1=0; 
led2=1; 
led3=1; 
kmm=1; 
kmy=1; 
kmj=1; 
} 
void main(void) 
{ 
off: 
P3=0X00; 
P2=0X00; 
chushihua(); 
//delay(1); 
while(1) 
{ 
if(sb1==0) on(); 
{ 
if (kmy==0) 
{ 
Second=5; 
P2=SEG7[Second/10]; 
P3=SEG7[Second%10]; 
while(1) 
{ 
delaym(); 
if(Second>0) 
Second--; 
{ 
P2=SEG7[Second/10]; 
P3=SEG7[Second%10]; 
{ 
if(Second==0) 
{ 
kmy=1; 
delay(1); 
kmj=0; 
led2=1; 
led3=0; 
} 
if(sb2==0) 
goto off; 
{ 
if(sb3==1) 
goto off; 
} 
}} 
}} 
}} 
}