单片机第五章.ppt_第1页
单片机第五章.ppt_第2页
单片机第五章.ppt_第3页
单片机第五章.ppt_第4页
单片机第五章.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,第5章 MCS-51的中断系统,中断功能强弱是计算机性能优劣的重要标志 提高CPU效率 解决速度矛盾 实现并行工作 应付突发事件,中断的特点,继续执行主程序,中断概念:指CPU正在执行原程序(主程序)时,被意外事情打断,转去执行新程序(中断服务程序)。CPU执行新程序结束后,又返回到原程序中继续执行原程序。,几个与中断有关的名词,中断源:发出申请的根源或引起中断的原因; 中断请求:中断源向CPU提出的请求处理 断点:主程序被打断的位置 中断响应过程:从主程序转到新程序的过程 中断处理:执行新程序的处理过程 中断返回:处理完毕后返回断点 中断系统:完成以上功能的部件,例如,某人看书 执行主程序

2、 日常事务 电话铃响 中断信号INT=0 中断请求 暂停看书 暂停执行主程序 中断响应 书中作记号 当前PC入栈 保护断点 电话谈话 执行中断程序 中断服务 继续看书 返回主程序 中断返回,中断过程: 中断系统工作可由中断请求、中断响应、中断服务、中断返回四个阶段组成。 中断优先权: 1.当同时有多个中断请求信号,先响应优先级别高的中断请求。 2.高优先级中断请求信号可中断低优先级中断服务。,中断源 1、INT0外部中断0请求,低电平有效。通过P3.2引脚输入。 2、INT1外部中断1请求,低电平有效。通过P3.3引脚输入。 3、TF0定时器/计数器T0溢出中断请求。 4、TF1定时器/计数器

3、T1溢出中断请求。 5、TI/RI串行口中断请求。当串行口完成一帧数据的发送或接收时,便请求中断。,五个中断源,MCS-51单片机的中断系统由中断请求标志位(在相关的特殊功能寄存器TCON 、 SCON中) 、中断允许寄存器IE、中断优先级寄存器IP及内部中断源标志位查询电路组成。如下图:,一.中断系统硬件结构,注:各中断允许控制位=0,开关断开;=1,开关接通,1、定时器控制寄存器TCON (88H),(1)TF0/TF1:定时器溢出中断申请标志位: =0:定时器未溢出; =1:定时器溢出申请中断,进中断后自动清零。,(2)TR0/TR1:定时器运行启停控制位: =0:定时器停止运行; =1

4、:定时器启动运行。,TCON:Timer控制寄存器,是管理定时器工作的SFR(其中低4位管外部中断),1、定时器控制寄存器TCON (88H),TCON:Timer控制寄存器,是管理定时器工作的SFR(其中低4位管外部中断),(3)IE0/IE1:外部中断申请标志位: =0:没有外部中断申请; =1:有外部中断申请。,(4)IT0/IT1:外部中断请求的触发方式选择位: =0:在INT0/INT1端申请中断的信号低电平有效; =1:在INT0/INT1端申请中断的信号负跳变有效.,2、串行口控制寄存器SCON(98H),SCON:串行口控制寄存器,(5)RI/TI:串行口收/发数据申请中断标志

5、位 1 申请中断; 0 不申请中断,3.中断允许寄存器IE (0A8H),(1)EX0/EX1/ET1/ET0/ES 位: 分别是INT0/1,Timer0/1,串行口的中断允 许控制位: =0 时禁止中断; =1 时允许中断。 (2)ET2:T2中断允许控制位(仅52子系列有) =0 时禁止中断; =1 时允许中断。 (3)EA:总的中断允许控制位(总开关): =0 时禁止全部中断;=1 时允许中断。,EA ET2 ES ET1 EX1 ET0 EX0,3.中断允许寄存器IE (0A8H),IE对中断的开放和关闭实现 2 级控制。 系统复位时,IE被清0,所有中断请求被禁止。 若允许其中一个

6、中断源被允许,除了相应位置1外,EA=1。 SETB EA CLR EA MOV IE, #data ORL IE, #data MOV IE, A,位操作,字节操作,3.中断允许寄存器IE (0A8H),如:若允许片内2个定时器/计数器中断,禁止其他中断源的中断请求。写出相应程序段 (1)位操作指令 CLR ES CLR EX1 CLR EX0 SETB ET0 SETB ET1 SETB EA,(2)用字节指令 MOV IE, #8AH,4.中断优先级控制寄存器IP (0B8H),MCS-51单片机的中断矢量与优先级,1.中断矢量: MCS-51单片机的 5 个中断源分别对应有各自的中断服

7、务程序入口地址中断矢量,最高优先级 最低优先级,高,低,MCS-51单片机的中断矢量与优先级,1.中断矢量: MCS-51单片机的 5 个中断源分别对应有各自的中断服务程序入口地址中断矢量,CPU执行主程序,CPU执行低级 中断服务程序,CPU执行高级 中断服务程序,响应低级中断请求,返回主程序,低级中 断请求,高级中 断请求,响应高级中断请求,返回低级中断程序,RETI,RETI,对同时发生多个中断申请时: (1)不同优先级的中断同时申请 先高后低 (2)相同优先级的中断同时申请 按序执行 (3)正处理低优先级中断又接到高级别中断 高打断低 (4)正处理高优先级中断又接到低级别中断 高不理低

8、,2.中断优先级处理原则,三.MCS-51单片机的中断矢量与优先级,(1)没有同级的中断或更高级别的中断正在处理;,3.在中断源提出了中断申请且CPU此前已经允许中断的前提下,还须满足以下三个条件:,(2)正在执行的指令必须执行完最后1个机器周期;,(3)若正在执行RETI,或正在访问IE或IP寄存器,须执行完上述指令和下一条指令以后方能响应中断。,三.MCS-51单片机的中断矢量与优先级,例5-2 设置IP寄存器的初始值,使得MCS-51的2个外中断请求为高优先级,其他中断为低优先级。 (1)位操作指令 SETB PX0 SETB PX1 CLR PS CLR PT0 CLR PT1 (2)

9、字节操作指令 MOV IP,#05H,三.MCS-51单片机的中断矢量与优先级,或者 MOV 0B8H,#05H,在CPU已经开放了外部中断允许的前提下: 1.在INT0/INT1引脚输入一个负脉冲或低电平 2.TCON寄存器中的IE0/IE1标志位自动变“1”, 3.检测到IE0/IE1变“1”后,将产生指令: LCALL 0003H(/0013H)执行中断服务程序 4.并将IE0/IE1标志位清“0”,以备下次申请。,四.外部中断(INT0,INT1)申请过程,五. 中断请求的撤销,CPU响应中断请求,转向中断服务程序执行,在其执行中断返回指令(RETI)之前,中断请求信号必须撤除,否则将

10、可能再次引起中断而出错 三种撤销方式: (1)由单片机内部硬件自动复位。 (2)应用软件清除相应标志位 (3)既无硬件清除也无软件清除,五. 中断请求的撤销,1.定时器/计数器中断请求的撤销 该中断被响应后,硬件自动将中断标志位(TF0、TF1)清0,是自动撤销的。,2.外部中断请求的撤销 外部中断请求包括2种方式: (1)电平触发(低电平触发) (2)跳沿方式(负脉冲触发) 由于触发方式不同,撤销也不同。,2. 外部中断请求的撤销,低电平/负脉冲INT0/INT1引脚可触发中断,TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0,TCON (88H),IT0/IT1:INT0/1

11、的触发方式选择位: IT0/IT1 =0 时,INT0/INT1是低电平有效; IT0/IT1 =1 时,INT0/INT1是负跳变有效。,(2)低电平触发 引脚上的低电平须持续到中断发生。若中断返回前仍未及时撤除低电平,将再次中断。,外来的低电平反相CLK端产生上跳沿 D端的“0”打到Q端申请中断,INTx,P1.0,CLK,Q,Q,D,外来中断申请信号(低电平),MCS-51,74LS74,Q=0 则 Q=1,中断返回前对P1.0送“0” 令Q端变为“1”,2. 外部中断请求的撤销(2)低电平触发,中断服务程序中增加指令如下: ANL P1,#0FEH = CLR P1.0 ;令Q端置“1

12、”,以免下次中断来时Q端不能变“0”,五. 中断请求的撤销,3.串行口中断请求的撤销 只涉及标志位清0的问题。 (1)串行口中断标志有两个:TI和RI,但串行中断只有一个,所以必须首先区分是接收中断还是发送中断,才能清除相应标志位。 (2)只是用软件撤销办法 CLR TI CLR RI,六.中断应用前后要做的几项工作,1.中断前 (1)开中断允许:必须 (2)选择优先级:根据需要选择,可有/可无 (3)设置控制位:INTx触发方式(ITx) TxTCON(TRx),TMOD,初值 RI/TISCON(REN,RB8,TB8),2.中断后 (1)进入中断服务后:保护现场, (2)退出中断服务前:

13、恢复现场,设Tx的初值,清TI/RI, 中断服务程序的最后一条指令必是 RETI,中断应用程序举例:,例1:通过外部中断1,在中断服务中将B寄存器里的内容左环移一位。 已知: (B)=01H,要求采用边沿触发,低优先级。,此例的实际意义:在INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,中断服务则是:依次点亮八盏灯中的一盏。,中断应用程序举例:,例1:通过外部中断1,在中断服务中将B寄存器里的内容左环移一位。 已知: (B)=01h,要求采用边沿触发,低优先级。,+5V,ORG 0000H LJMP MAIN ORG 0013H ;中断矢量 LJMP INT ORG 0100H M

14、AIN:SETB EA ;开总中断允许“开关” SETB EX1 ;开分中断允许“开关” CLR PX1 ;0 优先级 SETB IT1 ;边沿触发 MOV B,#01H ;给 B 寄存器赋初值 HERE:SJMP HERE ;原地等待中断申请,INT:MOV A,B ;自B寄存器中取数 RL A ;左环移一次 MOV B,A ;存回B,备下次取用 RETI ;中断返回,中断服 务程序,MOV P1,A ;输出到P1口,中断系统应用举例,2.要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。 1跳变触发:每次跳变引起一次中断请求。

15、,ORG 0000H;复位入口 AJMP MAIN ORG0003H;中断入口AJMPPINT0 ORG0100H;主程序 MAIN: MOV SP,#40H ;设栈底 SETBEA;开总允许开关 SETBEX0;开INT0中断 SETBIT0;负跳变触发中断 H:SJMPH ;执行其它任务 ORG0200H;中断服务程序 PINT0:CPL P1.0;改变LED RETI;返回主程序,ORG 0000H;复位入口 AJMP MAIN ORG0003H;中断入口AJMPPINT0 ORG0100H;主程序 MAIN: MOV SP,#40H ;设栈底 SETBEA;开总允许开关 SETBEX0

16、;开INT0中断 CLRIT0;低电平触发中断 H:SJMPH ;执行其它任务 ORG0200H;中断服务程序 PINT0:CPL P1.0;改变LED WAIT:JNBP3.2,WAIT;等按键释放 RETI;返回主程序,1软件等待按键释放。 2硬件清除中断信号。,2. 电平触发:避免一次按键引起多次中断响应。,1.下列说法错误的是( ) (A)各中断源发出的中断请求信号,都会标记在 IE 寄存器中。 (B)各中断源发出的中断请求信号,都会标记在 TMOD 寄存器中。 (C)各中断源发出的中断请求信号,都会标记在 IP 寄存器中。 (D)各中断源发出的中断请求信号,都会标记在 TCON 和 SCON 寄存器中。,思考与习题,A B C,IE-是否允许各中断的;TMOD-定时器/计数器工作方式选择; IP-中断优先级;TCON-中断请求信号标志; SCON-串行口中断标志。,2.中断查询确认后,在下列各种8031运行情况中,能够立即响应的是( ) (A)当前正在进行高优先级中断处理。 (B)当前正在执行RETI指令。 (C)当前指令是DI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论