版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第五章 MCS-51的中断系统,5.1 中断的基本概念,1中断的定义 所谓“中断”,是指CPU执行正常程序时,系统中出现特殊请求,CPU暂时中止当前的程序,转去处理更紧急的事件(执行中断服务程序),处理完毕(中断服务完成)后,CPU自动返回原程序的过程。 2、中断的作用:采用中断技术可以提高CPU效率、解决速度矛盾、实现并行工作、分时操作、实时处理、故障处理、应付突发事件,可使多项任务共享一个资源(CPU)。 3、中断与子程序的最主要区别:子程序是预先安排好的,中断是随机发生的,对CPU而言,中断事件是由外部产生,具有随机性、不可知性。 4、CPU如何识别中断申请:CPU在每个机器周期的S5P
2、2期间,会自动查询各个中断申请标志位,若查到某标志位被置位,将启动中断机制。,事件,中断程序,5、中断过程:,主程序,中断,自动保护断点 自动寻找中断源入口地址 0003H 000BH 0013H 001BH 0023H 转入中断服务程序 自动返回主程序,中断源,/INT0中断 T0溢出中断 /INT1中断 T1溢出中断 串口中断,响应中断请求的条件,相应的中断是开放的; 没有同级的中断或更高 级别的中断正在处理; 正在执行的指令必须执 行完最后 1个机器周期; 若正在执行RETI,或正 在访问IE或IP寄存器,则 必须执行完当前指令的 下一条指令。后方能响 应中断。,中断响应,5.2 MCS
3、-51的中断系统,MCS-51提供了5个中断源,2个中断优先级控制,可实现2级中断服务嵌套。 可通过程序设置中断的允许或屏蔽,设置中断的优先级。,P3.0,P3.1,P3.5,P3.4,P3.2,P3.3,IT0,IT1,一、内部结构图,88H,TCON: 定时器/计数器控制寄存器,SCON: 串行口控制寄存器,98H,IE: 中断允许寄存器,A8H,IP: 中断优先级寄存器,B8H,MCS-51单片机设置了4个专用寄存器用于中断控制,用户通过设置其状态来管理中断系统。,1、定时器控制寄存器TCON (88H),TF0/TF1:定时器溢出中断申请标志位(由硬件自动置位,在查询方式下可 由软件清
4、0 )。 =0:定时器未溢出; =1:定时器溢出,IT0/IT1:外部中断请求的触发方式控制位(可由用户通过软件设置 )。 =0:在INT0/INT1端申请中断的信号低电平有效; =1:在INT0/INT1端申请中断的信号负跳变有效。,IE0/IE1:外部中断申请标志位(由硬件自动置位 ,中断响应后转向中断服务程序时,由硬件自动清0 ,在查询方式下可由软件清0)。 =0:没有外部中断申请; =1:有外部中断申请。,TR0/TR1:定时器运行启停控制位(可由用户通过软件设置 )。 =0:定时器停止运行; =1:定时器启动运行。,二、4个特殊功能寄存器,2、串行口控制寄存器SCON (98H),T
5、I:串行口发送中断申请标志位 RI:串行口接收中断申请标志位 =0:没有串行口发送/接收中断申请; =1:有串行口发送/接收中断申请。 注:由硬件自动置位,必须由用户在中断服务程序中用软件清0。,SM0 SM1 SM2 REN TB8 RB8 TI RI,3、中断允许控制寄存器IE (0A8H),EA ES ET1 EX1 ET0 EX0,EX0:/INT0中断允许控制位 EX1: /INT1中断允许控制位 ET1: T0中断允许控制位 ET0: T1中断允许控制位 ES :串行口中断允许控制位 =0 :禁止中断; =1 :允许中断。 EA:总的中断允许控制位(总开关): =0 :禁止全部中断
6、; =1 :允许中断。,【例】 若允许片内2个定时器/计数器中断,并禁止其他中断源的中断请求,请编写设置IE的相应程序段。 (1)用位操作指令 CLR ES ;禁止串行口中断 CLR EX0 ;禁止外部中断0中断 CLR EX1 ;禁止外部中断1中断 SETB ET0 ;允许定时器/计数器T0中断 SETB ET1 ;允许定时器/计数器T1中断 SETB EA ;总中断开关位开放 (2)用字节操作指令 MOV IE,#8AH 或 MOV 0A8H,#8AH,EA ES ET1 EX1 ET0 EX0,IE,0A8H,4、中断优先级控制寄存器IP (0B8H),PS PT1 PX1 PT0 PX
7、0,PX0:/INT0优先级控制位 PX1:/INT1 优先级控制位 PT0: T0中断优先级控制位 PT1: T1中断优先级控制位 PS:串行口中断优先级控制位: =0 :属低优先级; =1 :属高优先级。,【例】 IP寄存器初始化,AT89S51的两个外中断请求为高优先级,其他中断请求为低优先级。 (1)用位操作指令 SETB PX0 ;外中断0设置为高优先级 SETB PX1 ;外中断1设置为高优先级 CLR PS ;串行口设置为低优先级 CLR PT0 ;定时器/计数器T0为低优先级 CLR PT1 ;定时器/计数器T1为低优先级 (2)用字节操作指令 MOV IP,#05H,PS P
8、T1 PX1 PT0 PX0,0B8H,IP,思考: 1、有多个同级中断同时申请中断,CPU该优先响应哪个中断? 2、低级中断正在执行中,有高级中断申请,CPU该如何响应?,高,低,决定于出厂前由厂家固化优先级顺序,/INT0中断 T0溢出中断 /INT1中断 T1溢出中断 串口中断,思考: 1、有多个同级中断同时申请中断,CPU该优先响应哪个中断?,事件1,事件2,高级中断程序2,低级中断 程序1,2级中断嵌套的概念:,主程序,低级中断,对同时发生多个中断申请时中断优先原则:(概括为四句话) 不同优先级的中断同时申请:先高后低 相同优先级的中断同时申请:按序执行 正处理低优先级中断又接到高级
9、别中断:高打断低 正处理高优先级中断又接到低级别中断:高不理低,高级中断,思考:2、低级中断正在执行中,有高级中断申请,CPU如何响应?,P3.0,P3.1,P3.5,P3.4,P3.2,P3.3,IT0,IT1,例:使用外部中断0,低电平触发,外部中断1,下跳沿触发,T1中断,其中T1为高级中断,其他为低级中断,请设置。,88H,TCON: 定时器/计数器控制寄存器,SCON: 串行口控制寄存器,98H,IE: 中断允许寄存器,A8H,IP: 中断优先级寄存器,B8H,MOV TCON,#04H MOV IE,#8DH MOV IP,#08H,三、中断响应,1、中断响应的条件 MCS-51单
10、片机工作时,在每个机器周期中S5P2都会去查询各个中断标志,如果有中断请求。必须满足下列条件单片机才能响应中断。 相应的中断是开放的; 没有同级的中断或更高级别的中断正在处理; 正在执行的指令必须执行完最后 1个机器周期; 若正在执行RETI,或正在访问IE或IP寄存器,则必须执行完当前指令的下一条指令。后方能响应中断。,2、中断响应的过程,中断过程包括中断请求、中断响应、中断服务、中断返回四个阶段。 中断请求:中断源将相应请求中断的标志位置 “1”,表示发出请求,并由CPU 查询, CPU查询到某一中断源后,使相应的“优先级激活触发器”置位用以阻断同级或低级中断。 中断响应:在中断允许条件下
11、响应中断。断点入栈撤除中断标志关闭低同级中断允许中断入口地址送PC。 这些工作都是由硬件自动完成的。 中断服务:根据入口地址转中断服务程序,包含保护现场、执行中断主体、恢复现场。 中断返回:执行中断返回RETI指令,它将清除“优先级激活触发器”, 断点出栈开放中断允许返回原程序。,中断响应的主要内容就是由硬件自动生成LCALL addr16,CPU 执行这条长调用指令便响应中断,转入相应的中断服务程序。 addr16就是程序存储器中相应的中断服务程序的入口地址。,中断服务程序入口地址: MCS-51的5个中断源的中断服务程序入口地址是固定的。,中断服务程序地址入处理 ORG 0000H LJM
12、P START ; 转入主程序,START为主程序地址标号 ORG 0003H LJMP IINT0 ; 转外中断中断服务程序 ORG 000BH LJMP TT0 ; 转定时器T0中断服务程序 ORG 0013H LJMP IINT1 ; 转外中断中断服务程序 ORG 001BH LJMP TT1 ; 转定时器T0中断服务程序 ORG 0030H START: ; 主程序开始,最短的响应时间为3个机器周期 1)中断请求标志位查询占1个机器周期。 2)硬件子程序调用指令LCALL的执行,需要2个机器周期。 最长的响应时间为8个机器周期 1)发生在CPU进行中断标志查询时,刚好是开始执行RETI
13、或是访问IE或IP的指令,则需把当前指令执行完再继续执行一条指令后,才能响应中断,当前指令执行完最长需2个机器周期。 2)接着再执行一条指令,按最长指令来算,需4个机器周期。 3)硬件子程序调用指令LCALL的执行,需要2个机器周期。 如果已在处理同级或更高级中断,响应时间无法计算。,3、中断响应时间 正常中断响应时间至少为38个机器周期,如果有同级或高级中断服务,将延长中断响应时间。,4、中断请求的撤除,为了避免中断请求标志没有及时撤除而造成的重复响应同一中断请求的错误, CPU在响应中断时必须及时将其中断请求标志位撤除。 8051的5个中断源的中断请求撤除的方法是不同的。,定时器溢出中断请
14、求的撤除 定时器溢出中断得到响应后,其中断请求的标志位TF0和TF1由硬件自动复位。,串行口中断请求的撤除 串行口中断得到响应后,其中断请求的标志位TI和RI不能由硬件自动复位,必须由用户在中断服务程序的适当位置通过软件将它们撤除。 CLR TI ; CLR RI ; ANL SCON, #0FCH,外部中断请求的撤除,外部中断请求的两种触发方式(电平触发和负边沿触发)的中断请求撤除的方法是不同的。 边沿触发方式:CPU在前一机器周期采到 int0 / int1引脚为高,后一机器周期采到为低才认为是一次中断请求,即依靠CPU两次检测int0/int1上的负边沿触发电平状态而置位外部中断标志位I
15、E0或IE1 。CPU 可记忆申请、可由硬件自动撤除中断申请。 电平触发方式:int0/int1引脚上的低电平须持续到中断发生。若中断返回前仍未及时撤除低电平,虽然CPU在响应中断时能由硬件自动复位IE0或IE1,但引脚上的低电平仍会使已经复位的IE0或IE1再次置位,产生重复中断的错误。两种方案解决。,方案2:解决外部中断信号过长的软件方案,方案1:撤除外部电平请求信号的硬件方案,外来的低电平反相CP端产生上跳沿 D端的“0”输出到Q端申请中断,中断服务返回前对P1.0送“0” 令Q端变为“1” 指令如下: ORL P1, #01H ( SETB P1.0 ) ANL P1,#0FEH (或
16、CLR P1.0 ),方案1:撤除外部电平请求信号的硬件方案,方案2:解决外部中断信号过长的软件方案,在中断处理程序的最后、返回主程序之前,对外中断 信号进判断、等待,只有当外信号消失后再返回主 程序;,中断服务程序,中断 处理 程序,外信号撤出?,N,Y,RETI,MCS-51的中断请求的撤除方法,注:此表指使用中断服务程序来处理中断事件时的情况。 如果采用查询的方法来处理事件时,都需要软件来清除标志。,5.3 中断服务程序设计,一、中断使用设计步骤 1、确定选用哪些中断源? 2、硬件原理图设计,画硬件连接图。 3、主程序设计 (1)中断入口处理 (2)中断初始化 TCON、 IE、 IP、
17、 SCON 4、中断服务程序设计 (1)保护现场 (2)中断处理 (3)恢复处理 (4)中断返回RETI,二、处理外部中断举例,例1:要求每次按动按键,使外接发光二极管LED改变一次亮灭状态。 解:INT0输入按键信号,P1.0输出改变LED状态。 1跳变触发:每次跳变引起一次中断请求。,ORG 0000H;复位入口 AJMP MAIN ORG 0003H ;中断入口 AJMP PINT0 ORG 0100H ;主程序 MAIN:MOV SP,#40H;设栈底 SETB IT0 ;负跳变触发中断 SETB EX0 ;开INT0中断 SETB EA ;开总允许开关 H: SJMP H ;执行其它
18、任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED RETI ;返回主程序,(1)软件等待按键释放。 (2)硬件清除中断信号。,2、电平触发:,ORG 0000H;复位入口 AJMP MAIN ORG 0003H ;中断入口 AJMP PINT0 ORG 0100H ;主程序 MAIN:MOV SP,#40H;设栈底 CLR IT0 ;低电平触发中断 SETB EX0 ;开INT0中断 SETB EA ;开总允许开关 H: SJMP H ;执行其它任务 ORG 0200H ;中断服务程序 PINT0:CPL P1.0 ;改变LED WAIT:JNB P3.2,
19、WAIT;等按键释放 RETI ;返回主程序,例2: 通过外部中断控制八盏灯循环点亮。 解:通过P1口扩展八盏灯,在/INT1引脚接一个按钮开关到地,每按一下按钮就申请一次中断,点亮一盏灯,中断服务则是:依次点亮八盏灯中的一盏。采用边沿触发。,程序如下: ORG 0000H LJMP MAIN ORG 0013H ; 中断服务程序入口地址 LJMP IN11 MAIN:SETB EA ; 开总中断允许“开关” SETB EX1 ; 开分中断允许“开关” CLR PX1 ; 低 优先级(也可不要此句) SETB IT1 ; 边沿触发 MOV A , #01H ; 给累加器A赋初值 SJMP $ ; 原地等待中断申请 IN11:RL A ; 左环移一次 MOV P1,A ; 输出到P1口 RETI ; 中断返回 END,例3:多个外部中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教A版山西省大同市2023-2024学年高二上学期期末质量监测数学试题
- 林徽因课件教案
- 娜塔莎课件高中
- 2024年吉林省中考生物真题卷及答案解析
- 模板 卡通 课件
- 西京学院《新媒体数据挖掘实训》2022-2023学年期末试卷
- 西京学院《软件测试技术》2021-2022学年期末试卷
- 测树叶的面积
- 西京学院《机床电气与技术》2022-2023学年期末试卷
- 西华师范大学《综合自然地理》2022-2023学年第一学期期末试卷
- 手术室锐器刺伤
- 中国食物成分表2018年(标准版)第6版
- 2023-2024苏教版小学五年级数学上册全册测评试卷(含答案)
- 科普类公园设计方案
- 小学英语就业能力展示
- 中医-艾灸治疼痛
- “安全风险分级管控”工作制度(2篇)
- 心肌病和心肌炎课件
- 《艾滋病毒》课件
- 平阳港区西湾作业区防浪导流堤工程海域使用论证报告书
- 管道保温计算公式
评论
0/150
提交评论