實用制作:基于單片機的數(shù)顯可調(diào)定時器
void main()//主函數(shù)
{
P1=0xff; //初始化
P3=0;
TMOD=0x01;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
EA=1;
ET0=1;
while(1)
{
buffer[0]=minute%10;
buffer[1]=minute/10;
buffer[2]=hour;
display();
if(P1_0==0)//分鐘“加十”
{
delay(5);
if(P1_0==0)
{minute+=10;if(minute>=59)minute=0;} while(P1_0==0);
}
if(P1_1==0)//分鐘“減十”
{
delay(5);
if(P1_1==0)
{minute-=10;if(minute>=59)minute=0;}while(P1_1==0);
}
if(P1_3==0)//小時“加一”
//P1_3和P1_2互換位置,完全是因為PCB布局的需要
{
delay(5);
if(P1_3==0)
{hour++;if(hour>=9)hour=9;} while(P1_3==0);
}
if(P1_2==0)//小時“減一”
{
delay(5);
if(P1_2==0)
{hour--;if(hour>=9)hour=9;}while(P1_2==0);
}
if(P1_4==0)break;
//如果按下設(shè)置鍵,跳出本循環(huán),定時開始
}
TR0=1;
while(1)
{
display();
}
}
評論