MCS-51定时计数器
第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 。
MCS-51单片机的定时器计数器
1. 定时器T0/T1 中断申请过程
(1)在已经开放T0/T1中断允许且已被启动的前提下, T0/T1加1计满溢出时 TF0/TF1标志位自动置“1” ;
(2)CPU 检测到TCON中TF0/TF1变“1”后,将产生指 令:LCALL 000BH/LCALL 001BH 执行中断服务程序;
(3)TF0/TF1标志位由硬件自动清“0”,以备下次中断申
郑州大学
docin/sundae_meng
(3)工作方式寄存器TMOD
T1
T2
GATE C / T M1 M0 GATE C / T M1 M0
M1,M0:工作方式选择位 。
=00:13位定时器/计数器; =01:16位定时器/计数器(常用); =10:可自动重装的8位定时器/计数器(常用); =11:T0 分为2个8位定时器/计数器;仅适用于T0。 C/T :定时方式/计数方式选择位。 = 1:选择计数器工作方式,对T0/T1引脚输入的外部事件 的负脉冲计数; = 0 :选择定时器工作方式,对机器周期脉冲计数定时。 如下页图所示。
CPL P1.0 MOV TH0,#15H MOV TL0,#0A0H
START:MOV SP,#60H MOV P1,#0FFH
SETB TR0 POP PSW
MOV TMOD,#01H MOV TH0,#15H MOV TL0,#0A0H
POP ACC RETI END
SETB EA
Байду номын сангаас
SETB ET0
定时器/计数器0采用工作方式1,其初值为:
21650ms/1s=6553650000=15536=3CB0H
电路图如下:
郑州大学
docin/sundae_meng
MCS-51单片机的定时器-计数器
MCS-51的定时器/计数器共有四种工作方式。工作在方式0、方 式1和方式2时,定时器/计数器0和定时器/计数器1的工作原理完全 一样,现以定时器/计数器0为例介绍前三种工作方式。
1. 方式0(M1M0=00) (1)电路逻辑结构
方式0是13位计数结构的工作方式,其计数器由TH0全部8位 和TL0的低5位构成。TL0高三位弃之不用。图6.4 是定时器/计数 器0工作在方式0的逻辑结构。
分析:题目的要求可用下图来表示。
。
P1.0
8051 250 s 250 s
由上图可以看出只要使 的电位每隔250 取一次反即可。所 以定时时间应取250 。
1)计算计数初值 设计数初值为x,由定时计算公式知:
2)专用寄存器的初始化
D7
D6 D5 D4
D3
D2 D1
D0
GATE
GATE
所以,TMOD应设置为:10H 开放定时器/计数器1中断,所以IE应设置为:88H
当GATE=1时,只有TR0和 同时为高电平,定时器/计数 器 才工作,否则,定时器/计数器不工作。
(2)定时和计数的应用 计数范围:1~213 计数计算公式:计数值=213-计数初值 定时范围:1机器周期~213机器周期 定时计算公式:定时时间=(213-定时初值)×机器周期 如果晶振频率为6MHz ,则最大定时时间为: 213×1/6MHz×12=214( )
单片机原理及应用
MCS-5单片机内部共有两个16位可编程的定时器/计数器,即 定时器T0和定时器T1它们既有定时功能又有计数功能。
1.1 结构
定时器/计数器的基本结构如图6.3所示。基本部件是两个8位计 数器(其中TH1和TL1是T1的计数器,TH0和TL0是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单片机计数器定时器详解【1】80C51单片机内部设有两个16位的可编程定时器/计数器。
可编程的意思是指其功能(如工作方式、定时时间、量程、启动方式等)均可由指令来确定和改变。
在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。
:从上面定时器/计数器的结构图中我们可以看出,16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。
其访问地址依次为8AH-8DH。
每个寄存器均可单独访问。
这些寄存器是用于存放定时或计数初值的。
此外,其内部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。
这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。
TMOD主要是用于选定定时器的工作方式;TCON主要是用于控制定时器的启动停止,此外TCON还可以保存T0、T1的溢出和中断标志。
当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。
定时计数器的原理:16位的定时器/计数器实质上就是一个加1计数器,其控制电路受软件控制、切换。
当定时器/计数器为定时工作方式时,计数器的加1信号由振荡器的12分频信号产生,即每过一个机器周期,计数器加1,直至计满溢出为止。
显然,定时器的定时时间与系统的振荡频率有关。
因一个机器周期等于12个振荡周期,所以计数频率fcount=1/12osc。
如果晶振为12MHz,则计数周期为:T=1/(12×106)Hz×1/12=1μs这是最短的定时周期。
若要延长定时时间,则需要改变定时器的初值,并要适当选择定时器的长度(如8位、13位、16位等)。
当定时器/计数器为计数工作方式时,通过引脚T0和T1对外部信号计数,外部脉冲的下降沿将触发计数。
计数器在每个机器周期的S5P2期间采样引脚输入电平。
若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1。
MCS-51单片机内部定时器计数器
二、 方式1
方式 1(16位计数器)
•MCS-51单片机内部定时器计数器
方式1和方式0的工作原理基本相同,唯一 不同是T0和T1工作在方式1时是16位的计数/定 时器。
方式1时的计数长度M是2的16次方。16位 的初值直接拆成高低字节,分别送入TH和TL 即可。
•MCS-51单片机内部定时器计数器
M1 M0:四种工作方式的选择位 工作方式选择表
M1 M0 方式
说明
0 0 0 13 位定时器(TH的 8 位和TL的低 5 位)
0 1 1 16 位定时器/计数器
1 0 2 自动重装入初值的 8 位计数器 T0 分成两个独立的 8 位计数器,
1 1 3 T1 在方式 3 时停止工作
定时 1 ms的初值:
因为 机器周期=12÷6 MHz= 2 μs
所以 1 ms内T0 需要计数N次:
•MCS-51单片机内部定时器计数器
N= 1 ms÷2 μs = 500
由此可知: 使用方式 0 的 13 位计数器即可, T0 的初值X为 X=M-N=8 192-500=7 692=1E0CH 但是, 因为 13 位计数器中, 低 8 位 TL0 只使用了 5 位, 其 余码均计入高 8 位TH0 的初值, 则 T0
0。TF产生的中断申请是否被接受, 还需要由中断计数器T1、 T0 的运行控制位,
通过软件置 1 后, 定时器 /计数器才开始工作, 在系统复位时
被清 0。
•MCS-51单片机内部定时器计数器
定时器的工作方式
一、 方式 0
方式 0(13位计数器)
•MCS-51单片机内部定时器计数器
•MCS-51单片机内部定时器计数器
第六章 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。为了确保给定电平在变化前至少被 采样一次,外部计数脉冲的高低电平均需保持 一个机器周期以上。(占空比没有限制)
单片机课件5MCS-51单片机定时器计数器
定时器的示例代码
基于MCS-51单片机和定时器 计数器,实现控制蜂鸣器的 状态或LED的闪烁频率。
实践演示
控制蜂鸣器的状态
借助定时器计数器,设置蜂鸣器的开关状态以及背 景灯。
控制LED的闪烁频率
基于定时器计数器,利用MCS-51单片机来控制LED 灯的闪烁速率。
总结
1
重要性和应用
定时器计数器是单片机非常重要的组件之一,其应用非常广泛。
5MCS-51单片机定时器计 数器
本课件将介绍单片机中定时器计数器的作用、类型、寄存器、应用以及示例 代码,展现出单片机学习与应用的魅力。
什么是定时器计数器
1 时间的记录器
定时器计数器是一种可编 程的时间计算器,可用于 各种计时和计数任务。
2 核心组件
作为单片机的核心之一, 定时器计数器可以用来控 制其它模块的工作。
3 可编程
可以通过设置定时器的各 个寄存器来控制计时或计 数的周期、频率和模式。
MCS-51单片机的定时器计数器
定时器模块的功能
以MCS-51单片机为例,定时器计数器可以控制脉 冲的发生和周期、计数等。
定时器的类型
MCS-51单片机的定时器分为两种类型:定时器0和 定时器1,每种定时器都具有其特定的应用场景。
2
对单片机的学习和应用的帮助
通过学习单片机和定时器计数器,可以帮助我们更好地理解单片机的工作原理和应用场景。
3
接下来的拓展用,如机器人、智能家居等领域。
定时器的寄存器
MCS-51单片机的定时器计数器有多个寄存器,包 括计数器寄存器、模式寄存器和数据寄存器。
定时器的应用
定时器的使用方法
通过编程初始化各个寄存器, 设置定时器的模式、计数周 期和计数方式等,以达到所 需的计时或计数效果。
第5章 MCS-51的定时计数器
电气与信息工程学院
2011/3/26
安徽理工大学
5.2 工作方式
(1) 方式0 方式0
位和TL 的低5位组成13 13位计数器 由THX的8位和TLX的低5位组成13位计数器 13位计数加 到全“1”,再加 就产生溢出, 位计数加1到全 就产生溢出, 位计数加 到全“ ,再加1就产生溢出 位为1,同时计数器全变为“ 置TCON的TFX位为 ,同时计数器全变为“0” 的
电气与信息工程学院
2011/3/26
安徽理工大学
(2) 方式1 方式1
唯一的差别是TH 组成一个16位计数器。 16位计数器 唯一的差别是THX和TLX组成一个16位计数器。
振荡器 ÷12
C /T=0 C /T=1 T0 TR0 GATE INT0 1 > 1 & 控制
TL0 TH0 (8位)(8位)
TF0
中断
定时/计数方式1 定时/计数方式1时的逻辑电路结构图 上例中
第6章-MCS-51定时计数器
1.定时/计数器工作方式寄存器TMOD TMOD为T0、T1的工作方式寄存器,主要用于控制定
时/计数器T0和T1的工作模式和4种工作方式。低4位用于 控制T0,高4位用于控制T1。
门控 位
在单片机应用中,定时和计数的需求比较多,为了使用 方便并增加单片机的功能,就把定时电路集成到芯片中,称 之为定时/计数器。目前,几乎所有的单片机都集成了可编 程定时/计数器,为单片机提供定时和计数功能。
6.1.1 定时/计数器的结构 MCS-51 单片机内部有两个16位的可编程定时/计数器,称为
定时器0(T0)和定时器1(T1),都具有定时和计数的功能,可 编程选择其作为定时器或作为计数器用。 TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。 TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。
Hale Waihona Puke ⑵ 工作方式1: T0初值 =216-500s/2s=65536–250=65286=FF06H TH0=FFH;TL0=06H。
⑶ 工作方式2: T0初值 =28-500s/2s=256-250=6 TH0=06H;TL0=06H。
⑷ 工作方式3: T0方式3时,被拆成两个8位定时器,定时初值可分别计
定时器:对片内机器时钟(周期方波)进行计数 计数器:对Tx引脚输入的负脉冲进行计数
6.1.2 定时/计数器的工作原理
单片机内部有两个定时/计数器T0和T1,其核心是计数器, 基本功能是加1。
对外部事件脉冲(下降沿)计数,是计数器;对片内机周 脉冲计数,是定时器。
计数器由二个8位计数器组成。
MCS-51 定时器/计数器
一、标题:MCS-51单片机定时器/计数器二、授课教材:《单片机原理及接口技术》胡健主编. 北京:机械工业出版社. 2008.1三、授课章节:第六章MCS-51单片机定时器/计数器第6.1节定时器的定时与计数功能第6.2节定时器的有关寄存器第6.3节定时器的4种工作方式四、教学目标:知识目标:理解51单片机定时器/计数器工作原理并能运用单片机汇编语言或Keil-C 语言编程定时器/计数器,达到灵活应用的目的。
能力目标:学生通过上机学习操作的过程循序渐进地掌握知识,完成教学任务。
从而培养学生动手实践能力。
情感目标:通过具体实例,让学生自我展示、自我激励,体验成功,形成积极主动学习的态度,在不断尝试中激发学生的求知欲,在不断摸索中陶冶情操。
五、重点、难点及解决办法重点: 1.单片机定时器/计数器结构功能2. 单片机定时器/计数器工作模式难点: 运用C或汇编编程定时器/计数器教学方法: 讲解原理,归纳,推理,实验六、学时:1学时七、教学步骤:1.导入新课:前面课题中提到单片机应用中可供选择的定时方法有多种,下面同学们思考两个问题:(1)什么是软件定时?软件定时是靠执行一个循环程序以进行时间延迟。
(教师补充:软件定时的特点是时间精确,且不需外加硬件电路。
但软件定时要占用CPU,增加CPU开销,因此软件定时的时间不宜太长。
此外软件定时方法在某些情况下无法使用。
)(2)什么是硬件定时?对于时间较长的定时,常使用硬件电路完成。
(教师补充:硬件定时方法的特点是定时功能全部由硬件电路完成,不占CPU时间。
但需通过改变电路中的元件参数来调节定时时间,在使用上不够灵活方便。
伴随演示电路。
)在单片机应用中,定时与计数的需求较多,为了使用方便并增加单片机的功能,就干脆把定时电路集成在芯片中,称之为定时器/计数器。
这即使本节课要学习的可编程定时器。
这种定时方法是通过对系统时钟脉冲的计数来实现的。
计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活又方便。
单片机原理第5章定时、计数器
5.2.2 控制寄存器 控制寄存器TCON
5,控制寄存器TCON初始化设置 ,控制寄存器 初始化设置
0
0 1
0
1 0 1
0
0
0
0
复位时, 的所有位被清0. 复位时,TCON的所有位被清 的所有位被清 要启动,关闭 , 要启动,关闭TI, T0,需对 ,需对TR1,TR0用 , 用 软件设置: 软件设置: SETB TRx;启动 ; CRL TRx;关闭 ; 也可以用传送指令 MOV TCON,#50H , 同时启动T0, 同时 同时启动 ,T1同时 使用电平触发方式. 使用电平触发方式.
时钟 振荡 ÷12
2,脉冲计数 , 每来1个脉冲,计 每来 个脉冲, 个脉冲 数器加1. 数器加 .
C P U
T0 TL0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0
溢 出 启动 TH0 工作 方式
TCON
TMOD
中断
5.1 定时器的结构及工作原理
1,计数脉冲来源 ,
(P3.4)
INT0(INTI)=1 指令 SETB TR0(TR1) 启动定时/计数器 启动定时 计数器T0(T1) 计数器
1
5.2.2 控制寄存器 控制寄存器TCON
1,溢出标志位 TFx
0 1
TFl(TCON.7):T1溢出标志位.当T1溢出时由硬 : 溢出标志位 溢出标志位. 溢出时由硬 件自动使中断触发器TFl置1,并向 申请中断. 件自动使中断触发器 置 ,并向CPU申请中断. 申请中断 响应进入中断服务程序后, 当CPU响应进入中断服务程序后,TFl又被硬件 响应进入中断服务程序后 又被硬件 自动清0. TFl也可以用软件清 . 自动清 . 也可以用软件清0. 也可以用软件清 TF0(TCON.5):T0溢出标志位.其功能和操作同 : 溢出标志位 其功能和操作同TFl 溢出标志位.
第5章 MCS-51单片单片机内部 定时器计数器
LOOP:
例:由P1.0输出方波信号,周 期为2ms,设fosc=12MHz。 (中断方式)
2ms
解:每隔1ms改变一次P1.0的输出状态,即形成方波, 用T0非门控方式1定时。 计算时间常数:X = 216 - t/T = 216 –(1/1000)/10-6 = 65536-1000 = 64536 = FC18H
3 工作模式2 • 模式2把TL0(或TL1)设置成一个可以自动重 装载的8位定时器/计数器 。 用于需要重复定时和计数的场合。 最大计数值:256 (28) 最大定时时间(晶振12MHz时 T=1s): 256s 自动恢复初值8位定时/计数器。TLx为8位加1计 数器,THx为8位初值暂存器。
复位时,TMOD所有位均置0。 确定定时器工作方式指令: MOV TMOD,#方式字 例:设T0用方式2非门控定时,T1用方式1门控计数。 MOV TMOD,#0D2H ; 1101 0010 B
定时器控制寄存器TCON除可字节寻址外,各 位还可以位寻址。
位地址 位符号 8FH TF1 8EH 8DH 8CH TR1 TF0 TR0 8BH IE1 8AH 89H 88H IT1 IE0 IT0
解得:T0初值=7096=11011101 11000B,其中将高8位 11011101 B=DDH 赋给 TH0 ,低 5 位 11000B=18H 赋 给 TL0。
方法一:
采用查询工作方式,编程如下:
ORG AJMP 0000H MAIN
LOOP:JNB TF0,$;$为当前指令指 针地址 CLR SETB CLR MOV MOV TF0 P1.0 P1.0 TH0 , #0DDH ;重装载 ;产生2µ s正脉冲
ORG AJMP ORG AJMP ORG MAIN:MOV MOV MOV SETB SETB SETB HERE:SJMP PT0INT:MOV MOV CPL RETI
单片机原理及应用教程c语言版第6章mcs51单片机的定时器计数器
方波周期T
定时时间t:
周期为1000µs的方波要求 t =周期/2 = 1000/2 = 500(µs)
定时时间t
对应计数值:N = t/机器周期 = 500/1 = 500
N=500>256,所以选择模式1。
模式字:
TMOD=0000 0001B = 0x01 (3)计算初值X
X = 65536 – N = 65036 = 0xfe0c
6.1.2 MCS-51单片机定时器/计数器的工作原理
• 控制信号TRx=1时,定时器启动。 • 当定时器由全1加到全0时计满溢出,TFx=1,
向CPU申请中断;同时,定时器从0开始继续 计数。
6.2 定时器/计数器T0、T1
主要内容
6.2.1 T0、T1的特殊功能寄存器 6.2.2 T0、T1的工作模式 6.2.3 T0、T1的使用方法
计数信号由片内振荡电路提供,振荡脉冲n分 频送给计数器,每个机器周期计数器值增1。 • C/T =1 ,为计数器
计数信号由Tx引脚、和P1.0)输入,每输入一有 效信号,相应的计数器中的内容进行加1
计数器的最高计数频率为:fosc/24 1)每1个输入脉冲的下降沿使计数器计1个数 2)每1个机器周期对引脚采样1次,当上1个机器 周期采样为高、本机器周期采样为低为1个下降沿。
6.2.2 T0、T1的工作模式
信号源
振荡器 12分频 C/T=0
0
T0(P3.4)
TR0 GATE (P3.2)
C/T=1 1
& +
运行控制
TL0 TH0 (8位) (8位)
计数器
TF0 中断
溢出中断
图6-6 T0模式1原理结构
6.2.2 T0、T1的工作模式
MCS-51单片机的定时器计数器
TL; 如:任务中的MOV TH0,#00H 两条指令,设定计数初
值。 MOV TL0,#00H
Copyright 2006
(3)根据需要开放定时器/计数器的中断——对IE位赋值; (4)启动定时器/计数器; 如:任务中的SETB TR0 指令 初值的计算方法 X=M-计数值 M是定时器的最大计数值。视工作方式不同而不同。
判断中 断的次 数
程
CPL P1.0
;定时到,输出取反
序
NO:RETI
;中断返回
END
注意:此程序的#20和#60这两个立即数后面没 有加H表示是十进制数。
思考:能否利用定时器来实现一个电子钟?
Copyright 2006
测量每1秒钟之内的按键按下次数
工作方式0: 13位定时/计数方式,因此,最多可以计到2的13 次方,也就是8192次。
工作方式1: 16位定时/计数方式,因此,最多可以计到2的16 次方,也就是65536次。
工作方式2和工作方式3:都是8位的定时/计数方式,因此, 最多可以计到2的8次方,也说是256次。
Copyright 2006
;开中断 ;开T0中断 ;运行T0 ;等待中断 ;定时到,输出取反 ;重新加载初战值
;中断返回
中断程序的主 程序和中断服 务程序的布局
定时器初始化
开定时器中断
Copyright 2006
实例二:利用方式1定时
题目:用定时器T1,使用工作方式1,在单片机的P1.0输出一个周期为2分钟、占 空比为1:1的方波信号。
Copyright 2006
MCS-51单片机的定时器/计数器(二)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.2.2 控制寄存器TCON 控制寄存器TCON
控制寄存器TCON的高4位存放定时器运行的控制位和溢出标志位,低4 控制寄存器TCON的高4位存放定时器运行的控制位和溢出标志位,低4位 存放外部中断和的中断标志和中断触发方式控制。控制寄存器TCON各位 存放外部中断和的中断标志和中断触发方式控制。控制寄存器TCON各位 定义及格式如图6.3所示。 TF1:T1的溢出标志位。当T1溢出时,由硬件 定义及格式如图6.3所示。 TF1:T1的溢出标志位。当T1溢出时,由硬件 自动使中断触发器TF1置 ,并向CPU申请中断, CPU响应中断进入中 自动使中断触发器TF1置1,并向CPU申请中断, 当CPU响应中断进入中 断服务程序后,TF1又被硬件自动清零,TF1也可以由软件清零。 断服务程序后,TF1又被硬件自动清零,TF1也可以由软件清零。 TF0:T0溢出标志位. 其功能和操作与TF1相同. TF0:T0溢出标志位. 其功能和操作与TF1相同. TR1:定时器T1运行控制位.可通过软件置1或清0来启动或关闭T1。如用 TR1:定时器T1运行控制位.可通过软件置1或清0来启动或关闭T1。如用 SETB TR1,即启动T1,CLR TR1 则关闭T1。 TR1,即启动T1, 则关闭T1。 TR0:定时器T0运行控制位,其功能及操作同TR1。 TR0:定时器T0运行控制位,其功能及操作同TR1。 IE1,IT1,IE0,IT0:外部中断INT1, IE1,IT1,IE0,IT0:外部中断INT1,INT0 请求及请求方式控制位。其 定义前一章已经讲过。 TCON除字节寻址外,各位还可以位寻址。8051复位时,TCON的所有 TCON除字节寻址外,各位还可以位寻址。8051复位时,TCON的所有 位被清0 位被清0。
TF1 TR1 TF0 TR0 IE1
IT1
IE0
IT0
Hale Waihona Puke 6.3 定时器的工作模式及其应用. 定时器的工作模式及其应用.
8051单片机的定时器/计数器T0和T1可由软 8051单片机的定时器/计数器T0和T1可由软 件对TMOD的M1,M0位进行四种工作模式 件对TMOD的M1,M0位进行四种工作模式 设置,即模式0,模式1,模式2和模式3 设置,即模式0,模式1,模式2和模式3。 在模式0 、模式1和模式2时,T0与T1的工作 在模式0 、模式1和模式2时,T0与T1的工作 模式相同; 在模式3时,两个定时器的工作 在模式3 模式不同。
6.2定时器的控制 6.2定时器的控制
8051单片机的定时器/计数器主要由T0, 8051单片机的定时器/计数器主要由T0,T1 和方式寄存器TMOD和控制寄存器TCON等 和方式寄存器TMOD和控制寄存器TCON等 组成。可以通过软件对这些寄存器进行设 置来实现不同的控制目的。其中,TH0和 置来实现不同的控制目的。其中,TH0和 TL0用来存放定时器T0的计数初值,TH1和 TL0用来存放定时器T0的计数初值,TH1和 TL1用来存放定时器T1的计数初值,TMOD TL1用来存放定时器T1的计数初值,TMOD 用来控制定时器的工作方式,TCON用作中 用来控制定时器的工作方式,TCON用作中 断溢出标志并控制定时器的启、停。
M1 M2 0 0 0 1 1 0 1 1 工作模式 模式0 模式1 模式2 模式3 功能说明 13位定时器/计数器工作模式 16位定时器/计数器工作模式 自动再装入的8位定时器/计数器工作模式 T0:分为两个8位定时器/计数器,T1:停止计数
6.2定时器的控制 6.2定时器的控制
C/T:功能选择位。C/T=0为选择定时方 C/T:功能选择位。C/T=0为选择定时方 式。在定时方式中,以振荡输出时钟脉冲 的12分频信号作为计数信号,也就是每一 12分频信号作为计数信号,也就是每一 个机器周期定时器加“ 个机器周期定时器加“1”, 若晶振为 12MHz,则定时器的计数频率位1MHz; 12MHz,则定时器的计数频率位1MHz; 当C/T=1时,为计数功能,采用外部引脚 C/T=1时,为计数功能,采用外部引脚 T0(P3.4),T1(P3.5)的输入脉冲作为计数脉 T0(P3.4),T1(P3.5)的输入脉冲作为计数脉 冲, 当外部输入脉冲发生1到0的负跳变时, 当外部输入脉冲发生1 计数器加1 计数器加1,最高计数频率为时钟频率的 1/24。 1/24。
第6章 MCS-51单片机内部定时器/计数 MCS-51单片机内部定时器/ 器及其应用
6.1定时器的结构及工作原理 6.1定时器的结构及工作原理 6.2定时器的控制 6.2定时器的控制 6.3 定时器的工作模式及其应用. 定时器的工作模式及其应用.
第6章 MCS-51单片机内部定时器/计 MCS-51单片机内部定时器 单片机内部定时器/ 数器及其应用
6.2.1 工作模式寄存器 TMOD
TMOD用于控制T0和T1的工作模式, TMOD用于控制T0和T1的工作模式,其各位 的定义格式如图6.2所示。 的定义格式如图6.2所示。
GATE C/T M1 M0
GA TE
M1 C/T
M0
T0模式字段 T1模式字段
6.2.1 工作模式寄存器 TMOD
其中,低4位用于T0,高4位用于T1。它们 其中,低4位用于T0,高4位用于T1。它们 的含义是完全相同的。以下介绍各位的功 能: M1和M0:操作模式控制位。两位可形成四 M1和M0:操作模式控制位。两位可形成四 种编程,对应于四种操作模式,见表6.1 种编程,对应于四种操作模式,见表6.1
在单片机应用和控制系统中,经常需要对某个控制参数和 控制对象定时进行控制。这种定时一般可采用两种方法。 一是利用延时程序来实现,但这样会降低CPU的工作效率; 一是利用延时程序来实现,但这样会降低CPU的工作效率; 另外一种方法就是通过一个可编程的实时时钟或可编程的 时钟接口芯片来实现。这种方法可以使CPU与时钟并行工 时钟接口芯片来实现。这种方法可以使CPU与时钟并行工 作,并且不会影响CPU的效率。除了定时外,还有一些控 作,并且不会影响CPU的效率。除了定时外,还有一些控 制是按对某种事件的计数结果来进行的,因此,单片机内 部均设有可编程的定时器/ 部均设有可编程的定时器/计数器。 MCS-51系列单片机内有两个16位定时/ MCS-51系列单片机内有两个16位定时/计数器,即定时 器0(T0)和定时器1(T1)它们都具有定时和事件计数的 T0)和定时器1 T1)它们都具有定时和事件计数的 功能,可用于定时控制延时,对外部事件计数和检测等场 合。本章主要介绍MCS-51单片机的定时器/ 合。本章主要介绍MCS-51单片机的定时器/计数器的内部 结构、工作原理及工作方式,最后通过具体的实例介绍定 时器/ 时器/计数器的应用。
GATE:门控位。GATE=0,允许软件控 GATE:门控位。GATE=0,允许软件控 制位TR0或TR1启动定时器;GATE=1,允 制位TR0或TR1启动定时器;GATE=1,允 许外中断引脚INT0(或INT1)为高电电平, 许外中断引脚INT0(或INT1)为高电电平, 且由软件使TR0(或TR1)置 且由软件使TR0(或TR1)置1时,才能启动 定时器工作。TMOD不能位寻址,只能用 定时器工作。TMOD不能位寻址,只能用 字节指令设置定时器工作方式。复位时, TMOD所有位均为零。 TMOD所有位均为零。
6.3.1模式 6.3.1模式0及应用 模式0
模式0是选择定时器的高8位和低5 模式0是选择定时器的高8位和低5位组成的 一个13位定时器/计数器,图6.4是T0在模式 一个13位定时器/计数器,图6.4是T0在模式 0时的逻辑电路结构。
6.3.1模式 6.3.1模式0及应用 模式0
在这种模式下,16位寄存器只用了13位。其中,TL0的高3位未用,TH0占 在这种模式下,16位寄存器只用了13位。其中,TL0的高3位未用,TH0占8位。 当TL0的低5位溢出时,向TH0进位。当TH0溢出时,向中断标志位TF0进位, TL0的低5位溢出时,向TH0进位。当TH0溢出时,向中断标志位TF0进位, 并申请中断。 因此,可通过查询TF0 是否置位或考察中断是否发生来判断定 因此,可通过查询TF0 时器/计数器0 时器/计数器0的操作完成与否。 在图6.4中,当C/T=0时, 控制开关接通振荡器12分频输出端, T0对机器周 在图6.4中,当C/T=0时, 控制开关接通振荡器12分频输出端, T0对机器周 期计数。 即定时器工作方式。 定时时间由下式决定: T=(1213—T0初值)×振荡周期×12 T=(1213—T0初值)×振荡周期× 如果晶振频率为12MHz,则时钟周期为1/12µs,当初值为0 如果晶振频率为12MHz,则时钟周期为1/12µs,当初值为0时,最长的定时时 间为TMAX=(1213— 间为TMAX=(1213—0)×1/12×12µs=8.192ms。 1/12×12µs=8.192ms。 当C/T=1 控制开关与引脚T0(P3.4)接通,计数器T0对来自外部引脚T0的 控制开关与引脚T0(P3.4)接通,计数器T0对来自外部引脚T0的 输入脉冲计数,当外部信号电平发生由1 跳变时,计数器加1,这时,T0成 输入脉冲计数,当外部信号电平发生由1到0跳变时,计数器加1,这时,T0成 为外部事件计数器。 当GATE=0时,封锁或门输出恒为1,使外部中断输入引脚INT0信号失效,同 GATE=0时,封锁或门输出恒为1,使外部中断输入引脚INT0信号失效,同 时又打开与门,由TR0控制定时器T0的开启和关断。若TR0=1,接通控制开关, 时又打开与门,由TR0控制定时器T0的开启和关断。若TR0=1,接通控制开关, 启动定时器T0工作,计数器被控制为允许计数。若TR0=0,则断开控制开关, 启动定时器T0工作,计数器被控制为允许计数。若TR0=0,则断开控制开关, 停止计数。 当GATE=1时,与门的输出由INT0的输入电平和TR0位的状态来确定。若 GATE=1时,与门的输出由INT0的输入电平和TR0位的状态来确定。若 TR0=1,则打开与门,外部信号电平通过INT0引脚直接开启或关断定时器T0。 TR0=1,则打开与门,外部信号电平通过INT0引脚直接开启或关断定时器T0。 当INT0为高电平时,允许计数,否则停止计数。这种工作方式可用来测量外 INT0为高电平时,允许计数,否则停止计数。这种工作方式可用来测量外 部信号的脉冲宽度等。 同理,上述说明同样适合于定时器T1。 同理,上述说明同样适合于定时器T1。