當前位置:編程學習大全網 - 編程語言 - 單片機做鬧鐘程序中,如何用定時器中斷計時壹個時間,鬧鐘時間到時就響,比如壹分鐘後就停止響。

單片機做鬧鐘程序中,如何用定時器中斷計時壹個時間,鬧鐘時間到時就響,比如壹分鐘後就停止響。

1設置變量

uchar TC_20ms;20毫秒計數

uchar TC_100ms;100毫秒計數

uchar TC_1s;1秒計數

uchar TC_60s;60秒計數

uchar TC_3600s;1小時計數

uchar TF_200ms;20毫秒到時標記

uchar TF_100ms;100毫秒到時標記

uchar TF_1s;1秒到時標記

uchar TF_60s;60秒到時標記

uchar TF_3600s;1小時到時標記

用定時器定時產生20ms定時

void init() interrupt 1

//定時常數=65535-(晶體頻率/分頻數*定時周期)-20

{

//重裝定時器;

TF_20MS=1;

TC_20MS++;

if(TC_20MS==5){TC_20MS=0;

TF_100MS=1;

TC_100MS++;

if(GC_100MS==10)

{TC_100MS=0;

TF_1S=1;

TC_1S++;

if(TC_1S==60){

TC_1S=0;

…………

}

}

}

}

main()

{

unsigned long waiting_time_s=10000;

unsigned long beep_time_100ms=100;

unsigned long sys_time_s;

unsigned long beep_100ms;

//初始化定時器;

while(1)

{

if(TF_1S==1){sys_time_s++;TF_1S=0;}

if(sys_time_s>=waiting_time_s)

{

if(TF_100MS==1){beep_100ms++;TF_100MS=0;}

if(beep_time_100ms>beep_100ms)

beep();//響鈴函數

}

}

}

///僅僅是思路,希望有幫助。

  • 上一篇:免費素材網站有什麽(資源豐富,適用於各行業)
  • 下一篇:中學程序設計教案
  • copyright 2024編程學習大全網