中断系统-4剖析_第1页
中断系统-4剖析_第2页
中断系统-4剖析_第3页
中断系统-4剖析_第4页
中断系统-4剖析_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

甘肃冶金高级技术学院单片机接口技术及应用8/13/20241甘肃冶金高级技术学院第四章 中断系统

4.1

中断概述8/13/20242甘肃冶金高级技术学院一、中断的概念计算机系统根据需要,可以中断正常的工作程序,改去处理外部需要处理的事件。当外部事件处理完后再回到正常的工作程序中。8/13/20243甘肃冶金高级技术学院中断系统是计算机的重要指标之一。某人看书 执行主程序

日常事务电话铃响 中断信号如INT=0

中断请求暂停看书

暂停执行主程序

中断响应书中作记号当前PC入栈

保护断点电话谈话 执行中断程序

中断服务继续看书 返回主程序

中断返回日常事务程序中断服务程序日常生活中的中断与计算机中断的比较:8/13/20244甘肃冶金高级技术学院中断源:能够打断当前程序的外部事件。中断优先级和中断优先权中断嵌套。8/13/20245甘肃冶金高级技术学院子程序是预先安排好的,使用软件调用;中断是随机发生的,硬件主动执行。中断与子程序的区别8/13/20246甘肃冶金高级技术学院二、中断的作用实现高速CPU与慢速外设之间的配合;实现实时处理;实现故障的紧急处理;便于人机联系。8/13/20247甘肃冶金高级技术学院三、中断处理过程中断请求--保护断点--中断响应--中断返回(恢复断点)使用堆栈保护现场和恢复现场。开中断、关中断:是否允许中断嵌套,防止重复中断,现场处理时关中断。中断服务程序的编写。中断返回:RETI不同于RET。8/13/20248甘肃冶金高级技术学院第四章 中断系统

4.2

MCS-51单片机的中断系统8/13/20249甘肃冶金高级技术学院MCS-51中断系统内部结构8/13/202410甘肃冶金高级技术学院一、中断源及其中断服务程序入口地址1、MCS-51单片机有5个中断源,2个中断优先级;它的中断处理程序可实现两级嵌套,有较强的中断处理能力;单片机对中断系统的管理是通过相关的专用寄存器来实现的。8/13/202411甘肃冶金高级技术学院8/13/202412甘肃冶金高级技术学院2、中断入口地址:外中断0(INT0):0003H定时器0(T0):000BH外中断1(INT1):0013H定时器1(T1):001BH串行口(RI/TI):0023H8/13/202413甘肃冶金高级技术学院二、与中断有关的SFR8/13/202414甘肃冶金高级技术学院1、中断允许控制寄存器IE字节地址为0A8H位地址是0A8H~0AFH(IE.0~IE.7)各位为“1”表示允许中断;为“0”表示禁止中断。IEEAESET1EX1ET0EX0位地址AFACABAAA9A88/13/202415甘肃冶金高级技术学院1、中断允许控制寄存器IEEA-中断允许的总控制位,IE.7EX0-外部中断0(INT0)允许控制位,IE.0EX1-外部中断1(INT1)允许控制位,IE.2ET0-定时计数器0(T0)允许控制位,IE.1ET1-定时计数器1(T1)允许控制位,IE.3ES -串行口(RI/TI)允许控制位,IE.4IEEAESET1EX1ET0EX0位地址AFACABAAA9A88/13/202416甘肃冶金高级技术学院1、中断允许控制寄存器IEIE复位值是00H,即总中断开关关闭。禁止所有中断。单片机在响应中断后不能自动关中断,若想禁止中断嵌套,必须用软件关闭。软件关闭可以用字节寻址也可位寻址。例:开放外部中断0:MOVIE,#81H或MOV0A8H,#81H或SETBEASETBEX0IEEAESET1EX1ET0EX0位地址AFACABAAA9A88/13/202417甘肃冶金高级技术学院2、定时器控制寄存器TCON字节地址为88H位地址是88H~8FH(TCON.0~TCON.7)TR0、TR1、TFO、TF1已学。TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A89888/13/202418甘肃冶金高级技术学院2、定时器控制寄存器TCONIT0:外中断0(INT0)请求信号方式控制位(ICON.0)IT0=0,低电平有效,即低电平引起中断;IT0=1,负跳变有效,即高电平跳变到低电平时引起中断。IT1:外中断1(INT1)请求信号方式控制位(ICON.2)作用同IT0TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A89888/13/202419甘肃冶金高级技术学院2、定时器控制寄存器TCONIE0:外中断0申请标志位(TCON.1)IE1:外中断1申请标志位(TCON.3)TF0:定时计数器T0溢出标志位(TCON.5)TF1:定时计数器T1溢出标志位(TCON.7)以上各位等于1时即申请中断。在中断响应后转向中断服务程序时,均有硬件自动清0TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A89888/13/202420甘肃冶金高级技术学院3、串行口控制寄存器SCON字节地址为98H位地址为98H~9FH,SCON.0~SCON.7与串行中断有关的是RI和TI(SCON.0、SCON.1)RI(SCON.0):串行口接收中断申请标志位,有软件置0TI(SCON.1):串行口发送中断申请标志,有软件置0SCONSM0SM1SM2RENTB8RB8TIRI位地址9F9E9D9C9B9A99988/13/202421甘肃冶金高级技术学院有两个物理上独立的串行数据缓冲器SBUF,发送缓冲器只能写入,不能读出;接收缓冲器只能读出,不能写入,故他们都用SBUF表示,共用一个地址99H。8/13/202422甘肃冶金高级技术学院注:RI、TI的中断入口都是0023H,所以CPU响应后转入0023H开始执行服务程序,首先必须判断是RI中断还是TI中断,然后进行相应服务。在返回主程序之前必须用软件将RI或TI清除,否则会出现一次请求多次响应的错误。8/13/202423甘肃冶金高级技术学院4、中断优先级寄存器IP字节地址为B8H位地址为B8H~BCH,IP.0~IP.4定义了高、低两个优先级,可实现二级中断嵌套。IPPSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8H8/13/202424甘肃冶金高级技术学院4、中断优先级寄存器IP中断优先级:有软件对IP设置PX0:外中断0IP.0PT0:定时器T0IP.1PX1:外中断1IP.2PT1:定时器T1IP.3PS:串行口中断IP.4各位设置为1时为高优先级,各位设置为0时为低优先级。IPPSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8H8/13/202425甘肃冶金高级技术学院中断优先权:当5个中断源在同一个优先级的情况下,由硬件顺序排列了优先权:INT0>T0>INT1>T1>串行口8/13/202426甘肃冶金高级技术学院在开放中断的条件下(IE),使用中断优先级的原则:非中断服务程序可被任一个中断申请所中断;若干中断同时申请中断时,CPU先选择优先级高的进行中断响应;CPU同时接收到几个优先级相同的中断申请时,先响应中断优先权高的;低优先级可被高优先级的中断申请所中断,但同级不能嵌套。8/13/202427甘肃冶金高级技术学院中断原因入口地址中断开关(EA)中断方式中断申请标志位清0方式优先级标志位外部中断INT0P3.2引脚0003HEX0(IE.0)IT0(TCON.0)=1为负脉冲IE0(TCON.1)自动PX0(IP.0)IT0(TCON.0)=0为低电平软件INT1P3.3引脚0013HEX1(IE.2)IT1(TCON.2)=1为负脉冲IE1(TCON.3)自动PX1(IP.2)IT1(TCON.2)=0为低电平软件内部中断T0T0溢出000BHET0(IE.1)T0溢出TF0(TCON.5)自动PT0(IP.1)T1T1溢出001BHET1(IE.3)T1溢出TF1(TCON.7)自动PT1(IP.3)串行口RI:接收完一帧数0023HES(IE.4)接收完一帧数RI(SCON.0)软件PS(IP.4)TI:发送完一帧数发送完一帧数TI(SCON.1)8/13/202428甘肃冶金高级技术学院三、MCS-51单片机对中断的响应1、响应条件前提:中断源有中断申请;此中断源的中断允许位为“1”;CPU开中断,即总开关EA=1。8/13/202429甘肃冶金高级技术学院

CPU在每个机器周期的S6都对中断源进行检测,并对其排列顺序。在满足下列条件时才响应中断:无同级或更高级中断正在服务;当前指令周期已经结束;若现行指令为RETI或访问IE、IP指令时,执行该指令以及紧接着的下一条指令也执行完成。

CPU将在下一个机器周期S1响应中断。若中断申请已置1,但因上述条件封锁未被立即响应,且当封锁解除后申请已复位,则中断不再被响应。8/13/202430甘肃冶金高级技术学院2、中断响应时间从产生外部中断请求到开始执行中断服务程序的第一条指令的时间。8/13/202431甘肃冶金高级技术学院最短需要三个周期:一个用于查询中断请求标志位,且这个周期恰好是指令的最后一个周期,则在这个机器周期结束后,中断请求被CPU响应,产生一条硬件自动生成的长调用指令LCALL,以使CPU转到相应的服务程序入口。这条指令需两个机器周期,故最少需三个机器周期。最长需8个机器周期:若在中断查询时正好开始执行RET、RETI或访问IE、IP,则需当前指令完成后再继续执行一条指令,才进行中断响应。RET、RETI用2个机器周期+MUL、DIV4个机器周期+LCALL2个机器周期=8个机器周期8/13/202432甘肃冶金高级技术学院3、外中断的采样:INT0、INT1只有外中断源才有采样问题MCS-51单片机在每个机器周期的S5P2对外中断请求引脚(P3.2、P3.3)采样,若有中断请求,则置位IE0和IE1。由于每个机器周期只采样一次,故为确保采样,在P3.2、P3.3引脚上的信号电平至少保持1个机器周期。8/13/202433甘肃冶金高级技术学院电平触发方式:ICON.0=IT0=0(或ICON.2=IT1=0)时若CPU采样到INT0或INT1为低电平(该电平来自外部硬件,CPU无法控制)即可申请中断。在CPU响应前引脚必须保持低电平,但若低电平保持时间过长,在执行了一次中断程序后仍未撤销,还会引起中断。故在采用电平触发情况时,在这次中断服务程序执行完之前,引脚上必须变成高电平。一般很少使用电平触发方式8/13/202434甘肃冶金高级技术学院边沿触发方式:ICON.0=IT0=1(或ICON.2=IT1=1)时

CPU在S5P2采样,如果在相邻的两次采样中,第一次采到引脚=1,第二次采样引脚=0则置位IE0或IE1,申请中断。IE0和IE1状态可一直保持,直到CPU响应中断。进入中断服务程序后,IE0和IE1有硬件自动清08/13/202435甘肃冶金高级技术学院4、中断请求的撤除CPU响应中断后,应及时撤除中断请求,否则会引起重复中断。定时器中断申请标志位(TF0和TF1)以及外中断的边沿触发方式产生的中断(IE0和IE1)CPU可自动撤除。但外中断的电平触发方式和串行口中断必须通过外部硬件或软件撤除。8/13/202436甘肃冶金高级技术学院5、堆栈的应用:保护断点、保护现场

在中断服务程序开始,就需要保护现场,由PUSH入栈;在中断服务程序最后,由POP出栈。8/13/202437甘肃冶金高级技术学院注:入栈、出栈的顺序相反;入栈和出栈数目相同;PUSH和POP必须成对出现;设为堆栈区的字节单元不能再做数据缓冲区;SP初始值为07H,在初始化程序必须对SP置初值;在发生中断嵌套时,为防止入栈错误,可以:主程序只使用工作寄存器0区、第一个中断服务程序使用1区、第二个中断服务程序使用2区8/13/202438甘肃冶金高级技术学院6、中断服务程序入口地址

由于各个入口地址只相差8个字节单元,一般难以存放一个完整的中断服务程序,因此常在中断入口地址处存放一条无条件转移指令LJMPaddr16,使服务程序转到后面充足的地址单元。8/13/202439甘肃冶金高级技术学院7、中断响应全过程中断申请准备:考虑:使用哪个中断源、允许哪些中断嵌套、堆栈深度;初始化程序:赋值SFR,如清楚中断标志位、置外中断方式、开中断、决定优先级。中断申请的提出:标志位的状态可以保存,但自动查询结果不被保存。响应中断的条件,优先级、优先权的问题

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论