单片微机原理与应用part-04课件.ppt

上传人(卖家):三亚风情 文档编号:3504472 上传时间:2022-09-08 格式:PPT 页数:57 大小:1.56MB
下载 相关 举报
单片微机原理与应用part-04课件.ppt_第1页
第1页 / 共57页
单片微机原理与应用part-04课件.ppt_第2页
第2页 / 共57页
单片微机原理与应用part-04课件.ppt_第3页
第3页 / 共57页
单片微机原理与应用part-04课件.ppt_第4页
第4页 / 共57页
单片微机原理与应用part-04课件.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、 2022-7-2612022-7-262【基本知识点与要求【基本知识点与要求】(1)理解中断的概念和中断的功能。理解中断的概念和中断的功能。(2)掌握掌握51系列单片机的中断系统结构、中断响应、中断处理、系列单片机的中断系统结构、中断响应、中断处理、中断系统的初始化和应用方法。中断系统的初始化和应用方法。【重点与难点【重点与难点】重点和难点是重点和难点是51系列单片机的中断系统结构、中断响应、系列单片机的中断系统结构、中断响应、中断处理、中断系统的初始化和应用方法。中断处理、中断系统的初始化和应用方法。中断系统是计算机系统实现人机交互、处理实时性任务的中断系统是计算机系统实现人机交互、处理实

2、时性任务的重要组成部分。本章首先介绍重要组成部分。本章首先介绍中断的概念、特点和功能中断的概念、特点和功能;其次;其次介绍介绍5151系列单片机的中断系统结构、中断源与中断控制系列单片机的中断系统结构、中断源与中断控制;然后;然后接着对接着对中断的处理过程中断的处理过程进行详细的介绍;最后结合举例介绍进行详细的介绍;最后结合举例介绍5151系列单片机的中断系统应用系列单片机的中断系统应用。2022-7-2634.1.1 4.1.1 中断的概念中断的概念 中断技术是计算机在实时处理和实时控制中不可缺少的一中断技术是计算机在实时处理和实时控制中不可缺少的一 个很重要的技术,中断系统是计算机中实现中

3、断功能的各种软、个很重要的技术,中断系统是计算机中实现中断功能的各种软、硬件的总称。计算机采用中断技术能够极大的提高工作效率和处硬件的总称。计算机采用中断技术能够极大的提高工作效率和处 理问题的灵活性。理问题的灵活性。2022-7-264 CPU正在执行程序时,计算机外部或内部发生某一事件,正在执行程序时,计算机外部或内部发生某一事件,CPU暂时中止当前的工作,转到中断服务程序处理所发生的事件。暂时中止当前的工作,转到中断服务程序处理所发生的事件。处理完该事件后,再回到原来被中止的地方,继续原来的工作,处理完该事件后,再回到原来被中止的地方,继续原来的工作,这个过程称为这个过程称为中断中断。C

4、PU处理事件的过程,称为处理事件的过程,称为CPU的中断响应的中断响应过程过程。某人看书某人看书电话铃响电话铃响暂停看书暂停看书书中作记号书中作记号电话谈话电话谈话谈话结束谈话结束继续看书继续看书 执行主程序执行主程序 中断信号中断信号INTx=0 暂停执行主程序暂停执行主程序 当前当前PC值入栈值入栈 执行中断程序执行中断程序 返回主程序返回主程序中断过程中断过程中断请求中断请求中断响应中断响应保护断点保护断点中断服务中断服务中断返回中断返回2022-7-265中断源提出的服务请求称为中断源提出的服务请求称为中断请求中断请求。原来正在运行的程序称为主程序,原来正在运行的程序称为主程序,主程序

5、被断开的位置(地址)主程序被断开的位置(地址)称为称为断点断点。向向CPU发出中断请求的来源,或引起中断的原因称为发出中断请求的来源,或引起中断的原因称为中断源中断源。中断源可分为两大类:一类来自计算机中断源可分为两大类:一类来自计算机内部,称之为内部,称之为内部中断源内部中断源;另一类来自;另一类来自计算机外部,称之为计算机外部,称之为外部中断源外部中断源。一般微型计算机中断处理包括一般微型计算机中断处理包括4个个步骤:中断请求、中断响应、中断处理步骤:中断请求、中断响应、中断处理和中断返回。中断过程示意图和中断返回。中断过程示意图 主程序 中断服务程序 返 回 主 程 序 主程序 断 点

6、RETI 响 应 中 断 请 求 2022-7-266中断系统是指能实现中断功能的硬件和软件。中断系统是指能实现中断功能的硬件和软件。1.中断系统的功能中断系统的功能(1)进行中断优先级排队)进行中断优先级排队 当有几个中断源同时向当有几个中断源同时向CPUCPU发出中断请求,或者发出中断请求,或者CPUCPU正在处理正在处理某中断源服务程序时,又有另一中断源申请中断,那么某中断源服务程序时,又有另一中断源申请中断,那么CPUCPU既要既要能够区分每一个中断源,且要能够确定优先处理哪一个中断源,能够区分每一个中断源,且要能够确定优先处理哪一个中断源,即即中断的优先级中断的优先级。按中断源级别高

7、低依次响应的过程称为优先级按中断源级别高低依次响应的过程称为优先级排队。排队。这个过程可以由硬件电路实现,也可以由软件查询来实现。这个过程可以由硬件电路实现,也可以由软件查询来实现。(2)实现中断嵌套)实现中断嵌套2022-7-267 当当CPU响应了某一中断请求进行中断处理时,若有优先级更高的中响应了某一中断请求进行中断处理时,若有优先级更高的中断源发出请求,则断源发出请求,则CPU 会停止正在执行的中断服务程序,并保留此程会停止正在执行的中断服务程序,并保留此程序的断点,转去执行优先级更高的中断服务程序,等处理完这个高优先序的断点,转去执行优先级更高的中断服务程序,等处理完这个高优先级的服

8、务程序后,再返回继续执行被暂停的中断服务程序。这个过程称级的服务程序后,再返回继续执行被暂停的中断服务程序。这个过程称为为中断嵌套中断嵌套。2022-7-268(3 3)自动响应中断自动响应中断 当某一个中断源发出中断请求时,当某一个中断源发出中断请求时,CPU将将根据有关条件根据有关条件(是(是否允许中断、中断的优先级等)进行相应的判断,以决定是否响否允许中断、中断的优先级等)进行相应的判断,以决定是否响应该中断请求。若响应该中断请求,应该中断请求。若响应该中断请求,CPU在在执行完当前指令执行完当前指令后,后,再把再把断点处的断点处的PC值压入堆栈值压入堆栈保存起来,这个过程称为保存起来,

9、这个过程称为保护断点保护断点,由硬件自动完成。由硬件自动完成。在中断服务程序开始,由用户把相关寄存器和在中断服务程序开始,由用户把相关寄存器和标志位的状态也压入堆栈保存起来,这称为标志位的状态也压入堆栈保存起来,这称为保护现场保护现场。随后开始。随后开始执行中断服务程序。执行中断服务程序。(4 4)实现中断返回实现中断返回 执行中断服务程序到最后时,需要从堆栈中恢复相关寄存器执行中断服务程序到最后时,需要从堆栈中恢复相关寄存器和标志位的状态,这称为和标志位的状态,这称为恢复现场恢复现场。再执行。再执行RETI指令,恢复指令,恢复PC值,即值,即恢复断点,恢复断点,继续执行主程序。继续执行主程序

10、。2022-7-2692.2.中断的特点中断的特点(1)可以提高)可以提高CPU的工作效率的工作效率(2)实现实时处理)实现实时处理(3)处理故障)处理故障2022-7-26104.2.1 4.2.1 中断系统结构与中断源中断系统结构与中断源 1.511.51系列单片机的中断系统结构系列单片机的中断系统结构 5151系列单片机的系列单片机的中断中断系统是系统是8位单片机中功能较强的一种,位单片机中功能较强的一种,包括包括中断源中断源、中断允许寄存器中断允许寄存器IEIE、中断优先级寄存器中断优先级寄存器IPIP、中断中断矢量矢量等。可以提供等。可以提供5 5个中断源个中断源(AT89S52有有

11、6个中断源),具有个中断源),具有2 2个中断优先级个中断优先级,可实现,可实现2 2级中断服务程序嵌套级中断服务程序嵌套。AT89S51单片机单片机的中断系统结构示意图如图的中断系统结构示意图如图4-3所示。它有所示。它有4个用于中断控制的个用于中断控制的寄存器寄存器IEIE、IPIP、TCONTCON和和SCONSCON,用来控制中断的类型、中断的开,用来控制中断的类型、中断的开关和各种中断的优先级别。关和各种中断的优先级别。2022-7-2611 IE0 PX0 EA EX0 1 中断 矢量地址 1 0 ET0 EX1 ET1 ES PT0 PX1 PT1 PS 1 0 1 0 1 0

12、1 0 自然优先级 中断 矢量地址 自然优先级 IT0=1 IT0=0 TF0 IE1 1 IT1=1 IT1=0 TF1 TI RI T0 T1 INT1 TX RX TCON IE IP SCON 中断标志 各中断 源允许 总允许 优先级 硬件查询 PC 低级中断请求 PC 高级中断请求 INT0 1 2022-7-26122.512.51系列单片机的中断源系列单片机的中断源AT89S51单片机的单片机的5个中断源为个中断源为:(1 1)外部中断源外部中断源0请求请求,通过,通过P3.2引脚输入。引脚输入。(2 2)外部中断源外部中断源1请求请求,通过,通过P3.3引脚输入。引脚输入。外部

13、中断请求有二种外部中断请求有二种信号触发方式信号触发方式,即,即电平触发电平触发方式和方式和边沿边沿触发触发方式,可通过设置有关控制位进行定义。方式,可通过设置有关控制位进行定义。当设定为当设定为电平触发方式电平触发方式时,若时,若CPU从或引脚上采样到从或引脚上采样到有效的有效的低电平低电平,则中断标志位置,则中断标志位置1,并向,并向CPU提出中断请求;当设定为提出中断请求;当设定为边沿触发方式边沿触发方式时,若时,若CPU从或引脚上采样到从或引脚上采样到有效的负跳变信号有效的负跳变信号,则中断标志位置则中断标志位置1,并向,并向CPU提出中断请求提出中断请求。(3 3)TF0定时器计数器

14、定时器计数器T0溢出中断请求标志。溢出中断请求标志。2022-7-2613(4 4)TF1TF1定时器计数器定时器计数器T1T1溢出溢出中断请求标志。中断请求标志。定时中断是为满足定时或计数的需要而设置的。定时中断是为满足定时或计数的需要而设置的。当定时器当定时器/计数器发生溢出时,表明设定的定时时间到或计数值已满计数器发生溢出时,表明设定的定时时间到或计数值已满,这,这时定时器计数器溢出中断请求标志置时定时器计数器溢出中断请求标志置1,并向,并向CPU申请中断。申请中断。由于定时器由于定时器/计数器在单片机芯片内部,所以定时中断计数器在单片机芯片内部,所以定时中断属于内部属于内部中断中断。(

15、5 5)TITIRIRI串行口中断请求串行口中断请求。串行口接收中断标志。串行口接收中断标志RI,串行口发送中断标志串行口发送中断标志TI。串行口中断是为串行数据传送的需要而设置的。串行口中断是为串行数据传送的需要而设置的。每当串行每当串行口发送或接收完毕一帧串行数据时,就产生一次中断请求口发送或接收完毕一帧串行数据时,就产生一次中断请求。2022-7-26144.2.2 中断控制中断控制 AT89S51单片机中与其中断系统密切相关的特殊功能寄存器有4个:(1 1)定时器控制寄存器定时器控制寄存器TCON(2 2)串行口控制寄存器串行口控制寄存器SCON(3 3)中断允许寄存器中断允许寄存器I

16、E(4 4)中断优先级寄存器中断优先级寄存器IP 其中,TCON和SCON有一部分位用于中断控制。通过对4个特殊功能寄存器的各位进行置位或复位操作,可实现各种中断控制功能。2022-7-2615 定时器控制寄存器定时器控制寄存器TCON的作用是控制定时器的启动和停止、的作用是控制定时器的启动和停止、保存保存T0和和T1的溢出中断标志和外部中断的中断标志、触发方式。的溢出中断标志和外部中断的中断标志、触发方式。其各位的位地址和定义如下:其各位的位地址和定义如下:(1)IT0外部中断外部中断0的触发方式选择位的触发方式选择位。该位可由软件置。该位可由软件置“1”或清或清“0”(SETB IT0或或

17、CLR IT0)。位地址位地址8FH8EH8DH8CH8BH8AH89H88HTCON(88H)TF1TF0IE1IT1IE0IT01 1定时器控制寄存器定时器控制寄存器TCONTCON2022-7-2616 IT0=1IT0=1 为边沿触发方式,负跳变有效为边沿触发方式,负跳变有效。在边沿触发方式中,。在边沿触发方式中,CPU响应中断后硬件自动使响应中断后硬件自动使IE0清清0。要求外部输入的高电平或低要求外部输入的高电平或低电平的持续时间必须大于电平的持续时间必须大于12个时钟周期,才能保证检测到先高后个时钟周期,才能保证检测到先高后低的负跳变。低的负跳变。(2 2)IE0外部中断请求外部

18、中断请求0的中断请求标志位。的中断请求标志位。IE0=0,无中断请求。,无中断请求。IE0=1,有中断请求。当,有中断请求。当CPU响应该中断时,则程序转向中响应该中断时,则程序转向中断服务程序。断服务程序。IT0=0IT0=0 为电平触发方式,低电平有效为电平触发方式,低电平有效。在电平触发方式中,。在电平触发方式中,CPU响应中断后硬件自动使响应中断后硬件自动使IE0清清0,但是在中断返回前必须撤销,但是在中断返回前必须撤销引脚上的低电平,否则将再次引起中断,导致出错。引脚上的低电平,否则将再次引起中断,导致出错。2022-7-2617(5)TF0T0溢出中断请求标志位溢出中断请求标志位。

19、T0可以对内部时钟信号或可以对内部时钟信号或从外部输入从外部输入(P3.4)的脉冲进行计数。当计数器计数溢出时,即表的脉冲进行计数。当计数器计数溢出时,即表明定时时间到或计数值已满,这时由硬件将明定时时间到或计数值已满,这时由硬件将TF0置置“1”,并向,并向CPU发出中断请求,发出中断请求,CPU响应响应TF0中断时,硬件自动将中断时,硬件自动将TF0清清“0”,TF0也可由软件清也可由软件清“0”。(6)TF1T1的溢出中断请求标志位的溢出中断请求标志位,功能和,功能和TF0类似。类似。51系列单片机复位后系列单片机复位后TCON为为0,初始无中断标志位。,初始无中断标志位。(3 3)IT

20、1外部中断外部中断1的请求方式选择位的请求方式选择位,其含义、设置与,其含义、设置与IT0类类似。似。(4 4)IE1外部中断请求外部中断请求1的中断请求标志位的中断请求标志位,其含义、设置与,其含义、设置与IE0类似。类似。2022-7-2618 2.串行口控制寄存器串行口控制寄存器 SCON SCON中低两位为串行接口的中低两位为串行接口的接收中断和发送中断标志接收中断和发送中断标志RI和和T1。其各位的位地址和定义如下:。其各位的位地址和定义如下:位地址位地址9FH 9EH 9DH 9CH 9BH 9AH 99H 98H SCON(98H)TI RI RI串行口接收中断请求标志位串行口接

21、收中断请求标志位。当当串行口接收完一帧数据后,串行口接收完一帧数据后,RI由硬件自动置由硬件自动置1,向,向CPU申申请中断请中断。转向中断服务程序后,。转向中断服务程序后,RI必须用软件清必须用软件清0。2022-7-2619 TI串行口发送中断请求标志位串行口发送中断请求标志位。当当发送完一帧串行数据后,发送完一帧串行数据后,TI由硬件自动置由硬件自动置1,向,向CPU申请申请中断中断。转向中断服务程序后,。转向中断服务程序后,TI必须用软件清必须用软件清0。串行口中断请求由串行口中断请求由TI和和RI的逻辑或得到的逻辑或得到。即无论是发送中。即无论是发送中断标志还是接收中断标志,都会产生

22、串行口中断请求。断标志还是接收中断标志,都会产生串行口中断请求。3.3.中断允许控制寄存器中断允许控制寄存器IE 51系列单片机对系列单片机对中断源的开放或禁止是由中断允许寄存器中断源的开放或禁止是由中断允许寄存器IE控制的控制的。中断允许寄存器。中断允许寄存器IE对中断对中断的开放或禁止的开放或禁止实现两级控制实现两级控制所谓两级控制,就是除有一个总中断控制位所谓两级控制,就是除有一个总中断控制位EA(IE.7)外,还)外,还有有5个中断源各自的中断允许控制位(见图个中断源各自的中断允许控制位(见图4-2)。)。IE中位地址中位地址和定义如下:和定义如下:2022-7-2620位地址位地址A

23、FHAEHADHACHABH AAHA9HA8HIE(A8H)EAESET1EX1ET0EX0 IE中位的含义如下:中位的含义如下:EX0 外部中断外部中断0中断允许位中断允许位。EX0=1,允许外部中断,允许外部中断0中断;中断;EX0=0,禁止其中断。,禁止其中断。ET0 定时器计数器定时器计数器T0的溢出中断允许位的溢出中断允许位。ET0=1,允许定时器计数器,允许定时器计数器T0溢出时提出的中断请求;溢出时提出的中断请求;ET0=0,禁止其中断。,禁止其中断。2022-7-2621EXl 外部中断外部中断1 1中断允许位中断允许位。EXl=1,允许外部中断,允许外部中断1中断;中断;E

24、Xl=0,禁止其中断。,禁止其中断。ETl 定时器计数器定时器计数器T1的溢出中断允许位的溢出中断允许位。ETl=1,允许定时器计数器,允许定时器计数器T1溢出时提出中断请求;溢出时提出中断请求;ETl=0,禁止其中断。,禁止其中断。EA 中断允许总控制位中断允许总控制位。EA=0时,时,CPU禁止所有的中断请求;禁止所有的中断请求;EA=1时,时,CPU开放中断。此时每个中断源的中断是否允许,开放中断。此时每个中断源的中断是否允许,还取决于各中断源的中断允许控制位的状态。还取决于各中断源的中断允许控制位的状态。ES 串行口中断允许位。串行口中断允许位。ES=1,允许串行口中断;,允许串行口中

25、断;ES=0,禁止其中断。,禁止其中断。2022-7-2622【注意注意】51系列系列单片机复位后寄存器单片机复位后寄存器IE被清被清0,所以单片机是处,所以单片机是处于禁止中断的状态。于禁止中断的状态。若要开放中断,必须使若要开放中断,必须使EA位为位为1且相应的中且相应的中断允许位也为断允许位也为1。开、关中断既可使用位操作指令,也可使用字。开、关中断既可使用位操作指令,也可使用字节操作指令实现。节操作指令实现。【例【例4-1】若允许片内若允许片内2个定时器个定时器/计数器中断,禁止其它中断源的计数器中断,禁止其它中断源的中断请求。编写设置中断请求。编写设置IE的相应程序段。的相应程序段。

26、解:解:(1)用字节操作指令来编写:用字节操作指令来编写:MOV IE,#8AH或者用:或者用:MOV 0A8H,#8AH ;A8H为为IE寄存器字节地址寄存器字节地址2022-7-2623(2)用位操作指令来编写如下程序段:用位操作指令来编写如下程序段:CLR ES ;禁止串行口中断;禁止串行口中断 CLR EX1 ;禁止外部中断;禁止外部中断1中断中断CLR EX0 ;禁止外部中断;禁止外部中断0中断中断 SETB ET0 ;允许定时器;允许定时器/计数器计数器T0中断中断 SETB ET1 ;允许定时器;允许定时器/计数器计数器T1中断中断 SETB EA ;CPU开中断开中断4.中断优

27、先级控制寄存器中断优先级控制寄存器IP 51 51系列单片机有系列单片机有两个中断优先级两个中断优先级,即,即高优先级高优先级和和低优先级低优先级。每个中断源的优先级每个中断源的优先级由由IPIP的状态决定的状态决定,通过对中断优先级寄存器,通过对中断优先级寄存器IP(IP(字节地址为字节地址为B8H)B8H)赋值来设定各中断源的优先级。赋值来设定各中断源的优先级。IPIP的低的低5 5位位为各中断源优先级的控制位,可用软件来设置。各位的含义如下:为各中断源优先级的控制位,可用软件来设置。各位的含义如下:2022-7-2624位地址位地址BFHBEHBDHBCHBBHBAHB9HB8HIP(B

28、8H)PSPT1PX1PT0PX0 PX0外部中断外部中断0的中断优先级控制位的中断优先级控制位。PX01,外部中断,外部中断0为高中断优先级;为高中断优先级;PX00,外部中断,外部中断0为低中断优先级。为低中断优先级。PT0定时器计数器定时器计数器T0中断优先级控制位中断优先级控制位。PT01,定时器计数器,定时器计数器T0为高中断优先级;为高中断优先级;PT01,为低中断优先级。,为低中断优先级。PX1外部中断外部中断0的中断优先级控制位。的中断优先级控制位。PX1 1,外部中断,外部中断1为高中断优先级;为高中断优先级;PX1 0,外部中断,外部中断1为低中断优先级。为低中断优先级。2

29、022-7-2625【注意【注意】51系列单片机复位后寄存器系列单片机复位后寄存器IP被清被清0,所有中断源均,所有中断源均设定为低优先级中断。设定为低优先级中断。PT1定时器计数器定时器计数器T1中断优先级控制位中断优先级控制位。PTl=1,定时器计数器,定时器计数器T1为高中断优先级;为高中断优先级;PTl=0,为低中断优先级。,为低中断优先级。PS串行口中断优先级控制位。串行口中断优先级控制位。PS1,串行口为高中断优先级;,串行口为高中断优先级;PS0,为低中断优先级。,为低中断优先级。2022-7-2626 51系列单片机通常可以和多个中断源相连,某一瞬间可能会系列单片机通常可以和多

30、个中断源相连,某一瞬间可能会发生发生2 2个或个或2 2个以上中断源同时请求中断个以上中断源同时请求中断的情况。的情况。当当两个不同优先级的中断源两个不同优先级的中断源同时提出中断请求时,同时提出中断请求时,CPU先响先响应优先级高的中断请求,后响应优先级低的中断请求应优先级高的中断请求,后响应优先级低的中断请求;当;当几个同几个同一优先级的中断源一优先级的中断源同时向同时向CPU 请求中断时,请求中断时,CPU将按如下的顺将按如下的顺序依次响应序依次响应。中断源中断源 同级内优先级同级内优先级 外部中断外部中断0 最高优先级最高优先级定时器计数器定时器计数器T0溢出中断溢出中断外部中断外部中

31、断1 定时器计数器定时器计数器T1溢出中断溢出中断串行口中断串行口中断 最低优先级最低优先级 2022-7-2627 当当CPU正在执行一个低优先级中断服务程序时,它能被高优正在执行一个低优先级中断服务程序时,它能被高优先级的中断源所中断,在先级的中断源所中断,在51单片机内部,当多个中断源处于同单片机内部,当多个中断源处于同一中断级别时,由一中断级别时,由自然优先级自然优先级确定中断嵌套顺序。确定中断嵌套顺序。中断优先原则:中断优先原则:(1)低级不打断高级;高级可以中断低级,实现中断的嵌套。)低级不打断高级;高级可以中断低级,实现中断的嵌套。(2)高级不睬低级。)高级不睬低级。(3)同级中

32、断由自然优先级确定中断嵌套顺序。)同级中断由自然优先级确定中断嵌套顺序。(4)同级、同时中断,按照)同级、同时中断,按照事先约定事先约定。【例【例4-24-2】假设允许外部中断假设允许外部中断0中断,并设定它为高级中断,采中断,并设定它为高级中断,采用边沿触发方式,其它中断源为低级中断。编写中断初始化程用边沿触发方式,其它中断源为低级中断。编写中断初始化程序。序。2022-7-2628SETB EA ;CPU开中断开中断SETB EX0;允许外部中断;允许外部中断0产生中断产生中断SETB PX0;外部中断;外部中断0为高优先级中断为高优先级中断SETB IT0 ;外部中断;外部中断0为边沿触

33、发方式为边沿触发方式4.3 中断处理过程中断处理过程4.3.1 中断响应与过程中断响应与过程 中断响应是在满足中断响应是在满足CPU的中断响应条件后,对中断源中断的中断响应条件后,对中断源中断请求的应答。其中的任务包括保护断点和将程序转向中断服务程请求的应答。其中的任务包括保护断点和将程序转向中断服务程序的入口地址,该入口地址也称为中断矢量。序的入口地址,该入口地址也称为中断矢量。2022-7-2629 CPU执行程序的过程中,在每个机器周期的执行程序的过程中,在每个机器周期的S5P2期间顺序期间顺序采样每个中断源,这些采样值在下一个机器周期采样每个中断源,这些采样值在下一个机器周期S6期间将

34、按优先期间将按优先级或内部顺序依次查询,若查询到某个中断标志为级或内部顺序依次查询,若查询到某个中断标志为1,将在接下,将在接下来的一个机器周期来的一个机器周期S1期间按优先级进行中断处理。中断系统通过期间按优先级进行中断处理。中断系统通过硬件自动将相应的中断服务程序的入口地址装入硬件自动将相应的中断服务程序的入口地址装入PC,以便进入相,以便进入相应的中断服务程序。应的中断服务程序。1.1.中断响应的条件中断响应的条件 单片机响应中断的前提条件是中断源有请求,单片机响应中断的前提条件是中断源有请求,CPU总中断允总中断允许开放许开放(即即EA=1),且中断允许寄存器,且中断允许寄存器IE相应

35、位为相应位为1。此外,还必。此外,还必须满足下列须满足下列3个条件:个条件:2022-7-2630(1)无高级中断服务程序在执行中;)无高级中断服务程序在执行中;(2)现行指令执行到最后)现行指令执行到最后1个机器周期且已结束;个机器周期且已结束;(3)若现行指令为)若现行指令为RETI或需访问特殊功能寄存器或需访问特殊功能寄存器IE或或IP的的指令时,执行完该指令且紧随其后的另指令时,执行完该指令且紧随其后的另1条指令也已执行完。条指令也已执行完。2.中断响应过程中断响应过程 若满足中断响应的条件,若满足中断响应的条件,CPU响应中断。中断响应时,响应中断。中断响应时,首先首先执行一条由中断

36、系统提供的执行一条由中断系统提供的LCALL指令把被中断程序的断点压入指令把被中断程序的断点压入堆栈。然后,相应的中断服务程序的入口地址装入堆栈。然后,相应的中断服务程序的入口地址装入PC,程序转至,程序转至中断服务程序入口中断服务程序入口。2022-7-2631 5个中断源相应的中断服务程序入口地址是固定的,如下表个中断源相应的中断服务程序入口地址是固定的,如下表所示。从表可知,所示。从表可知,两相邻的中断服务程序入口地址的间隔为两相邻的中断服务程序入口地址的间隔为8个个单元,即,若要在其中存放相应的服务程序,其长度不得超过单元,即,若要在其中存放相应的服务程序,其长度不得超过8个字节个字节

37、。通常,中断服务程序的长度不止。通常,中断服务程序的长度不止8个字节,就个字节,就需要在相需要在相应的中断服务程序入口地址中放一条长跳转指令应的中断服务程序入口地址中放一条长跳转指令LJMP。中断源中断源中断服务程序入口地址中断服务程序入口地址外部中断源外部中断源00003HT0溢出中断溢出中断000BH外部中断源外部中断源10013HT1溢出中断溢出中断001BH串行口中断串行口中断0023H2022-7-2632编写含有中断服务程序的格式一般如下:编写含有中断服务程序的格式一般如下:ORG 0000H ;主程序起始地址;主程序起始地址 SJMP MAIN ORG 0003H ;不同的中断服

38、务程序入口地址不同的中断服务程序入口地址 AJMP 1NJERRVP ORG 1000H ;主程序存放起始地址;主程序存放起始地址MAIN:;主程序;主程序HERE:SJMP HERE ;主程序结束;主程序结束1NJERRVP:;中断服务程序起始;中断服务程序起始 RETI2022-7-26334.3.2 中断处理中断处理 从开始执行中断服从开始执行中断服务程序,到执行务程序,到执行RETI指指令为止的过程就是令为止的过程就是中断中断处理过程处理过程。其内容包括。其内容包括保护现场,处理中断源保护现场,处理中断源的请求和恢复现场三部的请求和恢复现场三部分。其处理过程如图所分。其处理过程如图所示

39、。示。YYN2022-7-26341.保护现场保护现场 在执行中断服务程序时,在执行中断服务程序时,首先应将在中断服务程序中要使首先应将在中断服务程序中要使用的累加器用的累加器A、PSW、工作寄存器等的内容压入堆栈,完成保护、工作寄存器等的内容压入堆栈,完成保护现场的任务现场的任务。为了不使现场数据受到破坏或者造成混乱,在保护。为了不使现场数据受到破坏或者造成混乱,在保护现场的过程中,应关中断(禁止中断)。当保护现场完成后应开现场的过程中,应关中断(禁止中断)。当保护现场完成后应开放中断(允许中断)。放中断(允许中断)。2.中断服务中断服务 中断服务程序要根据具体任务要求编制。通常,在中断服务

40、中断服务程序要根据具体任务要求编制。通常,在中断服务时允许时允许CPU响应优先级比其高的中断请求。响应优先级比其高的中断请求。3.恢复现场恢复现场 中断服务结束后,应关中断,以保证在恢复现场过程中不受干中断服务结束后,应关中断,以保证在恢复现场过程中不受干扰。恢复现场即把原来压入堆栈的工作寄存器、扰。恢复现场即把原来压入堆栈的工作寄存器、PSW和和A等的内容等的内容弹回。恢复现场后,应开中断,以便响应更高级的中断请求。弹回。恢复现场后,应开中断,以便响应更高级的中断请求。2022-7-26354.3.3 中断返回中断返回 中断返回是指中断服务完后,计算机返回到原来断开的位置中断返回是指中断服务

41、完后,计算机返回到原来断开的位置(即断点即断点),继续执行原来的程序。,继续执行原来的程序。中断返回由专门的中断返回指中断返回由专门的中断返回指令令RETI来实现,该指令的功能是把断点地址取出,送回到程序来实现,该指令的功能是把断点地址取出,送回到程序计数器计数器PC中去。另外,它还通知中断系统已完成中断处理,将中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。清除优先级状态触发器。中断返回时完成的操作:中断返回时完成的操作:(1)恢复断点地址。)恢复断点地址。(2)开放中断。)开放中断。2022-7-26364.3.4 中断请求撤销中断请求撤销 中断响应后,中断响应后,TC

42、ON或或SCON中的中断请求标志应及时清除。中的中断请求标志应及时清除。否则就意味着中断请求仍然存在,会造成中断的混乱。否则就意味着中断请求仍然存在,会造成中断的混乱。1.定时中断请求的撤除定时中断请求的撤除 定时中断响应后,硬件自动把中断标志位(定时中断响应后,硬件自动把中断标志位(TF0或或TF1)清)清0,因此定时中断的中断请求是自动撤除的。因此定时中断的中断请求是自动撤除的。2.外部中断的撤除外部中断的撤除 外部中断请求有两种触发方式:电平触发方式和边沿触发方式,外部中断请求有两种触发方式:电平触发方式和边沿触发方式,对于这两种中断触发方式,对于这两种中断触发方式,51系列单片机撤除的

43、方法不同。系列单片机撤除的方法不同。2022-7-2637 在在边沿触发方式边沿触发方式下,外部中断在中断响应后通过硬件自动地下,外部中断在中断响应后通过硬件自动地把标志位(把标志位(IE0或或IE1)清)清0,即,即中断请求的撤除也是自动的中断请求的撤除也是自动的。但是对于但是对于电平触发方式电平触发方式,情况特殊,情况特殊,仅靠清除中断标志,并仅靠清除中断标志,并不能彻底解决中断请求的撤除问题不能彻底解决中断请求的撤除问题。因为尽管中断请求标志位清。因为尽管中断请求标志位清除了,但是中断请求的有效低电平仍然存在,在下一个机器周期除了,但是中断请求的有效低电平仍然存在,在下一个机器周期采样中

44、断请求时,又会使采样中断请求时,又会使IE0或或IE1重新置重新置1。为此,要想彻底解。为此,要想彻底解决中断请求的撤除,决中断请求的撤除,还需在中断响应后把中断请求输入端从低电还需在中断响应后把中断请求输入端从低电平强制改为高电平平强制改为高电平,为达此目的可在系统中增加如图所示电路。,为达此目的可在系统中增加如图所示电路。2022-7-2638 用用D触发器锁存外来的中断请求低电平,并通过触发器的输触发器锁存外来的中断请求低电平,并通过触发器的输出端出端Q送至中断输入端。中断响应后,为了撤除中断请求,可利送至中断输入端。中断响应后,为了撤除中断请求,可利用用D触发器的直接置位端触发器的直接

45、置位端SD实现,把实现,把SD端接单片机的一条口线端接单片机的一条口线(图中为(图中为P1.0)。因此只要)。因此只要P1.0输出一个负脉冲就可以使输出一个负脉冲就可以使D触发触发器置器置1,从而撤除了低电平的中断请求。所需的负脉冲可在中断,从而撤除了低电平的中断请求。所需的负脉冲可在中断服务程序中增加如下两条指令:服务程序中增加如下两条指令:2022-7-2639 串行口中断的标志位是串行口中断的标志位是TI和和RI,这两个中断标志,这两个中断标志在中断响应在中断响应后不会自动清后不会自动清0,所以串行口中断请求应在中断服务程序中,所以串行口中断请求应在中断服务程序中必须必须使用软件方法进行

46、撤除使用软件方法进行撤除。采用如下指令。采用如下指令在中断服务程序中对串行在中断服务程序中对串行口中断标志位进行清除口中断标志位进行清除:CLR TI ;清;清TI标志位标志位 CLR RI ;清;清RI标志位标志位 ORL P1,01H ;P1.0输出高电平输出高电平 ANL P1,0FEH ;P1.0输出低电平输出低电平 这两条指令执行后,使这两条指令执行后,使P1.0输出一个负脉冲,其持续时间为输出一个负脉冲,其持续时间为2个机器周期,足以使个机器周期,足以使D触发器置位,而撤消端口的中断请求。触发器置位,而撤消端口的中断请求。3.3.串行口中断的撤除串行口中断的撤除2022-7-264

47、0 中断响应时间是指从查询中断请求标志位到转向中断区入口中断响应时间是指从查询中断请求标志位到转向中断区入口地址所需的机器周期数。地址所需的机器周期数。4.3.5 中断响应时间中断响应时间 1.最快响应时间最快响应时间 以外部中断源的电平触发方式为最快。以外部中断源的电平触发方式为最快。从查询中断请求信号到中断服务程序需要三个机器周期:从查询中断请求信号到中断服务程序需要三个机器周期:1个个机器周期(查询)机器周期(查询)+2个机器周期(执行长调用个机器周期(执行长调用LCALL指令)指令)2.最长响应时间最长响应时间 若当前指令是若当前指令是RET、RETI和和IP、IE指令,紧接着下一条是

48、乘除指令,紧接着下一条是乘除指令发生,则最长为指令发生,则最长为8个机器周期:个机器周期:2个机器周期个机器周期执行当前指令(其中含有执行当前指令(其中含有1个机器周期查询)个机器周期查询)+4个机器周期个机器周期乘除指令乘除指令2个机器周期个机器周期(执行长调用(执行长调用LCALL指令)。指令)。2022-7-26414.4 4.4 中断系统应用举例中断系统应用举例 1.中断初始化程序的编制中断初始化程序的编制(1)设置中断允许控制寄存器)设置中断允许控制寄存器IE。(2)设置中断优先级寄存器)设置中断优先级寄存器IP。(3)选择外部中断源的触发方式:电平触发还是边沿触发。)选择外部中断源

49、的触发方式:电平触发还是边沿触发。(4)编写中断服务程序,处理中断请求。)编写中断服务程序,处理中断请求。【例【例4-3】试编写对试编写对51单片机中断系统的初始化程序,允许外部单片机中断系统的初始化程序,允许外部中断中断1及串行口中断,并使外部中断源及串行口中断,并使外部中断源1为电平触发方式、高优先为电平触发方式、高优先级中断。级中断。解:解:方法一方法一 对对IE寄存器采用位地址操作寄存器采用位地址操作2022-7-2642 SETB EA SETB EX1 SETB ES CLR IT1 SETB PX1方法二:对方法二:对IE寄存器采用字节操作寄存器采用字节操作 MOV IE,#94

50、H CLR IT1 SETB PX【例【例4-4】若规定外部中断若规定外部中断1为边沿触发方式,低优先级,在中为边沿触发方式,低优先级,在中断服务程序中将寄存器断服务程序中将寄存器B的内容左环移一位,的内容左环移一位,B的初值设为的初值设为01H。试编写主程序与中断服务程序。试编写主程序与中断服务程序。2022-7-2643程序如下:程序如下:ORG 0000H ;主程序入口地址;主程序入口地址 LJMP MAIN ;主程序转至;主程序转至MAIN处处 ORG 0013H ;中断服务程序入口地址;中断服务程序入口地址 LJMP INT ;中断服务程序转至;中断服务程序转至INT处处 MAIN:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(单片微机原理与应用part-04课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|