51单片机倒计时蜂鸣器c语言,基于51单片机的倒计时器设计
基于51單片機的倒計時器設計
2015-07-22 10:53:04???來源:51hei
void Displaypro(void)
{
StrTab[0]=tab[hour/10];???????????? //存儲小時
StrTab[1]=tab[hour%10];
StrTab[2]=0x40;??????????????????? //存儲"-"
StrTab[3]=tab[minute/10];???????????????? //存儲分鐘
StrTab[4]=tab[minute%10];
StrTab[5]=0x40;?????????????????????????? //存儲"-"
StrTab[6]=tab[second/10];???????????????? //存儲秒
StrTab[7]=tab[second%10];
}
void Print_play_pro(void)???????????????? //動態(tài)掃描數(shù)碼管
{
D0=1; D1=1; D2=1;?????????????? //顯示秒
P0=StrTab[7];
delay(3);
D0=0;D1=1; D2=1;
P0=StrTab[6];
delay(3);
D0=1;D1=0; D2=1;?????????????? //顯示"-"
P0=StrTab[5];
delay(3);
D0=0;D1=0;D2=1;??????????????????? //顯示分
P0=StrTab[4];
delay(3);
D0=1;D1=1;D2=0;
P0=StrTab[3];
delay(3);
D0=0;D1=1;D2=0;??????????????????? //顯示"-"
P0=StrTab[2];
delay(3);
D0=1;D1=0;D2=0;??????????????????? //顯示小時
P0=StrTab[1];
delay(3);
D0=0;D1=0;D2=0;
P0=StrTab[0];
delay(3);
}
/*****************************定時器1中斷*********************************/
void time1_isr(void) interrupt 3?????????? //定時器1用來處理蜂鳴器
{
static uint count = 1;????????? //位置待定
TH1=0xd8;?????????????? //重入初值定時20ms
TL1=0xf0;
//Print_play_pro();?????? //抖動效果
count++;
D3=0;????????? //產生鬧鐘方波
if(200==count)
{
TR0=1;
TR1=0;
count=1;
D3=1;
}
}
/***************************定時器0中斷**********************************/
void tim(void) interrupt 1?????? //定時器0用來處理倒計時
{
static uchar count;??????????? //定義內部局部變量
TH0=0xd8;?????????????? //重新賦值
TL0=0xf0;
count++;
switch (count)
{
case 80:Displaypro();break;???? //隔一定時間調用顯示處理
default:break;
}
if (count==100)
{
clock_judge_pro();??? //定時時間判斷
count=0;
if((0==minute)&&(second==0)) //倒計時值處理
{
if(0==hour)??? { hour=0;??? }
else?????????? { hour--;??? }
minute=60;
}
if(0==second)
{
if(0==minute)? { minute=59; }
else?????????? { minute-=1; }
}
if(0==second)????? { second=60; }
else?????????????? { second-=1; }
if((0==hour)&&(0==minute)&&(0==second)) //倒計時到00:00:00,結束倒計時
{ hour=0; minute=0; second=0; Displaypro(); TR0=0; }
}
}
[1] [2]
404-電子工程世界
北京市海淀區(qū)知春路23號集成電路設計園量子銀座1305
電話:(010)82350740
郵編:100191
電子工程世界版權所有
京ICP證060456號
Copyright ? 2005-2021 EEWORLD.com.cn, Inc. All rights reserved
總結
以上是生活随笔為你收集整理的51单片机倒计时蜂鸣器c语言,基于51单片机的倒计时器设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python实现王思聪吃热狗
- 下一篇: PLUTO SDR入门系列之九:强大的开