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