|
本帖最后由 yanjibao 于 2015-6-5 18:21 編輯
如果要做精確定時,那就必須用定時器了,定時時間125us,累計進中斷16次后令timer2ms=1,中斷函數(shù)結(jié)束(中斷服務(wù)函數(shù)內(nèi)容不要寫太多,我們要查詢式中斷)。主循環(huán)中檢測到2ms標(biāo)志,清零,同時處理顯示,按鍵以及計時。分別如下:顯示每2ms循環(huán)數(shù)碼管com一步,按鍵每2ms掃描一行,時間每2ms做一次累加(250次為0.5秒,再累加120次為1分,再累加60次為一小時。)。僅有蜂鳴器在125us中運行,震動頻率4khz,有源無源蜂鳴器通殺,效果一樣。整個程序1個timer中斷就搞定,妥妥的,不需要延時函數(shù),時鐘不浪費,后期還有大把擴容空間。﹉
補充主邏輯,開機進入waitmode,按鍵后進入setmode,確認或者幾秒鐘不按鍵進入workmode,倒計時結(jié)束進入buzzmode,按鍵或一分鐘后返回waitmode。
僅在workmode進行倒計時
|
|