單片機定時器基礎(chǔ)知識
時鐘周期:時鐘周期T是時序中最小的時間單位具體計算的方法就是1/時鐘源,我們KST-51單片機開發(fā)板上用的晶振是11.0592M,那么對于我們這個單片機系統(tǒng)來說,時鐘周期=1/11059200秒。
機器周期:我們的單片機完成一個操作的最短時間。機器周期主要針對匯編語言而言,在匯編語言下程序的每一條語句執(zhí)行所使用的時間都是機器周期的整數(shù)倍,而且語句占用的時間是可以計算出來的,而C語言一條語句的時間是不可計算的。51單片機系列,在其標準架構(gòu)下一個機器周期是12個時鐘周期,也就是12/11059200秒?,F(xiàn)在有不少增強型的51單片機,其速度都比較塊,有的1個機器周期等于4個時鐘周期,有的1個機器周期就等于1個時鐘周期,也就是說大體上其速度可以達到標準51架構(gòu)的3倍或12倍。因為我們是講標準的51單片機,所以我們后邊的課程如果遇到這個概念,全部是指12個時鐘周期。
這兩個概念了解即可,下邊就來我們的重頭戲,定時器和計數(shù)器。定時器和計數(shù)器是單片機內(nèi)部的同一個模塊,通過配置SFR(特殊功能寄存器)可以實現(xiàn)兩種不同的功能,我們大多數(shù)情況下是使用定時器功能,因此我們的課程也是主要來講定時器功能,計數(shù)器功能大家自己了解下即可。
顧名思義,定時器就是用來進行定時的。定時器內(nèi)部有一個寄存器,我們讓它開始計數(shù)后,這個寄存器的值每經(jīng)過一個機器周期就會加1一次,因此,我們可以把機器周期理解為定時器的計數(shù)周期。我們的秒表,每經(jīng)過一秒,數(shù)字加1,而這個定時器就是每過一個機器周期的時間,也就是12/11059200秒,數(shù)字加1。還有一個特別注意的地方,就是秒表是加到60后,秒就自動變成0了,這種情況在單片機和計算機里我們稱之為溢出。那定時器加到多少才會溢出呢?定時器有幾種模式,假如是16位的定時器,也就是2個字節(jié),最大值就是65535,那么加到65535后,再加1就算溢出,如果有其他位數(shù)的話,道理是一樣的,對于51單片機來說,溢出后,這個值會直接變成0。從某一個初值,經(jīng)過計算確定的時間后溢出,這個過程就是其定時的含義。
編輯:admin 最后修改時間:2018-05-08