第5章-中断和定时器计数器讲解

合集下载

单片机-第五章 单片机中断系统

单片机-第五章 单片机中断系统

(1)CPU正在执行一个同级或高优先级的中断服务程序; (2)正在执行的指令尚未执行完; (3)正在执行中断返回指令RETI或者对寄存器IE、IP进 行读/写的指令。 CPU在执行完上述指令之后,要再执行一条指令,才 能响应中断请求。
二、中断响应过程 从中断请求发生直到被响应,准备去执行中断服务程 序,此过程即中断响应过程。中断响应过程一般包括如下几 个阶段: 1、中断采样并置位 中断采样过程:CPU在每个机器周期S5P2期间顺序对 中断源采样、置中断标志。 2、查询标志 在中断采样后的下一个周期的S6按优先级顺序查 询中断标志。
第5章 MCS-51单片机中断系统
5.1.1中断的概念
单片机系统中,CPU和外部设备之间不断进行信息的传 输。通常CPU和外设之间的信息传送方式有以下几种: 程序控制方式 中断方式 直接存储器存取(DMA)方式
1、 程序控制方式 可以分为以下两种方式。 (1)无条件传送方式 外设始终处于就绪状态,CPU不必查询外设的状 态,直接进行信息传输,称为无条件传送方式。 此种信息传送方式只适用于简单的外设。如开 关和数码段显示器等。
三、中断响应的时间
一般来说,中断的响应时间最短为3个机器周期,最长 为8个机器周期。 一般中断请求标志位查询占1个机器周期。而机器周期 又恰好是指令的最后一个机器周期。执行此指令后,CPU 将响应中断,产生硬件长调用指令。 长调用LCALL指令需要2个机器周期。这样,中断响应 时间为3个机器周期。
是不可寻址的
在同级的几个中断源中同时发生请求时, 内部对同级的各中断源的优先级别有一个规 定的查询顺序: 自然优先级
外部中断请求 INT0 最高 定时/计数器 T0 外部中断请求 INT1 定时/计数器 T1 串行口 UART 最低 定时/计数器 T2

单片机 第五章2 单片机的定时器计数器

单片机 第五章2 单片机的定时器计数器

若晶振频率为6MHz,1个机器周期为1/6 x 10-6 x12=2μs 则最小定时时间为:[213 –(213 -1)]x2μs=2μs 最大定时时间为:[213 –0] x2μs=16384μs =16.384ms
2、 方式1 (T1,T0) 当M1M0两位为 01时,定时 /计数器被选为工作方式 1,16位计数器,其逻辑结构 如图 所示。
8FH TCON TF1 8EH TR1 8DH TF0 8CH TR0 8BH IE1 8AH IT1 89H IE0 88H IT0
TF1(TCON.7, 8FH位)----定时器T1中断请求溢出标志位。 TF0(TCON.5, 8DH位)----定时器T0中断请求溢出标志位。 TR1(TCON.6, 8EH位)----T1运行控制位。 0:关闭T1;1:启动T1运行。只由软件置位或清零。 TR0(TCON.4, 8CH位)----T0运行控制位。 0:关闭T0;1:启动T0运行。只由软件置位或清零。
1、 方式0 (T1,T0)
当 M1M0两位为 00时,定时 /计数器被选为工作方式 0, 13位计数器,其逻辑结 构如图所示。
振荡器 ÷12 C/ T = 0 TL0 低5位 C/ T = 1 控制 T0 端 TR0 GATE INT0 端 TH0 高8 位 TF0 中断
+
在方式0下,计数工作方式时,计数值的范围是: 1~8192(213 ) 定时工作方式时,定时时间的计算公式为: (213一计数初值)×晶振周期×12 或(213一计数初值)×机器周期
例4:用定时器l 以工作方式2计数,每计100次进行累计器加1操作.
(1)计算计数初值. 28—100=156D=9CH TH1=9CH,TL1=9CH TMOD寄存器初始化:MlM0=10,C/T=1,GATE=0 因此 TMOD=60H (2)程序设计序设计

第5章 定时与中断1

第5章  定时与中断1

第5章定时/计数器与中断系统⏹5.1 定时/计数器结构特点及控制⏹5.2 中断系统结构及管理⏹5.3 定时/计数器及中断系统综合应5.1 定时/计数器结构特点及控制⏹5.1.1 定时/计数器结构⏹5.1.2 定时/计数器工作方式⏹5.1.3 定时/计数器控制寄存器⏹5.1.4 定时/计数器常数的计算5.1.1 定时/计数器结构⏹定时/计数器简称定时器,8031单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。

它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。

⏹T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。

作计数器时,通过引脚T 0(P 3.4)和T 1(P 3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。

计数的最高频率一般为振荡频率的1/24。

5.1.2 定时/计数器工作方式⏹每个定时/计数器还有4种工作模式,也就是每个定时器可构成4种电路结构模式。

⏹在模式0、1和2,T0和T1的工作模式相同,在模式3,两个定时器的模式不同。

下面以T1为例,分述各种工作模式的特点和用法。

图5-1 定时/计数器T1(T0)工作模式0图5-2 定时/计数器T1(T0)工作模式1图5-3 定时/计数器T1(T0)工作模式2图5-4 定时/计数器T1(T0)工作模式35.1.3 定时/计数器控制寄存器定时器共有2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON两个8位寄存器,设置各个定时器的操作模式和控制功能。

1.工作模式控制寄存器—TMOD (89H )GATE C/T M 10M GATE C/T1M 0M 控 制 T 1控 制 T 089H和T 类同01M 0M 00011011方 式方式0方式1方式2方式301定时器模式计数器模式01与INT 无关00与INT 有关图5-5 定时器工作模式寄存器TMOD2.定时器控制寄存器—TCON(88H)TCON 位地址DD1D2D3D4D5D6D7IT0IE0IT11IETR0TF0TR1TF188898A8B8C8D8E8F见下一节{00:停T 计数1:启T 计数0:无T 中断(硬件复位){1:有T 溢出中断0:无T 中断(硬件复位)10:停T 计数{1:有T 溢出中断1:启T 计数{111图5-6 定时器工作模式寄存器TCON返回本节5.1.4 定时/计数器常数的计算⏹1.计数器初值的计算⏹把计数器计满为零所需要的计数值设定为C,计数初值设定为TC,由此可得到公式:TC=M-C⏹式中,M为计数器模值,该值和计数器工作方式有关。

第05章 MCS-51单片机的中断与定时(1-4)

第05章 MCS-51单片机的中断与定时(1-4)

2
1
TH0
;P1.0输出“0” ;P1.0输出“1”
5.2 MCS-51单片机的中断系统
五、外中断应用举例
1. 中断初始化程序
设置外中断源的触发方式 设置中断允许寄存器IE 设置中断优先级寄存器IP
2. 中断服务程序
保护现场 中断处理 恢复现场
23/65
5.2 MCS-51单片机的中断系统
【例5-3】 设外部中断0为下降沿触发方 式,高优先级,试编写中断初始化程序
5.2 MCS-51单片机的中断系统
【例5-4】 将单脉冲接到外中断0(INT0)引脚,利 用P1.0作为输出,经反相器接发光二极管。编写程 序,每按动一次按钮,产生一个外中断信号,使发 光二极管的状态发生变化,由亮变暗,或反之
P1.0 单脉冲 发生器 INT0
1
+5V
8031
26/65
5.2 MCS-51单片机的中断系统
串口:0023H
20/65
5.2 MCS-51单片机的中断系统
四、中断请求的撤除
1.定时/计数器中断请求标志TF0/TF1会自动撤除 2.串行口中断请求标志TI/RI要用指令撤除
CLR TI ;清TI标志位 CLR RI ;清RI标志位
3.负脉冲触发的外中断请求标志IE0/IE1会自动撤除 4.低电平触发的外中断请求信号需要外加电路撤除
下次课前请预习5.3节
30/65
5.3 51单片机的定时器/计数器
MCS-51单片机内部有两个16位定时/计数器 T0和T1,简称定时器0和定时器1
在特殊功能寄存器TMOD和TCON的控制下, 它们既可以设定成定时器使用,也可以设定 成计数器使用
定时/计数器有4种工作方式,具有中断功能, 可以完成定时、计数、脉冲输出等任务

第5章 MCS-51中断、定时计数器及串行接口

第5章 MCS-51中断、定时计数器及串行接口

22:26
7
保护现场
课本P103
保护现场是指由于CPU执行中断处理程序时, 可能使用主程序中用过的累加器、寄存器或标志位。
为了使这些寄存器的值在中断服务程序中不被 冲掉,进入中断服务程序前,要将它们保护起来。
中断服务程序执行完,必须恢复原寄存器的内 容及原程序中断处的地址,即恢复现场和恢复断点。
22:26
课本P105
一、中断请求控制
(1) TCON中的中断请求标志位 Timer Controller
TCON为定时/计数器控制寄存器,其字节 地址为88H,可位寻址。这个寄存器除了控制定 时/计数器T0和T1的溢出中断外,还控制外部中 断的触发方式和锁存外部中断请求标志位。
图5-3 TCON中的各位定义
22:26
24
2. 中断响应过程
课本P110
CPU响应中断后,由硬件自动执行如下的功能操作:
(1)根据请求源的优先级高低,对相应的优先级状态 触发器置1,自动生成长调用指令LCALL addr16。
(2)保护断点,把程序计数器PC的内容压入堆栈。 (3)清除相应的中断请求标志位。 (4)把被响应的中断源所对应的中断服务程序入口地

先进后出

POP DPL
POP DPH
POP ACC
RETI
最后1条指令 必须是RETI
27
中断响应过程
处理文档 电话铃响 暂停文档 文档中作暂停记号 电话交谈 找出暂停记号位置 继续处理文档
执行主程序(日常事务程序) 中断申请信号有效(中断请求)
暂停执行主程序响应中断 当前PC及寄存器入栈(保护现场)
22:26
5
中断系统的基本问题

第5章定时计数器 (2)

第5章定时计数器 (2)

5.4 8XX51定时/计数器的应用程序设计
5.4.3 应用编程举例 例1 如图所示,
P1中接有八个发光二极管, 编程使八个管轮流点亮,每 个管亮100ms,设晶振为 6MHz。 分析利用T1完成100ms的定时、 当P1口线输出“1”时,发光二 极管亮,每隔100ms”1”左移一 次,采用定时方式1,先计算计 数初值: MC=2μs 100ms/2μs =50000=C350H C =10000H-C350H=3CB0H
★若将T0设置为模式3,TL0和TH0被分成为两个互相独立的8位计数器
TH0和 TL0 。
★TL0可工作为定时方式或计数方式。占用原T0的各控制位、引脚和 中断源。即C/T、GATE、TR0、TF0和T0 (P3.4)引脚、INT0 (P3.2) 引脚。 TH0只可用作定时功能,占用定时器T1的控制位TR1和T1的中断标 志位TF1,其启动和关闭仅受TRl的控制。
ORG 0000H
AJMP
AJMP
MAIN
;T0中断服务程序入口 ;主程序开始 ;T0定时100ms IP0
ORG 000BH ORG 0030H MAIN:CLR P1.7
MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H
SETB
SETB
ET0
EA
5.4 8XX51定时/计数器的应用程序设计
本章介绍的主要内容
★ ★

定时计数器结构和工作原理 定时计数器的控制寄存器
定时计数器的应用编程
5· 1 8XX51定时/计数器结构和工作原理
★51系列单片机片内有两个十六位定时/计数器:定时器0(T0) 和定时器1(T1)。 ★两个定时器都有定时或事件计数的功能,可用于定时控制、 延时、对外部事件计数和检测等场合。 ★定时/计数器实际上是16位加1计数器。 T0由2个8位持殊功能寄存器TH0和TL0构成, T1由2个8位持殊功能寄存器TH1和TL1构成。 ★每个定时器都可由软件设置为定时工作方式或 计数工作方式。

《单片机原理及应用》第5章 定时器及应用

《单片机原理及应用》第5章 定时器及应用

计数工作方式
通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。 当输入脉冲信号产生由1至0的下降沿时定时器的值加1。 CPU检测一个1至0的跳变需要两个机器周期,故最高计 数频率为振荡频率的1/24。 为了确保某个电平在变化之前被采样一次,要求电平保持 时间至少是一个完整的机器周期。 对输入脉冲信号的基本要求如图5-2所示。
外部事件
计数电路 时间单位脉冲 单片机 计数完成信号
5.2 89C51定时器概述
• 89C51有两个16位的定时器/计数器,即定时器0(T0)和 定时器1(T1)。它们实际上都是16位加1计数器。 • T0由两个8位特殊功能寄存器TH0和TL0构成;T1由TH1 和TL1构成。
• 每个定时器都可由软件设置为定时工作方式或计数工作方
• 例:当P3.4引脚上的电平发生负跳变时,从P1.0输出一个 500μs的同步脉冲。请编程序实现该功能。查询方式, fosc=6MHz。
解:(1)模式选择 选T0为模式2,外部事件计数方式。当P3.4引脚上的电平发生 负跳变时,T0计数器加1,溢出标志TF0置1;然后改变T0为 500μs定时工作方式,并使P1.0输出由1变为0。T0定时到产生 溢出,使P1.0输出恢复高电平,T0又恢复外部事件计数方式。
T0的低5位:01100B=0CH即(TL0)=0CH T0的高8位:11110000B=F0H即(TH0)=F0H
(2)计算最大定时时间T
T0的最大定时时间对应于初值为0. 则:T=213×1/6 × 10-6×12=16.384ms
例2:利用T0的工作模式0产生1ms定时,在P1.0引脚输出 周期为2ms的方波。设单片机晶振频率fosc=12MHz。编 程实现其功能。 解:要在P1.0引脚输出周期为2ms的方波,只要使P1.0每隔 1ms取反一次即可。 (1)选择工作模式 T0的模式字为TMOD=00H,即 M1M0=00,C/T=0,GATE=0,其余位为0。 (2)计算1ms定时时T0的初值

第5章MCS-51的中断系统

第5章MCS-51的中断系统

例:写出INT1为低电平触发的中断系统初始化程序
SETB EA; SETB EX1 SETB PX1 CLR IT1
二、 中断服务程序
1、编写中断程序应注意以下几点: ① 为了要跳到用户设计的中断服务程序,在相应入口 地址安排一条跳转指令; ② 在中断服务程序的末尾,安排一条返回指令RETI; ③ 由于在响应中断时,CPU只自动保护断点,所以 CPU的其他现场的保护和恢复也必须由用户在中断服 务程序中安排。
1、T0/T1中断撤除:自动清除TF0 TF1
2、TX/RX中断撤除:不能自动撤除,必须软件清“0” CLR RI CLR TI ANL SCON ,#0FCH
3、外部中断请求的撤除
对于负边沿触发的外部中断,CPU在响应中断后是 用硬件自动清除中断请求标志IE0或IE1。
电平触发时,虽然自动清除中断请求标志IE0或IE1。但 不及时撤除低电平的话会重复响应中断,必须采取措施。
中断允许寄存器IE的单元地址是A8H,各控制位也可 位寻址,故既可以用字节传送指令也可以用位操作指 令来对各个中断请求加以控制。 例:开放T/C1的溢出中断
MOV IE,#88H;
SETB EA SETB ET1
二、 对中断优先级的控制
MCS-51具有两个中断优先级,可由软件设置每个中断 源为高优先级中断或低优先级中断,可实现二级中断 嵌套。
可在中断服务程序开 头安排如下程序: INSVR:ANL P1 ,#0FEHORL Fra bibliotek1,#01H …
RETI END
§4 中断系统的初始化及应用
一、中断系统的初始化 中断初始化是指用户对TCON、SCON、IE等特殊功能 寄存器中的各控制位进行赋值。
中断系统的初始化步骤: 1、 CPU开中断或关中断 2、 某中断源中断请求的允许或禁止(屏蔽) 3、 设定所用中断的中断优先级 4、若为外部中断,则应规定低电平还是负边沿的中断 触发方式
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
系统的处理过程及中断系统的使用方法,了解外部中断源 的扩展方法 了解定时器/计数器的基本结构及工作原理,掌握与定时器 /计数器相关的特殊功能寄存器的功能 了解定时器/计数器的方式0和方式3,掌握定时器/计数器 的方式1和方式2,掌握定时器/计数器的使用方法
第5章 单片机中断和定时器/计数器
MCS-51单片机通过中断请求标志寄存器TCON、SCON, 中断允许控制寄存器IE和中断优先级控制寄存器IP对 中断实现控制。
1.中断请求标志寄存器
(1)TCON中的中断标志位
D7 D6 D5 D4 D3 D2 D1 D0
(88H) 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
TCON TF1
源允许 总允许
优先级Leabharlann 中断源硬件查询第5章 单片机中断和定时器/计数器
中断源
INT0—外部中断请求0,由引脚P3.2提供,中断 请求标志为IE0,由IT0选择其有效方式。
INT1—外部中断请求1,由引脚P3.3提供,中断 请求标志为IE1,由IT1选择其有效方式。
T0—定时器/计数器T0溢出中断请求,中断请求 标志为TF0。
第5章 单片机中断和定时器/计数器
②IE0—外部中断0的中断请求标志位 当CPU检测到引脚上出现有效的中断信号时(若IT0=0,且检测到
引脚为低电平时;若IT0=1,且检测到引脚当出现负跳变时), IE0由硬件置“1”,向CPU申请中断。 ③IT1—外部中断1触发方式控制位 其意义与IT0类似。 ④IE1—外部中断1的中断请求标志位 其意义与IE0类似。 ⑤TF0—T0溢出中断请求标志位 当启动定时器/计数器T0计数后,T0从初值开始加1计数,当最高 位产生溢出时,TF0由硬件置“1”,向CPU申请中断。 CPU响应TF0中断时,由硬件清“0”TF0。 ⑥TF1—T1溢出中断请求标志位 功能和TF0类似。
1 IT0 0 INT0
1
T0
1 0 IT1 INT1 1
TCON IE0 TF0 IE1
IE
IP
EX0
PX0 1
1
1
0
ET0 1
EX1 1
PT0 1 0
PX1 1 0
自 然 优 先 级
中断源
硬件查询
ET1
PT1 1
T1
TF1
1
0
自 然

TX
TI
ES
PS 1

RX

RI
1
级 0
EA SCON
中断标志
第5章 单片机中断和定时器/计数器
(2)SCON中的中断标志位
D7 D6 D5 D4 D3 D2 D1 D0 (98H) 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
SCON
TI RI
①TI—串行口发送中断标志位
每当串行口发送完一帧串行数据后,TI由硬件自动置“1”。CPU 响应该中断时,不能自动清除TI,必须用软件对TI标志位清 “0”。
边沿触发方式时,在相继两次采样中,先采样到外部中断输入为 高电平,下一个周期采样到为低电平,则置位中断申请标志IE0。 若CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中 断时才清“0”。另外,为了保证下降沿能够被可靠地采样到,外部 中断源引脚上的负脉冲宽度至少要保持一个机器周期。
5.2 MCS-51单片机的中断系统 5.2.1 中断系统的基本概念和基本结构
1.中断系统的基本概念
当CPU正在处理某件事情的时候,单片机外部或内部发生
的某一事件请求CPU迅速去处理
CPU暂时中止当前的工作,转去处理所发生的事件
事件处理完毕后,CPU再回到刚刚被暂停的地方继续原来
的工作 上述过程叫做中断
TF0
IE1 IT1 IE0 IT0
第5章 单片机中断和定时器/计数器
与中断有关的标志位的含义如下:
①IT0—外部中断0触发方式控制位 当IT0=0时,外部中断0为电平触发方式 当IT0=1时,外部中断0为边沿触发方式
两种触发方式的比较: 电平触发方式时,外部中断源的有效低电平必须保持到请求获得 响应时为止,否则就会漏掉;在中断服务结束之前,中断源的有效 低电平必须撤除,否则中断返回之后将再次产生中断。
第5章 单片机中断和定时器/计数器
采用中断技术可以使单片机实现以下功能: (1)分时操作。 (2)实时处理。 (3)故障处理。
第5章 单片机中断和定时器/计数器
2.中断系统的基本结构
MCS-51单片机的中断系统包括5个中断源,2个中断优先级,
4个用于中断控制的寄存器IE、IP、TCON和SCON。
主程序
响应 中断请求
断点
中断服 务程序
返回主程序
RETI
第5章 单片机中断和定时器/计数器
能引起CPU产生中断的事件称为中断源。 中断源向CPU提出的处理请求,称为中断请求。 CPU接受中断请求,暂时中止自身的事情转去处理事件的过程, 称为中断响应过程。 CPU对事件的整个处理过程,称为中断服务。 为实现中断而编写的服务程序叫做中断服务程序。 事件处理完毕,再回到原来被中断的地方,称为中断返回。 单片机是通过相应的硬件电路和软件设置来完成中断功能的, 所以将能完成中断功能的硬件系统和软件系统统称为中断系统。
T1—定时器/计数器T1溢出中断请求,中断请求 标志为TF1。
TX/RX—串行中断请求,中断请求标志为TI或RI。
第5章 单片机中断和定时器/计数器
通常,外部中断源有以下几种: (1)I/O设备中断源。 (2)控制对象中断源。 (3)故障中断源。
第5章 单片机中断和定时器/计数器 5.2.2 中断系统的控制与实现
5.1 概述
中断系统在计算机系统中起着十分重要的作用。MCS-51单片 机具备一套完善的中断系统,包括5个中断源,2个中断优先级, 可以实现2级中断嵌套。
在工业检测、控制领域中,许多场合都要用到计数或定时功能。 MCS-51单片机片内集成两个可编程的定时器/计数器。
第5章 单片机中断和定时器/计数器
第5章 单片机中断和定时器/计数器
第5章 中断和定时器/计数器
第5章 单片机中断和定时器/计数器
主要内容: 5.1 概述 5.2 MCS-51单片机的中断系统 5.3 MCS-51单片机的定时器/计数器
第5章 单片机中断和定时器/计数器
重点、难点:
了解中断系统的基本概念及中断系统的基本结构 掌握与中断系统相关的特殊功能寄存器的功能,掌握中断
相关文档
最新文档