版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
任务五左右移流水灯任务目的利用单片机外部中断,完成左右移动的流水彩灯设计,实现用按键对信号灯的控制。任务描述用单片机的P3.2,P3.3各接一只按键,按下一个按键时,实现彩灯左移花样,按下另一个按键时,实现彩灯右移花样。1.电路原理图学习板电路原理图见图5-1所示2.参考程序FXBIT00H;位地址00H命名为FXORG0000HLJMPMAIN;转移到主程序ORG0003H;外中断0服务程序入口返回下一页任务五左右移流水灯LJMPINT0;转移到外中断0服务程序ORG0013H;外中断1服务程序入口LJMPINT1;转移到外中断1服务程序ORG0030HMAIN:MOVSP,#5FH;设置堆栈栈底SETBIT0;设置外中断0为下降沿触发SETBIT1;设置外中断1为下降沿触发CLRPX0;设置外中断0为低优先级CLRPX1;设置外中断1为低优先级,由于复位时被清零,以上2条清零标志位的指令可以省略SETBEX0;开外中断0SETBEX1;开外中断1SETBEA;开总中断MOVA,#01H;显示代码初值送累加器A返回上一页下一页任务五左右移流水灯K0:MOVP0,A;把显示代码传送到P0口输出,控制LED亮灭JBFX,K1;FX=1(00H位为1),转移至K1,执行右移RLA;FX=O,执行显示代码左移,暂存在A中SJMPK2;转移到K2,避开右移指令K1:RRA;显示代码右移K2:LCALLDELAY;调用延时子程序SJMPK0;返回,继续下一拍INT0:CLRFX;外中断0服务程序,方向标志位清0RETI;中断返回INT1:SETBFX;外中断1服务程序,方向标志位置1RETI;中断返回DELAY:MOVR7,#0FFH;延时子程序L1:MOVR6,#0FFHDJNZR6,$返回上一页下一页任务五左右移流水灯KJNZR7,L1RETEND;程序结束3.程序仿真及烧录把这段程序在1}%AV6000中编辑、汇编,用软件仿真运行、调试无误,把得到bin格式或者hex格式的日标文件,通过烧录器或者下载线,保存到单片机的程序存储器中。把单片机插人实验板插座里,上电运行,分别按下两只按键,观察运行结果。4.程序分析按下P3.2处连接的按键,会在P3.2引脚(INTO)输人一个低电平,触发外部中断0,运行外部中断0服务程序,把方向标志位清零;按下P3.3处连接的按键,会触发外部中断1,运行外部中断1服务程序,把方向标志位置1。当主程序中执行到JBFX,K1这条指令时,会根据FX的值是0还是1,选择不同的流向,去执行RLA或者执行RRA,使彩灯出现不同的移动方向。返回上一页5.1概述5.1.1中断的基本概念1.中断当中央处理器CPU正在处理某事件时,与它并行工作的外围部件或者外部设备由于工作的需要或者出现故障,请求CPU迅速去处理,CPU暂停当前工作,转去处理所发生的事件,处理结束之后,再回到被打断的地方继续原来的工作。这样的过程称为中断,如图5-2所示。2.中断系统实现中断功能的硬件称为中断系统。3.中断源能够产生中断请求的条件称为中断源。中断源可以来下一页返回5.1概述
自单片机的外部和内部。在不同种类的单片机中,中断源的数量一般并不相同。MCS-51单片机有5个中断源。4.中断申请中断源发出相应的电信号,向CPU申请中断,称为中断申请。5.中断响应CPU暂停当前工作,转去执行中断服务程序,称为中断响应。6.中断优先级几个中断源同时申请中断或者CPU正在处于某中断处理过程中时,又有另一外部事件申请中断,CPU必须区分哪个中断源更重要,从而确定优先处理谁,这就是中断优先级的问题。上一页下一页返回5.1概述在MCS-51单片机中,中断的优先级可以用指令设定,也就是说是可编程的。在几个中断源同时申请中断时,高优先级的中断源先被响应,执行完毕以后,再去执行低优先级中断服务程序。7.中断嵌套优先级高的事件可以中断CPU正在处理的低优先级中断服务程序,待完成高级中断服务程序之后,再继续执行被打断的低级中断服务程序,这就是中断嵌套。反之,在高级中断服务程序执行时,同优先级或者低优先级中断请求将被挂起,等高级中断服务程序执完毕,才能执行低级中断服务程序。如图5-3所示。5.1.2中断的功能返回上一页下一页5.1概述1.实现CPU与外设的速度配合由于许多外部设备速度较慢,无法与CPU进行直接的同步数据交换,为此可通过中断方法来实现CPU与外设的协调工作。在CPU执行程序过程中,如需进行数据输人/输出时,先启动外设,然后CPU继续执行程序。与此同时,外设在为数据输人/输出传送作准备。当准备完成后,外设发出中断请求,请求CPU暂停正在执行的程序,转去完成数据的输人/输出传送。传送结束后,CPU再返回继续执行原程序,而外设则为下次数据传送作准备。这种以中断方法完成的数据输人/输出操作,在宏观上看来似乎是CPU与外设在同时工作。我们称之为CPU与外设并行工作。2.实现实时控制在实时控制系统中要求计算机能及时完成被控对象随机返回上一页下一页5.1概述提出的分析和计算任务,以便使被控对象能保持在最佳工作状态,达到预定的控制要求。在自动控制系统中,各控制参量可能随机地在任何时刻向计算机发出请求,要求进行某种处理。对此,CPU必须作出快速响应和及时处理。这种实时处理功能只能靠中断技术才能实现。3.实现故障的及时发现计算机在运行过程中,常会突然发生一些事先无法预料的故障,如:硬件故障、程序故障等。应用中断技术,计算机就能对这些故障及时发现并进行自动处理。4.实现人机交互当用户需要对单片机的工作进行干预时,可以先通过键盘发出中断请求,在CPU执行完当前重要的工作以后,再按照用户的意图工作。如果马上响应用户请求,中断当前重要程序的运行,则有可能造成的严重后果。返回上一页5.2MCSMCS-51的中断系统MCSMCS-51有多个中断源,下面以8051为例进行介绍。8051的中断系统有三类共5个中断源,提供两级中断优先级,可实现二级中断服务程序嵌套。对每个中断源而言,根据实际需要,既可通过编程设置为高优先级中断或低优先级中断,也可通过编程设置为中断开放或中断屏蔽。所谓编程设置是指在程序中通过指令,对于相关寄存器的特定位,设置相应的0,1值。与中断系统有关的特殊功能寄存器有中断允许寄存器IE、中断优先级控制寄存器1P、中断源寄存器(TCON,SCON中有关的位),中断系统内部结构如图5-4所示。下一页返回5.2MCSMCS-51的中断系统5.2.1中断源和中断标志1.中断源8051的中断系统的5个中断源中,两个来自单片机的外部,三个来自单片机的内部。8051为每个中断源设置厂中断请求标志位。CPU每个机器周期都会对所有中断源进行检测,当检测到中断请求信号以后,8051为相应的中断标志位置位,以便在下一个机器周期进行控制和处理。(1)外部中断源。8051有两个外部中断源,分别称为外部中断0(INTO)和外部中断1(INTl)。外部中断0的中断请求信号由引脚INTO(P3.2)引入,外部中断1的中断请求信号由引脚INT1(P3.3)引入。返回上一页下一页5.2MCSMCS-51的中断系统外中断源有两种中断触发方式:电平触发方式和脉冲触发方式。触发方式是通过定时控制寄存器TCON中相关位进行设置的。当8051的外部中断源以电平方式触发时,低电平有效。CPU采样到引脚INTO即P3.2(或者引脚INT1即P3.3)为低电平时,就认为是外部中断0,(或者外部中断1)的一个有效的中断请求信号,这时把对应的标志位置位,向CPU申请中断。当8051的外部中断源以脉冲方式触发时,下降沿有效。CPU在一个机器周期采样到引脚INTO即P3.2(或者引脚INT1即P3.3)为高电平,在接下来的一个机器周期CPU采样到该引脚上一页下一页返回5.2MCSMCS-51的中断系统为低电平,也就是说在出现厂下降沿的跳变(负脉冲),就认为是外部中断0(或者外部中断1)的一个有效的中断请求信号,这时把对应的标志位置位,向CPU申请中断。因为两次采样的时间间隔是一个机器周期,所以负脉冲对应的高低电平持续时间都至少要维持一个机器周期,才能保证CPU能检测到电平的跳变,可靠的触发中断。(2)定时器/计数器中断源。8051内部有两个定时器/计数器TO和T1,用于进行定时和计数控制,是内部中断源。TO和T1在内部时钟(或者外部计数脉冲)的作用下进行定时(或者计数)。当定时(或者计数)结束时,自动由硬件产生溢出信号把对应的标志位置位,向CPU申请中断。这种中断请求是在单片机芯片内部发生的,因此无需在芯片上设置引入端。返回上一页下一页5.2MCSMCS-51的中断系统(3)串行中断源。8051有一个全双工异步串行口,用于串行通信,是内部中断源。每当串行口接收或发送完一组串行数据时,就自动由硬件产生一个中断请求。因此串行中断请求也是在单片机芯片内部自动发生的,同样不需在芯片上设置引入端。这里所说的中断控制是指提供给用户使用的中断控制手段,具体说就是用户通过设置状态位来使用中断系统。为此MCSMCS-51单片机设置厂一些控制寄存器。与中断控制有关的寄存器有四个:定时器控制寄存器、中断允许控制寄存器、中断优先控制寄存器以及串行口控制寄存器。这四个控制寄存器都属于特殊功能寄存器。2.中断请求标志CPU在每个机器周期都采样5个中断源的中断标志IEO,返回上一页下一页5.2MCSMCS-51的中断系统IE1,TFO,TF1,TI和RI,这些中断请求源的中断请求标志位分别由特殊功能寄存器TCON和SCON的相应位锁定。(1)定时器控制寄存器TCON。ITO—选择外部中断请求INTO(P3.2)为边沿触发方式或电平触发方式的控制位。ITO可由软件置1或清0。当ITO=0时,为电平触发方式,INTO低电平有效。CPU在采样到外部中断输人线(INTO引脚)为低电平时,把中断申请标志位(IEO)置1。当外部中断源被设定为电平触发方式时,在中断服务子程序返回之前,外部中断INTO请求输人必须无效(即变为高电平),否则CPU返回主程序后会再次响应中断。所以电平触发方式适合于外部中断以低电平输人,而且中断服务子程序能清除外部中断请求源的情况。返回上一页下一页5.2MCSMCS-51的中断系统当ITO=1时,INTO为边沿触发方式,INTO输人脚上的电平从高到低的负跳变有效。外部中断申请触发器能锁存外部中断输人线上的负跳变。即便是CPU暂时不能响应,中断申请标志也不会丢失。在这种方式时,如果相继连续两次采样,一个周期采样到外部中断输人为高,下个周期采样为低,则置1中断申请标志位(IEO),直到CPU响应此中断时才清0。这样不会丢失中断,但输人的负脉冲宽度至少保持12个振荡周期,才能被CPU采样到。外部中断的边沿触发方式适合于以负脉冲形式输人的外部中断请求。IEO—外部中断0的中断申请标志位。当ITO=0即电平触发方式时,每个机器周期采样INTO,若INTO为低电平,则IEO置1,否则IEO清0;当ITO=1,即INTO程控为边沿触发方式时,当第一个机器周期采样到该引脚为高电平而第二个机器周期返回上一页下一页5.2MCSMCS-51的中断系统采样到该引脚为低电平时,IEO置1。IEO为1表示外部中断0正在向CPU申请中断。当CPU响应中断,转向中断服务子程序时,由硬件把IEO自动清0。IT1—选择外部中断请求INT1(P3.3)为边沿触发方式或电平触发方式的控制位,由软件进行设定。当IT1MCS-0时,为电平触发方式,当IT1=1时,INT1为边沿触发方式。IE1—外部中断1的中断申请标志位,当INT1引脚得到有效的外中断请求信号时,由硬件自动置toTFO—定时器/计数TO的计数溢出标志位。当TO定时(或者计数)结束时,该位由硬件自动置1。此位作为中断请求标志位,在中断响应后由硬件自动清0,也可以执行LCRTFO等指令由软件清O。返回上一页下一页5.2MCSMCS-51的中断系统TF1—定时器TO,T1的计数溢出标志位。当T1定时(或者计数)结束时,该位由硬件自动置1。此位作为中断请求标志位,在中断响应后由硬件自动清0,也可以执行LCRTF1等指令由软件清O。TRO—定时器TO的运行控制位,可由软件置1或清0oTRO=1,启动定时/计数器TO工作,TRO=0,停止定时/计数器TO工作。TR1—定时器T1的运行控制位,可由软件置1或清0oTR1=1,启动定时/计数器T1工作,TR1MCS-0,停止定时/计数器T1工作。MCS-51单片机复位后,TCON被清零。(2)串行口控制寄存器SCON。SCON为串行口控制寄存器,字节地址为98H,可位寻址。这里只介绍与中断有关系的低2位:TI和RI。返回上一页下一页5.2MCSMCS-51的中断系统TI串行口的发送中断标志位,当串行口结束一次数据发送后,由硬件自动置to值得注意的是CPU响应发送器中断请求,转向执行中断服务程序时并不能自动把TI清0,TI必须由用户的中断服务子程序清0,口中断服务子程序中必须用CLRTI等把TI清0的指令。RI-串行口接收中断标志位,当串行口结束一次数据发送后,由硬件自动置1。同样RI必须由用户的中断服务子程序清O。MCS-51单片机复位后,SCON被清零。下一页返回上一页5.2MCSMCS-51的中断系统5.2.2中断控制寄存器1.中断允许寄存器IEMCSMCS-51单片机的CPU对中断源的开放或屏蔽,是由片内的中断允许寄存器IE控制的(如图5MCS-3所示),IE的字节地址为A8H,可以位寻址。格式如下所示。中断允许寄存器IE各位的功能如下:EA—中断允许总控制位。EA=0,CPU屏蔽所有的中断请求(关中断);EAMCS-1,CPU开放所有中断(开中断)。ES串行口中断允许位。ES=0,禁止串行口中断;ES=1,允许串行口中断。ET1—定时/计数器T1的溢出中断允许位。ET1=0,禁止T1溢出中断;ET1=1,允许T1溢出中断。上一页下一页返回5.2MCSMCS-51的中断系统EX1—外部中断1中断允许位。EX1MCS-0,禁止外部中断1中断;EX1MCS-1,允许外部中断1中断。ETO—定时/计数器TO的溢出中断允许位。ETO=0,禁止TO溢出中断;ETO=1,允许TO溢出中断。EXO—中断0中断允许位。EXO=0,禁止外部中断0中断;EXO=1,允许外部中断0中断。MCS-51单片机复位以后,IE被清0,由用户程序置1或清OIE相应的位,实现允许或禁止各中断源的中断申请。若允许某一个中断源中断,除厂开放中断总的允许位EA外,必须同时使CPU开放该中断源的中断允许位。因为中断允许寄存器IE的地址是A8H,可以进行位寻址,所以可以通过位操作指令和字节操作指令实现。上一页下一页返回5.2MCSMCS-51的中断系统2.中断优先级寄存器IPMCS-51单片机有两个中断优先级,对于每一个中断请求源可编程为高优先级中断或低优先级中断。MCSMCS-51单片机的片内有一个中断优先级寄存器IP,其字节地址为B8H,可以位寻址,可进行字节操作和位操作来设置各中断源中断级别。形式如下所示。中断优先级寄存器IP各位的功能如下:PS串行口中断优先级控制位PS=1,串行口中断定义为高优先级;(PS)=0,串行口中断定义为低优先级。PT1—定时/计数器T1中断优先级控制位。(PT1)=1,定时/计数器T1中断定义为高优先级;(PT1)=0,定时器T1中断定义为低优先级。返回上一页下一页5.2MCSMCS-51的中断系统PX1—外部中断1中断优先级控制位PX1=1,外部中断1定义为高优先级;PX1MCS-0,外部中断1定义为低优先级。PTO—定时器TO中断优先级控制位。(PTO)=1,定时/计数器TO中断定义为高优先级;(PTO)=0,定时/计数器TO中断定义为低优先级。PXO—外部中断0中断优先级控制位。(PXO)=1,外部中断0定义为高优先级;PXO=0,外部中断。定义为低优先级。中断优先级控制寄存器IP的各位都由用户程序置1和清0,可用位操作指令或字节操作指令更新IP的内容,以改变各中断源的中断优先级。MCS-51单片机复位以后IP为0,各个中断源均为低优先级中断。5.2.3中断优先级结构返回上一页下一页5.2MCSMCS-51的中断系统MCS-51单片机有两个中断优先级,对于每一个中断请求源可编程为高优先级中断或低优先级中断。一个正在执行的低优先级中断程序能被高优先级的中断源所中断,但不能被另一个低优先级的中断源所中断。若CPU正在执行高优先级的中断,则不能被任何中断源所中断,一直执行到结束,遇到返回指令RETI,返回主程序后再执行一条指令后才能响应新的中断请求。以上所述可以归纳为下面两条基本规则:(1)低优先级可被高优先级中断,而高优先级中断源不能被任何中断源所中断。(2)任何一种中断(不管是高级还是低级),一旦得到响应,不会再被它的同级中断所中断。遵循这样的原则,MCS-51单片机可实现两级中断嵌套,其工作过程如图5-3所示。返回上一页下一页5.2MCSMCS-51的中断系统为了实现上述两条规则,中断系统内部包含两个不可寻址的优先级状态触发器。其中一个指示某高优先级的中断正在执行,所有后来的中断均被阻止。另一个触发器指示某低优先级的中断正在执行,所有同级的中断都被阻止,但不阻断高优先级的中断。当几个同优先级的中断同时申请中断,响应哪一个中断源将取决于内部查询顺序,或称为辅助优先级结构,也称为自然优先级。其优先级排列见下表。返回上一页下一页5.2MCSMCS-51的中断系统5.2.4中断响应1.中断服务区CPU响应中断请求、为中断源事件进行处理,是通过执行中断服务程序实现的。8051在内部ROM中为五个中断源定义厂固定的中断服务人口地址,称为中断向量。MCS-51的中断向量见下表。返回上一页下一页5.2MCSMCS-51的中断系统响应中断请求后,CPU按照中断源的不同,自动转到各个中断人口地址去执行程序。由于每个中断向量仅间隔8个字节,不可能放下一般的中断处理程序。因此一般在中断向量处放置一条无条件转移指令,转到真正的中断处理程序。例如:外中断0的中断服务程序存放在INTO开始的地方,则编程如下:ORG0003HLJMPINT02.中断响应过程MCSMCS-51单片机在每个机器周期以IE,IP和自然优先级为依据查询每个中断源的中断请求标志,若有中断源发出请求,CPU则在下个机器周期按优先级顺序查询各中断标志,并且取高优先级的中断响应。响应中断后置位相应中断优先级状态触发器,表明当前中断服务的优先级别,执行硬件调用程序,将程序计数器PC的内容压人堆栈保护。返回上一页下一页5.2MCSMCS-51的中断系统对应中断源的中断人口地址装人程序计数器PC便程序转向该中断人口处执行中断服务程序,直至遇到RETI指令。执行RETI指令,撤销中断优先级触发器,弹出断点地址至程序计数器PC,继续原程序的执行过程。在接受中断申请时,可能会遇到下列三种情况:(1)正在执行同级或高一级的中断服务程序,则此次中断响应失败;(2)当前指令周期不是该指令的最后一个周期(或一条指令未执行完),必须在当前指令完整执行后才能执行硬件调用程序响应中断;(3)当前正在执行的指令是RETI或对IE,IP的读写操作,则还需要在它的下一条指令执行后才能执行硬件调用程序响应中断。3.外中断响应时间返回上一页下一页5.2MCSMCS-51的中断系统在应用设计者使用外部中断时,有时需考虑从外部中断请求有效(外中断请求标志置“1")到转向中断人口地址所需要的响应时间。下面来讨论这个问题。如果CPU正在为一个高级或者同级中断源服务,则无法计算此次中断请求的响应时间。只有当CPU处于非响应中断状态,或者新的中断请求优先级高于CPU正在响应的中断请求的优先级时,才能计算响应时间。外部中断的最短的响应时间为3个机器周期。其中中断请求标志位查询占1个机器周期,而这个机器周期恰好是处于正在执行的指令的最后一个机器周期,在这个机器周期结束后,中断即被响应,CPU接着执行一条硬件子程序调用指令LCALL,以转到相应的中断服务程序人口。而该硬件调用指令本身需2个机器周期。外部中断响应最长时间为8个机器周期。该情况发生在中断标志查询时,刚好是开始执行RETI或是访问LE或IP的指返回上一页下一页5.2MCSMCS-51的中断系统令,则需把当前指令执行完再继续执行一条指令后,才能响应中断。执行上述RETI或是访问IE或IP的指令,最长需要2个机器周期。而接着再执行的一条指令,我们按最长的指令(乘法指令MUL和除法指令DIV)来算,也只有4个机器周期。再加上硬件子程序调用指令LCALL的执行,需要2个机器周期。所以,外部中断响应时间为8个机器周期。在一个单一中断的系统里,外部中断请求的响应时间总是在3-8个机器周期之间。4.中断请求标志的撤除当中断有效,CPU响应中断请求后,在中断返回前,应该及时撤除上一个中断请求,否则会引起另一次中断。中断请求的产生是由硬件自动完成的,但是不同中断源的中断请求标志的撤除却并不相同。(l)外部中断请求标志的撤除。返回上一页下一页5.2MCSMCS-51的中断系统对于下降沿触发的外部中断,CPU在响应中断后,是由硬件自动清除有关的中断请求标志位无需采取其他措施。对于电平激活的外部中断,撒除方法较复杂。因为在电平触发方式中,CPU响应中断时不会自动清除IEO或IE1标志,所以在响应中断后应立即撒除INTO引脚或INT1引脚上的低电平。由于CPU不能控制INTO引脚和INT1引脚外接的信号,所以必须用软硬件结合的方法处理。图5-5电路是一个可行的方案。外部中断请求信号接在D触发器的CP端,当外部中断请求信号正脉冲出现在CP端时,由于D端接低电平,所以D触发器输出端输出低电平,申请中断。当CPU响应中断时,执行两条指令:返回上一页下一页5.2MCSMCS-51的中断系统SETBP1.0CLRP1.0在P1.0输出一个负脉冲,D触发器被置1,Q输出为1,撤销了中断请求信号。(2)定时/计数器溢出标志的撤除。对定时器0或1溢出中断,CPU在响应中断后,就用硬件清除厂有关的中断请求标志TFO或TF1,即中断请求是自动撤除的,无需采取其他措施。(3)串行口收发结束中断标志的撤除。对于串行口中断,CPU响应中断后,没有用硬件清除TI,RI,故这些中断不能自动撤除,而要靠软件来清除相应的标志。返回上一页下一页5.2MCSMCS-51的中断系统5.2.5中断应用程序的编程方法1.保护现场中断服务程序是一种具有特定功能的独立程序段。它为中断源的特定要求服务,以中断返回指令结束。在中断响应过程中,断点的保护主要由硬件电路来实现。对用户来说,在编写中断服务程序时,主要需考虑现场的保护与恢复。在多级中断系统中,中断可以嵌套,为厂不至于在保护现场或恢复现场时,由于CPU响应其他更高级中断请求,而破坏现场。一般要求,在保护和恢复现场时,CPU不响应外界的中断请求,即关中断。因此在编写程序时,应在保护现场和恢复现场之前,使CPU关中断,在保护现场和恢复现场之后,再根据需要使CPU开中断。中断服务程序一般编写格式如下:返回上一页下一页5.2MCSMCS-51的中断系统CLREA;中断服务程序开始,先关中断PUSHACC;累加器A的内容人栈PUSHPSW;PSW的内容人栈SETBRS1;切换工作寄存器组......SETRFA;现场内容全部保护,开中断......;中断服务程序CLREA;准备恢复现场,关中断......POPPSW;PSW的内容恢复,工作寄存器组切换POPACC;累加器A的内容恢复SETREA;现场内容全部恢复,开中断RET1;中断返回返回上一页下一页5.2MCSMCS-51的中断系统2.中断方式编程如果CPU的工作只是因为处理中断请求而暂时被打断,其主要工作仍然是实现原程序的功能,那么应采用中断方式编程,通过中断服务程序进行相关处理。中断方式编程步骤如下:(1)设置堆栈指针SPo(2)中断源的相关控制(如设置外部中断触发方式、启动定时器等)。(3)设置中断优先级。(4)开中断。(5)编写中断服务程序。[例5-1]当外中断0发生中断请求时,把RO的内容右移一位送P2口。返回上一页下一页5.2MCSMCS-51的中断系统ORG0000HLJMPMAINLRG0003H;中断服务入口LJMPINT0ORG0030HMAIN:MOVSP,#60H;设置堆栈栈底地址,如果不使用1组工作寄存器组,可以省略这条指令SETBIT0;下降沿触发CLRPX0;低优先级SETBEX0;开外部中断0SETBEA;开总中断......ORG0F00HINT0:PUSHACC;中断服务程序,保护现场MOVA,R0;中断处理上一页下一页返回5.2MCSMCS-51的中断系统RRAMOVP2,APOPA;恢复现场RETI;中断返回在中断方式下,CPU只是用一部分在执行中断服务程序,其余时间都是在执行主程序,这样就实现厂并行工作,提高厂效率。3.查询方式编程如果CPU工作的全部内容就是等待中断的发生,没有别的工作需要处理,那么可以使用查询方式对中断服务程序编程,在主程序里对中断标志进行处理。查询方式编程步骤如下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内容创作者内容产出与用户满意度绩效衡量表
- 专题1.1 反比例函数的概念(举一反三)(试题版)
- 小学主题班会课件-学习古诗词,弘扬中华文化
- 汽车电子技术及其应用案例分析
- 产品安全事故处理告知函3篇
- 制造业智能生产流程优化方案
- 警惕网络诈骗筑牢财产安全防线小学主题班会课件
- 关键业绩指标设定及执行情况考核表
- 小学主题班会课件:体验生活百态提升社会责任感
- 时间管理与效率优化绩效评定表
- 2026年广告设计师全国统一考试大纲解析试题及真题
- 毛选介绍教学课件
- 成人住院患者跌倒风险评估及预防模板
- 平房灭火救援授课课件
- 2025年高频考点国企《人力资源管理岗》专业知识考试卷(含解析)及答案
- GB/T 26952-2025焊缝无损检测磁粉检测验收等级
- 化学安全和防护知识培训课件
- 工业产品批生产记录标准模板
- 兴文县竹纤维环保餐具生产项目环评报告
- 2024年淮北市濉溪县事业单位笔试真题(附答案)
- 动物疫病检疫培训课件
评论
0/150
提交评论