第4章 中断系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第4章MCS-51中断系统第4章MCS-51中断系统主要内容:MCS-51中断系统概述MCS-51中断系统MCS-51中断控制中断应用举例第4章MCS-51中断系统2第四章MCS-51中断系统及应用示例4.1、MCS-51中断系统概述1、生活中的中断※教师讲课被学生提问打断※生活中的中断现象就是正常的工作过程被外部的事件打断了。2、单片机的中断概念(无条件传送、查询传送、中断传送)学生提问讲课讲课师生互动随机事件发生主程序主程序中断服务子程序CPU类比4.1.1单片机系统访问外部设备的方式第4章MCS-51中断系统33、单片机的中断概念(10个)主程序:CPU正常情况下运行的程序。中断服务子程序:为中断对象服务的程序。中断:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生);CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务);待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回);这一过程称为中断。中断源:单片机中可以引起中断的事件,比如:掉电、运算溢出、报警等。中断请求:由中断源向CPU所发出的请求中断的信号。中断响应:CPU在满足条件下的情况下,接受中断申请,终止现行程序的执行转而为申请中断的对象服务。断点:现行程序被中断的地址。中断返回:中断服务程序结束后返回到原来的程序。第4章MCS-51中断系统2020/1/2144.1.2MCS-51中断系统的功能•计算机系统中的断机制:•当外设提出中断请求时,将改变现有程序流程,转而为请求设备服务,处理完毕后再返回原来的流程中继续之前的工作。这种工作机制被称为中断,其工作流程如图:主程序断点响应中断中断返回中断服务程序继续主程序4.1MCS-51中断系统概述第4章MCS-51中断系统2020/1/2154.1.2MCS-51中断系统的功能•中断控制系统一般需要具备3个功能,以完成中断服务工作:(1)中断跳转和返回,当中断事件发生时,能转向中断服务程序工作,并保存当前工作状态,以便中断服务程序执行完毕返回后,原有的工作能够继续正常进行;(2)多中断同时发生时,能对各个中断的优先权进行排队,决定先进行哪个中断服务;(3)中断的嵌套,即高级中断能中断低级中断源的处理,即正在处理某低级中断事件时,若高级中断发生,CPU能转向高级中断服务,优先服务高级中断后再回到低级中断中完成处理第4章MCS-51中断系统注意中断与子程序调用的不同点主程序转移中断程序返回断点继续●子程序调用是固定的,专用指令,位置固定。●中断的执行是随机的,没有调用指令,任何位置。中断工作方式的优点:1)外设与CPU可并行工作CPU与多个外设同时工作,互不干扰2)实现了实时处理、实时控制CPU能及时处理外部信息,如数据采集,监控3)能及时处理随机故障第4章MCS-51中断系统7MCS-51及其5l子系列的其它成员都具有相同的中断结构。MCS-51有5个中断源——2个外部中断源INT0*和INT1*,2个片内定时器/计数器溢出中断源,1个片内串行口中断源。分为两级——高级中断和低级中断。其中任何一个中断源的优先级均可由软件设定为高级或低级,能实现两级中断服务程序嵌套。都是可屏蔽的,由软件设定。4.2、MCS-51中断系统4.2.1MCS-51中断系统结构INT0IE0INT1IE1TF0TF1RITI图10、8051中断源第4章MCS-51中断系统8中断管理逻辑图EX0EAPX001ET0PT001EX1PX101ET1PT101ESPS01≥1RITISCONTCONIE0TF0IE1TF110101IT0IT1INT0INT1T0T1RXTXIEIP111111110硬件查询自然优先级自然优先级中断入口中断入口高级低级中断源中断源第4章MCS-51中断系统4.2.2MCS-51的中断源91.中断源(1)INT0外部中断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)片内串行口发送/接收中断请求。当通过串行口发送或接收完一帧串行数据时,串行口中断请求标志TI或RI置1,请求中断处理。●来源有输入输出设备、实时时钟、硬件故障等第4章MCS-51中断系统4.2.2MCS-51的中断源•2.中断请求标志•MCS-51中,5个中断源的中断请求标志位位于控制寄存器TCON和串行控制寄存器SCON中。10(1)TCON的中断标志IT0IE0IT1IE1TR0TF0TR1TF1TCON1)IT0(TCON.0):外部中断0触发方式控制位。2)IE0(TCON.1):外部中断0请求标志位。IE0=1,外部中断0向CPU申请中断。3)IT1(TCON.2):外部中断1触发方式控制位。其操作功能与IT0类同。4)1E1(TCON.3):外部中断1请求标志位。其操作功能与IE0类同5)TF0(TCON.5):片内定时器T0溢出中断请求标志。6)TF1(TCON.7):片内定时器T1溢出中断请求标志,功能与TF0类同。•其中:TR0,TR1是定时器的启动控制位第4章MCS-51中断系统4.2.2MCS-51的中断源(2)SCON的中断标志第4章MCS-51中断系统11SCON是串行口控制寄存器,与中断有关的是它的低两位TI和RI。RITIRB8TB8RENSM2SM1SM0SCONRI:串口接收中断标志,响应中断时不能自动清除TI:串口发送中断标志,响应中断时不能自动清除第4章MCS-51中断系统2020/1/21124.3MCS-51中断控制第4章MCS-51中断系统MCS-51单片机的中断控制主要实现中断的开放或屏蔽及中断优先级的管理功能。中断控制的设定是通过中断允许寄存器IE和中断优先级寄存器IP的编程实现。4.3.1MCS-51中断控制寄存器121.中断允许寄存器IE0:关INT中断01:开INT中断00:关T中断1:开T中断001:开T中断0:关T中断0:关INT中断1:开INT中断11110:关T中断1:开T中断221:开所有中断0:关所有中断1:开串行口中断0:关串行口中断位地址IEEAAFADETACESABETAAEXA9ETA8EX00112第4章MCS-51中断系统•2.中断优先级寄存器IPIP————PT2PSPT1PX1PT0PX0第4章MCS-51中断系统13第4章MCS-51中断系统如果同一级的几个中断源同时向CPU申请中断,CPU便通过内部硬件查询逻辑按自然优先级决定响应顺序。各中断源按自然优先级由高到低的排列顺序见表所示。中断源同级内的优先级外部中断0(IE0)定时器T0中断(TF0)外部中断1(IE1)定时器T1中断(TF1)串行口中断(RI+TI)定时器T2中断(TF2)最高级最低级同级中断内部自然优先级顺序14第4章MCS-51中断系统IE0TF0IE1RI/TITF2TF1EAEX0ET0EX1ET1ESET2PX0PT0PX1PT1PSPT2011111100000高级中断请求低级中断请求中断源中断源中断入口中断入口查询电路中断优先级寄存器全局中断允许中断源允许中断标志中断选择10IT010IT11TF2TF1TF0TIRIINT0INT1中断系统结构小结TCONSCONIEIP排队第4章MCS-51中断系统•中断处理过程一般分为三个阶段,即中断响应、中断处理和中断返回。4.3.2响应中断的条件及过程第4章MCS-51中断系统161.中断响应CPU响应中断的基本条件如下:1)有中断源发出中断申请;2)中断总允许位EA=1,即CPU开放中断;3)请求中断的中断源的中断允许位置1,即该中断源可以向CPU发中断申请。但在下列任何一种情况存在时,中断响应会被阻止。①CPU正在执行同级或高一级的中断服务程序;②现行机器周期不是正在执行的指令的最后一个机器周期,即现行指令完成前.不响应任何中断请求;③当前正在执行的是中断返回指令RETI或访问寄存器IE或IP的指令,也就是说,在执行RETI或是访问IE、IP的指令后,至少需要再执行一条其他指令,才会响应中断请求。第4章MCS-51中断系统1.中断响应17用户编程时一般这个入口处会放置一条转移指令,让CPU能跳转到中断服务程序所在位置执行。因此,中断发生后,CPU读取中断入口处的转移指令执行,并自动把断点地址(PC值)压入堆栈保护起来,然后去执行中断服务程序。中断响应过程:如果中断响应的条件满足,且不存在中断封锁的情况,则CPU将响应中断,进入中断响应周期。CPU在中断响应周期要完成下列操作:1)根据优先级置相应的触发器为12)保护断点,把PC当前值入栈保护3)硬件清除相应的中断标志位4)将相应的中断服务程序的入口地址给PC5)转到执行中断服务程序第4章MCS-51中断系统2.中断服务与返回中断服务程序从入口地址开始执行。一直到返回指令RETI为止,这个过程称为中断服务。在编写中断服务程序时加注意的几点:(1)因各入口地址之间只相隔8个字节,一般的中断服务程序是存放不下的。所以通常在中断入口地址单元处存放一条无条件转移指令,这样就可使中断服务程序灵活地安排在64KB程序存储器的任何空间。(2)若要在执行当前中断程序时禁止更高优先级中断,可先用软件关闭总中断,或禁止某中断源中断,在中断返回前再开放中断。(3)保护现场和恢复现场。18第4章MCS-51中断系统3.中断请求的撤除CPU响应中断请求后,在中断返回(RETI)前,该中断请求标识一般必须撤除,否则会引起另外一次中断。清0方式有3种:191)硬件自动清0有定时器溢出中断标志TF0、TF1边沿触发的外部中断标志IE0、IE12)软件清0有串行口中断TI、RI3)软硬件结合清0有低电平触发的外部中断标志位IE0、IE1如用RET代RETI,能弹出断点返回,但不能清优先级状态触发器,会继续认为CPU还在响应中断,而屏蔽新的中断请求第4章MCS-51中断系统•中断程序的设计,通常包括两个部分:•(1)主程序中的中断系统初始化1)设置中断系统特殊功能寄存器(例中断源的触发方式);2)设置中断优先极;3)设置中断允许寄存器(开中断);4)中断服务程序的前期初始化(例如入口参数等)。•(2)中断服务程序的设计一般中断服务程序的结构包括:现场保护,处理程序,恢复现场,返回等。由于各中断服务程序的入口地址之间只有8个字节的空间,因此一般在中断入口处要安排一转移指令。4.4.1中断程序设计的一般方法20第4章MCS-51中断系统2020/1/21214.4.1中断程序设计的一般方法第4章MCS-51中断系统0000H0003H000BH0013H001BH0023H复位入口INT0中断入口T0中断入口INT1中断入口T1中断入口串口中断入口002BHT2中断入口3字节8字节8字节8字节8字节8字节0000H0003H0100H主程序中断服务程序2000HLJMP0100HLJMP2000HRETI第4章MCS-51中断系统•例4-1:如图所示电路,设外部中断信号为负脉冲,引入外部中断信号到。要求每中断一次,从P1.4~P1.7输入外部开关状态,然后从P1.0~P1.3输出。4.4.2MCS-51中断程序设计举例MCS-51VCCRLED0RLED1RLED2RLED3RRRRP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7INT0第4章MCS-51中断系统22第4章MCS-51中断系统•主程序如下:ORG0000HSJMPMAINORG0003HAJMPINT0;转入服务程序

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功