从头开始学51单片机之6:定时器/计数器
生活随笔
收集整理的這篇文章主要介紹了
从头开始学51单片机之6:定时器/计数器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
6.1 定時器/計數器的結構及工作原理
1. 51單片機定時器/計數器功能
- 用單片機實現定時的途徑
| 1 | 軟件定時 | 利用循環程序、靠執行指令消耗時間,實現時間延遲 無需硬件電路,方便、經濟 占用CPU時間,適合實現較短時間定時 |
| 2 | 硬件定時 | 利用硬件電路實現定時 不占用CPU時間,可實現較長時間定時 調整定時時間需改變元件參數,缺乏靈活性 |
| 2 | 可編程定時器定時 | 通過對系統時鐘脈沖計數實現定時 計數值可通過程序靈活設定 |
- 定時器/計數器功能
- 定時器:利用MCU自身的工作時鐘
- 計數器:利用外部輸入的時鐘信號
2. 定時器/計數器結構
- 51單片機共有2個可編程定時器/計數器——T0和T1
- T0和T1均為16位加法計數結構
- 每個定時器/計數器均由THx、TLx兩個8位計數單元組成
- T0和T1具有定時和計數兩種工作方式
- 當作為計數器方式時,T0對來自P3.4(T1對來自P3.5)引腳脈沖信號進行計數(下降沿有效)
- 當作為定時器方式時,T0、T1對經過12分頻的時鐘周期(即機器周期T)進行計數
3. 定時器/計數器的控制字
- 定時器/計數器共有2個控制寄存器TCON和TMOD
- TMOD用于選擇定時方式,可實現4種工作模式
- TCON用于控制定時器啟停,反映計數單元溢出狀態
- 復位后TCON和TMOD所有位清零
| 位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
| TCON (88H) | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 |
| TR0 | T0啟動控制位: 1:啟動T0計數,計數單元在脈沖作用下進行加1計數 0:停止T0計數,計數單元保持原數據 | |||||||
| TR1 | T1啟動控制位: 1:啟動T1計數,計數單元在脈沖作用下進行加1計數 0:停止T1計數,計數單元保持原數據 | |||||||
| 位 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | ||||||||||||||||||||
| TMOD (89H) | GATE | M1 | M0 | GATE | M1 | M0 | ||||||||||||||||||||||
| T1 | T0 | |||||||||||||||||||||||||||
| GATE | 門控位 0:不門控,定時器/計數器工作僅受啟動位TR0(或TR1)控制 1:門控功能,T0(或T1)計數不僅受TR0(或TR1)控制,同時還受外部中斷輸入引腳控制,當其為高電平時,計數單元才能計數,否則停止計數 | |||||||||||||||||||||||||||
| 定時器/計數器方式選擇位 0:定時器方式,對12分頻進行計數 1:計數器方式,對外部輸入信號進行計數 | ||||||||||||||||||||||||||||
| M1&M0 | 工作模式選擇
| |||||||||||||||||||||||||||
6.2 定時器/計數器的工作模式
1. 模式0
- 13位定時器/計數器結構,由THx的8位和TLx的低5位構成,TLx的高3位不用,當13位計數值溢出時(),置位TFx標志位
?2. 模式1
- 16位定時器/計數器結構,由THx和TLx兩個8位寄存器組成,當16位計數值溢出時(),置位TFx標志位,工作過程同模式0
?3. 模式2
- 一個可自動重新裝入計數值的8位定時器,TLx作為8位計數器,THx作為常數寄存器。當TLx溢出時,一方面置位TFx標志位,同時將THx中的數值重新裝入TLx寄存器,使計數器重新開始計數
- 特點:初始值由硬件自動裝入,無需軟件干預,可以獲得較高精度的定時
?4. 模式3
- 該模式僅適用于T0,T1不工作
- T0分成兩個獨立的8位計數器結構,分別通過TH0和TL0進行計數。此時TL0工作過程與模式0相當;TH0只能作為一個8位定時器使用,其運行控制和溢出標志借用T1的TR1和TF1
?6.3 計數器模式下對輸入信號的要求
- 當輸入信號產生由1至0的跳變(即負跳變)時,計數器的值增1
- 確認一次負跳變需要2個機器周期,即24個振蕩周期,因此外部輸入的計數脈沖的最高頻率位系統振蕩頻率的1/24
- 例如:若選用6MHz頻率的晶振,允許輸入脈沖頻率最高為250kHz;若選用12MHz頻率的晶振,則可輸入最高頻率為500kHz的外部脈沖
- 占空比:為確保某一給定電平在變化前能被采樣一次,這一電平至少要保持一個機器周期
總結
以上是生活随笔為你收集整理的从头开始学51单片机之6:定时器/计数器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 维基百科六度分隔理论
- 下一篇: matlab第六章课后答案,MATLAB