複製鏈接
請複製以下鏈接發送給好友

TMOD

鎖定
TMOD是定時器計數器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER),它是一個逐位定義的8位寄存器,但只能使用字節尋址,其字節地址為89H。
中文名
定時器/計數器模式控制寄存器
外文名
TIMER/COUNTER MODE CONTROL REGISTER
縮    寫
TMOD
要    求
字節尋址

TMOD機器簡介

定時器/計數器模式控制寄存器TMOD是一個逐位定義的8位寄存器,但只能使用字節尋址,其字節地址為89H。
其格式為:
TMOD結構圖 TMOD結構圖

TMOD工作原理

其中低四位(即D0 ~ D3)定義定時器/計數器T0,高四位(即D4 ~ D7)定義定時器/計數器T1。
定時器/計數器原理圖 定時器/計數器原理圖
Ⅰ,GATE——門控制
GATE=1時,“與門”的輸出信號K由INTx輸入電平和TRx位的狀態一起決定(即此時K=TRx·INTx),當且僅當TRx=1,INTx=1(高電平)時,計數啓動;否則,計數停止。
當INT0引腳為高電平時且TR0置位,TR0=1;啓動定時器T0;
當INT1引腳為高電平時且TR1置位,TR1=1;啓動定時器T1。
GATE=0時,“或門”輸出恆為1,“與門”的輸出信號K由TRx決定(即此時K=TRx),定時器不受INTx輸入電平的影響,由TRx直接控制定時器的啓動和停止。
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位賦值);
4、啓動定時器/計數器(若已規定用軟件啓動,則可把TR0TR1置“1”;若已規定由外中斷引腳電平啓動,則需給外引腳加啓動電平。當實現了啓動要求後,定時器即按規定的工作方式和初值開始計數或定時)。
下面介紹一下確定定時器/計數器初值的具體方法。
因為在不同工作方式下計數器位數不同,因而最大計數值也不同。
現假設最大計數值為M,那麼各方式下的
最大值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-定時值/機器週期