单片机学习PPT 第5章.ppt_第1页
单片机学习PPT 第5章.ppt_第2页
单片机学习PPT 第5章.ppt_第3页
单片机学习PPT 第5章.ppt_第4页
单片机学习PPT 第5章.ppt_第5页
已阅读5页,还剩35页未读, 继续免费阅读

下载本文档

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

文档简介

1、第五章:MCS-51的中断系统,实时测控,单片机能及时响应和处理单片机外部事件或内部事件提出的中断请求。5.1中断的概念,当中央处理器正在执行一个程序时,一个事件发生在微控制器的外部或内部,并且中央处理器被请求快速处理它。中央处理器暂时暂停当前工作,并转向中断服务处理程序来处理该事件。处理完事件后,回到原来暂停的地方,继续原来的工作,这就是所谓的中断。中央处理器处理事件的过程称为中央处理器的中断响应过程。如图5-1所示。处理事件的整个过程称为中断处理(或中断服务)。能够实现中断处理功能的组件称为中断系统;产生中断的请求源称为中断请求源。从中断源到中央处理器的处理请求称为中断请求(或中断应用)。

2、进入中断保护、现场中断处理、恢复现场中断、返回中断模式,大大提高了中央处理器的工作效率。5.2结构5.2 MCS-51中断系统有五个中断请求源和两个中断优先级,可以嵌套在两个级别。中断系统结构示意图如下图所示。5.3中断请求源五个中断请求源:(1)INT0*外部中断请求0,从引脚INT0*输入,中断请求标志为IE0。(2)INT1*外部中断请求1从引脚INT1*输入,中断请求标志为IE1。(3)定时器/计数器T0溢出中断请求,并且中断请求标志是TF0。(4)定时器/计数器T1溢出中断请求,并且中断请求标志是TF1。(5)串行端口中断请求,标记为TI或ri。它由特殊功能寄存器TCON和SCON的

3、相应位锁存。TCON是定时器/计数器的控制寄存器,字节地址是88H。包括:(1)溢出中断请求标志TF1和TF0(1)T0和T1;(2)外部中断请求标志IE1和IE0。格式如下:各标志位的功能:(1)IT0选择外部中断请求0是跳边触发模式还是电平触发模式;IT0=0是电平触发模式。IT0=1,这是边沿跳变触发模式。“1”或“0”可由软件设置。(2)中断请求标志位2)IE0外部中断请求0。IE0=0,无中断请求。IE0=1,外部中断0有中断请求。当中央处理器响应中断并转到中断服务程序时,硬件清除“0”IE0。(3)不管(3)IT1外部中断请求1是边沿触发还是电平触发,其含义与IT0相似。(4)中断

4、请求标志位4)IE1外部中断请求1,意思类似于IE0。(5)TF0T0溢出中断请求标志。当T0被计数并溢出时,硬件设置“1”TF0以向中央处理器申请中断。当中央处理器响应TF0中断时,硬件自动清除“0”TF0,TF0也可以由软件清除。(6)6)TF1T 1的溢出中断请求标志位在功能上类似于TF0。TR1和tr0与中断无关。当MCS-51复位时,TCON清0,然后中央处理器关闭中断,所有中断请求被禁止。SCON是串行端口控制寄存器,字节地址是98H。串行端口发送中断和接收中断的中断请求标志TI和RI的格式如下:每个标志位的功能:(1)TI发送中断请求标志位。串行端口发送一帧串行数据后,硬件自动设

5、置“1”级。中断服务程序中的软件必须将TI标志清0。(2)接收中断请求标志位。串行端口接收到数据帧后,硬件会自动设置“1”RI标志。中断服务程序中的软件必须将RI标志清0。5.4中断控制5.4.1中断允许寄存器工业工程中央处理器对中断源的打开或屏蔽由片内中断允许寄存器工业工程控制。字节地址是A8H,它是位可寻址的。格式如下:工业工程中断的开启和关闭是两级控制,总开关中断控制位(工业工程7位): EA=0,所有中断请求被屏蔽。EA=1,中央处理器打开中断,但是是否允许来自五个中断源的中断请求取决于工业工程中的五个中断请求许可控制位。工业工程中每一位的功能如下:(1)工业工程:互连的总控制位(3)

6、ET1:定时器/计数器T1的溢出中断使能位0:T1溢出中断被禁止;1:允许T1溢出中断。(4)EX1:外部中断1中断允许位0:外部中断1中断被禁止;1:允许外部中断1中断。(5)ET0:定时器/计数器T0的溢出中断使能位0: T0溢出中断被禁止;1:允许T0溢出中断。(6)EX0:外部中断0中断使能位。0:外部中断0中断被禁止;1:允许外部中断0中断。MCS-51复位后,IE清零,禁止所有中断请求。如果允许中断源中断,除了设置工业工程的相应位外,工业工程位必须设置为1。改变工业工程的内容可以通过位操作指令实现,即SETB位;CLR位.示例5-1如果允许芯片上的两个定时器/计数器中断,则禁止来自

7、其他中断源的中断请求。写入相应的程序段以设置IE (1)用位操作指令写入以下程序段:禁止串行端口中断clr ex1外部中断1禁止中断CLR EX0;外部中断0中断setbret0被禁止。允许定时器/计数器T0中断setbeit1启用定时器/计数器T1以中断设置;中央处理器开/关(2)用字节操作指令写:MOV工业工程,#8AH或MOV 0A8H,# 8AH;A8H是工业工程寄存器5.4.2中断优先级寄存器IP的字节地址,可以实现两级中断嵌套。如图5-6所示。这可以概括为以下两个基本规则:(1)低优先级可以被高优先级中断,否则就不能。(2)对等中断不会被其对等中断源中断。如果中央处理器正在执行高优

8、先级中断,它不能被任何中断源中断。中断优先级寄存器IP,其字节地址为B8H。IP位的含义:(1)PS串口中断优先级控制位1:高优先级中断;0:低优先级中断。(2)中断优先级控制位1,共2位)Pt 1定时器T1:高优先级中断;0:低优先级中断。(3)PX1外部中断1中断优先级控制位1:高优先级中断;0:低优先级中断。(4)PT0定时器T0中断优先级控制位1:高优先级中断;0:低优先级中断。(5)PX0外部中断0中断优先级控制位1:高优先级中断;0:低优先级中断。软件可以改变每个中断源的中断优先级。MCS-51的中断系统有两个未寻址的“优先级激活触发器”:其中一个用于指示正在执行一个高优先级中断,

9、所有后续中断都被阻塞。另一个用于指示正在执行低优先级中断,并且所有对等中断都被阻塞,但是高优先级中断请求没有被阻塞。当同时接收到几个具有相同优先级的中断请求时,优先响应哪个中断取决于内部查询顺序。查询顺序如下:中断源中断级别外部中断0最高t 0溢出中断外部中断1 T1溢出中断串行端口中断最小值示例5-2设置IP寄存器的初始值,使2个外部中断请求具有高优先级,其他中断请求具有低优先级。(1)使用位操作指令setbpx0两个外部中断设置为具有高优先级的bpx 1 clr PS;串行端口是低优先级中断clrpt0。两个定时器/计数器低优先级中断CLR PT1 (2)使用字节操作指令movp # 05

10、H或:mov p8h # 05H;B8H是IP寄存器的字节地址。5.5响应中断请求的条件。响应中断请求时,必须满足以下必要条件:(1)工业工程寄存器中的总中断允许位EA=1等于1。(2)中断源发送中断请求,即中断源对应的中断请求标志为“1”。(3)中断源的中断允许位=1,即中断未被屏蔽。(4)没有提供相同级别或更高级别的中断。中断响应的主要过程:首先,硬件自动生成一条长调用指令: LCALL addr16,然后中央处理器执行该指令,将PC机的内容推送到堆栈上保护断点,然后将中断入口地址加载到PC机上。每个中断源服务程序的入口地址是固定的,如下所示:外部中断0 0003H定时器/计数器T0 00

11、0BH外部中断1 0013H定时器/计数器T1001BH串行端口中断0023H中断响应是有条件的,当出现以下三种情况之一时,中断响应被阻止:(1)中央处理器正在处理相同级别或更高优先级的中断。(2)查询的机器周期不是当前执行指令的最后一个机器周期。中断响应只能在当前指令执行后执行。(3)执行指令是RETI指令或访问工业工程或工业工程的指令。在响应新的中断请求之前,还需要执行一条指令。如果存在上述三种情况之一,中央处理器将丢弃中断查询结果,并且无法响应中断。5.6外部中断的响应时间外部中断的最短响应时间为3个机器周期: (1)中断请求标志位查询需要1个机器周期。(2)子程序调用指令LCALL转移

12、到相应的中断服务程序入口需要2个机器周期。外部中断响应的最长响应时间为8个机器周期:(1)当中央处理器查询中断标志时,它只需开始执行RETI或访问工业工程或知识产权的指令,然后需要执行当前指令,然后在响应中断之前继续执行一条指令,最多需要2个机器周期。(2)然后执行另一条指令,根据最长的指令(乘法指令、MUL和除法指令div),该指令只有4个机器周期。(3)此外,执行硬件子程序调用指令LCALL需要2个机器周期。因此,外部中断响应的最长时间是8个机器周期。如果已经在处理相同级别或更高级别的中断,则无法计算响应时间。在单中断系统中,MCS-51单片机对外部中断请求的响应时间总是在38个机器周期之

13、间。5.7外部中断触发模式选择两种触发模式:电平触发模式和边沿跳变触发模式。5.7.1电平触发模式中央处理器在每个机器周期内采样的外部中断输入线的电平。在中断服务程序返回之前,外部中断请求输入必须无效(即变为高电平),否则返回主程序后,中央处理器将再次响应中断。它适用于外部中断以低电平输入并且中断服务程序可以清除外部中断请求(即外部中断的输入电平再次变为高电平)的情况。5.7.2以边沿跳变触发的方式连续进行两次采样。如果外部中断输入在一个机器周期内为高电平,在下一个机器周期内为低电平,则“1”中断请求标志将被置位,并且该标志将不会被清除,直到中央处理器对此中断做出响应。这样,中断不会丢失,但输

14、入的负脉冲宽度将保持至少一个机器周期。5.8中断请求的取消1定时器/计数器中断请求的取消被响应后。硬件将自动清除TF0或TF1。2.外部中断请求的撤回;(1)边沿跳过模式下外部中断请求的撤回自动撤回。(2)在电平模式外部中断请求取消:中,除了清除标志位“0”,中断响应后,中断请求信号引脚需要从低电平变为高电平,如图5-8所示。只要P1.0输出负脉冲,D触发器就可以设置为“1”,从而取消低电平中断请求信号。所需的负脉冲可以通过添加以下两个指令获得:ORL P1,# 01hP1.0为“1”anlp 1,# 0feh。以P1.0为“0”电平的外部中断请求信号的完全取消是通过软件和硬件的结合来实现的。

15、3在取消串行端口中断请求响应串行端口中断后,中央处理器无法知道是接收中断还是发送中断。在清除中断之前,有必要测试这两个中断标志的状态,以确定是接收还是发送中断。因此,串行端口中断请求的取消只能由软件清除;清除钛标志位clrri中断服务程序设计的基本任务:(1)设置中断许可控制寄存器。(2)设置中断优先级寄存器。(3)外部中断源是电平触发还是边沿跳变触发。(4)编写中断服务程序来处理中断前两项通常放在主程序的初始化部分。示例5-3假设允许外部中断0,并将其设置为高级中断,其他中断源为低级中断,由边沿跳过触发。在主程序中编写以下程序段:中央处理器的通断中断设置t0;允许外部中断0产生中断setbp

16、x0外部中断0是高级中断设置位0;外部中断0是边沿跳变触发模式、2。使用中断时的主程序结构。常用的主程序结构如下:ORG 0000H LJMP MAIN ORG中断入口地址LJMP INT ORG XXXXH MAIN:主序列INT:中断服务程序3。中断服务程序流。例5-4:根据图5-9所示的中断服务程序流程,编译一个中断服务程序。假设现场保护只需要将PSW和A的内容推入堆栈进行保护。典型的中断服务程序如下:int:cl rea;关闭中央处理器,以中断推进电源开关;现场保护推进加速控制;SETB环境部;中央处理器开-关中断处理程序部分;关闭持久性有机污染物审查委员会;通过中央处理器;波普尔韦和

17、西太银行的现场恢复;中央处理器接通中断RETI;中断返回和恢复断点:(1)现场保护仅涉及PSW和A内容。如果还有其他内容需要保护,只需在相应的位置添加一些推送和弹出指令。(2)“中断处理程序段”应根据任务的具体要求编写。(3)如果该中断服务程序不允许被其他中断中断。“中断处理程序”部分前后的两个指令“SETB指令”和“CLR指令”可以删除。(4)中断服务程序的最后一条指令必须是返回指令RETI。5.10多外部中断源系统的设计两个外部中断请求源通常是不够的。5.10.1如何使用定时器/计数器作为外部中断源定时器/计数器被选为计数器工作模式。当T0(或T1)引脚出现负跳变时,T0(或T1)计数器增加1。通过此功能,T0(或T1)引脚可用作外部中断请求输入引脚,计数器的初始值设置为FFH,而TF0(或TF1)用作外部中断请求标志。ORG 0000H AJMP IINI进入初始化程序IINI:MOV TMOD,# 06h设置T0 MOV TL0,# 0ffh的工作模式;设置计数器的初始值,MOV TH0,# 0ffhsetbtr0开始T0并开始计数setbuet0允许T0中断SETBEA当连接到P3.4(T0引脚)的电平出现负跳变时,TL0将增加1,导致溢出,将设置“1”TF0,并向中央处理器发送中断

温馨提示

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

评论

0/150

提交评论