|
樓主 |
發表於 2011-5-2 09:47:15
|
顯示全部樓層
定時器啊,
基本上,MCU本身內部的計時動作除了用DELAY計數外,
大部份都是使用計數器中斷方式,分別是T0,T1,T2
除了初期預設計數模式及計數次數外,是使用旗標去啟動或停止
分別是TR0,TR1,TR2,不過這次你要作的東西沒那麼複雜,所以使用1個計數器便可以了
我只使用T0,所以便是使用TR0,當TR0=0時,計時中斷便停止,TR0=1時,計時中斷便啟動
所謂的計時中斷比較像是多工模式,
當主程式平時在作鍵盤及LED掃瞄時,一旦產生計時中斷溢位時,便會跳至T0的中斷程式
也就是鍵盤掃瞄和LED顯示掃瞄是主程式,
而T0只是計數副程式,
若TR0沒啟動,那麼T0計數副程式便不會動作
相對的TR0有啟動,那麼T0計數副程式便會一直作中斷計數,
你的問題是定時器一旦啟動,如何暫停,如何再啟動
如上所述,單純只是改變一個T0計數器的TR0這個旗標而已,
另昨天大概已完成95%的程式,大概都能動作,剩下的5%是把硬體給實際組合起來而已
應該這幾天就能把東西給完成一個成品了吧.
|
|