情景十__走进中断

上传人:ji****n 文档编号:54805498 上传时间:2018-09-19 格式:PPT 页数:61 大小:2.21MB
返回 下载 相关 举报
情景十__走进中断_第1页
第1页 / 共61页
情景十__走进中断_第2页
第2页 / 共61页
情景十__走进中断_第3页
第3页 / 共61页
情景十__走进中断_第4页
第4页 / 共61页
情景十__走进中断_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《情景十__走进中断》由会员分享,可在线阅读,更多相关《情景十__走进中断(61页珍藏版)》请在金锄头文库上搜索。

1、单片机教学情景十 走进中断,中断的基本概念 MCS-51的中断系统 中断源和中断标志 中断的允许和优先权 中断的处理过程 外部中断源的扩展 中断的应用,中断系统,中断的基本概念,日常生活中断的例子 单片机中的中断概念 中断技术的优点什么是中断,我们从生活中的例子引入。 看书的例子:你正在看书,突然电话铃响了,。中断就是正常的工作被外部事件打断了。,日常生活中的中断,仔细研究一下生活中的中断,对于我们学习计算机中的中断也很有好处。1、什么可以引起中断?生活中有很多事件可以引起中断:有人按了门铃,电话铃响了,你的闹钟铃响了,你烧的水开了,你内急了等等诸如此类的事件,我们把可以引起中断的事件称之为中

2、断源。计算机中也有一些可以引起中断的事件,像MCU51单片机就有5个中断源。,2、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃突然响了,同时又有人按了门铃,你该先做那样呢?如果你正在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个很重要的客人,则可能就不会去理会电话了。如果不是这两者(即不等电话,也不等人上门)你可能会按你通常的习惯去处理。总之这里存在一个优先级问题。优先级问题不仅仅发生在两个或以上的中断同时产生的情况,也发生在一个中断已经产生,又有一个中断产生的情况。如你正在接电话,有人按门铃的情况,或你正在开门与人交谈,又有电话铃了的情况。考虑一下我们会怎么办吧。

3、,3、中断的响应过程: (看书的例子)当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要来继续看书)。(接电话的例子)电话铃响了我们要到放电话的地方去,门铃响了,我们要到门那边去,也就是说,不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的,这也和计算机中的中断类似,如51MCU 的5个中断源都有各自的中断入口地址,当某个中断源产生中断时,CPU响应中断便到相应的中断入口地址执行程序。,计算机中的中断计算机执行正常程序时,系统出现某些急需处理的异常情况和特殊请求,CPU暂时中止现在正在执行的的指令,转

4、去对随机发生的更紧迫事件处理;处理完后,CPU会自动返回原来的程序继续执行。就如:你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。,计算机中的中断,计算机中的中断,中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。 将能引起中断的事件称为中断源。 CPU现行运行的程序称为主程序。 处理随机事件的程序称为中断服务子程序。,中断技术的优点,分时操作CPU可以同多个外设“同时”工作 实时处理CP

5、U及时处理随机事件 故障处理电源掉电、存储出错、运算溢出,MCS-51中断系统,中断源 中断标志 中断允许 中断优先级 MCS-51中断系统结构 中断寄存器,MCS-51的中断系统中断源,8051单片机有5个中断请求源:,单片机,MCS-51的中断系统中断标志,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,每一个中断源都有相应的中断标志位;某一个中断源申请中断,相应中断标志位置1。,MCS-51的中断系统中断允许,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,EA总中断允许位

6、,EA=1开放所有中断,EA=0,禁止所有中断;某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。,中断允许,ES,ET0,EX0,EX1,ET1,EA,IE0,TCON,SCON,TF0,IE1,TF1,T0,T1,TI,RI,TXD,RXD,ES,ET0,EX0,EX1,ET1,EA,自然优先级,矢量地址,高级中断请求,自然优先级,矢量地址,低级中断请求,PX0,PT0,PX1,PT1,PS,IE,IP,MCS-51的中断系统结构图,中断标志位,中断源允许,总允许,中断优先级,TCON,T1溢出中断标志(TCON.7):T1启动计数后,计满溢出由硬件置位TF

7、1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。,TCON寄存器T0和T1控制寄存器,外部中断INT1中断标志位(TCON.3) :IE11,外部中断1向CPU申请中断,外部中断INT1触发方式控制位(TCON.2):IT1=0,电平触发方式IT1=1, 下降沿触发方式,TCON寄存器T0和T1控制寄存器,注意:该寄存器可以位寻址。,TCON 88H,TF1:定时器1的溢出中断标志。T1被启动计数后,从初值做加1计数,计满溢出后由硬件置位TF1,同时向CPU发出中断。 TF0:定时器0溢出中断标志。其操作功能同TF1。 IE1:

8、外部中断1标志。IE1 = 1,外部中断1向CPU申请中断。 IT1:外中断1触发方式控制位。当IT1 = 0时,外部中断1控制为电平触发方式。当IT1 = 1时,外部中断1控制为负脉冲触发方式。 IE0:外部中断0中断标志。其操作功能与IE1相同。 IT0:外中断0触发方式控制位。其操作功能与IT1相同。,TI (SCON.1)串行发送中断标志。RI (SCON.0)串行接收中断标志。,SCON寄存器串行口控制寄存器,SCON98H,注意:该寄存器可以位寻址。,TI:串行发送中断标志 CPU将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件将使TI置位。 注意:CPU响应中

9、断时并不清除TI,必须由软件清除。 RI:串行接收中断标志 在串行口允许接收时,每接收完一个串行帧,硬件将使RI置位。 注意:CPU在响应中断时不会清除RI,必须由软件清除,IE A8H,例:允许定时器T0中断:SETB EA;为1时开放中断,为0时禁止中断SETB ET0 或 MOV IE,#82H,注意:该寄存器可以位寻址。,IE寄存器中断允许寄存器,EA:总中断允许控制位。EA = 1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA = 0,禁止所有中断。 ES:串行口中断允许位。ES = 1,允许串行口中断;ES = 0,禁止串行口中断。 ET1:定时器1中

10、断允许位。ET1 = 1,允许定时器1中断;ET1 = 0,禁止定时器1中断。 EX1:外部中断1中断允许位。EX1 = 1,允许外部中断1中断;EX1 = 0,禁止外部中断1中断。 ET0:定时器0中断允许位。ET0 = 1,允许定时器0中断;ET0 = 0,禁止定时器0中断。 EX0: 外部中断0中断允许位。EX0 = 1,允许外部中断0中断;EX0 = 0,禁止外部中断0中断。,51单片机有两个中断优先级高级和低级专用寄存器IP为中断优先级寄存器,用户可用软件设定相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级系统复位时,均为低优先级该寄存器可以位寻址,

11、IP寄存器中断优先级寄存器,IP B8H,PS:串行口中断优先控制位 PS = 1,设定串行口为高优先级中断;PS = 0,设定串行口为低优先级中断。 PT1:定时器T1中断优先控制位 PT1 = 1,设定定时器T1中断为高优先级中断;PT1 = 0,设定定时器T1中断为低优先级中断。 PX1:外部中断1中断优先控制位 PX1 = 1,设定外部中断1为高优先级中断;PX1 = 0,设定外部中断1为低优先级中断。 PT0:定时器T0中断优先控制位 PT0 = 1,设定定时器T0中断为高优先级中断;PT0 = 0,设定定时器T0中断为低优先级中断。 PX0:外部中断0中断优先控制位 PX0 = 1

12、,设定外部中断0为高优先级中断;PX0 = 0,设定外部中断0为低优先级中断。当系统复位后,所有中断源均设定为低优先级中断。优先顺序为:PX0-PT0-PX1-PT1-PS,中断的处理过程,中断处理过程分为三个阶段:中断响应、中断处理和中断返回。中断响应中断处理(又称中断服务)中断返回中断请求的撤除,中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。 中断响应过程:保护断点地址;,把程序转向中断服务程序的入口地址(通常称矢量地址)。,特别注意:这些工作是硬件自动完成的!,断点地址,中断服务子程序的入口地址,外部中断0入口地址,AJMP ZD0,ZD0,中断响应,中断服务

13、子程序入口地址又称为中断矢量或中断向量。,单片机中5个中断源的矢量地址是固定的,不能改动。,断点地址,中断服务子程序的入口地址,中断响应,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口

14、,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,包含T0中断服务子程序的程序结构:ORG 0000H AJMP MAINORG 000BHAJMP NTT0 ORG 0100H MAIN: . . INTT0:.RETIEND,AJMP MAIN,AJMP INTT0,中断处理,中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。 中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。,入口地址,RETI,中断处理,INTT0: PUSH ACCPUSH DP

15、HPUSH DPLPUSH PSW中断源服务POP PSWPOP DPLPOP DPHPOP ACCRETI,保护现场,恢复现场,中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现。,中断返回,RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。特别注意:不能用RET指令代替RETI指令!,中断返回,中断源发中断请求,中断响应条件 是否满足?,中断是否受阻?,把PC断点地址压入堆栈,相应中断源的中断入口地址送入PC,转向中断服务程序,N,Y,Y,N,由硬件 自动完成,中断处理过程示意图,关中断,保护现场,中断服务,开中断,关中断,恢复现场,开中断,中断返回,断点地址由堆栈弹入PC,中断服务程序,CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的。边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号