单片机计数器中断T1 T0
51中常用的是16位計數(shù)器,最大值是65535,如果要計數(shù)1000次,那么計數(shù)器賦值應該為65535-1000+1(達到最大值后要再加一次才行。)計數(shù)器的初值是放在兩個8位寄存器中,分別是TH0, TL0(計數(shù)器0的高8位和低8位),計數(shù)器1使用的是TH1,TL1,原理相同。
65535-1000+1=64536=0xFC18
所以
TH0=0xFC;
TL0=0x18;
上面我們讓定時器計數(shù)1000次,但是我們要的是固定時長,而不是固定次數(shù),一千次是多長時間呢? 我們需要計算計數(shù)器加1需要的時間。
計數(shù)器加1需要一個機器周期,而一個機器周期等于6個狀態(tài)周期,12個震蕩周期。如果51芯片的頻率是12MHz,那么震蕩周期就是1/12M秒,而機器周期就是12×1/12M秒,就是1/1M秒,即1/1000000秒,也就是1微秒。
計數(shù)1000次就是1毫秒了;
前四位 T1 后四位 T0
GATE: 為1時,與INT0/1引腳共同控制計數(shù)器0/1。我們默認使用0,不受INT0/1控制;
C/T: C為Couter,計數(shù)器模式,T為Timer,定時器模式;T上面有橫杠,說明是0有效;Timer模式的時候,使用系統(tǒng)內部時鐘輸入;Couter模式的時候,使用T0/1引腳輸入;
計數(shù)器每計滿一次 執(zhí)行一次這個函數(shù)
執(zhí)行1000次之后 1000*1ms =1s 進行翻轉led
所以實現(xiàn)了 每1s翻轉led燈
總結
以上是生活随笔為你收集整理的单片机计数器中断T1 T0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python-图像边缘化处理
- 下一篇: 项目三:公寓管理系统_ssm