CPU時序的有關知識
振蕩周期:為單片機提供定時信號的振蕩源的周期(晶振周期或外加振蕩周期)
狀態(tài)周期:2個振蕩周期為1個狀態(tài)周期,用S表示。振蕩周期又稱S周期或時鐘周期。
機器周期:機器周期也就是CPU完成一個基本操作所需要的時間。1個機器周期含6個狀態(tài)周期,12個振蕩周期。機器周期=1/單片機的時鐘頻率。
時鐘頻率:外部時鐘的12分頻。也就是說當外部晶振的頻率輸入到單片機里面的時候要進行12分頻。比如說你用的是12MHZ的晶振,那么單片機內(nèi)部的時鐘頻率就是12/12MHZ,當你使用12MHZ的外部晶振的時候。機器周期=1/1M=1us。
指令周期:完成1條指令所占用的全部時間,它以機器周期為單位。
在學習定時器之前需要明白的
51單片機有兩組定時器/計數(shù)器,因為既可以定時,又可以計數(shù),故稱之為定時器/計數(shù)器。定時器/計數(shù)器和單片機的CPU是相互獨立的。定時器/計數(shù)器工作的過程是自動完成的,不需要CPU的參與。51單片機中的定時器/計數(shù)器是根據(jù)機器內(nèi)部的時鐘或者是外部的脈沖信號對寄存器中的數(shù)據(jù)加1。有了定時器/計數(shù)器之后,可以增加單片機的效率,一些簡單的重復加1的工作可以交給定時器/計數(shù)器處理。CPU轉而處理一些復雜的事情。同時可以實現(xiàn)精確定時作用。
定時/計數(shù)器的工作原理
定時/計數(shù)器實質上是一個加1計數(shù)器。它隨著計數(shù)器的輸入脈沖進行自加1,也就是每來一個脈沖,計數(shù)器就自動加1,,當加到計數(shù)器為全1時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使相應的中斷標志位置1,向CPU發(fā)出中斷請求(定時/計數(shù)器中斷允許時)。如果定時/計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿。可見,由溢出時計數(shù)器的值減去計數(shù)初值才是加1計數(shù)器的計數(shù)值。
51單片機定時器結構
定時/計數(shù)器的實質是加1計數(shù)器(16位),由高8位和低8位兩個寄存器THx和TLx組成。
定時/計數(shù)器的控制
51單片機定時/計數(shù)器的工作由兩個特殊功能寄存器控制。TMOD用于設置其工作方式;TCON用于控制其啟動和中斷申請。
工作方式寄存器TMOD
工作方式寄存器TMOD用于設置定時/計數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:
GATE是門控位:
GATE=0時,用于控制定時器的啟動是否受外部中斷源信號的影響。只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作;
GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳INT0/1也為高電平時,才能啟動定時/計數(shù)器工作。即此時定時器的啟動條件,加上了INT0/1引腳為高電平這一條件。
C/T :定時/計數(shù)模式選擇位。C/T =0為定時模式;C/T =1為計數(shù)模式。
M1M0:工作方式設置位。定時/計數(shù)器有四種工作方式。
控制寄存器TCON
TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計數(shù)器的啟動和中斷申請。其格式如下:
TF1(TCON.7):T1溢出中斷請求標志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。
TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。
TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。
TR0(TCON.4):T0運行控制位,其功能與TR1類同。
定時/計數(shù)器的工作方式
方式0
方式0為13位計數(shù),由TL0的低5位(高3位未用)和TH0的8位組成。TL0的低5位溢出時向TH0進位,TH0溢出時,置位TCON中的TF0標志,向CPU發(fā)出中斷請求。
定時器模式時有:N=t/ Tcy
計數(shù)初值計算的公式為:X=2^13-N。
定時器的初值還可以采用計數(shù)個數(shù)直接取補法獲得。
計數(shù)模式時,計數(shù)脈沖是T0引腳上的外部脈沖。
門控位GATE具有特殊的作用。當GATE=0時,經(jīng)反相后使或門輸出為1,此時僅由TR0控制與門的開啟,與門輸出1時,控制開關接通,計數(shù)開始;當GATE=1時,由外中斷引腳信號控制或門的輸出,此時控制與門的開啟由外中斷引腳信號和TR0共同制。當TR0=1時,外中斷引腳信號引腳的高電平啟動計數(shù),外中斷引腳信號引腳的低電平停止計數(shù)。這種方式常用來測量外中斷引腳上正脈沖的寬度。
方式1
方式1的計數(shù)位數(shù)是16位,由TL0作為低8位,TH0作為高8位,組成了16位加1計數(shù)器 。
計數(shù)個數(shù)與計數(shù)初值的關系為:X=2^16-N
方式2
方式2為自動重裝初值的8位計數(shù)方式。
計數(shù)個數(shù)與計數(shù)初值的關系為:X=2^8-N
工作方式2特別適合于用作較精確的脈沖信號發(fā)生器。
方式3
方式3只適用于定時/計數(shù)器T0,定時器T1處于方式3時相當于TR1=0,停止計數(shù)。
工作方式3將T0分成為兩個獨立的8位計數(shù)器TL0和TH0 。
使用定時器,該做哪些工作
初始化程序應完成如下工作:
對TMOD賦值,以確定T0和T1的工作方式。
計算初值,并將其寫入TH0、TL0或TH1、TL1。
涉及到中斷方式時,則對EA賦值,開放定時器中斷。
使TR0或TR1置位,啟動定時/計數(shù)器定時或計數(shù)。
上一篇:51單片機實驗9:外部中斷
下一篇:51單片機實驗7:矩陣按鍵
推薦閱讀
史海拾趣
設計資源 培訓 開發(fā)板 精華推薦
- 生成式 AI 重塑自動駕駛仿真:4D 場景生成技術的突破與實踐
- 51Sim 3D 高斯混合仿真引擎 | 申報2025第七屆金輯獎最佳技術實踐應用獎
- 智協(xié)慧同VDM(Vehicle Diagnosis Management System)車輛智能診斷系統(tǒng) | 申報2025第七屆金輯獎最佳技術實踐應用獎
- 麻省理工學院發(fā)明新型光子AI芯片 將使電動汽車的續(xù)航里程增加50英里
- 受肌肉啟發(fā) 浦項科技大學發(fā)明片狀機器人以在最狹窄的空間中導航
- 我們?yōu)槭裁聪矚g看機器人互毆?
- 浩亭與阿爾斯通通力合作,共筑綠色鐵路交通的未來
- 智能樓宇邊緣設備的平臺集成發(fā)展方向——更智能、更快速、更互聯(lián)
- 全新MG4,真能改寫10萬級純電市場競爭格局?
- 固態(tài)電池或成主流,2028年成關鍵成敗之年