欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第5章(第5版)单片机原理及接口技术(第5版)ppt课件.ppt

    • 资源ID:3749178       资源大小:4.11MB        全文页数:83页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第5章(第5版)单片机原理及接口技术(第5版)ppt课件.ppt

    第五章,中断系统,?,?,?,?,?,?,?,5.1,微机的输入,/,输出方式,5.2,中断的概念,5.3 89C51/S51,中断系统结构及中断控制,5.4,中断处理过程,5.5,外部中断扩展方法,5.6,中断程序举例,5.7,思考题与习题,13:05,单片机原理及接口技术,5.1,微机的输入,/,输出方式,?,5.1.1,无条件传送方式,?,5.1.2,查询传送方式,?,5.1.3,直接存储器存取(,DMA,)方式,?,5.1.4,中断传送方式,13:05,单片机原理及接口技术,5.1.1,无条件传送方式,?,CPU,总是认为外设在任何时刻都处于“准备好”,的状态。,?,这种传送方式不需要交换状态信息,只需在程序中,加入访问外设的指令,数据传送便可以实现。,?,此种方法很少使用,。,13:05,单片机原理及接口技术,5.1.2,查询传送方式(条件传送),一、什么是查询传送方式,二、查询方式程序流程图,三、查询方式的过程,四、查询方式的特点,13:05,单片机原理及接口技术,一、什么是查询传送方式,?,?,?,在输入时,需要查询外设的输入数据是否准备好;,在输出时,需要查询外设是否把上一次,CPU,输出,的数据处理完毕。,查询传送方式:通过查询外设的状态信息,确信,外设已处于“准备好”,计算机才发出访问外设,的指令,实现数据的传送。,?,状态信息:一般为,1,位二进制码。,13:05,单片机原理及接口技术,二、查询方式程序流程图,输入状态信息,N,准备好?,Y,传送数据,13:05,单片机原理及接口技术,三、查询方式的过程,启动外设设备,查询方式的过程:,查询,等待,数据传送,待到,延迟,下一次数据传送时则重复上述过程。,传送数据,13:05,单片机原理及接口技术,四、查询方式的特点,?,优点:通用性好,可以用于各类外设和,CPU,间的数据传送。,?,缺点:,CPU,在完成一次数据传送后要等待很,长时间才能进行下一次的传送。在等待过程,中,,CPU,不能进行其他操作,所以效率比较,低。,13:05,单片机原理及接口技术,5.1.3,直接存储器存取(,DMA,)方式,?,DMA,:,Direct Memory Access,?,CPU,让出数据总线(悬浮状态),,使外设和存储,器之间直接传送(不通过,CPU,)数据的方式。,?,适用于外设和存储器之间有大量的数据需要传送及外,设工作速度很快的情况。,13:05,单片机原理及接口技术,5.1.4,中断传送方式,?,当,CPU,正在处理某事件的时候,外部发生的,某一事件请求,CPU,迅速去处理,于是,CPU,暂,时中止当前的工作,转去处理所发生的事件。,中断服务处理完该事件后,再返回到原来被,中止的地方继续原来的工作,这样的过程称,为中断。,中断流程如,图,5-2,所示。,单片机原理及接口技术,?,13:05,图,5-2,中断流程,主,程,序,中断请求,断点,继,续,执,行,主,程,序,中,断,服,务,程,序,13:05,单片机原理及接口技术,5.2,中断的概念,一、中断系统,二、中断源,三、中断请求,四、中断响应过程,五、中断服务,六、中断返回,七、中断方式的特点,单片机原理及接口技术,13:05,一、中断系统,?,实现中断功能的部件称为中断系统,,又称中断机构。,13:05,单片机原理及接口技术,二、中断源,?,产生中断的请求源称为中断源。,13:05,单片机原理及接口技术,三、中断请求,?,中断源向,CPU,提出的处理请求,称为中断,请求或中断申请。,13:05,单片机原理及接口技术,四、中断响应过程,?,CPU,暂时中止自身的事物,转去处理,事件的过程,称为,CPU,的中断响应过,程。,13:05,单片机原理及接口技术,五、中断服务,?,对事件的整个处理过程,称为中断,服务(或中断处理)。,13:05,单片机原理及接口技术,六、中断返回,?,中断处理完毕,在返回到原来被中止的,地方,称为中断返回,13:05,单片机原理及接口技术,七、中断方式的特点,?,1,、中断方式消除了,CPU,在查询方式中的等待现象,,大大提高了,CPU,的工作效率。,?,2,、将从现场采集的数据通过中断方式及时传送给,CPU,,经过处理后可立即作出反应,实现现场控制。,采用查询方式很难做到及时采集,实时控制。,13:05,单片机原理及接口技术,5.3 89C51/S51,中断系统结构及中断控制,?,5.3.1 89C51/S51,中断源,?,5.3.2,中断控制,13:05,单片机原理及接口技术,中断系统结构,?,89C51/S51,的中断系统的结构如,图,5-3,所示。,?,有,5,个中断请求源,(89C52,有,6,个,),,,4,个用于中断控制的寄存器,IE,、,IP,、,TCON(,用,6,位,),和,SCON(,用,2,位,),,用来控制中断的类型、中断的开,关和各种中断源的优先级别。,?,5,个中断源有两个中断优先级,每个中断源可以编程为高优先级或,低优先级中断,可以实现二级中断服务程序嵌套。,13:05,单片机原理及接口技术,中断技术实现的功能,?,1,、分时操作,?,2,、实时处理,?,3,、故障处理,13:05,单片机原理及接口技术,1,、分时操作,?,计算机的中断系统可以使,CPU,与外设同时,工作。,?,CPU,在启动外设后,便继续执行主程序;,而外设被启动后,开始进行准备工作。当,外设准备就绪时,就向,CPU,发出中断请求,,CPU,响应该中断请求并为其服务完毕后,,返回原来的断点处继续运行主程序。外设,在得到服务后,也继续进行自己的工作。,?,因此,,CPU,可以使多个外设同时工作,并,分时为各外设提供服务,从而提高了,CPU,的利用率和输入和输出的速度。,13:05,单片机原理及接口技术,2,、实时处理,?,当计算机用于实时控制时,请求,CPU,提,供服务时随机发生的。有了中断系统,,CPU,就可以立即响应并加以处理。,13:05,单片机原理及接口技术,3,、故障处理,?,计算机在运行时往往会出现一些故障,如断电、,存储器奇偶校验出错、运算溢出等。,?,有了中断系统,当出现上述情况时,,CPU,可及,时转去执行故障处理程序,自行处理故障而不,必停机。,13:05,单片机原理及接口技术,5.3.1 89C51/S51,中断源,?,一、,89C51/S51,中断系统的五个中断源,?,二、通常情况的中断源,13:05,单片机原理及接口技术,一、,89C51/S51,中断系统的五个中断源,1,、,INT0,外部中断,0,请求,低电平有效。通过,P3.2,引脚输入。,2,、,INT1,外部中断,1,请求,低电平有效。通过,P3.3,引脚输入。,3,、,T0,定时器,/,计数器,0,溢出中断请求。,4,、,T1,定时器,/,计数器,1,溢出中断请求。,5,、,TX/RX,串行口中断请求。当串行口完成一帧数据的发送或,接收时,便请求中断。,每个中断源都对应一个中断请求标志位,它们设置在特殊功能寄存器,TCON,和,SCON,中。当这些中断源请求中断时,相应的标志分别由,TCON,和,SCON,中的相应位来锁存。,13:05,单片机原理及接口技术,二、通常情况的中断源,?,1,、,I/O,外设,?,2,、硬件故障,?,3,、实时时钟,?,4,、为调试程序而设定的中断源,13:05,单片机原理及接口技术,5.3.2,中断控制,?,一、中断请求标志,?,二、中断允许控制,?,三、中断优先级控制,13:05,单片机原理及接口技术,一、中断请求标志,1,、定时器控制寄存器,TCON,中的中断标志位,2,、串行口控制寄存器,SCON,中的中断标志位,13:05,单片机原理及接口技术,1,、,TCON,中的中断标志位,?,?,TCON,为定时器,/,计数器,T0,和,T1,的控制器,同时也锁存,T0,和,T1,的溢,出中断标志及外部中断,0,和,1,的中断标志等。,与中断有关的位如,图,所示。,8FH 8EH 8DH 8CH 8BH 8AH 89H 88H,TCON,TF1,(,88H,),?,各控制位的含义。,TF0,IE1,IT1,IE0,IT0,13:05,单片机原理及接口技术,各控制位的含义,1,、,TF1,:定时器,/,计数器,T1,溢出中断请求标志位。,当启动,T1,计数后,,T1,从初值开始加,1,计数,计数器最高位,产生溢出,时,由硬件,使,TF1,置,1,,并向,CPU,发出中断请求。当,CPU,响应中断,时,硬件将自动,对,TF1,清,0,。,2,、,TF0,:定时器,/,计数器,T0,溢出中断请求标志位。,含义与,TF1,类同。,3,、,IE1,:外部中断,1,的中断请求标志。,INT1,(,P3.3,)。,当检测到,外部中断引脚,1,上存在有效的,中断请求信号,时,由硬件使,IE1,置,1,。,4,、,IE0,:外部中断,0,的中断请求标志。,INT0,(,P3.2,)。其含义与,IE1,类同。,13:05,单片机原理及接口技术,各控制位的含义,5,、,IT1,:外部中断,1,的中断触发方式控制位。,IT1=0,时,外部中断,1,程控为电平触发方式。,CPU,在每一个机器周期,S5P2,期间采样外部中断请求引脚的输,入电平。若外部中断,1,请求为,低电平,,则使,IE1,置,1,;若,为,高电平,,则使,IE1,清,0,。,IT1=1,时,外部中断,1,程控为边沿触发方式。,CPU,在每一个机器周期,S5P2,期间采样外部中断请求引脚的输入,电平。如果在相继的两个机器周期采样过程中,,一个机,器周期,采样到外部中断,1,请求引脚为,高电平,,接着的,下,一个机器周期,采样到为,低电平,,则使,IE1,置,1,。直到,CPU,响应该中断时,,,才由硬件使,IE1,清,0,。,6,、,IT0,:外部中断,0,的中断触发方式控制位。,其含义与,IT1,类同。,13:05,单片机原理及接口技术,2,、串行口控制寄存器,SCON,中的中断标志位,?,SCON,为串行口控制寄存器,其低,2,位锁存串行口的接收中断和发,送中断标志,RI,和,TI,。,?,SCON,中,TI,和,RI,的格式如,图,所示。,9FH 9EH 9DH 9CH 9BH 9AH 99H 98H,SCON,(,98H,),?,其控制位的含义,TI,RI,13:05,单片机原理及接口技术,SCON,中控制位的含义,1,、,TI,:串行口发送中断请求标志。,CPU,将一个数据写入发送缓冲器,SBUF,时,就启动发,送。每发送完一帧串行数据后,硬件置位,TI,。但,CPU,响应,中断时,并不清除,TI,,必须在中断服务程序中由软件对,TI,清,0,。,2,、,RI,:串行口接收中断请求标志。,在串行口允许接收时,每接收完一个串行帧,硬件置,位,RI,。同样,,CPU,响应中断时不会清除,RI,,必须在中断服,务程序中由软件对,RI,清,0,。,13:05,单片机原理及接口技术,二、中断允许控制,1,、中断允许寄存器,IE,的格式。,AFH AEH ADH ACH ABH AAH A9H A8H,IE,EA,(,A8H,),ES,ET1,EX1,ET0,EX0,2,、中断允许寄存器,IE,中各位的含义。,3,、例,5-1,13:05,单片机原理及接口技术,2,、中断允许寄存器,IE,中各位的含义。,EA,中断允许总控制位。,EA=0,,,屏蔽,所有的中断请求;,EA=1,,,CPU,开放,中断。对各中断源的中断请求是否允许,还要取决于各中断源的,中断允许控制位的状态。这就是所谓的两级控制。,ES,串行口中断允许位。,ES=0,,,禁止串行口,中断;,ES=1,,,允许串行口,中断。,ET1,定时器,/,计数器,T1,的溢出中断允许位。,ET1=0,,,禁止,T1,中断;,ET1=1,,,允许,T1,中断。,EX1,外部中断,1,的溢出中断允许位。,EX1=0,,,禁止外部中断,1,中断;,EX1=1,,,允许外部中断,1,中断。,ET0,定时器,/,计数器,T0,的溢出中断允许位。,ET0=0,,,禁止,T0,中断;,ET0=1,,,允许,T0,中断。,EX0,外部中断,0,的溢出中断允许位。,EX0=0,,,禁止外部中断,0,中断;,EX0=1,,,允许外部中断,0,中断。,13:05,单片机原理及接口技术,例,5-1,:,假设允许片内定时器,/,计数器中断,禁止其他,中断。试根据假设条件设置,IE,的相应值。,解,:(,IE,),=10001010B=8AH,(,a,)用字节操作指令,MOV IE,,,#8AH,;或,MOV A8H,,,#8AH,;,(,b,)用位操作指令,SETB ET0,;定时器,/,计数器,0,允许中断,SETB ET1,;定时器,/,计数器,1,允许中断,SETB EA,;,CPU,开中断,13:05,单片机原理及接口技术,三、中断优先级控制,1,、,89C51/S51,的中断优先级,2,、中断优先级寄存器,IP,3,、中断优先级排列顺序,4,、中断优先级控制实现的功能,5,、例,5-2,13:05,单片机原理及接口技术,1,、,89C51/S51,的中断优先级,?,89C51/S51,有两个中断优先级。,?,每个中断请求源均可编程为高优先级中断或低优先级,中断。,?,中断系统中有两个不可寻址的“优先级生效”触发器,,分别指出,CPU,正在执行的高、低优先级的中断服务程,序。当其为,1,时则分别屏蔽所有的中断请求。,13:05,单片机原理及接口技术,2,、中断优先级寄存器,IP,中断优先级寄存器,IP,的格式,BCH BBH BAH B9H B8H,IP,(,B8H,),PS,PT1,PX1,PT0,PX0,中断优先级寄存器,IP,各控制位的含义,13:05,单片机原理及接口技术,中断优先级寄存器,IP,各控制位的含义,?,PS,串行口中断优先级控制位,?,PT1,定时器,/,计数器,T1,中断优先级控制位,?,PX1,外部中断,1,中断优先级控制位,?,PT0,定时器,/,计数器,T0,中断优先级控制位,?,PX0,外部中断,0,中断优先级控制位,若某控制位为,1,,则相应的中断源规定为高级中断;反之,,为,0,,则相应的中断源规定为低级中断。,13:05,单片机原理及接口技术,3,、中断优先级排列顺序,?,当同时接收到几个同一优先级的中断请求时,响应哪个中断源则取决于,内部硬件查询顺序。,?,其优先级顺序排列如,图,所示。,中断源,外部中断,0,中断,高级,定时器,/,计数器,T0,溢出中断,外部中断,1,同级内的中断优先级,定时器,/,计数器,T1,溢出中断,串行口中断,低级,13:05,单片机原理及接口技术,4,、中断优先级控制实现的功能,?,?,?,(,1,)按内部查询顺序排队,当数个中断源同时向,CPU,发出中断请求时,,CPU,根据设计者事先确定的中,断源顺序号的次序,依次响应其中断请求。,(,2,)实现中断嵌套,?,当,CPU,正在处理一个中断请求时,又出现了另一个优先级比它高的,中断请求,这时,,CPU,就暂时中止执行对原来优先级较低的中断源,的服务程序,保护当前断点,转去响应优先级更高的中断请求,并,为它服务。待服务结束,再继续执行原来较低级的中断服务程序。,该过程称为中断嵌套。该中断系统称为多级中断系统。,?,二级中断嵌套的中断过程如,图,5-9,所示。,13:05,单片机原理及接口技术,图,5-9,二级中断嵌套,CPU,执行低级,中断服务程序,CPU,执行高级,中断服务程序,CPU,在执行主程序,低级中,断请求,高级中,断请求,13:05,单片机原理及接口技术,?,例,5-2,:,设,8031,的片外中断为高优先级,片内中断为低优先级。设,置,IP,相应值。,解:(,IP,),=00000101B=05H,(a),用字节操作指令,MOV IP,,,#05H,;或,MOV 0B8H,,,#05H,;,(b),用为操作指令,SETB PX0,SETB PX1,CLR PS,CLR PT0,CLR PT1,13:05,单片机原理及接口技术,5.4,中断响应及中断处理过程,?,5.4.1,中断响应,?,5.4.2,中断处理,?,5.4.3,中断返回,13:05,单片机原理及接口技术,中断处理过程的三个阶段,?,中断处理过程可分为:,?,中断响应,?,中断处理,?,中断返回,K,K+1,主程序,N,中,保护现场,为外设服务,恢复现场,返回,断,处,?,中断处理的大致流程如,右图,所示。,理,N,+,m,13:05,单片机原理及接口技术,5.4.1,中断响应,?,一、中断响应条件,?,二、中断响应操作过程,?,三、中断响应时间,13:05,单片机原理及接口技术,一、中断响应条件,有中断源发出中断请求。,中断总允许位,EA=1,,即,CPU,中断。,申请中断的中断源的中断允许位为,1,,即中断没有被屏蔽。,无同级或更高级中断正在被服务。,当前的指令周期已经结束。,若现行指令为,RETI,或是访问,IE,或,IP,指令时,该指令以及紧接着,的另一条指令已执行完。,13:05,单片机原理及接口技术,二、中断响应的自主操作过程,?,1,、中断响应的自主操作过程,把当前,PC,值压入堆栈,保护断点。,将相应的中断服务程序的入口地址送入,PC,。,对有些中断源,,CPU,会自动清除中断标志。,执行中断服务程序。,执行到返回指令,RETI,,中断服务程序结束,将堆栈内容弹出到,PC,,返,回到原来断点继续执行。,?,2,、各中断源及其对应的矢量地址,中断源,外部中断,0,(,INT0,),定时器,T0,中断,外部中断,1,(,INT1,),定时器,T1,中断,串行口中断,中断矢量,0003H,000BH,0013H,001BH,0023H,13:05,单片机原理及接口技术,?,89C51/S51,的,CPU,在每个机器周期的,S5P2,期间顺序采样每个,中断源,,CPU,在下一个机器周期,S6,期间按优先级顺序查询中,断标志。如查询到某个中断标志为,1,,则将在接下来的机器,周期,S1,期间按优先级进行中断处理。中断系统通过硬件自动,将相应的中断矢量地址装入,PC,,以便进入相应的中断服务,程序。表现为,CPU,的自主操作。,?,89C51/S51,单片机的中断系统中有两个不可编程的“优先级,生效”触发器。一个是“高优先级生效”触发器,用以指明,已进行高级中断服务,并阻止其他一切中断请求;一个是,“低优先级生效”触发器,用以指明已进行低优先级中断服,务,并阻止除高优先级以外的一切中断请求。,13:05,单片机原理及接口技术,?,89C51/S51,单片机一旦响应中断,首先置位相应的中断“优,先级生效”触发器,然后由硬件执行一条长调用指令,LCALL,,把当前,PC,值压入堆栈,以保护断点,再将相应的,中断服务程序的入口地址,(,如外中断,0,的入口地址为,0003H),送,入,PC,,于是,CPU,接着从中断服务程序的入口处开始执行。,?,对于有些中断源,,CPU,在响应中断后会自动清除中断标志,,如定时器溢出标志,TF0,、,TF1,和边,?,沿触发方式下的外部中断标志,IE0,、,IE1,;而有些中断标志不,会自动清除,只能由用户用软,?,件清除,如串行口接收发送中断标志,RI,、,TI,;在电平触发,方式下的外部中断标志,IE0,和,IE1,则是根据引脚和,的电平变化的,,CPU,无法直接干预,需在引脚外加硬,件,(,如,D,触发器,),使其自动撤销外部中断请求。,13:05,单片机原理及接口技术,?,CPU,执行中断服务程序之前,自动将程序计数器的内容,(,断点地址,),压入堆栈保护起来,(,但不保护状态寄存器,PSW,的内容,也不保护累,加器,A,和其他寄存器的内容,),;然后将对应的中断矢量装入程序计,数器,PC,,使程序转向该中断矢量地址单元中,以执行中断服务程,序。各中断源及与之对应的矢量地址见表。,?,由于,89C51/S51,系列单片机的两个相邻中断源中断服务程序入口地,址相距只有,8,个单元,一般的中断服务程序是容纳不下的,通常是,在相应的中断服务程序入口地址中放一条长跳转指令,LJMP,,这样,就可以转到,64 KB,的任何可用区域了。若在,2 KB,范围内转移,则,可存放,AJMP,指令。,13:05,单片机原理及接口技术,?,中断服务程序从矢量地址开始执行,一直到返回指令,RETI,为止。,RETI,指,令的操作,一方面告诉中断系统该中断服务程序已执行完毕,另一方面,把原来压入堆栈保护的断点地址从栈顶弹出,装入程序计数器,PC,,使程,序返回到被中断的程序断点处继续执行。,?,?,我们在编写中断服务程序时应注意:,在中断矢量地址单元处放一条无条件转移指令,(,如,LJMP,H),,,使中断服务程序可灵活地安排在,64 KB,程序存储器的任何空间。,?,在中断服务程序中,用户应注意用软件保护现场,以免中断返回后丢,失原寄存器、累加器中的信息。,?,若要在执行当前中断程序时禁止更高优先级中断,则可先用软件关闭,CPU,中断或禁止某中断源中断,在中断返回前再开放中断。,13:05,单片机原理及接口技术,三、中断响应时间,?,CPU,不是在任何情况下都对中断请求予以响应,而不,同的情况下对中断响应的时间是不同的。,?,对于顺利的中断响应,其最短的响应时间为,3,个机器,周期。,?,对于受阻的中断响应,则响应时间会更长一些。,?,若中断系统只有一个中断源,则响应时间为,3,8,个机,器周期之间。,13:05,单片机原理及接口技术,5.4.2,中断处理,?,一、什么是中断处理,?,二、中断处理包括的内容,?,三、编写中断服务程序时的注意问题,13:05,单片机原理及接口技术,一、什么是中断处理,?,CPU,响应中断后即转入中断服务程序的入口,执行中,断服务程序。从中断服务程序的第一条指令开始到返,回指令为止,这个过程称为中断处理或中断服务,。,13:05,单片机原理及接口技术,二、中断处理包括的内容,?,不同的中断源服务的内容及要求各不相同,其处理过程也,就有所区别。一般情况,中断处理包括两部分内容:,?,1,、保护现场:,如在中断服务程序中要用到,PSW,、工作,寄存器和,SFR,等寄存器时,则在进入中断服务之前应将它,们的内容保护起来,在中断结束、执行,RETI,指令前应恢复,现场。,?,2,、为中断源服务:,针对中断源的具体要求进行相应的处理。,13:05,单片机原理及接口技术,三、编写中断服务程序时的注意问题,在中断矢量地址单元处放一条无条件转移指令,使中断服,务程序可灵活地安排在,64KB ROM,的任何空间。,在中断服务程序中,应注意用软件保护现场,以免中断返,回后丢失原来寄存器、累加器中的信息。,若要在执行当前中断程序时禁止更高优先级中断,可以先,用软件关闭,CPU,中断或禁止某中断源中断,在中断返回前,再开放中断。,13:05,单片机原理及接口技术,5.4.3,中断返回,?,在中断服务程序中,最后一条指令必须为中断返回,指令,RETI,。,?,CPU,执行该指令时,一方面清除中断响应时所置位,的“优先级生效”触发器,另一方面从当前栈顶弹,出断点地址送入程序计数器,PC,,从而返回主程序。,?,注意在中断服务程序中,,PUSH,和,POP,指令必须成对,使用,否则,不能正确返回断点,。,13:05,单片机原理及接口技术,5.4.4,关于具体的中断服务程序,?,CPU,响应中断结束后即转至中断服务程序的入口。从中断服务程序的,第一条指令开始到返回指令为止,这个过程称为中断处理或称中断服,务。不同的中断源服务的内容及要求各不相同,其处理过程也就有所,区别。一般情况下,中断处理包括两部分内容:,一是保护现场,二是,为中断源服务。,?,在编程时经常用到,PSW,、工作寄存器、,SFR,寄存器等。如果在中断服,务程序中要用这些寄存器,则在进入中断服务之前应将它们的内容保,护起来,即保护现场;同时在中断结束,执行,RETI,指令之前应恢复,现场。,13:05,单片机原理及接口技术,?,中断服务是针对中断源的具体要求进行处理的。在编写中断服务程序时,应注意以下几点:,?,各中断源的入口矢量地址之间,只相隔,8,个单元,一般中断服务程序是,容纳不下的,因而最常用的方法是在中断入口矢量地址单元处存放一条,无条件转移指令,而转至存储器其他的任何空间去。,?,若要在执行当前中断程序时禁止更高优先级中断,则应用软件关闭,CPU,中断,或屏蔽更高级中断源的中断,在中断返回前再开放中断。,?,在保护现场和恢复现场时,为了不使现场信息受到破坏或造成混乱,,一般在此情况下,应关,CPU,中断,使,CPU,暂不响应新的中断请求。这样,就要求在编写中断服务程序时,应注意在保护现场之前关中断,在保护,现场之后若允许高优先级中断打断它,则应开中断。同样在恢复现场之,前应关中断,恢复之后再开中断。具体的中断服务子程序流程如图,5-11,所示。,图,5-11,13:05,单片机原理及接口技术,5.5,中断程序举例,?,89C51/S51,单片机有两个外部中断亲求请求输入端(,INT0,和,INT1,)。,实际应用中,若外部中断源有两个以上,则需要扩展外部中断源。,5.5.1,利用定时器扩展外部中断源,5.5.2,中断加查询扩展外部中断源,13:05,单片机原理及接口技术,5.5,中断程序举例,?,5.5.1,主程序,?,5.5.2,中断服务程序,?,5.5.3,中断服务程序举例,13:05,单片机原理及接口技术,5.5.1,主程序,1,、主程序的起始地址,2,、主程序的初始化内容,13:05,单片机原理及接口技术,1,、主程序的起始地址,?,89C51/S51,系列单片机,复位,后,,(,PC,),=0000H,?,而,0003H,002BH,分别为各,中断源,的入口地址,。,?,编程时应在,0000H,处写一条,跳转指,令,(一般为长跳转指令),,主程,序是以跳转的目标地址作为起始,地址开始编写,,一般从,003H,开始,,如,图,5-12,所示。,0000H,LJMP,00,30,0030H,主程序,图,5-12,13:05,单片机原理及接口技术,2,、主程序的初始化内容,?,初始化:将用到的内部部件或扩展芯片进行初始工作,状态设定。,?,单片机,复位,后,特殊功能寄存器,IE,、,IP,内容均为,00H,,,所以应对,IE,、,IP,进行初始化编程,以开放中断,允许,某些中断源中断和设置中断优先级等,。,13:05,单片机原理及接口技术,5.5.2,中断服务程序,?,当,CPU,接收到中断请求信号并予以响应后,,CPU,把当前的,PC,内,容压入堆栈进行保护,然后转入响应的中断服务程序入口处执行。,1,、中断服务程序的起始地址,2,、中断服务程序编制中的注意事项,13:05,单片机原理及接口技术,1,、中断服务程序的起始地址,?,中断系统对五个中断源分别规定了各自,的,入口,地址,但这些入口地址相距很近(,8,个字节)。,?,如中断服务程序的指令代码少于,8,个字节,则可,从规定的中断服务程序入口地址开始,直接编,写中断服务程序;,0003H,LJMP,02,00,?,如中断服务程序的指令代码大于,8,个字节,则应,采用与主程序相同的方法,在相应的入口处写,一条跳转指令,并以跳转指令的目标地址作为,中断服务程序的起始地址进行编程。,?,以,INT0,为例,中断矢量地址为,0003H,,中断服,务程序从,0200H,开始。如,图,5-13,所示。,0200H,中断服,务程序,图,5-13,13:05,单片机原理及接口技术,2,、中断服务程序编制中的注意事项,视需要确定是否保护现场。,及时清除那些不能被硬件自动清除的中断请求标志,以免产生错误,的中断。,中断服务程序中的压栈与弹栈指令必须成对使用,以确保中断服务,程序的正确返回。,主程序和中断服务程序之间的参数传递与主程序和子程序的参数传,递方式相同。,13:05,单片机原理及接口技术,5.5.3,中断服务程序举例,例,5-3,:,如,图,5-14,所示,将,P1,口的,P1.4,P1.7,作为,输入,位,,P1.0,P1.3,作为,输出,位。要求利用,89C51/S51,将开关所设的数据,读入单片机内,并依次通过,P1.0,P1.3,输出,驱动发光二,极管,以检查,P1.4,P1.7,输入的电平情况(若输入为高电,平则相应的,LED,亮)。,现要求采用中断边沿触发方式,每中断一次,完成一,次读,/,写操作。,解:,13:05,单片机原理及接口技术,图,5-14,外部中断,INT0,电路,13:05,单片机原理及接口技术,例,5-3,解:,如图所示,采用外部中断,0,,中断申请从,INT0,输入,并采用了去抖动电路。,当,P1.0,P1.3,的任何一位输出,0,时,相应的发光二极管就会发光。当开关,K,来回拔动一次时,将产生,一个下降沿信号,通过,INT0,发出中断请求。中断服务程序的矢量地址为,0003H,。,源程序如下:,ORG 0000H,LJMP MAIN,;,上电,转向主程序,ORG 0003H,;,外部中断,0,入口地址,LJMP INSER,;,转向中断服务程序,ORG 0030H,;,主程序,MAIN,:,MOV SP,#60H,;,重置堆栈指针,SETB EX0,;,允许外部中断,0,中断,SETB IT0,;选择边沿触发方式,SETB EA,;,CPU,开中断,HERE,:,SJMP HERE,;,等待中断,ORG 0200H,;,中断服务程序,INSER,:,MOV A,,,#0F0H,MOV P1,,,A,;设,P1.4,P1.7,为输入,MOV A,,,P1,;,取开关数,SWAP A,;,A,的高、低四位互换,MOV P1,,,A,;输出驱动,LED,发光,RETI,;,中断返回,END,13:05,单片机原理及接口技术,?,当外部中断源多于,2,个时,可采用硬件请求和软件查询,相结合的办法,把多个中断源通过硬件经“或非”门,引入到外部中断输入端,x,,同时又连到某个,口。这样,每个中断源都可能引起中断。,?,在中断服务程序中,读入口的状态,通过查询,就能区分是哪个中断源引起的中断。,?,若有多个中断源同时发出中断请求,则查询的次序就,决定了同一优先级中断中的优先次序。,13:05,单片机原理及接口技术,例,5-4,利用中断显示系统故障,:,?,如,图,5-15,所示,此中断电路可实现系统的故障显示。当系统的,各部分正常工作时,四个故障源的输入均为低电平,显示灯全,不亮。当有某个部分出现故障时,则相应的输入线由低电平变,为高电平,相应的发光二极管亮。,?,解:,13:05,单片机原理及接口技术,四,个,故,障,源,图,5-15,利用中断显示系统故障,13:05,单片机原理及接口技术,例,5-4,解:如图所示,当某一个故障信号输入线由低电平变为高点平时,会通过,INT0,线引,起,8031,中断(边沿触发方式)。在中断服务程序中,应将各故障源的信号读入,,并加以查询,以进行相应的发光显示。,源程序如下:,ORG 0000H,LJMP MAIN,;上电,转向主程序,ORG 0003H,;外部中断,0,入口地址,LJMP INSER,;转向中断服务程序,INSER,:,JNB P1.0,,,L1,;查询中断源,,(,P1.0,),=0,,转,L1,SETB P1.1,;是,P1.0,引起的,中断,使相应的二极管亮,L1,:,JNB P1.2,,,L2,;继续查询,SETB P1.3,;,L2,:,JNB P1.4,,,L3,SETB P1.5,L3,:,JNB P1.6,,,L4,;,MAIN,:,MOV SP,#60H,;,重置堆栈指针,ANL P1,#55H,;,P1.0,P1.2,P1.4,P1.6,为输入,P1.1,P1.3,P1.5,P1.7,为输出,SETB EX0,;允许外部中断,0,中断,SETB P1.7,L4,:,RETI,END,SETB IT0,;,选择边沿触发方式,SETB EA,;,CPU,开中断,HERE,:,SJMP HERE,;等待中断,13:05,单片机原理及接口技术,5.6,思考题与习题,1.,什么是中断和中断系统,?,其主要功能是什么,?,2.,试编写一段对中断系统初始化的程序,使之允许、,、和串行口中断,且使,T0,中断为高优先级中,断。,3.,在单片机中,中断能实现哪些功能,?,4.89C51/S51,共有哪些中断源,?,对其中断请求如何进行控制,?,5.,什么是中断优先级,?,处理中断优先的原则是什么,?,6.,说明外部中断请求的查询和响应过程。,13:05,单片机原理及接口技术,7.89C51/S51,在什么条件下可响应中断,?,8.,简述,89C51/S51,单片机的中断响应过程。,9.,在,89C51/S51 Flash ROM,中,应如何安排程序区,?,10.,试述中断的作用及中断的全过程。,11.,当正在执行某一中断源的中断服务程序时,如果有新的,中断请求出现,试问在什么情况下可响应新的中断请求,?,在什么情况下不能响应新的中断请求,?,12.89C51/S51,单片机外部中断源有几种触发中断请求的方,法,?,如何实现中断请求,?,13:05,单片机原理及接口技术,13.89C51/S51,单片机有,5,个中断源,但只能设置两个中断优先级,因此,在中断优先级安排上受,到一定的限制。试问以下几种中断优先顺序的安排,(,级别由高到低,),是否可能,?,若可能,则应,如何设置中断源的中断级别,?,否则,请简述不可能的理由。,(1),定时器,0,,定时器,1,,外中断,0,,外中断,1,,串行口中断。,(2),串行口中断,外中断,0,,定时器,0,溢出中断,外中断,1,,定时器,1,溢出中断。,(3),外中断,0,,定时器,1,溢出中断,外中断,1,,定时器,0,溢出中断,串行口中断。,(4),外中断,0,,外中断,1,,串行口中断,定时器,0,溢出中断,定时器,1,溢出中断。,(5),串行口中断,定时器,0,溢出中断,外中断,0,,外中断,1,,定时器,1,溢出中断。,(6),外中断,0,,外中断,1,,定时器,0,溢出中断,串行口中断,定时器,1,溢出中断。,(7),外中断,0,,定时器,1,溢出中断,定时器,0,溢出中断,外中断,1,,串行口中断。,13:05,单片机原理及接口技术,14.89C51/S51,各中断源的中断标志是如何产生的?又是如何清,0,的,?CPU,响应,中断时,中断入口地址各是多少?,15.,中断响应时间是否为确定不变的?为什么?,16.,中断响应过程中,为什么通常要保护现场?如何保护?,17.,请叙述中断响应的,CPU,操作过程,为什么说中断操作是一个,CPU,的微查,询过程?,18.,在中断请求有效并开中断的状况下,能否保证立即响应中断?有什么条,件?,第五章完,13:05,单片机原理及接口技术,

    注意事项

    本文(第5章(第5版)单片机原理及接口技术(第5版)ppt课件.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开