版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章中断系统提要中断基本概念中断源及入口地址各SFR的结构、控制作用和设置方法中断响应过程中断应用程序的编写2023年2月5日27.1中断概述中断的概念:中断,中断系统,中断源,主程序,中断服务子程序,断点。中断服务程序与调用子程序之区别中断技术的优点分时操作实时处理故障处理7.1中断概述中断系统的功能实现中断及返回:中断源,中断请求,中断允许,中断响应,中断返回。实现优先权排队:当两个或两个以上的中断源同时提出中断请求时,计算机按优先级高低逐次响应的过程称为优先级排队。实现中断嵌套:在响应某一中断、进行中断处理过程中,能够响应优先级更高的中断源发出的中断请求。7.289C51单片机的中断系统7.289C51单片机的中断系统5个中断请求源2个外部中断源:INT0、INT13个内部中断源:片内定时器/计数器T0、T1的溢出中断源;串行口的发送/接收中断4个与中断有关的特殊功能寄存器中断请求:定时和外中断控制寄存器TCON、串行控制寄存器SCON;中断允许控制寄存器IE;中断优先级控制寄存器IP;中断入口地址和硬件查询电路等2023年2月5日6中断请求:TCON,SCON定时和外中断控制寄存器TCON串行控制寄存器SCON2023年2月5日7TCON寄存器地址为88H,位地址为8FH~88H。TF1:T1的溢出中断标志。由硬件置1/清0(也可软件清0)。TF0:T0的溢出中断标志。(同TF1,只是针对T0的)IE1:外部中断1(/INT1)请求标志。外部有中断请求时,硬件使IE1置1,硬件清0。IE0:外部中断0(/INT0)请求标志。IT1:外部中断1(/INT1)触发类型控制位。IT1=0,低电平触发。IT1=1,下降沿触发。IT0:外中断0(/INT0)触发类型控制位,用法同IT1。2023年2月5日8SCON寄存器地址为98H,位地址为9FH~98H。TI:串口发送中断标志位。 发送完数据,硬件使TI置1,软件清0(CLRTI)RI:串行口接收中断标志位。 硬件置1,软件清0。2023年2月5日9中断控制:IE,IP中断允许寄存器IE—控制中断的开放或屏蔽中断优先级寄存器IP—决定中断优先级2023年2月5日101:CPU开放中断T2SIOT1INT1T0INT00:屏蔽所有中断
1:允许中断,0:禁止中断T2SIOT1INT1T0INT0 1:高优先级,0:低优先级IE寄存器地址为A8H,位地址为AFH—A8H。EA:中断允许总控制位,EA=1,CPU开放中断。EA=0,CPU禁止所有中断。ES:串行中断允许控制位,ES=1允许串行口中断,ES=0,屏蔽 串行口中断。ET1:定时/计数器T1中断允许控制位。ET1=1,允许T1中断,ET1=0,禁止T1中断。EX1:外中断1允许控制位,EX1=1,允许外中断1中断, EX1=0,禁止外中断1中断。ET0:定时/计数器T0中断控制位。ET1=1,允许T0中断,ET1=0,禁止T0中断。EX0:外中断0允许控制位,EX1=1,允许外中断0中断,EX1=0,禁止外中断0中断。2023年2月5日11IE控制字的理解IE=93H,IE=84H,IE=92H,IE=17H?初始化:允许/INT0和T1中断?例:设置相关控制的位操作INT0为边沿触发方式:SETBIT0INT1为电平触发方式:CLRIT1INT1为高优先级:SETBPX1允许INT1中断:SETBEX1
SETBEA2023年2月5日13例:一条指令实现控制字设置INT1、T0开中断,其余禁中断:MOVIE,#86HT1、串口开中断,其余禁中断:MOVIE,#98H全部开中断:MOVIE,#0FFH全部禁中断:MOVIE,#00H或CLREA
INT0、T0开中断,其余保持不变:ORLIE,#83HINT1、T1开中断,其余禁中断:ANLIE,#8CH2023年2月5日14IP寄存器地址为B8H,位地址为BFH~B8H。PS:串行口中断口优先级控制位,PS=1,串口定义为高优先级中断,PS=0,串口定义为低优先级中断。PT1:定时器1优先级控制位。PT1=1,声明定时器1为高优先级中断,PT1=0定义定时器1为低优先级中断。PX1:外中断1优先级控制位。PT1=1,声明外中断1为高优先级中断,PX1=0定义外中断1为低优先级中断。PT0:定时器0优先级控制位。PT1=1,声明定时器0为高优先级中断,PT1=0定义定时器0为低优先级中断。PX0:外中断0优先级控制位。PT1=1,声明外中断0为高优先级中断,PX1=0定义外中断0为低优先级中断。2023年2月5日15中断优先级控制原则高优先级可以中断低优先级。同优先级中断不能互相中断。同级的多个中断请求出现,按CPU查询次序确定哪个请求被响应。查询次序由高到低依次为:
/INT0中断T0中断/INT1中断T1中断串口中断例:IP=06H,如果5个中断请求同时发生,求中断响应的次序。2023年2月5日16SFR的控制位和标志位控制位是用来设置各种工作方式的,通过编程写入( 如IT1,IT0,EX0等)。标志位是系统运行时自动形成的标志,可供程序运行时查询(如IE1,IE0,TF1,TF0等)。3个阶段:中断响应、中断处理和中断返回。一、中断响应1.中断响应条件
1)有中断源发出中断请求;
2)中断总允许位EA=1,即CPU开中断;
3)相应的中断允许位为1,即没有屏蔽。
4)不存在中断响应阻断,包括:CPU未执行完一条指令,有同级或高级中断服务,正在执行RETI或是对IE、IP的写操作指令。7.3中断处理过程一、中断响应2.中断响应过程1)置优先级状态触发器。2)清0中断请求源申请标志。3)将程序计数器的内容(断点地址)压入堆栈。4)将被响应的中断服务程序的入口地址送程序计数器PC。一、中断响应MCS-51机中,各中断源及与之对应的入口地址分配如下:各入口地址之间只相隔8个字节,一般的中断服务程序容纳不下。实际使用时,通常在这些入口地址处存放一条绝对跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去。2023年2月5日20中断源入口地址外部中断00003H定时器T0中断000BH外部中断10013H定时器T1中断001BH串行口中断0023H主程序如何避开中断入口地址主程序需要让出中断源所占用的向量地址。 ORG0000H LJMPSTART ORG0030H
START:XXXXXX ;主程序开始程序中没用中断时,直接从0000H开始写程序,在原理上并没有错,但在实际工作中最好不这样做。
2023年2月5日21包含中断功能的程序结构
ORG0000H LJMPSTART
ORG0003H LJMPINT0;转外中断0
ORG000BH
RETI;没有用定时器0中断,也可在此放一条RETI
ORG0030HSTART:XXXXXXX;主程序从这里开始了,包括
………………;功能模块及中断的初始化等
SJMP$INT0: XXXXXXX;中断服务程序从这里开始
……………… END ;源程序结束2023年2月5日22二、中断处理和返回
如果中断响应条件满足,CPU自动把断点地址压入堆栈,给出中断入口地址,程序计数器PC自动装入中断入口地址,执行相应的中断服务程序。保护现场,为了使中断处理不影响主程序的运行,需要把断点处有关寄存器的内容和标志位的状态压入堆栈区进行保护。现场保护要在中断服务程序开始处通过编程实现。处理中断源的请求,执行相应的中断服务。二、中断处理和返回恢复现场。在中断服务结束之后、返回主程序之前,把保存在堆栈区的现场数据从堆栈区弹出,送回原来的位置。恢复现场也需要通过编程实现。中断返回。执行中断返回指令RETI,清除优先级状态触发器将堆栈内保存的断点地址弹给PC,程序则恢复到中断前的位置三、中断请求的撤除CPU响应某中断请求后,TCON或SCON中的中断请求标志应及时清除,否则会引起另一次中断:定时器/计数器的中断和边沿触发的外部中断:CPU在响应器中断后,硬件会自动清除有关的中断请求。串行口中断:必须在中断服务程序中用软件的方法清除(即写一条清除的指令)。电平触发的外部中断:由于引起中断的低电平信号在外部引脚上,需要做特殊处理2023年2月5日25电平触发的外部中断的清除对于电平触发的外部中断,CPU响应中断后,虽然由硬件清除了相应的标志位,但不能对外部引脚上的电平进行处理。外部引脚上低电平的存在,会造成重复中断。可以在电路上增加对外部引起中断的信号进行处理。P148图7-5。通过I/O口输出一个信号,使得外部引脚上的中断请求信号变为高电平。7.4中断系统的应用中断程序一般包含有两个部分:主程序中的中断初始化。实现中断操作任务的中断服务程序。2023年2月5日27主程序中断初始化:用户对中断控制的相关特殊功能寄存器中的各有关控制位进行赋值。基本步骤:开中断:置位相应中断源的中断允许标志及EA。设定所用中断源的中断优先级。对外部中断应设定中断请求信号形式(电平触发/脉冲下降沿触发)。对于定时/计数中断应设置工作方式(定时/计数)。初始化相应中断源所对应的功能模块定时器/串行口的设置注:在主程序中任何地点都可设置中断初始化。只有在中断初始化开中断后,有中断源请求中断时才响应中断,将程序转移到该中断源的入口地址处,进入中断服务操作。2023年2月5日28中断服务程序主要任务:保护现场,处理中断请求,恢复现场,中断返回将ACC、PSW及与主程序有关的寄存器入栈处理相关事件,中断要实现的主要功能出栈RETI中断服务程序的一般格式CLR EA ;关中断PUSHPSW
;保护现场PUSHA…SETB EA ;开中断,允许CPU响应高级中断… ;服务程序CLR EA ;关中断,如果没有高级中断斜体部分不要。POPA
;恢复现场POPPSW…SETB EA ;开中断RETI ;中断返回2023年2月5日30中断服务程序的注意事项各中断源的入口矢量地址之间,相隔8个单元,通常是在中断入口矢量地址单元处存放一条无条件转移指令,转至存储器其他的任何空间去执行中断服务程序。若要在执行当前中断程序时禁止更高优先级中断,应用软件关闭CPU中断,或屏蔽更高级中断源的中断,在中断返回前再开放中断。在保护现场和恢复现场时,为了不使现场信息受到破坏或造成混乱,一般应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025青岛市家居装饰装修合同范本
- 个人电子借款合同2024修订版
- 二零二四年度养鸡场畜禽养殖废弃物资源化利用技术研发合同3篇
- 二零二四年美发店店名及LOGO设计合同2篇
- 二零二五年度新能源汽车OEM采购合同3篇
- 二零二四年度医药产品研发生产合同
- 2025年度存量房买卖合同(含房屋质量保修及维修服务)4篇
- 2025版手绘墙定制设计与施工合同范本2篇
- 二零二五年度环保产业园区建设运营管理合同范本3篇
- 二零二五年度成都商业净水器租赁与环保责任协议4篇
- 2024年安全教育培训试题附完整答案(夺冠系列)
- 神农架研学课程设计
- 文化资本与民族认同建构-洞察分析
- 2025新译林版英语七年级下单词默写表
- 【超星学习通】马克思主义基本原理(南开大学)尔雅章节测试网课答案
- 《锡膏培训教材》课件
- 断绝父子关系协议书
- 福建省公路水运工程试验检测费用参考指标
- 2024年中国工业涂料行业发展现状、市场前景、投资方向分析报告(智研咨询发布)
- 自然科学基础(小学教育专业)全套教学课件
- 《工程勘察资质分级标准和工程设计资质分级标准》
评论
0/150
提交评论