第4章 中断系统_第1页
第4章 中断系统_第2页
第4章 中断系统_第3页
第4章 中断系统_第4页
第4章 中断系统_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、2,第四章MCS-51中断系统及应用示例,4.1、MCS-51中断系统概述,1、生活中的中断,教师讲课被学生提问打断,生活中的中断现象就是正常的工作过程被外部的事件打断了。,2、单片机的中断概念(无条件传送、查询传送、中断传送),类比,4.1.1单片机系统访问外部设备的方式,3,3、单片机的中断概念(10个),4.1.2MCS-51中断系统的功能,计算机系统中的断机制:当外设提出中断请求时,将改变现有程序流程,转而为请求设备服务,处理完毕后再返回原来的流程中继续之前的工作。这种工作机制被称为中断,其工作流程如图:,4.1MCS-51中断系统概述,2020/7/4,5,4.1.2MCS-51中断

2、系统的功能,中断控制系统一般需要具备3个功能,以完成中断服务工作:(1)中断跳转和返回,当中断事件发生时,能转向中断服务程序工作,并保存当前工作状态,以便中断服务程序执行完毕返回后,原有的工作能够继续正常进行;,(2)多中断同时发生时,能对各个中断的优先权进行排队,决定先进行哪个中断服务;(3)中断的嵌套,即高级中断能中断低级中断源的处理,即正在处理某低级中断事件时,若高级中断发生,CPU能转向高级中断服务,优先服务高级中断后再回到低级中断中完成处理,中断与子程序调用的不同点,子程序调用是固定的,专用指令,位置固定。,中断的执行是随机的,没有调用指令,任何位置。,中断工作方式的优点:1)外设与

3、CPU可并行工作CPU与多个外设同时工作,互不干扰2)实现了实时处理、实时控制CPU能及时处理外部信息,如数据采集,监控3)能及时处理随机故障,7,MCS-51及其5l子系列的其它成员都具有相同的中断结构。MCS-51有5个中断源2个外部中断源INT0*和INT1*,2个片内定时器计数器溢出中断源,1个片内串行口中断源。分为两级高级中断和低级中断。其中任何一个中断源的优先级均可由软件设定为高级或低级,能实现两级中断服务程序嵌套。都是可屏蔽的,由软件设定。,4.2、MCS-51中断系统,4.2.1MCS-51中断系统结构,8,中断管理逻辑图,4.2.2MCS-51的中断源,9,1.中断源(1)I

4、NT0外部中断0请求,由P3.2引脚输入。可由用户设定为两种触发方式,(电平触发方式还是边沿触发方式)。一旦输入信号有效,则向CPU申请中断,并且将中断标志IE0置1。(2)INT1外部中断1请求,由P3.3引脚输入。亦可由用户设定为电平触发方式还是边沿触发方式。一旦输人信号有效,则向CPU申请中断,并将中断标志IE1置1。,(3)片内定时器T0溢出中断请求。当定时器T0产生溢出时,T0中断请求标志TF0置1,请求中断处理。(4)片内定时器T1溢出中断请求。当定时器T1产生溢出时,T1中断请求标志TF1置l,请求中断处理。(5)片内串行口发送接收中断请求。当通过串行口发送或接收完一帧串行数据时

5、,串行口中断请求标志TI或RI置1,请求中断处理。,来源有输入输出设备、实时时钟、硬件故障等,4.2.2MCS-51的中断源,2.中断请求标志MCS-51中,5个中断源的中断请求标志位位于控制寄存器TCON和串行控制寄存器SCON中。,10,1)IT0(TCON.0):外部中断0触发方式控制位。2)IE0(TCON.1):外部中断0请求标志位。IE01,外部中断0向CPU申请中断。3)IT1(TCON.2):外部中断1触发方式控制位。其操作功能与IT0类同。4)1E1(TCON.3):外部中断1请求标志位。其操作功能与IE0类同5)TF0(TCON.5):片内定时器T0溢出中断请求标志。6)T

6、F1(TCON.7):片内定时器T1溢出中断请求标志,功能与TF0类同。,其中:TR0,TR1是定时器的启动控制位,4.2.2MCS-51的中断源,(2)SCON的中断标志,第4章MCS-51中断系统,11,SCON是串行口控制寄存器,与中断有关的是它的低两位TI和RI。,RI:串口接收中断标志,响应中断时不能自动清除TI:串口发送中断标志,响应中断时不能自动清除,2020/7/4,12,4.3MCS-51中断控制,第4章MCS-51中断系统,MCS-51单片机的中断控制主要实现中断的开放或屏蔽及中断优先级的管理功能。中断控制的设定是通过中断允许寄存器IE和中断优先级寄存器IP的编程实现。,4

7、.3.1MCS-51中断控制寄存器,12,1.中断允许寄存器IE,2.中断优先级寄存器IP,第4章MCS-51中断系统,13,如果同一级的几个中断源同时向CPU申请中断,CPU便通过内部硬件查询逻辑按自然优先级决定响应顺序。各中断源按自然优先级由高到低的排列顺序见表所示。,同级中断内部自然优先级顺序,14,中断处理过程一般分为三个阶段,即中断响应、中断处理和中断返回。,4.3.2响应中断的条件及过程,第4章MCS-51中断系统,16,1.中断响应CPU响应中断的基本条件如下:1)有中断源发出中断申请;2)中断总允许位EA1,即CPU开放中断;3)请求中断的中断源的中断允许位置1,即该中断源可以

8、向CPU发中断申请。,但在下列任何一种情况存在时,中断响应会被阻止。CPU正在执行同级或高一级的中断服务程序;现行机器周期不是正在执行的指令的最后一个机器周期,即现行指令完成前不响应任何中断请求;当前正在执行的是中断返回指令RETI或访问寄存器IE或IP的指令,也就是说,在执行RETI或是访问IE、IP的指令后,至少需要再执行一条其他指令,才会响应中断请求。,1.中断响应,17,用户编程时一般这个入口处会放置一条转移指令,让CPU能跳转到中断服务程序所在位置执行。因此,中断发生后,CPU读取中断入口处的转移指令执行,并自动把断点地址(PC值)压入堆栈保护起来,然后去执行中断服务程序。,中断响应

9、过程:如果中断响应的条件满足,且不存在中断封锁的情况,则CPU将响应中断,进入中断响应周期。CPU在中断响应周期要完成下列操作:1)根据优先级置相应的触发器为12)保护断点,把PC当前值入栈保护3)硬件清除相应的中断标志位4)将相应的中断服务程序的入口地址给PC5)转到执行中断服务程序,2.中断服务与返回中断服务程序从入口地址开始执行。一直到返回指令RETI为止,这个过程称为中断服务。在编写中断服务程序时加注意的几点:(1)因各入口地址之间只相隔8个字节,一般的中断服务程序是存放不下的。所以通常在中断入口地址单元处存放一条无条件转移指令,这样就可使中断服务程序灵活地安排在64KB程序存储器的任

10、何空间。(2)若要在执行当前中断程序时禁止更高优先级中断,可先用软件关闭总中断,或禁止某中断源中断,在中断返回前再开放中断。(3)保护现场和恢复现场。,18,3.中断请求的撤除CPU响应中断请求后,在中断返回(RETI)前,该中断请求标识一般必须撤除,否则会引起另外一次中断。清0方式有3种:,19,1)硬件自动清0有定时器溢出中断标志TF0、TF1边沿触发的外部中断标志IE0、IE12)软件清0有串行口中断TI、RI3)软硬件结合清0有低电平触发的外部中断标志位IE0、IE1,如用RET代RETI,能弹出断点返回,但不能清优先级状态触发器,会继续认为CPU还在响应中断,而屏蔽新的中断请求,中断

11、程序的设计,通常包括两个部分:(1)主程序中的中断系统初始化1)设置中断系统特殊功能寄存器(例中断源的触发方式);2)设置中断优先极;3)设置中断允许寄存器(开中断);4)中断服务程序的前期初始化(例如入口参数等)。(2)中断服务程序的设计一般中断服务程序的结构包括:现场保护,处理程序,恢复现场,返回等。由于各中断服务程序的入口地址之间只有8个字节的空间,因此一般在中断入口处要安排一转移指令。,4.4.1中断程序设计的一般方法,20,2020/7/4,21,4.4.1中断程序设计的一般方法,第4章MCS-51中断系统,例4-1:如图所示电路,设外部中断信号为负脉冲,引入外部中断信号到。要求每中

12、断一次,从P1.4P1.7输入外部开关状态,然后从P1.0P1.3输出。,4.4.2MCS-51中断程序设计举例,第4章MCS-51中断系统,22,主程序如下:ORG0000HSJMPMAINORG0003HAJMPINT0;转入服务程序ORG0030HMAIN:SETBIT0;设INT0为边沿触发SETBEX0;允许INT0中断SETBEA;开放总允许SJMP$中断服务程序:INT0:ORLP1,#0F0HMOVA,P1;从P1口输入开关状态SWAPA;交换高、低4位MOVP1,A;输出RETI,第4章MCS-51中断系统,23,4.4.2MCS-51中断程序设计举例,例4-2:利用一个外部

13、中断源输入端扩展多个外部中断源服务程序的设计。当外部中断源多于两个时,可采取硬件申请与软件查询相结合的方法,如图所示。把多个中断源通过线或或与门引到外部中断源输入端,同时又把信息连到某I/O口,便于软件进一步逐个查询。,第4章MCS-51中断系统,24,4.4.2MCS-51中断程序设计举例,第4章MCS-51中断系统,25,主程序如下:ORG0000H;AJMPMAIN;转主程序ORG0003H;INT0中断源入口地址AJMPZINT0;转INT0中断服务程序MAIN:SETBIT0;置INT0的下降沿触发方式SETBEX0;允许INT0中断SETBEA;CPU开中断;主程序的其他部分,4.4.2MCS-51中断程序设计举例,ZINT0:PUSHPSW;中断服务程序PUSHACCJNBP1.0,ZLOOP0;查询中断源NEXT1:JNBP

温馨提示

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

最新文档

评论

0/150

提交评论