资源预览内容
第1页 / 共44页
第2页 / 共44页
第3页 / 共44页
第4页 / 共44页
第5页 / 共44页
第6页 / 共44页
第7页 / 共44页
第8页 / 共44页
第9页 / 共44页
第10页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第5章章 中断系统及其运用中断系统及其运用 教学目的:教学目的: 引见中断、中断源、中断系统的概念引见中断、中断源、中断系统的概念 引见引见MCS-51中断系统及中断控制中断系统及中断控制 引见中断处置的过程引见中断处置的过程 引见中断运用程序的编程引见中断运用程序的编程 学习要求:学习要求: 熟习中断、中断源、中断效力程序、熟习中断、中断源、中断效力程序、维护现场、恢复现场、中断优先级、中维护现场、恢复现场、中断优先级、中断处置等概念;断处置等概念; 掌握掌握MCS-51中断入口地址和各中中断入口地址和各中断控制存放器的每位含义及运用:包括断控制存放器的每位含义及运用:包括定时器定时器/计数器控制存放器计数器控制存放器TCON、串行、串行口控制存放器口控制存放器SCON、中断允许控制存、中断允许控制存放器放器IE和中断优先控制器和中断优先控制器IP; 掌握中断初始化和中断效力程序的掌握中断初始化和中断效力程序的编制。编制。 5.1概述概述中断技术是计算机中的重要技术之一。中断技术是计算机中的重要技术之一。引入中断技术作用:引入中断技术作用:1实实时时处处置置,提提高高计计算算机机处处置置缺缺点点的的才才干;干;2处处理理CPU和和外外设设之之间间的的速速度度匹匹配配问问题题,提高提高CPU的效率。的效率。 本本章章将将引引见见中中断断的的概概念念,并并以以MCS-51的的中中断断系系统统为为例例引引见见中中断断的的处处置置过程及运用。过程及运用。 5.1.1中断的概念中断的概念 中中断断是是指指中中央央处处置置器器CPU正正在在执执行行程程序序,处处置置某某件件事事情情的的时时候候,外外部部发发生生了了某某一一事事件件,恳恳求求CPU马马上上处处置置,CPU暂暂时时中中断断当当前前的的任任务务,转转入入处处置置所所发发生生的的事事件件,处处置置完完以以后后,再再前前往往到原来被中断的地方,继续原来的任务。到原来被中断的地方,继续原来的任务。 实现中断功能的部件称为中断系统。实现中断功能的部件称为中断系统。 中中断断效效力力程程序序中中断断之之后后所所执执行行的的处处置置程程序序通通常常称称为为中中断断效效力力程程序序,原原来来运运转转的的程程序序称称为为主主程序。程序。 断点断点主程序被断开的位置主程序被断开的位置(地址地址)称为断点。称为断点。 中中断断源源引引起起中中断断的的缘缘由由,或或能能发发出出中中断断恳恳求的来源,称为中断源。求的来源,称为中断源。 中中断断恳恳求求中中断断源源要要求求效效力力的的恳恳求求称称为为中中断断恳求或中断恳求。恳求或中断恳求。调用中断效力程序与调用子程序的区别:调用中断效力程序与调用子程序的区别: 调用子程序指令在程序中是事先安排好的,而调用中断效力程序事先却无法确知,由于“中断的发生是由外设决议的,程序中无法事先安排调用指令,因此调用中断效力程序的过程是由硬件自动完成的。 5.1.2中断源中断源 n中中断断源源在在中中断断系系统统中中,将将引引起起中中断断恳恳求求的的设设备备或或事事件件的的来来源源,般般统统称称为中断源。常见中断源:为中断源。常见中断源:n 1输入、输出设备中断源输入、输出设备中断源n 普普通通计计算算机机的的输输入入、输输出出设设备备,如如键键盘盘、磁磁盘盘驱驱动动器器、打打印印机机等等,可可经过接口电路向经过接口电路向CPU恳求中断。恳求中断。n 2缺点源缺点源n 缺缺点点源源是是产产生生缺缺点点信信息息的的来来源源。例例如如:CPU内内部部缺缺点点源源,如如除除法法中中除除数为零时的情况;外部缺点源,如电源掉电情况。数为零时的情况;外部缺点源,如电源掉电情况。n在在电电源源掉掉电电时时可可以以接接入入备备用用的的电电池池供供电电,以以保保管管存存储储器器中中的的信信息息。当当电电压压因因掉掉电电降降到到定定值值时时,就就发发出出中中断断恳恳求求,由由计计算算机机的的中中断断系系统统完完成成交交换换备备用用电电源的控制。源的控制。n 3实时中断源实时中断源n 在在实实时时控控制制中中,经经常常将将被被控控参参数数、信信息息作作为为实实时时中中断断源源。例例如如,电电压压、电电流流、温温度度等等超超越越上上限限或或下下限限时时,以以及及继继电电器器、开开封封锁锁合合断断开开时时,都都可可以以作作为中断源恳求中断。为中断源恳求中断。n 4定时计数脉冲中断源定时计数脉冲中断源n 内内部部定定时时计计数数中中断断是是由由单单片片机机内内部部的的定定时时器器计计数数器器溢溢出出时时自自动动产产生生的的;外外部部定定时时/计计数数中中断断是是由由外外部部定定时时脉脉冲冲经经过过CPU的的中中断断恳恳求求输输入入线线或或定时器计数器的输入线引起的。定时器计数器的输入线引起的。 5.1.3中断系统的普通功能中断系统的普通功能中断系统普通应具有如下功能:1.实现中断及前往当某一个中断源发出中断恳求时,假设允许呼应这个中断恳求,CPU必需在现行的指令执行完后,把断点处的PC值(即下一条应执行的指令地址)压入堆栈保管起来,称为维护断点,这是由硬件自动完成的。维护现场呼应中断恳求后,将有关的存放器内容和形状标志位压入堆栈保管起来,这称为维护现场。恢复现场执行中断效力程序后,恢复原保管的存放器的内容和标志位的形状,称恢复现场,并执行前往指令“RETI,这个过程经过用户编程来实现。中断及前往过程如图中断及前往过程如图51所示所示:主程序低级中断高级中断中断中断前往前往图图5-2 中断嵌套流程图中断嵌套流程图执行中断效力程序主程序继续执行主程序RETI图图5-1 中断流程图中断流程图 2实现优先权排队实现优先权排队n优优先先权权给给各各中中断断源源规规定定一一个个优优先先级级别,称为优先权。别,称为优先权。n当当两两个个或或者者两两个个以以上上的的中中断断源源同同时时提提出出中中断断恳恳求求时时,计计算算机机首首先先为为优优先先权权最最高高的的中中断断源源效效力力,效效力力终终了了后后再再呼呼应应级级别别较较低低的的中中断断源源。计计算算机机按按中中断断源源级级别别高高低逐次呼应的过程称优先权排队。低逐次呼应的过程称优先权排队。n这这个个过过程程可可以以经经过过硬硬件件电电路路来来实实现现,也也可以经过程序查询来实现。可以经过程序查询来实现。 3实现中断嵌套实现中断嵌套 当CPU呼应某一中断的恳求而进展中断处置时,假设有优先权级别更高的中断源发出中断恳求,CPU那么中断正在进展的中断效力程序,并保管这个程序的断点(类似于子程序嵌套),呼应高级中断,在高级中断处置完以后,再继续执行被中断的中断效力程序。中断嵌套表示图如图52所示。中断恳求的中断源的优先权级别与正在处置的中断源同级或更低时,CPU暂时不呼应这个中断恳求,直至正在处置的中断效力程序执行完以后才去处置新的中断恳求。 4. 实现中断的撤除实现中断的撤除n在呼应中断恳求以后,前往主程序之前,中断恳求应该撤除,否那么,就等于中断恳求依然存在,这将影响对其它中断恳求的呼应。nMCS-51中断系统只能对一部分中断恳求,在呼应后自动撤除,运用中应留意。5.2 MCS-51中断系统及中断控制中断系统及中断控制nMCS-51的中断系统构造框图如图53所示,与中断有关的特殊功能存放器有4个,分别为中断源存放器(即公用存放器TCON和SCON的相关位)、中断允许控制存放器IE和中断优先级控制存放器IP。nMCS-51单片机有5个中断源,可提供两个中断优先级,即可实现二级中断嵌套。 图图5-3 MCS-51的中断系统构造框图的中断系统构造框图 5.2.1 MCS-51中断源及中断入口中断源及中断入口 MCS-51的中断源可分为三类:外部中断、定时中断和串行口中断。1外部中断类外部中断是由外部缘由引起的,即外部中断0(INT0)和外部中断1(INT1):INT0外部中断0恳求信号,由P3.2引脚输入。由IT0(TCON0)决议中断恳求信号是低电平有效还是下降沿有效。一旦输入信号有效,即向CPU恳求中断,并且使IE01。INT1外部中断1恳求信号,由P3.3引脚输入。由IT1(TCON.2)决议中断恳求信号是低电平有效还是下降沿有效。一旦输入信号有效,即向CPU恳求中断,并且使IE11。 2定时中断类定时中断类定时中断是为满足定时或计数溢出处置的需求而设置的,当定时器计数器中的计数构造发生计数溢出时,即阐明定时时间到或计数值已满,这时就以计数溢出信号作为中断恳求,去置位一个溢出标志位,这种中断恳求是在单片机芯片内部发生的,无需在芯片上设置引入端,但在计数方式时,中断源可以由单片机芯片外部引入。TF0一定时器T0溢出中断恳求。当定时器T0产生溢出时,其中断恳求标志TF01,恳求中断处置。TF1定时器T1溢出中断恳求。当定时器T1产生溢出时,其中断恳求标志TF11,恳求中断处置。3串行口中断类串行口中断是为串行数据的传送需求而设置的。RI或TI串行中断恳求。当接纳或发送完一串行帧数据时,使内部串行口中断恳求标志RI或TI1,并恳求中断。各中断源对应的中断效力程序入口地址:中断源入口地址外部中断00003H定时器T0中断000BH外部中断10013定时器T1中断001BH串行口中断0023H5.2.2 MCS-51中断恳求中断恳求 在中断恳求被呼应前,中断恳求标在中断恳求被呼应前,中断恳求标志分别由特殊功能存放器志分别由特殊功能存放器TCON和和SCON的相应位锁存。的相应位锁存。 1TCON中的中断标志中的中断标志TCON控制存放器各位含义:控制存放器各位含义: TCON 8FH 8DH 8BH 8AH 89H 88H TFlT1溢出中断标志。溢出中断标志。 T1被启动计数后,从初值开场加被启动计数后,从初值开场加1计数,直至计满溢出后,由硬件使计数,直至计满溢出后,由硬件使TFll,向,向CPU恳求中断,此标志不断坚恳求中断,此标志不断坚持到持到CPU呼应中断后,才由硬件自动呼应中断后,才由硬件自动清清“0。也可用软件查询该标志,并。也可用软件查询该标志,并由软件清由软件清“0。TFlTF0IE1 IT1 IE0 IT0(88H)TF0T0溢出中断标志。其操作功能类似于TF1。IE1INT1外部中断1标志。IE11阐明外部中断1向CPU恳求中断。IT1外部中断1触发方式控制位。1ITl0,外部中断1为电平触发方式,低电平有效。2ITl1,外部中断1控制为边沿先高后低的负跳变触发方式。IE0INT0外部中断0标志。其操作功能与IE1类同。IT0外部中断0触发方式控制位。其操作功能与IT1类同。 2SCON中的中断标志中的中断标志SCON是串行口控制存放器,其低2位TI和RI锁存串口的发送中断和接纳中断标志。其格式和各位含义如下:SCON99H98HTI串行发送中断标志。CPU将一个字节数据写入发送缓冲器SBUF后启动发送,每发送完一个串行帧,硬件置位TI。TI标志由软件去除。RI串行接纳中断标志。在串行口允许接纳时,每接纳完一个串行帧,硬件置位RI。RI标志由软件去除。MCS51系统复位后,TCON和SCON中各位均被清“0。98HSMODTIRI5.2.3 中断允许控制中断允许控制 中断允许存放器IE格式和各位含义如下:IEAFHACHABHAAHA9HA8HEACPU中断总允许位。EA1,CPU开放中断,每个中断源是被允许还是被制止,分别由各自的允许位确定;EA0,CPU屏蔽一切的中断恳求,称关中断。ES串行口中断允许位。ES1,允许串行口中断;ES0,制止串行口中断ET1一T1中断允许位。ET11,允许T1中断;ET10,制止T1中断。EX1外部中断l允许位。EX11,允许外部中断1中断;EXl0,制止外部中断1中断。ET0一T0中断允许位。ET0l,允许T0中断;ET00,制止T0中断。EX0外部中断0允许位。EX01,允许外部中断0中断;EX00,制止外部中断0中断。MCS5l系统复位后,IE中各中断允许位均被清“0,即制止一切中断。EAESET1EX1ET0EX0A8H 5.2.4 中断优先级中断优先级n中断优先级系统设计人员给每个中断源,事先安排一个中断呼应的优先顺序。然后按照轻重缓急的次序呼应中断。中断源的这种优先顺序常被称为中断优先权级别,或简称中断优先级。n公用存放器IP一致管理中断优先级。它具有两个中断优先级,由软件设置每个中断源为高优先级中断或低优先级中断,并可实现两级中断嵌套。n高优先级中断源可以中断正在执行的低优先级中断效力程序,除非在执行低优先级中断效力程序时设置了CPU关中断或制止某些高优先级中断源的中断。同级或低优先级的中断源不能中断正在执行的中断效力程序。公用存放器公用存放器IP为中断优先级存放器,为中断优先级存放器,其格式和各位含义如下:其格式和各位含义如下:IPBCHBBHBAHB9HB8HPS串行口中断优先级控制位。PT1T1中断优先级控制位。PX1外部中断l中断优先级控制位。PT0T0中断优先级控制位。PX0外部中断0中断优先级控制位。以上对应位为1,高优先级;为0,低优先级。当系统复位后,IP低5位全部清“0,将一切中断源设置为低优先级中断。PSPT1 PX1 PX1 PX0B8H自然优先级由硬件构成,陈列次序如下:自然优先级由硬件构成,陈列次序如下: 中断源自然优先级外部中断0最高级定时器T0中断外部中断1定时器T1中断串行口中断最低级当重新设置优先级时,那么顺序查询逻辑电路将会相应改动排队顺序。例如,给中断优先级存放器IP中设置的优先级控制字为11H,那么PS和PX0均为高优先级中断。当这两个中断源同时发出中断恳求时,CPU将先呼应自然优先级高的PX0的中断恳求,而后呼应自然优先级低的PS的中断恳求。 5.2.5 中断呼应时间中断呼应时间不同的情况对中断呼应的时间不同:不同的情况对中断呼应的时间不同:1 最短的呼应时间,需求最短的呼应时间,需求5个机器周期。个机器周期。调调用用指指令令本本身身要要用用2个个机机器器周周期期,从从外外部部中中断断恳恳求求有有效效到到开开场场执执行行中中断断效效力力程程序序的的第第一一条条指指令令,至至少少需需求求3个个机器周期。机器周期。2假假设设遇遇到到中中断断受受阻阻的的情情况况,中中断断呼呼应应时时间间会会更更长长一一些。些。 不同中断受阻情况,附加的等待时间为不同中断受阻情况,附加的等待时间为15个机器周期。个机器周期。3假假设设系系统统中中只只需需一一个个中中断断源源,那那么么呼呼应应时时间间为为38个机器周期。个机器周期。4假假设设有有两两个个以以上上中中断断源源同同时时恳恳求求中中断断,那那么么呼呼应应时时间将更长。间将更长。 般般情情况况下下,可可不不思思索索呼呼应应时时间间,但但在在准准确确定定时时控制的场所需求思索此问题。控制的场所需求思索此问题。5.2.6 中断恳求的撤除中断恳求的撤除CPU呼应某中断恳求后,在中断前往前,应该吊销该中断恳求,否那么会引起另一次中断。1定时器0或1溢出中断,CPU在呼应中断后,中断恳求自动撤除。2边沿激活的外部中断,CPU在呼应中断后,硬件自动去除有关的中断恳求。3串行口中断,CPU呼应中断后,靠软件来去除相应的标志。电平激活的外部中断撤除方法较复杂。图54是撤除电平激活的中断的可行的方案之一。用P1.0接在触发器的S端作为应对线,当CPU呼应中断后可运用如下两条指令:ANLPl,#0FEHORLP1,#01H执行第一条指令使P1.0输出为“0,其继续时间为2个机器周期,足以使D触发器置位,从而撤除中断恳求。执行第二条指令使P1.0变为“1,否那么D触发器的S端一直有效,INT0端一直为“1,无法再次恳求中断。 图图5-4 撤除外部中断恳求的电路撤除外部中断恳求的电路 5.3 中断处置过程中断处置过程 一个完好的中断处置的根本过程应该包括:中断恳求、中断呼应、中断处置以及中断前往。中断处置流程图如图5-5所示。不同的计算机由于中断系统的硬件构造不完全一样,因此中断呼应的方式有所不同。在此,仅以MCS51单片机为例来引见中断处置的过程。中止现行程序,维护断点转入中断效力程序入口维护现场中断效力恢复现场中断前往RETI图5-5中断处置流程图中断呼应中断前往中断处置中断恳求CPU呼应中断中断恳求5.3.1 中断恳求中断恳求中断恳求是中断源或者经过接口电路向CPU发出恳求中断的信号,要求CPU中断原来执行的程序,转去为它效力。普通单片机提供有多条中断恳求线,当中断源有效力要求时,可经过中断恳求线,向CPU发出信号,恳求CPU中断。中断恳求信号可以是电平信号,也可以是脉冲信号。中断恳求信号应该不断坚持到CPU做出反响时为止。5.3.2 中断呼应中断呼应 中断呼应是在满足CPU的中断呼应条件之后,CPU对中断源中断恳求的回答。在这一阶段,CPU要完成中断效力以前的一切预备任务,包括维护断点和把程序转向中断效力程序的入口地址(通常称为矢量地址)。1CPU的中断呼应条件(1)有中断源发出中断恳求;(2)中断总允许位EA1,即CPU允许一切中断源恳求中断;(3)恳求中断的中断源的中断允许位为1,即此中断源可以向CPU恳求中断。 有以下任何一种情况存在,中断有以下任何一种情况存在,中断呼应都会遭到阻断:呼应都会遭到阻断:(1) CPU正在执行一个同级或高一级的中断效力程序;正在执行一个同级或高一级的中断效力程序;(2) 当当前前的的机机器器周周期期不不是是正正在在执执行行的的指指令令的的最最后后一一个个周周期期,即即正正在在执执行行的的指指令令完完成成前前,任任何何中中断断恳恳求求都都得得不不到到呼呼应;应;(3) 正正在在执执行行的的指指令令是是前前往往(RETI)指指令令或或者者对对公公用用存存放放器器IE、IP进进展展读读写写的的指指令令,此此时时,在在执执行行RETI或或者者读写读写IE或或IP之后,不会马上呼应中断恳求。之后,不会马上呼应中断恳求。 假假设设存存在在上上述述任任何何一一种种情情况况,那那么么不不会会马马上上呼呼应应中中断断,而而把把该该中中断断恳恳求求锁锁存存在在各各自自的的中中断断标标志志位位中中,在下一个机器周期再按顺序查询。在下一个机器周期再按顺序查询。 由由于于存存在在中中断断阻阻断断的的情情况况而而未未被被及及时时呼呼应应,待待上上述述封封锁锁中中断断的的条条件件被被吊吊销销之之后后,由由于于中中断断标标志志还还存存在在,仍会呼应。仍会呼应。 2中断呼应过程中断呼应过程 MCS-51中断入口地址和中断输入引脚是一一对应的,从哪个中断输入引脚进入的中断恳求,它的中断效力程序入口地址一定是某个固定值。如从INT0P3.2引脚进入的中断恳求,转向的中断入口地址是0003H单元。5.3. 3 中断处置中断处置 中断处置(又称中断效力)程序从入口地址开场执行,直到前往指令“RETI为止,这个过程称为中断处置。普通包括维护现场和处置中断源的恳求及恢复现场三部分内容。普通主程序和中断效力程序都能够会用到累加器、PSW存放器和一些其它存放器。CPU在进入中断效力程序后,用到上述存放器时就会破坏它原来存在存放器中的内容,一旦中断前往,将会呵斥主程序的混乱。5.3.4 中断前往中断前往 中断前往是指执行完中断效力程序后,程序前往到断点(即原来程序执行时被断开的位置),继续执行原来的程序。中断前往由专门的中断前往指令“RETI实现,该指令的功能是把断点地址取出,送回到程序计数器PC中去。特别要留意不能用子程序前往指令“RET替代中断前往指令“RETI。5.4 中断运用程序举例中断运用程序举例 中断程序普通包含中断控制程序即中断初始化程序和中断效力程序两部分。5.4.1中断初始化程序中断初始化程序本质上就是对TCON、SCON、IE和IP存放器的管理和控制。只需这些存放器的相应位按照要求进展了形状预置,CPU就会按照人们的意图对中断源进展管理和控制。中断初始化程序普通不独立编写,而是包含在主程序中,根据需求进展编写。中断初始化程序需完成以下操作:1开中断;2某一中断源中断恳求的允许与制止(屏蔽);3确定各中断源的优先级别;4假设是外部中断恳求,那么要设定触发方式是电平触发还是边沿触发。例例5-1 假设规定外部中断假设规定外部中断0为电平触发方式,高优为电平触发方式,高优先级,试写出有关的初始化程序。先级,试写出有关的初始化程序。解:可用两种方法完成。解:可用两种方法完成。 方法方法1,用位操作指令完成:,用位操作指令完成: SETB EA ;开中断允许总控制位;开中断允许总控制位SETB EX0 ;外中断;外中断0开中断开中断SETB PX0;外中断;外中断0高优先级高优先级CLR IT0;电平触发;电平触发 方法方法2,用其它指令也可完成同样功能:,用其它指令也可完成同样功能:MOV IE,#81H;同时置位;同时置位EA和和EX0ORL IP,#01H;置位;置位PX0ANL TCON,#0FEH ;使;使IT0为为0 这这两两种种方方法法都都可可以以完完成成标标题题规规定定的的要要求求。普普通通情情况况下下,用用方方法法1简简单单些些。由由于于,在在编编制制中中断断初初始始化化程程序序时时,只只需需知知道道控控制制位位的称号就行了,而不用记住它们在存放器中确实切位置。的称号就行了,而不用记住它们在存放器中确实切位置。5.4.2中断效力程序中断效力程序 中断效力程序是一种为中断源的特定情况要求效力的独立程序段,以中断前往指令RETI终了,中断效力完后前往到原来被中断的地方(即断点),继续执行原来的程序。中断效力程序的固定入口:0003H单元外部中断INT0的中断效力程序入口000BH单元内部定时器计数器T0的中断效力程序入口0013H单元外部中断INT1的中断效力程序入口001BH单元内部定时器计数器T1的中断效力程序入口0023H单元串行口的中断效力程序入口中断效力程序和子程序一样,在调用和前往时,也有一个维护断点和现场的问题。在中断呼应过程中,断点的维护主要由硬件电路自动实现。它将断点压人堆栈,再将中断效力程序的入口地址送入程序计数器PC,使程序转向中断效力程序,即为中断源的恳求效力。中断时,现场维护由中断效力程序来完成。因此在编写中断效力程序时必需思索维护现场的问题。在MCS51单片机中,现场普通包括累加器A、任务存放器R0R7以及程序形状字PSW等。维护的方法与子程序一样。在编写中断效力程序时还应留意以下三点:(1)各中断源入口地址之间只相隔8个字节。中断效力程序放在此处,普通容量是不够的。常用的方法是在中断入口地址单元处,存放条无条件转移指令,如“LJMPAddress,使程序跳转到用户安排的中断效力程序起始地址去。(2)在执行当前中断程序时,为了制止更高优先级中断源的中断恳求,可先用软件封锁CPU中断,或屏蔽更高级中断源的中断,在中断前往前再开放被封锁或被屏蔽的中断。(3)在多级中断情况下,应在维护现场之前关掉中断,在恢复现场之后翻开中断。假设在中断处置时允许有更高级的中断打断它,那么在维护现场之后开中断,恢复现场之前关中断。 5.4.3 运用举例运用举例在设计中断效力程序时,是按中断源的要求,根据中断处置所要完成的义务来进展的。维护现场和恢复现场普通采用PUSH和POP指令来实现。PUSH和POP指令普通成对出现,以保证存放器的内容不会改动。要留意堆栈操作的“先进后出,后进先出的原那么。例例5-2 设在主程序中用到了存放器设在主程序中用到了存放器PSW、ACC、B、DPTR,而在执行中断效力程序时需求用到这些存放器。,而在执行中断效力程序时需求用到这些存放器。因此,在中断效力程序里要维护因此,在中断效力程序里要维护PSW、ACC、B、DPTR的内容,以免破坏主程序中相运用到的存放器的内容,以免破坏主程序中相运用到的存放器PSW、ACC、B、DPTR内容。内容。程序如下:SERVICE:PUSHPSW;维护程序形状字PUSHACC;维护累加器APUSHB;维护存放器BPUSHDPL;维护数据指针低字节PUSHDPH;维护数据指针高字节;中断处置POPDPH;恢复现场,即恢复各存放器内容POPDPLPOPBPOPACCPOPPSWRETI中断在实时控制中运用很多,在后面的章节中,会陆续讲到。下面举一例予以引见。例例5-3 图图5-5为多个缺点显示电路,当系统无缺点时,为多个缺点显示电路,当系统无缺点时,4个个缺点源输入端缺点源输入端X1X4全为低电平,显示灯全灭;当某部全为低电平,显示灯全灭;当某部分出现缺点,其对应的输入由低电平变为高电平,从而分出现缺点,其对应的输入由低电平变为高电平,从而引起引起MCS51单片机中断,中断效力程序的义务是断定单片机中断,中断效力程序的义务是断定缺点源,并用对应的发光二极管缺点源,并用对应的发光二极管LED1LED4进展显示。进展显示。图图5-5 多个缺点源进展显示多个缺点源进展显示编程如下:ORG0000H;程序开场AJMPMAIN;转主程序ORG0003H;外部中断INT0入口地址AJMPSERVICE;转中断效力程序MAIN: 0RLP1,#0FFH;灯全灭,预备读入SETBIT0;选择边沿方式SETBEX0;允许INT0中断SETBEA;CPU开中断AJMP$;等待中断SERVICE:JNBP1.3,N1;假设X1无缺点转CLRP1.4;假设X1有缺点,LED1亮N1:JNBP1.2,N2;假设X2无缺点转CLRP1.5;假设X2有缺点,LED2亮N2:JNBP1.1,N3;假设X3无缺点转CLRP1.6;假设X3有缺点,LED3亮N3:JNBP1.0,N4;假设X4无缺点转CLRP1.7;假设X4有缺点,LED4亮N4:RETI这个程序主要分为主程序和中断效力程序两部分。主程序主要完成初始化的任务,中断效力程序主要检测缺点源能否发生,假设某缺点源发生,那么将相应的指示灯点亮。在此主程序和中断效力程序中,没有存在运用存放器之间的干涉问题。因此,在中断效力程序中不用维护现场和恢复现场。 小小 结结本章就中断的概念、中断系统、中断控制、中断处置、中断效力程序的编制和运用,进展了比较详细的论述。引入中断后,计算机的效率得到了很大的提高,在处理实时控制的问题时,变得非常的灵敏和方便,运用非常广泛。主要内容有:中断、中断源、中断效力程序、维护现场、恢复现场等概念;中断流程、中断嵌套、中断优先级、中断处置等过程的实现;MCS-51中断入口地址;各中断控制存放器的每位含义:包括定时器/计数器控制存放器TCON、串行口控制存放器SCON、中断允许控制存放器IE和中断优先控制器IP;中断初始化和中断效力程序的编制等。 思索题与习题五思索题与习题五 1.什么叫中断?中断系统普通应具备哪些功能什么叫中断?中断系统普通应具备哪些功能? 2. 中断效力程序和子程序的主要区别是什么?中断效力程序和子程序的主要区别是什么? 3MCS-51中断系统有几个中断源中断系统有几个中断源? 中断源的中断源的称号是什么?称号是什么? 4MCS-51中断系统有几级中断优先级中断系统有几级中断优先级? 它是它是如何控制的?如何控制的? 5MCS-51单片机呼应中断后,中断入口地单片机呼应中断后,中断入口地址各是多少?址各是多少? 6. 一个完好的中断处置的根本过程包括哪些一个完好的中断处置的根本过程包括哪些内容?内容? 7. 中断呼应后,是怎样维护断点和维护现场中断呼应后,是怎样维护断点和维护现场的的? 8试编写一段对中断系统进展初始化的程序,试编写一段对中断系统进展初始化的程序,使之允许使之允许INT0、INT1、T0和串行口中断,且使和串行口中断,且使串行口中断为高优先级中断。串行口中断为高优先级中断。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号