定時(shí)/計(jì)數(shù)器學(xué)習(xí)筆記
掃描二維碼
隨時(shí)隨地手機(jī)看文章
一、基本概念
1、 89C51有兩個(gè)計(jì)數(shù)器T0和T1,89C52還有一個(gè)T2。每個(gè)計(jì)數(shù)器都是由兩個(gè)8位的RAM 單元組成的,即每個(gè)計(jì)數(shù)器都是16 位的計(jì)數(shù)器,最大的計(jì)數(shù)容量是216=65536,記住是從0-65535。
2、 提供給定時(shí)器的計(jì)數(shù)源又是從哪里來(lái)的呢?就是由單片機(jī)的晶振經(jīng)過(guò)12 分頻后獲得的一個(gè)脈沖源。一個(gè)12M 的晶振,它提供給計(jì)數(shù)器的脈沖時(shí)間間隔是就是1us。
3、 預(yù)置數(shù)計(jì)數(shù)法。如果每個(gè)脈沖是1微秒,則計(jì)滿(mǎn)65536個(gè)脈沖需時(shí)65.536毫秒。但是如果只需要10毫秒就可以了,怎么辦?只要在計(jì)數(shù)器里預(yù)先放進(jìn)55536,這樣只需要計(jì)數(shù)65536-55536=10000次,也就是10毫秒了。
二、控制字
1、特殊功能寄存器TMOD(89H)
用于T1
|
用于T0
|
||||||
GATE
|
C/T
|
M1
|
M0
|
GATE
|
C/T
|
M1
|
M0
|
GATE:0用于內(nèi)部脈沖;1用于外部脈沖。
C/T:0用于定時(shí)器;1用于計(jì)數(shù)器。
M1M0:工作方式
|
范圍
|
特性
|
工作方式0
|
13位,8192次
|
為了和51 的前輩48系列兼容
|
工作方式1
|
16位,65536
|
16位,其他特性與工作方式0相同,比較常用
|
工作方式2
|
8位,256次
|
自動(dòng)再裝入預(yù)置數(shù),預(yù)置數(shù)放在T0(或T1)的高8位中,只有低8 位參與計(jì)數(shù),通常用于波特率發(fā)生器
|
工作方式3
|
8位,256次
|
TH0只能作為定時(shí)器用,TL0可作定時(shí)器或計(jì)數(shù)器。溢出標(biāo)記:TL0 還是用原來(lái)的T0的標(biāo)記,而TH0則借用T1的標(biāo)記,因此只有在T1 以工作方式2 運(yùn)行時(shí),才讓T0 工作于方式3。
|
2、特殊功能寄存器TCON(88H)
用于定時(shí)/計(jì)數(shù)器
|
用于中斷
|
||||||
TF1
|
TR1
|
TF0
|
TR0
|
IE1
|
IT1
|
IE0
|
IT0
|
TR0/TR1:定時(shí)器的開(kāi)關(guān)。
TF0/TF1:計(jì)數(shù)溢出后由0變?yōu)?。
3、T2定時(shí)器。89C52支持T2定時(shí)/計(jì)數(shù)器。
T2操作模式
|
||
RCLK+TCLK
|
CP/RL2
|
MODE
|
0
|
0
|
16-bit Auto-reload,TL2增量溢出
|
0
|
1
|
16-bit Capture
|
1
|
X
|
Baud Rate Generator
|