-
TMOD
鎖定
- 中文名
- 定時器/計數器模式控制寄存器
- 外文名
- TIMER/COUNTER MODE CONTROL REGISTER
- 縮 寫
- TMOD
- 要 求
- 字節尋址
TMOD機器簡介
其格式為:
TMOD工作原理
其中低四位(即D0 ~ D3)定義定時器/計數器T0,高四位(即D4 ~ D7)定義定時器/計數器T1。
Ⅰ,GATE——門控制。
當INT0引腳為高電平時且TR0置位,TR0=1;啓動定時器T0;
當INT1引腳為高電平時且TR1置位,TR1=1;啓動定時器T1。
當TR0=1,啓動定時器T0。
當TR1=1,啓動定時器T1。
Ⅱ,C/T——功能選擇位
C/T=0時為定時功能: 加1計數器對脈衝f進行計數,每來一個脈衝,計數器加1,直到計時器TFx滿溢出;
C/T=1時為計數功能: 加1計數器對來自輸入引腳T0(P3.4)和T1(P3.5)的外信號脈衝進行計數,每來一個脈衝,計數器加1,直到計時器TFx滿溢出;
Ⅲ,M0、M1——方式選擇功能
MCS-51的定時器T0有4種工作方式:方式0,方式1,方式2,方式3。
MCS-51的定時器T1有3種工作方式:方式0,方式1,方式2。
M1 | M0 | 工作方式 | 功能説明 |
0 | 0 | 方式0 | 13位定時器/計數器 |
0 | 1 | 方式1 | 16位定時器/計數器 |
1 | 0 | 方式2 | 自動重載8位定時器/計數器 |
1 | 1 | 方式3 | T0分為2個8位獨立計數器,T1無方式3 |
TMOD初始化
由於定時器/計數器的功能是由軟件編程確定的,所以一般在使用定時/計數器前都要對其進行初始化,使其按設定的功能工作。初始化的步驟一般如下:
1、確定工作方式(即對TMOD賦值);
2、預置定時或計數的初值(可直接將初值寫入TH0、TL0或TH1、TL1);
3、根據需要開放定時器/計數器的中斷(直接對IE位賦值);
下面介紹一下確定定時器/計數器初值的具體方法。
因為在不同工作方式下計數器位數不同,因而最大計數值也不同。
現假設最大計數值為M,那麼各方式下的
方式0:M=2 ^13=8 192
方式1:M=2^16=65 536
方式2:M=2^8=256
方式3:定時器0分成兩個8位計數器,所以兩個M均為256。
因為定時器/計數器是作“加1”計數,並在計數滿溢出時產生中斷,因此初值X可以這樣計算:
在計數方式下:X=M-計數值
在定時方式下:X=M-定時值/機器週期