#include <reg51.h>
unsigned b[10]={0x3f,0x06,0x5b,0x4f,0x66,0x7d,0x07,0x7f,0x6f};
/*******************************************************************
--函数名称:void delay(void)
--函数功能:用于延时
/*******************************************************************/
void delay(void)
{
unsigned char i,j,k;
for(i=20;i>0;i--)
for(j=2;j>0;j--)
for(k=250;k>0;k--);
}
/*******************************************************************
--函数名称:void Inc_CNT(void)
--函数功能:按下K1键,数码管循环显示00-59
/*******************************************************************/
void Inc_CNT(void)
{
unsigned char x,y,z;
for(x=0;x<6;x++)
{
for(y=0;y<10;y++)
{
if((P3|0xfb)==0xfb)
{
for(z=0;z<22;z++)
{
P2=0xf2;
P0=b[x];
delay();
P2=0xf1;
P0=b[y];
delay();
}
}
else
{
P0=0x3f;
P2=0x00;
break;
}
}
}
}
/*******************************************************************
--函数名称:void Dec_CNT(void)
--函数功能:按下K2键,数码管循环显示59-00
/*******************************************************************/
void Dec_CNT(void)
{
unsigned char x,y,z;
for(x=5;x>0;x--)
{
if((P3|0xf7)==0xf7)
{
for(z=0;z<22;z++)
{ P2=0xf2;
P0=b[x];
delay();
P2=0x3f;
P0=b[y];
delay();
}
}
}
}
/*******************************************************************
--函数名称:main(void)
--函数功能:按下K1键,数码管循环显示00-59;按下K2键,数码管循环显示59-00
/*******************************************************************/
void main(void)
{
unsigned char key;
P2=0x00;
P0=0x3f;
for(;;)
{
P3|=0xf3;
if(key==0xfb)
Inc_CNT();
else if(key==0xf7)
Dec_CNT();
else
{
P2=0x00;
P0=0x3f;
}
}
}