定时器结构工作方式
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GATE,TR0,和TF0)方式,它的操作与方式0和方式1类似。而
TH0被规定为用作定时器功能,对机器周期计数,并借用了T1的
控制位TR1和TF1。在这种情况下TH0控制了T1的中断。这时T1
还可以设置为方式0~2,用于任何不需要中断控制的场合,或用
作串行口的波特率发生器。
通常,当T1用作串行口波特率发生器时,T0才定义为方式3,以
♣ 该寄存器不能位寻址
2、定时器控制寄存器TCON(88H)
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
TCON TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
① TR0 T0的运行控制位。该位置1启动计数,清0停止计数。 ② TF0 T0的溢出中断标志位。当T0计数溢出时由硬件自动置1;
在CPU中断处理时由硬件清为0。 ③ TR1 T1的运行控制位,功能同TR0。 ④ TF1 T1的溢出中断标志位,功能同TF0。
CPU在每个机器周期的S5P2时采样外部输入,当采样值在这个机器周期 为高,在下一个机器周期为低时,则计数器加1。加1操作发生在检测到这 种跳变后的一个机器周期中的S3P1,因此需要两个机器周期来识别一个从 “1”到“0”的跳变,故最高计数频率为晶振频率的1/24。要求输入信号的电 平要在跳变后至少应在一个机器周期内保持不变。
定时操作和计数操作本质上没有不同,它们都是对16位加法计数器进 行计数,它们的区别仅仅在于,计数脉冲的来源不同。
在作定时器使用时,计数脉冲是由晶体振荡器的输出经12分频后得到的, 所以定时器也可看作是对计算机机器周期的计数器,故每一个机器周期定 时器加1。
在作计数器使用时,计数脉冲来自单片机的外部,是对外部事件进行计 数。外部输入脉冲由引脚T0(P3.4)或T1(P3.5)引入。
器/计数器有何区别?
问题: 1、4种工作方式之间的区别 2、各种工作方式分别适用于何种场合 3、各种工作方式计数初值的设定
增
加一个8位计数器。
振荡器
÷12
1/12 fosc
1/12 fosc
C/ T = 0
T0 端
GATE INT0 端
1/12 fosc
C/ T = 1 TR0
+
TR1
TL0 (8位)
TF0
控制
TH0 (8位)
TF1
特别提示: 定时器/计数器0可工作于方式3,定时器/计数器1不能。
中断 中断
思考: MCS-51 单片机的定时器/计数器与接口课中讲过的定时
1、定时器的方式寄存器TMOD(89H)
D7
D6
D5
D4
D3
D2
D1
D0
TMOD GATE
C/T
M1
M0
GATE C/T
M1
M0
M1 M0 00
工作方 式
方式0
功能说明 13位计数器
0 1 方式1 16位计数器
10 11
方式2 方式3
自动再装入8位计数器
定时器0:分成两个8位计数器 定时器1:停止计数
方式2常用于定时控制。例如希望每隔250µs产生一个定时控制脉冲, 则可以采用12MHz的振荡器,把TH0预置为6,并使C/=0就能实现。方式 2不用作串行口波特率发生器。
振荡器
÷12 C/ T = 0
GATE INT0 端
T0 端
C/ T = 1
TR0
+
TL0 (8位)
TF0
中断
控制 重新装入
TH0 (8位)
① M1 M0 定时器/计数器四种工作方式选择, ② C/ T 定时器方式或计数器方式选择位。 C/ T =1时,为计数器方式;C/ T =0时,为定时器方式。 ③ GATE 定时器/计数器运行控制位。 当GATE=0时,只要定时器控制寄存器TCON中的TR0(或TR1)被置1 时,T0(或T1)开始计数。 当GATE=1时,不仅要TCON中的TR0或TR1置位,还需要P3口INT0或 INT1引脚为高电平,才开始计数。
4、方式3
方式3对定时器T0和定时器T1是不相同的。若T1设置为方式3, 则停止工作(其效果与TR1=0相同)。所以方式3只适用于T0。
方式3使MCS-51具有三个定时器/计数器(增加了一个附加的8
位定时Βιβλιοθήκη Baidu/计数器)。当T0设置为方式3时,将使TL0和TH0成为
两个相互独立的8位计数器, TL0利用了T0本身的一些控制(C/,
TH0
(8位) (8位)
TF0
中断
重复设置几乎完全一样的方式0和方式1,是出于与MCS-48 单片机兼 容的考虑,MCS-48 的定时/计数器是13 位的。
3、方式2
把TL0配置成一个可以自动恢复初值(初始常数自动重新装入)的8 位计数器,TH0作为常数缓冲器, TH0由软件预置值。当TL0产生溢出时, 一方面使溢出标志TF0置1,同时把TH0中的8位数据重新装入TL0中。
♣ 该寄存器可以位寻址,也可以字寻址
6 . 2 工作方式
1. 方式0
由TH0的8位和TL0的低5位组成一个13位计数器。
当13位计数器从0或设定的初值,加1到全“1”以后,再加1就 产生溢出。这时,置TCON的TF0位为1,同时把计数器变为全“0”。
振荡器
÷12 C/ T = 0
GATE INT0 端
T0 端
C/ T = 1
TR0
+
控制
TL0 TH0 (5位) (8位)
TF0
中断
2、方式1
方 式 1 和 方 式 0 的 工 作 相 同 , 唯 一 的 差 别 是 TH0 和 TL0组成一个16位计数器。
振荡器
÷12 C/ T = 0
GATE INT0 端
T0 端
C/ T = 1
TR0
+
控制
TL0