单片机原理及接口技术(第三版) 第6章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.3 工作方式
根据对M1和M0的设定,定时器/计数器T0、T1可选择 四种不同的工作方式。
一、 方式 0
C/T=1,计数方式。计数脉冲由P3.4引脚输入。 C/T=0时,定时方式。
A B
图6.3 方式 0(13位计数器)
当TMOD中的M1=0、M0=0时,选择工作方式0,为 13位计数器(TL0高3位未用)。(以T0为例)方式0时的结 构如图6.3所示。
图 6.4 方式 1(16位计数器)
定时时间=(216-定时初值)×机器周期
三、方式 2 当TMOD中的M1=1、M0=0时,选择工作方式2。这种方
式是将16位计数寄存器分为两个8位寄存器,组成一个可重装 入的8位计数寄存器。方式2时的结构如图6.5所示。
图 6.5 方式 2(初始常数自动重装载)
定时状态: X=M-定时时间/T
而
T=12÷
6.2 方式和控制寄存器
一、 定时器/计数器的方式寄存器TMOD
图 6.2 TMOD各位定义
1. M1M0工作方式控制位
表 6.1 工作方式选择表
M1 M0 方式
说明
0 0 0 13 位定时器(TH的 8 位和TL的低 5 位)
0 1 1 16 位定时器/计数器
对于定时器/计数器T1,当定时器/计数器T0工作于方式3时,仍可工作 于方式0、方式1或方式2,但必须是不使用中断的场合,通常作为串行口 波特率发生器。
图 6.6 方式 3(两个 8 位独立计数器)
对于定时器/计数器T1,若设置为方式3,则停止工作,和置TR1=0的 效果一样。
对于定时器/计数器T0,若设置为方式3,则将定时器/计数器T0分为一 个8位定时器/计数器和一个8位定时器,TL0用于8位定时器/计数器,TH0 用于8位定时器。方式3时定时器/计数器T0的结构如图6.6所示。
二、 定时器/计数器控制寄存器TCON
TF0、TF1分别是定时器/计数器T0、 T1 的溢出标志位, 加法计数器 计满溢出时置 1, 申请中断, 在中断响应后自动复 0。TF产生的中断申请 是否被接受, 还需要由中断是否开放来决定。
TR1、TR0 分别是定时器 /计数器T1、 T0 的运行控制位, 通过软件 置 1 后, 定时器 /计数器才开始工作, 在系统复位时被清 0。
计数时,TL0的低5位溢出后向TH0进位,TH0溢出后将 TF0置位,并向CPU申请中断。
当GATE=0时,A点为高电平,定时器/计数器的启动/停 止由TR0决定。TR0=1,定时器/计数器启动;TR0=0,定 时器/计数器停止。
当GATE=1时,A点的电位由 INTx 决定,因而B点的电 位就由TRx和 INTx 决定,即定时器/计数器的启动/停止由 TRx和 INTx 两个条件决定。
T0的结构: TL0:8位的定时器/计数器; TH0:计数常数寄存器,由软件预置初始值,保存初值。 工作过程:当TL0计满溢出时,TF0置1,向CPU发出中 断请求;同时引起重装操作(TH0的计数初值送到TL0), 进行新一轮计数,即方式2具有自动重新加载功能。 方式2特别适合于产生定时控制信号,如作为波特率发 生器。
定时时间=(213-定时初值)×机器周期
二、 方式1 当TMOD中的M1=0、M0=1时,选择工作方式1,为16位计 数器。方式1时的结构如图8-3所示。可见,在这种方式下,除计 数寄存器由16位组成外,其余和方式0完全相同。在方式0和方式1 中,必须用指令重新装入计数初值,定时器/计数器才能继续工作。
MCS-51定时器主要构成: ① 两个16位的可编程定时器/计数器:T0和T1。 ② 每个定时器有两个8位计数器构成:THx和TLx ③ 特殊功能寄存器TMOD和TCON ,主要对T0和 T1进行控制。 ④ 引脚P3.4、P3.5,输入计数脉冲。 ⑤ 定时器T0和T1是2个中断源,可以向CPU 发出 中断请求。
TL0作为定时器/计数器的工作3与方式0、方式1时相同,只是此时的计 数器为8位计数器,它占用了T0的GATE、INT 0 、TR0、T0引脚以及中断源 等。TH0所构成的定时器只能作为定时器用,因为此时的外部引脚已为定 时器/计数器TL0所占用。不过这时它却占用了定时器/计数器T1的启动/停 止控制位TR1、计数溢出标志位TF1及中断源。
1 0 2 自动重装入初值的 8 位计数分成两个独立的 8 位计数器, T1 在方式 3 时停止 工作
2. C/T
若C/T=1时, 为计数器方式; C/T = 0时, 为定时器方式。 3. GATE 定时器/
当 GATE=1 时 , 只 有 INT0 ( 或 INT1) 引 脚 为 高 电 平 且 TR0(或TR1 )置 1 时, 相应的定时器 /计数器才被选通工作, 这时可用于测量在INTx端出现的正脉冲的宽度。若GATE=0, 则只要 TR0 (或 TR1)置 1, 定时器 /计数器就被选通, 而不管 INT0 (或 INT1)的电平是高还是低。
定时时间=(28 - 初值)×机器周期 优点:模式2能够进行自动重装载。模式0和1计数溢出后, 计数器为全0。循环定时或计数时,需要重新设置初值。 说明:在模式2能够满足计数或定时要求时,尽可能使用 模式2。
四、 方式 3 当TMOD中的M1=1、M0=1时,选择工作方式3。方式
3对于定时器/计数器T0和T1是不相同的。
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口
6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器 6.3 工作方式 6.4 定时器/计数器应用举例 6.5 MCS - 51单片机的串行接口 6.6 串行口的应用
6.1 定时器/计数器的结构及工作原理
图 6.1 定时器/计数器结构框图
⑥特殊功能寄存器之间通过内部总线和控制逻辑电 路连接起来。
计数器的初值计算
加法计数器是计满溢出时才申请中断, 所以在给计数器 赋初值时, 不能直接输入所需的计数值, 而应输入的是计数 器计数的最大值与这一计数值的差值, 设最大值为 M, 计数 值为 N, 初值为 X, 则 X的计算方法如下:
计数状态: X=M-N