8051单片机 定时器及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
T0分成两个8位计数器,T1停止计数。
15
6.2.2 控制寄存器TCON
低4位与外部中断有关,后面介绍。高4位的功能如下: (1) TF1、TF0 —计数溢出标志位 定时器T0或T1计数溢出时,由硬件自动将此位置“1”; TFx可以由程序查询,也是定时中断的请求源; (2) TR1、TR0 —计数运行控制位 TRx=1: 启动定时器/计数器工作 TRx=0: 停止定时器/计数器工作

8位计数器TL0使用T0的状态控制位C/T*、GATE、TR0、 INT0,它既可以工作在定时方式,也可以工作在计数方式。 8位定时器TH0被固定为一个8位定时器(不能作外部计数模 式) ,并使用定时器T1的状态控制位TR1,同时占用定时器 T1的中断请求源TF1。此时,定时器TH0的启动或停止只受 TR1控制。 TR1=1时,启动TH0的计数; TR1=0时,停止TH0的计数
14



6.2.1 工作方式控制寄存器TMOD
(3) M1、M0计数器模式和定时器模式选择位 (2)8位分为两组,高4位控制T1,低4位控制T0。 (4) C/T* — — 工作方式选择位 TMOD无位地址,不能位寻址。 工 (1)M1 定时器模式。 作 方 式 GATE — (6) 0: M0 门控位 复位时,TMOD所有位均为“0”。 0 0 方式0,13位定时器/计数器。 0: 计数器模式。 1: 以TRX (X=0,1) 来启动定时器/计数器运行。 0 1 方式1,16位定时器/计数器。 1: 用外中断引脚 (INT0*或INT1*) 上的高电平和 1 0 方式2,8位常数自动重新装载 TRX来启 动定时器/计数器运行。 1 1 方式3,仅适用于T0,
定时器/计数器及其应用


所谓计数器就是对外部输入脉冲的计数; 所谓定时器也是对脉冲进行计数完成的,计 数的是MCS-51内部产生的标准脉冲,通过 计数脉冲个数实现定时。 所以,定时器和计数器本质上是一致的,在 以后的叙述中将定时器/计数器笼统称为定 时器。
3
4
第6章 定时器/计数器及其应用

其定时时间为: (216-初值)×振荡周期×12 例如:若晶振频率为12MHz,则最长的定时时间为 (216-0)×(1/12)×12us=66.636ms
25
6.3 定时器的工作方式——方式2
6.3.3 方式2
M1、M0=10 ,为自动恢复初值的8位计数器,等效框图如 下: TLx作为8位计数器,THx作为重置初值的缓冲器。
缺点:
只有8位计数器,定时时间短、计数范 围小。其定时时间为: (28-初值)×振荡周期×12
若晶振频率为12MHz,则最长的定时时间为 (28-0)×(1/12)×12us=0.266ms
方式2工作过程图 (x=0, 1) 。
27
6.3 定时器的工作方式——方式3
6.3.4 方式3 只适用于定时器/计数器T0。T1不能工作在方式3。 如果将T1置为方式3,则相当于TR1=0,停止计数 (此时T1 可用来作串行口波特率产生器) 。 1. 工作方式3下的T0 T0在方式3时被拆成两个独立的8位计数器:TH0和TL0。
THx 作为常数缓冲器,当 TLx 计数溢出时,在置“ 1 ”溢出标志 TFx 的同时,还自动的将 THx 中的初值送至 TLx ,使 TLx从初值开 始重新计数。定时器/计数器的方式2工作过程如图 (x=0, 1) 。
26
6.3 定时器的工作方式——方式2
优点:
方式0和方式1用于循环重复定时或计数 时,在每次计数器挤满溢出后,计数器 复0。若要进行新一轮的计数,就得重 新装入计数初值。这样一来不仅造成编 程麻烦,而且影响定时精度。而方式2 具有初值自动装入的功能,避免了这个 缺点,可实现精确的定时。

可编程定时器的工作方式、启动、停止、溢出标 志、计数器等都是可编程的——通过设置寄存器 TMOD,TCON,TH0,TL0,TH1和TL1 实现。
当设置了定时器的工作方式并启动定时器工作后, 定时器就按被设定好的工作方式独立工作,不再 占用CPU,只有在计数器计满溢出时才向CPU申 请中断,占用CPU。 由此可见,定时器是单片机中工作效率高且应用 灵活的部件。

在每个机器周期的S5P2期间采样检测引脚输入电平。 若前一个机器周期采样值为“1”,后一个机器周期采样值 为“0”,则计数器加1。 新的计数值在检测到输入引脚电平发生“1”到“0”的负 跳变(下降沿)后,于下一个机器周期的S3P1期间装入计 数器中。


由于CPU需要两个机器周期来识别一个“1”到“0”的跳变 信号,所以最高的计数频率为振荡周期的1/24。
6.1 定时器的结构及工作原理
指令周期 S1 S2 机器周期 S3 S4 S6 S6 S1 S2 机器周期 S4 S3 S6 S6 P P P P XTAL2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 1 P2 P1 P2 1 P2 1 P2 1 P2 P1 P2 P1 P2 (OSC) 振荡周期 状态周期
10
6.1 定时器的结构及工作原理

定时/计数器对输入信号的要求
1.
外部计数脉冲的最高频率为系统振荡器频率的1/24,例如 选用12MHz频率的晶体,则可输入600KHz的外部脉冲。
输入信号的高、低电平至少要分别保持一个机器周期。 如图所示,图中Tcy为机器周期。
2.
11
6.1 定时器的结构及工作原理
内 部 结定 构时 框器 图

组成:两个16位的定时器T0和T1,以及他们的工作方式寄存器 TMOD和控制寄存器TCON等组成。内部通过总线与CPU相连。 定时器T0和T1各由两个8位特殊功能寄存器TH0、TL0、TH1、 TL1构成。 工作方式寄存器TMOD:用于设置定时器的工作模式和工作方式; 控制寄存器TCON:用于启动和停止定时器的计数,并控制定时器 的状态; 单片机复位时,两个寄存器的所有位都被清0。
23
6.3 定时器的工作方式——方式0

GATE控制定时器Tx(T1或T0)的条件:
(1) 当GATE=0时,“或门”输出恒为1,“与门”的输 出信号K由TRx决定(即此时K=TRx),定时器不受INTx 输入电平的影响,由TRx直接控制定时器的启动和停止。 TRx=1;计数启动; TRx=0;计数停止;
12


第6章 定时器/计数器及其应用
6.2 定时器的TMOD和TCON 寄存器
13
6.2 定时器的TMOD和TCON寄存器

8051单片机定时器主要有几个特殊功能寄存器组 成: TMOD,TCON,TH0,TL0,TH1,TL1。 TMOD:设置定时器的工作方式; TCON:控制定时器的启动和停止; TH0和TL0 :存放定时器T0的初值或计数结果; TH0存放高8位,TL0 存放低8位; TH1和TL1 :存放定时器T1的初值或计数结果; TH1存放高8位,TL1 存放低8位;
第6章 定时器/计数器及其应用
定时器/计数器及其应用

定时器/计数器的应用场合: 定时或延时控制、对外部事件的检测、计数 等;
MCS-51系列8031、8051单片机有两个 16位定时器/计数器(即T0和T1); 8032、8052单片机有3个16位定时器/计 数器(即T0、 T1和T2);


2
22
6.3 定时器的工作方式——方式0

当C/T=0时,为定时工作模式,开关接到振荡器 的12分频器输出上,计数器对机器周期脉冲计数。 其定时时间为: (213-初值)×振荡周期×12
例如:若晶振频率为12MHz,则最长的定时时间 为(213-0)×(1/12)×12us=8.191ms

当C/T=1时,为计数工作模式,开关与外部引脚 T1(P3.5)接通,计数器对来自外部引脚的输入脉 冲计数。当外部信号发生负跳变时计数器加1。
(2) 定时器工作模式
也是通过计数实现的。计数脉冲来自内部时钟脉冲,每个机器周期 计数值增1,每个机器周期=12个振荡周期,因此计数频率为振荡频 率的1/12。所以定时时间=计数值×机器周期。
4种工作方式 (方式0-方式3) 。
8
振荡周期、时钟周期、机器周期和指令周期
指令周期 机器周期 S1 机器周期



6.1 定时器的结构及工作原理 6.2 定时器的TMOD和TCON寄存器 6.3 定时器的工作方式

6.3.1 6.3.2 6.3.3 6.3.4
方式0 方式1 方式2 方式3

6.4 定时器的编程和应用
5
第6章 定时器/计数器及其应用
6.1 定时器的结构及工作原理
6
6.1 定时器的结构及工作原理
(2) 当GATE=1时, “与门”的输出信号K由INTx输入 电平和TRx位的状态一起决定(即此时K=TRx·INTx),
当且仅当TRx=1且INTx=1(高电平)时,计数启动; 否则,计数停止。
返回
24
6.3 定时器的工作方式——方式1
6.3.2 方式1
M1、M0=01,为16位的计数器,除位数外,其他与方式0相同。
7
8051




6.1 定时器的结构及工作原理
两种工作模式: (1) 计数器工作模式
就是对外部事件进行计数。计数脉冲来自相应的外部输入引脚T0 (P3.4)或T1(P3.5)。当输入信号发生由1至0的负跳变(下降沿)时, 计数器(TH0,TL0或TH1,TL1)的值增1。计数的最高频率一般为 振荡频率的1/24。Why?
16
17
第6章 定时器/计数器及其应用
6.3 定时器的工作方式
18
6.3 定时器的工作方式
MCS-51的定时器T0有4种工作方式:
即:方式0,方式1,方式2,方式3。
MCS-51的定时器T1有3种工作方式:
即:方式0,方式1,方式2。
19
6.3 定时器的工作方式——方式0
6.2.1 方式0
XTAL2 (OSC)
S4 S1 S2 S3 S6 S6 S2 S3 S6 S6 S4 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P 1 P2 P1 P2 P1 P2
振荡周期
时钟周期

指令周期:是指CPU执行一条指令所需要的 机器周期:通常将完成一个基本操作所需的时间称 时钟周期:是振荡源信号经二分频后形成的时 为机器周期,由6个状态(12拍)组成,所以一个 时间。是MCS-51单片机的最大的时序单位, 钟脉冲信号,用S表示。每个时钟周Biblioteka Baidu分成P 、 振荡周期:是振荡脉冲的周期,也成为 1 机器周期可以依次表示为S1P1、S2P2……S6P1、 由若干个振荡周期组成。一个指令周期通常 P“拍”,用P表示。就是晶体振荡器的周期, 2两个节拍,又被称为一个状态。是MCS-51 S5P2。通常算术逻辑操作发生在节拍P1期间,而内 含有1~4个机器周期,MCS-51典型的指令周 或外部振荡脉冲的周期。是MCS-51单片机的 单片机的最基本的时序单位。 部寄存器到寄存器的传送发生在节拍P2期间。 9 期为一个机器周期。 最小时序单位。
21
6.2.3 定时/计数器的初始化
初值计算:
设计数器的最大值为M,则置入的初值X为: 计数方式:X=M-计数值 定时方式:由(M-X)T=定时值,得X=M-定时值/T T为计数周期,是单片机的机器周期。
(模式0: M为213,模式1: M为216,模式2和3: M为28)
例如:机器周期为1μs 时, 若工作在模式0,则最大定时值为:213×1μs =8.192ms 若工作在模式1,则最大定时值为: 216×1μs =66.636ms
M1、M0设置为00 ,为13位计数器,以T1为例, 其框图如下:
计数脉 冲输入
加1计数器
20
6.3 定时器的工作方式——方式0
TH1
D12 D11 D10 D9 D8 D7 D6 D6
TL1
× × ×
D4 D3 D2 D1 D0
在这种方式下,16位寄存器TH1和TL1只用13位,
由TH1的8位和TL1的低6位组成。TL1的高3位不定。 当TL1的低6位计数溢出时,向TH1进位。而TH1计 数溢出时,则向中断标志位TF1进位(即硬件将TF1 置1),并请求中断。 可通过查询TF1是否置“1”或考察中断是否发生来 判定定时器T1的操作完成与否。
相关文档
最新文档