第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输出一个低电平脉冲信号(简化的打包 操作)。
第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 ;查询是否溢出
▪
第6章MCS-51的定时器
• 28×12×1/12MHz=28us=256us=0.256ms
工作方式2_补充说明
8位计数器 TL0作计数器,TH0作预置寄存器使用,计数溢出时 ,TH0中的计数初值自动装入TL0,即TL0是一个自动 恢复初值的8位计数器。 在使用时,要把计数初值同时装入TL0和TH0中。 优点是提高定时精度,减少了程序的复杂程度。
工作方式1_应用分析
定时和计数的应用 计数范围:1~216 计数计算公式:计数值=216-计数初值 机器周期(MC):=12/Fosc=12/时钟频率 定时范围:1机器周期~216机器周期 定时计算公式:定时时间=(216-定时初值)×
机器周期 如果晶振频率为6MHz ,则最大定时时间为: 216×12×1/6MHz=217us=131072us=131.072ms 如果晶振频率为12MHz ,则最大定时时间为: 216×12×1/12MHz=216us=65536us=65.536ms 工作方式1的定时计数功能切换模式,与工作方式
0完全一样;而启动定时计数器的模式,也与工作方式 0完全一样。计数量方式1更大,可完全取代方式0。
6.2.3 方式2
方式2为自动重装初值的8位计数方式。
TCON
TF1 D7
申请 中断
TR1
溢出8位计数器
1
TF0
TL0
TR0
0 &
TH1重TH装0 单元 ≥1 8位
D0
T0引脚
机器周期 1
INT0引脚
6.1.1 工作方式控制寄存器TMOD TMOD(工作方式寄存器):选择定时器/计数器T0、T1的工作 模式和工作方式,字节地址为89H,不能位寻址。
8位分为两组,高4位控制T1,低4位控制T0。 (1)GATE——门控位
单片机原理及其接口技术--第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
过实时计算求得对应的转速。
主目录 上一页 下一页 结 束
单片机原理及其接口技术 对于定时/计数器来说,不管是独立的定时器芯片还是单
接口技术06定时器计数器8253-5
0
0
0
1
1
0
传送方式
写入计数器0的初始值 写入计数器1的初始值 写入计数器2的初始值 写入控制寄存器控制字
读自计数器0的OL 读自计数器1的OL 读自计数器2的OL
五、8253 的控制字格式:
D7
D6
D5
D4
D3
D2
D1 D0
SC1 SC0 RW1 RW0 M2
M1
M0 BCD
计数器选 择
工作方式
计数初值开始工作,见图6.5所示③。21组1
CLK
WR ① GATE
OUT
n=4
43
0 21
②
GATE OUT
0
4
4321
WR ③
n=3
GATE
OUT2 工作在1方式,进行8位二进制计数, 并设计 数 初值的低8位为BYTEL。
其初始化程序段为
MOV DX,307H
计数器:
在时钟信号作用下,进行减“1”计数,计数次数到 (减“1”计数回零),从输出端输出一个脉冲信号。
计数举例: •①对零件和产品的计数; •②对大桥和高速公路上车流量的统计,等等。
Intel8253在微机系统中可用作定时器和计数 器。定时时间与计数次数是由用户事 先设定。
2、 8253 定时与计数器与CPU的关系 8253 定时与计数操作过程与CPU相互独立,
计数器 2
GATE2 OUT2
定时器/计数器的内部结构:
①数据总线缓冲器。它是一个三态、双向 8位寄存器,用于将8253与系统数据总线 D0~D7 相连。 ②读/写逻辑。 ③控制命令寄存器。它接受CPU送来的控 制字。 ④计数器。8253有3个独立的计数器(计 数通道),其内部结构完全相同,
第6章 定时计数器件组件及其应用(三版)习题及答案
第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位计数器组成。
第6章 定时器计数器
期间,计数器加1。由于确认一次负跳变要花 个机器周期, 确认一次负跳变要花2个机器周期 确认一次负跳变要花 因此外部输入的计数脉冲的最高频率为系统振荡器频率的 外部输入的计数脉冲的最高频率为系统振荡器频率的 外部输入的计数脉冲的最高频率 1/24。 例如,选用6MHz频率的晶体,允许输入的脉冲频率最高为 250kHz。如果选用12MHz频率的晶体,则可输入最高频 率为500kHz的外部脉冲。 对于外部输入信号的占空比并没有什么限制,但为了确保某 占空比并没有什么限制 占空比并没有什么限制 一给定电平在变化之前能被采样一次,则这一电平至少要 至少要 保持一个机器周期。 保持一个机器周期
T 、GATE、TR0、
22
TF0 ,而TH0被固定为一个 位定时器 固定为一个8位定时器 固定为一个 位定时器(不能作为外部计数 模式),并使用定时器T1的状态控制位TR1和TF1,同时 占用定时器T1的中断请求源TF1。 2.T0工作在方式 时T1的各种工作方式 . 工作在方式 工作在方式3时 的各种工作方式 一般情况下,当T1用作串行口的波特率发生器时,T0才工 当 用作串行口的波特率发生器时 用作串行口的波特率发生器时, 才工 作在方式3。 作在方式 。T0处于工作方式3时,T1可定为方式0、方式 1和方式2,用来作为串行口的波特率发生器,或不需要中 断的场合。
18
定时器/计数器的方式 为自动恢复初值 方式2为自动恢复初值 方式 为自动恢复初值(初值自动装入)的 8位定时器/计数器 位定时器 计数器 计数器。 TLx(x = 0,1)作为常数缓冲器,当TLx计数溢出时,在溢出 自动将THx中的初值送至 中的初值送至TLx, 标志TFx置“1”的同时,还自动将 自动将 中的初值送至 使TLx从初值开始重新计数。定时器/计数器的方式2工作 过程如图6-7所示。
第6章 STC89C52单片机定时计数器
精选完整ppt课件
29 29
方法一、中断方式:
MAIN: HERE:
ORG LJMP ORG LJMP ORG MOV MOV MOV MOV SETB SETB SETB AJMP
0000H
MAIN
000BH
T0P
0100H
SP,#60H
;设置堆栈指针
TMOD,#00H ;T0为定时、方式0、门控GATE0=0
精选完整ppt课件
25 25
实际定时时间Tc = x • Tp
式中Tp为机器周期,Tc为所需定时时间,x为所需计数次数,主频和Tc一般 是已知值,在求得Tp后就可求得所需计数值x,再求x的补码,即求得定时的 计数初值。(x)补=2n - x 例如:设定时时间为2ms,机器周期Tp为2μs,可求得定时计数次数为:
当实现了启动要求之后,定时器就按规
定的工作方式和初值开始计数或定时。
精选完整ppt课件
14 14
因为定时器/计数器是作“加1”计数,并在计满溢 出时产生中断,初值X可以这样计算:
X = M - 计数值(计数次数) 例1:在6MHZ主频下,要求产生1ms的定时,计算初值
分析: 因为定时器每“加1”一次所需的时间为2μs,如果 要产生1ms的定时,需加500次,500即为计数值。 方式1下工作: 初值 X =M-计数值=65536-500=FE0CH
在模式0、1和2,T0和T1的工作方式相同, 在模式3,两个定时器的方式不同。下面以T1 为例,分述各种工作方式的特点和用法。
精选完整ppt课件
17 17
1.方式0
精选完整ppt课件
18
2.方式1
精选完整ppt课件
第6章 计数器和定时
+1计数器
溢出
中断
控制 开关
计数原理——定时器 单片机内部脉冲每输入一个脉冲,计数器加1,当 加到计数器各位都为1时,再输入一个脉冲,计数 器各位全变为0,溢出,中断标志置1(SFR中 TCON的TF0、TF1),从而向CPU申请中断。 由预置计数值就可以算出从加1计数器启动到计满 溢出所需的时间,即定时时间。 8位28 = 256;13位213 = 8192;16位 216 = 65536
可编程定时/计数器。
6.1 定时/计数技术概述
在单片微机应用系统中,常常会需要定时或计数,通常采用以 下三种方法来实现: 1.硬件法 硬件定时功能完全由硬件电路完成,不占用 CPU 时间。但 当要求改变定时时间时,只能通过改变电路中的元件参数来实 现,很不灵活。 2.软件法 软件定时是执行一段循环程序来进行时间延时,优点是无 额外的硬件开销,时间比较精确。但牺牲了CPU的时间,所以软 件延时时间不宜长,而在实时控制等对响应时间敏感的场合也 不能使用。
8E
TF0
8D
TR0
8C
IE1
8B
IT1
8A
IE0
89
IT0
88
• 8位寄存器,可位寻址 • 低4位用于外部中断INT0、INT1控制 • 高4位用于T0、T1控制
3、定时/计数器控制寄存器TCON
TCON
位地址
TF1
8F
TR1
8E
TF0
8D
TR0
8C
IE1
8BIT18A NhomakorabeaIE0
89
IT0
88
• TR0(TCON.4):T0的运行控制位 当GATE=0时,TR0=0则T0停止运行;TR0=1时 T0允许运行 • TF0(TCON.5):T0溢出兼中断申请标志
第6章 单片机的定时器计数器题解
第6章单片机的定时器/计数器习题1.MCS-51系列的8051单片机内有几个定时/计数器?每个定时/计数器有几种工作方式?如何选择?答:MCS-51系列的8051单片机内有2个定时/计数器,即T0和T1,每个都可以编程为定时器或计数器,T0有四种工作方式(方式0—13位、方式1—16位、方式2-可自动装入初值的8位、方式3-两个8位),T1有三种工作方式(与T0相同的前三种),通过对TMOD的设置选择,其高四位选择T1,低四位选择T0。
2.如果采用的晶振频率为3MHz,定时/计数器TO分别工作在方式0、1和2下,其最大的定时时间各为多少?答:如果采用的晶振频率为3MHz,机器周期为12×1/(3*106)=4us,由于定时/计数器TO工作在方式0、1和2时,其最大的计数次数为8192、65536和256所以,其最大定时时间分别是:方式0为8192×4us=32.768ms、方式1为65536×4us=262.144ms、方式2为256×4us=1024us。
3.定时/计数器TO作为计数器使用时,其计数频率不能超过晶振频率的多少?答:由于定时/计数器TO作为计数器使用时,是对外部引脚输入的脉冲进行计数,CPU在每个机器周期采样一次引脚,当前一次采样为高电平,后一次采样为低电平,则为一次有效计数脉冲,所以如果晶振频率为fosc,则其采样频率fosc/12,两次采样才能决定一次计数有效,所以计数频率不能超过fosc/24。
4.简单说明定时/计数器在不同工作模式下的特点。
答:方式0为13位的定时/计数器,由THx的8位和TLx的低5位构成、方式1为16位的定时/计数器,由THx的8位和TLx的8位构成,方式2为8位的定时/计数器,TLx为加1计数器,THx为计数初值寄存器。
方式3只能用于T0,是将T0的低8位用作一个独立的定时/计数器,而高8位的TH0用作一个独立的定时器,并借用T1的TR1和TF1作为高8位定时器的启停控制位和溢出标志位。
第6章定时器计数器
系统 时钟 ÷12 C/ T =0
计数器+1
TH TL5
TL的低5位 TFi 溢出 标志
外部引脚Ti
模式控制C/ T=1 TRi
启动 控制 工作方式选择 M1 M0=00
GATE + 外部引脚INTi
&
方式1
系统 时钟 ÷12 计数器+1
中断
TFi 溢出 标志
TL TH
外部引脚Ti 模式控制C/ T TRi & 启动 控制 工作方式选择 M1 M0=01
TF1
TR1
TF0 TR0
IE1
IT1
IE0
IT0
高4位管理定时器控制器,低4位管理外部中断
TF1:定时器1溢出标志位。当定时器1计满溢出 时,由硬件自动使TF1置1,并申请中断。
TR1:定时器1启停控制位。
GATE=0时,用软件使TR1置1即启动定时器1 ,若用软件使TR1清0则停止定时器1 GATE=1时,用软件使TR1置1的同时外部中断 INT1的引脚输入高电平才能启动定时器1。
GATE=0:用指令使TCON中的TR1置1即可启动 定时器1。 GATE=1:软件和硬件共同启动定时器,即用指 令使TCON中的TR1置1时,只有外部中断INT1引 脚输入高电平时才能启动定时器1。
(2) C/T:功能选择位 C/T=0时,以定时器方式工作。 C/T=1时,以计数器方式工作。 (3) M1、M0:方式选择位
6.2 定时器/计数器的控制
1.工作方式控制寄存器TMOD
定时器方式寄存器TMOD的作用是设置T0、T1 的工作方式。 TMOD字节地址为89H,不能位寻址
定时与应用
第六章 单片机的定时/计数器
例2:编写一段具有两级循环的延时程序程序。
50ms延时,设晶振频率为12MHz,则机器周期为1us。
DEL: DEL1: MOV R7,#200 MOV R6,#123 NOP DJNZ R6,$ ;1us ;1us ;1us ;2us
DJNZ R7,DEL1
RET
;2us
第六章 单片机的定时/计数器
第6章 定时器/计数器及应用
89C51系列单片机内有两个可编程的定时器/计数器T0和T1;
89C51系列中除这两个定时器外,还有一个定时器/计数器T2 一、 计算机定时方法概述 1) 软件定时
原理:软件定时靠执行一个循环程序进行时间延迟。
特点:时间精确,且不需要外加硬件电路。但要占用CPU, 增加CPU开销,
• 方式开关向上拨,输入脉冲信号是对时钟振荡周期再做12分频;
第六章 单片机的定时/计数器
说明:当设置为计数工作方式时 CPU在每个机器周期的S5P2期间采样T0和T1引脚的
输入电平,若前一个机器周期采样值为1,后一个机器周期
采样值为0,计数器的计数值加1。因此,检测一个从1到0的 负跳变需要2个机器周期,即24个振荡周期,故最高计数频 率为晶振频率fOSC的24分频。 为了确保某个给定电平在变化前至少被采样一次,要 求高电平(或低电平)保持时间至少为1个完整的机器周期。
定时器/计数器T0工作方式2的结构图
第六章 单片机的定时/计数器
注:当计数溢出后,不是像前两种工作方式那样通过软件方法,而是 由预置寄存器TH以硬件方法自动给计数器TL重新加载。变软件加载为 硬件加载。
第六章 单片机的定时/计数器
例3: 使用定时器0以工作方式2产生100 s定时,在
单片机定时计数器PPT课件
此时,定时/计数器T1可为方式0、方式1 和方式2,作为串行口的波特率发生器。
14
工作于方式3的T0
15
T0工作于方式3时的T1
16
定时器的工作方式(总结)
方式0:13位定时计数器
• 注意:TLx的低5位和THx共同组成
方式1: 16位定时计数器 方式2: 自动重装入的8位定时计数器
• 溢出后TFx=1,同时由THx→TLx
5
6.2.1 TMOD:工作方式控制寄存器
GATE:门控位 GATE=1,T0、T1是否工作受外部引脚输入电平的控制,INT0
引脚控制T0运行,INT1引脚控制T1运行。可用于测量在INT0或 INT1引脚出现的正脉冲的宽度。
GATE=0,定时/计数器的运行不受外部引脚INT0或INT1的控制。 C/T位:计数器模式和定时器模式的选择位 C/T=0,为定时器模式。内部计数器对晶振频率12分频后的脉冲
6
工作方式控制寄存器TMOD
M1、M0工作方式选择位
7
6.2.2 定时/计数器控制寄存器TCON
TF1位:T1计数溢出标志位。当T1计数溢出时,由硬件置 1,申请中断。进入中断服务程序后被硬件自动清0。 TR1位:T1计数运行控制位。由软件置1或清0。当GATE 位(TMOD.7)=0时,若TR1=1,允许T1计数;TR1=0时, 禁止T1计数。当GATE位=1时,TR1=1且INT1=1时, 允许T1计数。 TF0位:T0计数溢出标志位,功能同TF1。 TR0位:T0计数运行控制位,由软件置1或清0。当GATE 位(TMOD.3)=0时,若TR0=1,允许T0计数;TR0=0时, 禁止T0计数。当GATE位=1时,TR0=1且INT0=1时,允许 T重装入)
第6章 定时计数器
6.4.2 定时计数器的初始化
定时计数器的初始化编程步骤: 1)根据实际要求设置TMOD寄存器的初值; 2)根据定时时间要求或计数要求计算计数器初值,并 往THx和TLx寄存器中载入初值;
3)启动定时/计数器,即将TRX置位。
如果工作于中断方式,还需要置位EA(中断总开关) 及ETX(允许定时/计数器中断)。
ORG 0000H AJMP MAIN ORG 000BH AJMP TIMEL;TL0中断 ORG 001BH AJMP TIMEH;TH0中断
ORG 0030H MAIN:SETB P1.0 SETB P1.1 MOV TMOD,#03H MOV TL0,#9CH
6.1.2 定时/计数器的工作原理
2. 计数工作方式 设置为计数工作方式时:
★ 通过引脚T0(P3.4)、T1(P3.5)对外部脉冲信号计 数。
★ 输入脉冲信号为1至0的下降沿时,定时器加1。 在每个机器周期CPU采样T0和T1的输入电平。若 前一个机器周期采样值为高,下一个机器周期采样 值为低,则计数器加 1。
6.1.2 定时/计数器的工作原理
1. 定时工作方式 设置为定时工作方式时: ★ 计数脉冲由片内振荡器经12分频后产生。 ★ 每经过一个机器周期,定时器(T0或T1)的数 值加1直至计数满产生溢出。 如:当8051采用12MHz晶振时,每个机器周 期为1μs,计5 个机器周期即为5 μs,即定时5 μs 。
6.2.2 控制寄存器TCON(88H)
TF1 TR1 TF0 T0 请求 有/无 TR0 T0 工作 启/停 IE1 INT1 请求 有/无 IT1 IE0 IT0 T1 T1 请求 工作 有/无 启/停 INT1 INT0 INT0 方式 请求 方式 下沿/ 低 有/无 下沿/ 电平 低电平
MCS-51_第06章 MCS-51的定时器计数器
四、 方式 3 的应用 定时器 T0 工作在方式 3 时是 2 个 8 位定时器 /计数器。 且TH0 借用了定时器 T1 的溢出中断标志TF1和运行控制位 TR1。 例 3 假设有一个用户系统中已使用了两个外部中断源, 并置定时器 T1 于方式 2, 作串行口波特率发生器用, 现要求 再增加一个外部中断源, 并由 P1.0 口输出一个 5kHz的方波 (假设晶振频率为 6 MHz(机器周期为2μs))。
注意:外部输入的计数脉冲的最高频率为振荡频率的1/24。
6.4 定时器/计数器应用举例
一、 方式 0 的应用
例 1 利用定时器输出周期为2ms的方波, 设单片机晶振频 率为 6 MHz。
选用定时器/计数器T0作定时器, 输出为P1.0引脚, 2 ms 的 方波可由间隔1ms的高低电平相间而成, 因而只要每隔1ms对 P1.0 取反一次即可得到这个方波。 定时 1 ms的初值: 因为 机器周期=12÷6 MHz= 2 μs
装入计数器的初值可由下式算得:
(216-X)×10-6=10-2 因而:X=45536=0B1E0H
MOV TMOD,#01H SETB TR0 LOOP: MOV TH0, #0B1H MOV TL0, #0E0H
LOOP1:JNB TF0, LOOP1
CLR CPL TF0 P1.0
SJMP LOOP
0
1 1
1
0 1
1
2 3
16 位定时器/计数器
自动重装入初值的 8 位计数器 T0 分成两个独立的 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)的电平是高还是低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
① 计算定时初值 T0初值 =216-50000s/1s =65536–50000=15536=3CB0H TH0=3CH;TL0=B0H。 ② 设置TMOD: 0000 0 0 01 B = 01H T0方式1
T0用作定时器
与 INT0 无关 T1控制位
19
③ 编制程序如下: ORG 0000H ;复位地址 LJMP MAIN ;转主程序 ORG 000BH ;T0中断入口地址 LJMP LP ;转T0中断服务程序 ORG 0100H ;主程序首地址 MAIN:MOV TMOD,#01H ;置T0定时器方式1 MOV TH0,#3CH ;置T0初值50mS MOV TL0,#0B0H ; MOV IE,#10000010B;T0开中 MOV R7,#0AH ;置50mS计数器初值 SETB TR0 ;T0运行 SJMP $ ;等待中断 LP: ............ RETI
8
三. 定时/计数器工作方式
1. 工作方式0 2. 工作方式1 3. 工作方式2 4. 工作方式3
9
⒉ 工作方式1
16位计数器,最大计数值为216 = 65536。
图 方式 1(16位计数器)
10
⒊ 工作方式2
初始常数自动重装载
• 8位计数器,仅用TL0计数,最大计数值为256,计 满溢出后,一方面进位TF0,使溢出标志TF0 = 1; 另一方面,使原来装在TH0中的初值装入TL0。
22
23
24
25
26
27
28
29
30
31
【例】设MCS-51单片机系统的晶振频率为12M,编
程测试外部脉冲输入引脚INT0(P3.2)上输人的正脉冲
宽度(设正脉冲宽度小于65ms),并将测量数值以us
为单位存放于R1 ,R2中。
当GATE=1 时, T0的工作不仅由TR0控制,还受引 脚INT0电平控制,只有当TR0为 l ,且INT0输入高电平时, 定时器T0才会启动。利用这个功能,可以测试外部脉冲输 入引脚INT0上输入的正脉冲宽度。
低4位控制T0 计数/定时 方式选择 C / T 工作方 式选择 M1 M0
⑵ C/T
—— 计数/定时方式选择位
C/T=1,计数工作方式,对外部事件脉冲计数,用作计数器。 C/T=0,定时工作方式,对片内机周脉冲计数,用作定时器。
⑶ GATE —— 门控位
GATE=0,运行只受TCON中运行控制位TR0/TR1的控制。 GATE=1,运行同时受TR0/TR1和外中断输入信号的双重控制。 只有当INT0/INT1=1且TR0/TR1=1,T0/T1才能运行。 TMOD字节地址89H,不能位操作,设置TMOD须用字节操作指令。
32
33
34
作
业
p112
一、 二、 三、10
35
【课后练习题】 参照以上例题工作方式 2 ,按下列要求分别 修改程序: ① 脉冲方波从P3.0输出; ② fosc=6MHz; ③ 脉冲方波脉宽为100s; ④ 用定时/计数器T0;
36
本章结束
37
12
【例1】 已知晶振6MHz,要求定时0.5mS,试分别 求出T0工作于方式0、方式1、方式2、方式3时的 定时初值。
⑵ 工作方式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。
11
四. 定时/计数器的应用
⒈ 计算定时/计数初值
80C51定时/计数初值计算公式:
其中: N与工作方式有关: 方式0时,N=13; 方式1时,N=16; 方式2、3时,N=8。 机周时间与主振频率有关:机周时间=12/fosc fosc=12MHZ时,1机周=1S; fosc=6MHZ 时,1机周=2S。
3
二. 定时/计数器寄存器
⒈ 定时/计数器控制寄存器TCON
⒉ 定时/计数器工作方式寄存器TMOD
4
⒈ 定时/计数器控制寄存器TCON TCON 88H
位名称 位地址 T1 中断 标志 TF1
8FH
T1 运行 标志 TR1
8EH
T0 中断 标志 TF0
8DH
T0 INT1 INT1 INT0 INT0 运行 中断 触发 中断 触发 标志 标志 方式 标志 方式 TR0 IE1 IT1 IE0 IT0
14
③ 编制程序如下:
ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV MOV MOV SETB SJMP ORG LP: CPL RETI 0000H ;复位地址 MAIN ;转主程序 001BH ;T1中断入口地址 LP ;转T1中断服务程序 0100H ;主程序首地址 TMOD,#20H ;置T1定时器方式2 TL1,#38H ;置定时初值 TH1,#38H ;置定时初值备份 IP,#00001000B;置T1高优先级 IE,#0FFH ;全部开中 TR1 ;T1运行 $ ;等待T1中断 0200H ;T1中断服务程序首地址 P1.0 ;输出波形取反首地址 ;中断返回
15
16
17
【例3】已知晶振12MHZ,参阅图5-15,要求利用定时 器T0使图中发光二极管D进行秒闪烁。 解:发光二极管进行秒 闪烁。即一秒钟一亮一 暗,亮500ms,暗500 ms。晶振12MHz,每机 周1s,T0方式1最大定 时只能65ms余。 取T0定时50ms,计 数10次,即可实现 500ms定时。
13
【例2】试用T1 方式2 编制程序,在 P1.0 引脚输出周 期为400S的脉冲方波,已知fosc=12MHZ。
解:① 计算定时初值 T1初值=28-200s/1s=256–200=56=38H TH1=38H;TL1=38H
② 设置TMOD:
0 0 10 0000 B=20H
T0控制位,与T1无关 T1方式2 T1定时器 T1启动与 INT1 无关
第6章 定时/计数器
80C51定时/计数器概述
定时/计数器控制寄存器 定时/计数器工作方式
定时/计数器的应用
2
一. 定时/计数器概述
80C51单片机内部有两个16位定时/计数器T0和T1, 其核心是计数器,基本功能是加1。 对外部事件脉冲(下降沿)计数,是计数器; 对片内机器周期脉冲计数,是定时器。 定时/计数器作为计数器时,外部事件脉冲必须从规 定的引脚输入(T0/P3.4 T1/P3.5)。且外部脉冲的最 高频率不能超过时钟频率的1/24。
Байду номын сангаас20
【例】有一生产流水线,流水线上通过的工件 经光电转换电路产生计数脉冲,脉冲整形后 送入T0端,要求每生产100个工件,向P1.0 发出一包装命令正脉冲,包装成一箱,请编 写控制程序。
21
(1)选择定时器及其工作方式。
选择定时器T0工作于方式2计数
(2)计算初值。
计数初值 =最大计数值一计数值=256-100=9CH TH0=TL0=9CH
⑴ M1M0 —— 工作方式选择位
M1M0 00 01 10 11 工作方式 方式0 方式1 方式2 方式3 功能 13位计数器 16位计数器 两个8位计数器,初值自动装入 两个8位计数器,仅适用T0
7
高4位控制T1 门 控 位 G 计数/定时 方式选择 C / T 工作方式 门控 选择 位 M1 M0 G
8CH 8BH 8AH 89H 88H
⑶ TR1:定时/计数器T1运行控制位。TR1=1,T1运行;TR1=0,T1停。
⑷ TR0:定时/计数器T0运行控制位。TR0=1,T0运行;TR0=0,T0停。
5
6
⒉ 定时/计数器工作方式寄存器TMOD
高4位控制T1 门 控 位 G 计数/定时 方式选择 C/T 工作方式 选择 M1 M0 门 控 位 G 低4位控制T0 计数/定时 方式选择 C/T 工作方 式选择 M1 M0