8051的計時計數器應用我只使用過計量暫存器,
主要的控制流程為:
1. 初始化 Timer 的相關設定,設定 counter 初始值;
我使用的是 Mode 2 的工作模式,所以 counter 的最大值為256,
當我把 TH0, TL0 都設為 255 時,
表示每個 CPU Cycle 都會產生 Interrupt;
當知道每個 CPU Cycle 的時間後,
其實就可以推算到底 TH0, TL0 要設為多少(取決於你要多久後發生中斷)
2. 在 timer0 中斷副程式中,
還可以維護另一個 counter 變數(軟體控制),
上述1.是硬體的timer,
兩層 counter 的機制,
可以用來使一些應用,
ex. 馬達控制、GPIO模擬波形、...等
0 意見:
張貼留言