第6章单片机定时器计数器
单片机原理及应用 第06章定时计数器

20
6.5 定时器/计数器的编程
初始化
1 根据要求给方式寄存器TMOD送一个方式控制 字,以设定定时器的工作方式; 2 根据需要给TH和TL选送初值,以确定需要的 定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字, 以开放相应的中断和设定中断优先级;
也可用查询方式来响应定时器。
JBC TF1,RP1 SJMP DEL2
30
6.6.4 长定时时间的产生
例 假设系统时钟为6MHz,编写定时器T0产生 1秒定时的程序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 方式0最长可定时16.384ms;
方式1最长可定时131.072ms; 方式2最长可定时512μs。 选方式1,每隔100ms中断一次,中断10次为1s。
8
6.3 定时/计数器的4种工作方式 方式0、方式1(13位、16位定时计数方式)
T1工作于方式0的等效框图(M1M0=00、01)
GATE=0、A=1、TR1=1 GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同
9
6.3.1 方式0、方式1的说明 定时/计数器T1工作在方式0时,为13位的计数器,由TL1 的低5位和TH1的8位所构成。TL1低5位溢出向TH1进 位,TH1计数溢出置位TCON中的溢出标志位TF1。 GATE位的状态决定定时/计数器运行控制取决于TR1 一个条件还是TR1和INT1引脚这两个条件。 当GATE=0时,A点电位恒为1,则只要TR1被置为1,B 点电位即为1,定时/计数器被控制为允许计数(定时/计 数器的计数控制仅由TR1的状态确定,TR1=1计数, TR1=0停止计数)。 当GATE=1时,B点电位由INT1输入的电平和TR1的状 态确定,当TR1=1,且INT1=1时,B点电平才为1,才 允许定时器/计数器计数(计数控制由TR1和INT1二个条 件控制)。 方式1时,TL1的8位都参与计数,因而属于16位 定时/计数器。其控制方式,等效电路与方式0完全相 10 同。
单片机第六章定时器

这种方式下,计数寄存器由13位组成,即THx高八位(作计数器)
和TLx的低5位构成。TLx的高3位未用。
计数时,TLx的低5位溢出后向THx进位,THx溢出后 将TFx置位,并向CPU申请中断。
用软件控制,置 l时,启动 T1;清0时,停止 T1。
TF0(TCON.5)——T0的溢出标志。
TR0(TCON.4)——T0的运行控制位。
用软件控制,置1时,启动T0;清 0时,停止 T0。
• IE1(TCON.3)——外部中断1中断请求标志位。
• IE0(TCON.1)——外部中断0中断请求标志位。
器之外,还可用作串行接口的波特率发生器。
6.2
定时器/计数器T0、T1
T0、T1 的内部结构简图示于图6-1中。从图中 可以看出,T0、T1由以下几部分组成:
• 计数器TH0、TL0和TH1、TL1;
•
•
特殊功能寄存器TMOD、TCON;
时钟分频器;
•
输入引脚T0、T1。
6.2.1 与定时器/计数器T0、T1有关的 特殊功能寄存器
⑵定时器/计数器T1
T0方式3时,T1可以工作在方式0、1、2三种方式 T1的结构如图6–6所示。 由于T0占用了原来T1的启动位TR1和溢出标志TF1, 所以此时T1溢出时不能置位溢出标志,不能申请中断, 其溢出信号送给串行口,此时T1作为波特率发生器。
T1的启停由写入方式字控制,当写入方式0/1/2 时,T1立即启动,写入方式3 时,立即停止工作。
分析:设置T0工作在方式2,计数功能,每记满100个外 部脉冲,从P1.0输出一个低电平脉冲信号(简化的打包 操作)。
第6章AT89C51定时器计数器

所示 , 图中Tcy为机器周期。
图6- 12
6.4 定时器/计数器的编程和应用 4种工作方式中 ,方式0与方式1基本相同 , 由于方式0是为兼容
MCS-48而设 ,初值计算复杂 ,在实际应用中 ,一般不用方式 0 ,而采用方式1。 6.4. 1 方式1应用 例6- 1 假设系统时钟频率采用6MHz ,要在P1.0上输出一个周期 为2ms 的方波 ,如图6- 13所示。
M1 、M0=01 , 16位的计数器。
图6-5 6.2.3 方式2 计数满后自动装入计数初值。
M1 、M0= 10 ,等效框图如下:
图6-6
TLX作为常数缓冲器 , 当TLX计数溢出时 ,在置“ 1 ”溢出标志 TFX的同时 ,还自动的将THX中的初值送至TLX ,使TLX从初 值开始重新计数。
定时器/计数器的方式2工作过程如图6-7 (X=0, 1) 。
图6-7 省去用户软件中重装初值的程序 ,来精确定时。
6.2.4 方式3 增加一个附加的8位定时器/计数器 , 从而具有3个定时器/计数
器。
只适用于定时器/计数器T0 。T1不能工作在方式3 。 T1方式3时相当于TR1=0 ,停止计数(此时T1可用来作串行口
图6-8( a)
图6-8(b)
2. T0工作在方式3下T1的各种工作方式 当T1用作串行口的波特率发生器时 , T0才工作在方式3 。 T0为方式3时 , T1可定为方式0 、方式1和方式2 ,用来作为串
行口的波特率发生器 , 或不需要中断的场合。 ( 1)T1工作在方式0
图6-9
(2) T1工作在方式1
第06章 MCS-51单片机定时计数器

10
2 8位计数初值自动重装,TL(7 ~ 0)
TH(7 ~ 0)
11
3 T0运行,而T1停止工作,8位定时/计数。
▪ 2.定时/计数器控制寄存器(TCON)
位
D7 D6 D5 D4 D3 D2 D1 D0
位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TR0:定时 / 计数器0运行控制位。软件置位,软件复位。与GATE有关, 分两种情况:
GATE = 0 时:若TR0 = 1,开启T0计数工作;若TR0 = 0,停止T0计 数。
GATE = 1 时:若TR0 = 1 且/INT0 = 1时,开启T0计数; 若TR0 = 1 但 /INT0 = 0,则不能开启T0计数。 若TR0 = 0, 停止T0计数。
TR1:定时 / 计数器1运行控制位。用法与TR0类似。
▪ (1)计算计数初值。欲产生周期为1000μs的等宽方波脉冲, 只需在P1.7端交替输出500μs的高低电平即可,因此定时 时间应为500μs。设计数初值为X,则有:
▪ (216-X)×1×10-6=500×10-6
▪ X=65536-500=65036=FE0CH
▪ 将X的低8位0CH写入TL1,将X的高8位FEH写入TH1。
;清TCON,定时器中断标志清
▪
MOV TMOD,#10H
;工作方式1设定
▪
MOV TH1,#0FEH
;计数1初值设定
▪
MOV TL1,#0CH
▪
MOV IE,#00H
;关中断
▪
SETB TR1
;启动计数器1
▪ LOOP0:JBC TF1,LOOP1 ;查询是否溢出
▪
51单片机定时器计数器详解

51单⽚机定时器计数器详解第六章定时器/计数器6.1 定时器的结构及⼯作原理6.2 定时器的控制6.3 定时器的⼯作模式及其应⽤第六章定时器/计数器实现定时⼀般有多种⽅法:1. 利⽤软件实现(延时程序)优点:简单,控制⽅便;缺点:CPU效率低。
2. 外部硬件实现:单稳态定时器、计数定时器优点:CPU效率⾼;缺点:修改参数⿇烦。
3. 利⽤计数器实现输⼊脉冲定时器/计数器作⽤主要包括产⽣各种时标间隔、记录外部事件的数量等,是单⽚机中最常⽤、最基本的部件之⼀。
外来脉冲定时计数定时器/计数器功能⽰意图6.1 定时器/计数器的结构及⼯作原理6.1.1 定时器/计数器的基本结构MCS-51单⽚机有⼆个定时器/计数器,每个定时器/计数器由⼏个专⽤寄存器组成。
TMOD(89H )⾼四位TMOD(89H )低四位⽅式寄存器TCON(88H)TCON(88H)控制寄存器*8DH 8BH 8CH 8AH TH1 TL1TH0 TL0数据寄存器(16位)定时器T1定时器T0定时器/计数器的结构如下图所⽰。
定时器/计数器的基本结构框图申请P3.5or P3.4or 8DH 8BH8CH 8AH6.1.2 定时器/计数器的⼯作原理定时器/计数器结构原理图INTx P3.YGATE :门控制位:定时/计数控制位TC/x=0,1Y=2,3Z=4,5⼀. 对外部输⼊信号的计数功能当T0或T1设置为计数⼯作⽅式时,计数器对来⾃输⼊引脚P3.4(T0)和P3.5(T1)的外部信号计数。
若前⼀个机器周期采样值为1,后⼀个机器周期采样值为0,则计数器加1。
所以计数器计数的频率最⾼为fosc 的1/24。
BDEHT H >1个机器周期T L >1个机器周期L⼆. 定时功能:定时器/计数器的定时功能也是通过计数实现的,它的计数脉冲是由单⽚机的⽚内振荡器输出经12分频后产⽣的信号,即为对机器周期计数。
INTx P3.Y例如:晶振频率=12MHz 机器周期=1us ,计数1次=1us ,计数频为=1MHz 。
定时器计数器讲解

TR1位(或TR0位)=1,启动定时器工作的必要条件。 TR1位(或TR0位)=0,停止定时器工作。 该位可由软件置“1”或清“0”。
10
6.2 定时器/计数器的4种工作方式 4种工作方式分别介绍如下。
6.2.1 方式0 当M1、M0为00时,定时器/计数器被设置为工作方式0,
这时定时器/计数器的等效逻辑结构框图如图6-4所示(以定 时器/计数器T1为例,TMOD.5、TMOD.4 = 00)。
(1)GATE=0时,A点(见图6-4)电位恒为1,B点电位仅 取决于TRx状态。TRx = 1,B点为高电平,控制端控制电子 开关闭合,允许T1(或T0)对脉冲计数。TRx = 0,B点为低 电平,电子开关断开,禁止T1(或T0)计数。
(2)GATE=1时,B点电位由INTX*(x = 0,1)的输入电 平和TRx的状态两个条件来定。当TRx=1,且INTX*=1时,B 点才为1,控制端控制电子开关闭合,允许T1(或T0)计数。 故这种情况下计数器是否计数是由TRx和INTX*两个条件来共 同控制。
图6-1 AT89S51单片机的定时器/计数器结构框图
4
只不过计数信号的来源不同。 计数器模式是对加在T0(P3.4)和T1(P3.5)两个引脚上
的外部脉冲进行计数(见图6-1) 定时器模式是对单片机的系统时钟信号经片内12分频后的
内部脉冲信号(机器周期)计数。由于时钟频率是定值,所 以可根据对内部脉冲信号的计数值可计算出定时时间。
本例由于采用定时器T0中断,因此需将IE寄存器中的EA、 ET0位置1。 (4)启动和停止定时器T0
单片机原理及其接口技术--第6章 MCS-51单片机定时器计数器

单片机原理及其接口技术
T/C方式2的逻辑结构图
1
TH1/TH0
T8
T7
T6
T5
T4
T3
T2
T1
寄存器 计数器
束
TL1/TL0
T8
T7
T6
T5
T4
T3
T2
T1
主目录
上一页
下一页
结
单片机原理及其接口技术
4、方式3 M1M0=11 T0和T1有不同的工作方式
C/T0:
TH0和TL0被拆成2个独立的8位计数器。
28),向CPU申请中断,标志位TF1自动置位,若中
断是开放的,则CPU响应定时器中断。当CPU响应
中断转向中断服务程序时,由硬件自动将该位清0。
&
加1计数器 & 1
主目录
上一页
下一页
结
束
EA
ET1
单片机原理及其接口技术
2个模拟的位开关,前者决定了T/C的工作状态:当1单片机有2个特殊功能寄存器TCON和TMOD: TCON:用于控制定时器的启动与停止,中断标志。 TMOD:用于设置T/C的工作方式。
主目录
上一页
下一页
结
束
单片机原理及其接口技术
1.定时器控制寄存器TCON
88H TCON
位地址
D7
D6
D5
D4
D3
D2
D1
D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 8F 8E 8D 8C 8B 8A 89 88
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单
第六章 MCS-51单片机内部定时器

6.3.1 模式0及应用
在这种模式下,16位寄存器只用了13位。 其中,TL0的高3位未用,TH0占8位。当 TL0的低5位溢出时,向TH0进位。当TH0 溢出时,向中断标志位TF0进位,并申请中 断。 因此,可通过查询TF0 是否置位或考 察中断是否发生来判断定时器/计数器0的 操作完成与否。
(2)计算1ms定时T0的初值:
机器周期为(1/fOSC)×12=[1/(12×106)]×12=1μs, 设T0的 计数初值为X,则 (213-X)×1×10-6=1×10-3ms
X=213-1×10-3/(1×10) -6 =8192-1000=7192D=1110000011000
高8位: E0H 低5位: 18H
fosc=12MHz, 采用查询方式。
解:方波周期 T=1/100Hz=0.01s=10ms 用T1定时5ms 计数初值 X为: X=216-12×5×103/12=60536=EC78H 程序如下:
MOV TMOD, #10H ;T1模式1,定时方式
SETB TR1 LOOP:MOV TH1,#0ECH
例:晶振为12MHZ ,则计数周期为
T=12/(12*106)Hz =1微秒
最短的定时 周期
计数器工作方式:
当定时器/计数器为计数工作方式时,通过
引脚T0和T1对外部信号计数,外部脉冲的下降
沿触发计数
在每个机器周期的
采样过程:
S5P2期间采样引脚
当输入脉冲信号从1到0的负跳变时,计数器就 自动加1。 由于检测一个由1到0的跳变需要两 个机器周期,所以 计数的最高频率为振荡频 率的1/24。为了确保给定电平在变化前至少被 采样一次,外部计数脉冲的高低电平均需保持 一个机器周期以上。(占空比没有限制)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定时/计数器的工作方式3
方式3只适用于定时/计数器T0,将T0分成为两个独立 的8位计数器TL0和TH0 。
申请 中断
申请 中断
TCON
TF1 TR1 TF0 TR0
溢出 TH0 8位
回目录 上页 下页
S2TR 0(I N0T GA)TE
TCON
申请 中断
TF1 D7
TR1
溢出
TF0
TH0 TL0
TR0
8位 8位
D0
TMOD
S2 1 S1
T0引脚
1 M0 D0 0 M1
C/T
0
&
机器周期
GATE
M0
≥1
1
M1
C/T
INT0引脚
GATE D7
图6-2 T0的结构
第6章单片机定时器计数器
MSB
LSB
TMOD (89H)
GATE
C/T
M1
M0
GATE C/T M1 M0
门控位
控制T1 功能选择位
控制T0 工作方式选择
第6章单片机定时器计数器
回目录 上页 下页
GATE C/T M1 M0 GATE C/T M1 M0
GATE: 门控位。设定T1、T0运行时,是否受
INT1 INT0引脚输入电平的控制
方式寄存器TMOD:控制T/C的工作方式
2、工作原理
⑴ 定时器
定时输入信号:机器内部震荡信号的1/12分频 即每一个机器周期做一次“+1”运算
第6章单片机定时器计数器
回目录 上页 下页
∵1个机器周期=12震荡脉冲 ∴计数速率为震荡频率的1/12分频
若单片机的晶振主频为12MHz 则计数周期为 1µs
定时/计数器的可编程特性: ⑴ 确定其工作方式是定时还是计数 ⑵ 预置定时或计数初值 ⑶ 当定时时间到或计数终止时,要不要发中断请求 ⑷ 如何启动定时或计数器工作
第6章单片机定时器计数器
回目录 上页 下页
定时/计数器的功能
定时/计数器的核心部件是二进制加1计数器 (TH0、TL0或TH1、TL1) 。 1. 定时功能----计数输入信号是内部时钟脉冲, 每个机器周期使寄存器的值加1。所以,计数 频率是振荡频率的1/12。
第6章 单片机的定时器/计数器
第6章单片机定时器计数器
本章的重点内容
定时器/计数器的结构及原理 定时器/计数器的各种工作方式 掌握定时器/计数器的应用
第6章单片机定时器计数器
6.1 MCS-51定时/计数器 概述
51系列内部有2个16位的定时/计数器T0、T1
功能:
定时 计数 串行口的波特率发生器
6.4 定时器/计数器的工作方式
定时器/计数器共有四种工作方式
1. 方式0—13位方式 定时器
振荡器
1/12 C/T=0
T0 TR0 GATE 1
INT0
C/T=1
& ≥1
TL0 TH0 TF0
低5位 8位
13位计数器
演 示 继续
第6章单片机定时器计数器
T12
T5 * * * T4
T0
TH0
TL0
GATE= 1 受外部中断控制 C/T= 0为定时功能
0 不受外部中断控制
1为计数功能
表6-1 操作方式选择
M1M0 操作方式 功 能 0 0 方式0 13位计数器 0 1 方式1 16位计数器 1 0 方式2 可自动重新装载初值的8位计数器 1 1 方式3 T0分为2个8位计数器,T1停止计数
第6章单片机定时器计数器
⑵ 计数器 由外部引脚(T0为P3.4 ,T1为P3.5)输入计数脉冲 外部输入脉冲发生负 跳变时,进行“+1”计数
外部输入脉冲宽度应大于2个机器周期
下降沿
>T CY
>T CY
T CY:为机器周期
高电平 低电平
第6章单片机定时器计数器
回目录 上页 下页
6.3、单片机对内部TO/T1的控制 1、方式寄存器TMOD
TH0(8位) TL0 (8位)
7 07 0
7 07 0
启
工
CPU
动
作
溢启
溢
方
出动
出
工作方式
式
TCON(88H)
TMOD(89H)
图6-1 定时/计数器逻辑结构
第6章单片机定时器计数器
回目录 上页 下页
T0
2个16位T/C分别由8位计数器TH0、TL0、
结构
“+1” 计数器
TH1、TL1组成
T1
控制寄存器TCON:控制T/C的启停、中断等
返回
第6章单片机定时器计数器
当 C / T =0时,控制开关接通内部振荡器, T0对机器周期进行计数,其定时时间为:
t=(213-T0初值)×机器周期
当C / T=1时,控制开关接通外部输入信号, 当外部信号电平从“1”到“0”跳变时,加1 计数器加1,处于计数工作方式。
第6章单片机定时器计数器
回目录 上页 下页
* 各标志位应注意的问题
TF1位:定时器1溢出标志位。 • 当定时/计数器1溢出时,由硬件置1。
• • 使用中断方式时,此位做中断申请标志位,进入中 断服务后被硬件自动清零。
TR1位:定时器1运行位。
该位靠软件置位或清零,置位时,定时/计数器接通工 作,清零时,停止工作。
第6章单片机定时器计数器
2、控制寄存器TCON
MSB
LSB
TCON (88H)
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
与外部中断INT1、INT0有关 已在中断系统介绍
T1、T0 启/停控制位
“1” 启动工作 “0” 停止
T1、T0 溢出标志位 “1” 有溢出 “0” 无溢出
亦可由指令清“0”第6章单片定时器计数器振荡器T0 TR0 GATE 1 INT0
1/12 C/T=0
C/T=1 & ≥1
TL0 TF0 TH0
第6章单片机定时器计数器
4. 方式3—2个8位方式
仅T0可以工作在方式3—此时T0分成2个 独立的计数器—TL0和TH0 ,
TL0用来作为T0的控制信号(TR0、TF0), TH0用来作为T1的控制信号(TR1、TF1)。
2. 方式1—16位方式
其定时时间为: t=(216-T0初值)×机器周期
振荡器
T0 TR0 GATE 1 INT0
1/12 C/T=0
C/T=1 &
≥1
TL0 TH0 TF0 8位 8位
16位计数器
第6章单片机定时器计数器
3. 方式2—8位自动装入时间常数方式
其定时时间为: t=(28-T0初值)×机器周期
2. 计数功能----计数脉冲来自相应的外部输入 引脚,T0为P3.4,T1为P3.5。
第6章单片机定时器计数器
6.2、定时计数器的结构与工作原理
1、结构
“+1`” T1(P 3.5)
“+1`” T0(P 3.4)
T1 (8DH) (8BH)
TH1(8位) TL1 (8位)
T0 (8CH) (8AH)