




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章 中断系统,中断是指CPU在正常执行程序的过程中,由于某种随机发生的事件使它暂停当前正在执行的程序,转而去执行另外的一段程序(中断服务程序),在这段程序完成后自动返回被打断的程序处继续执行的过程。 中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断 发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。,单片机中断系统结构,执行主程序,主程序,继续执行主程序,断点,中断请求,中断响应,执行中断处理程序,中断返回,引起CPU中断的根源,称为中断源。中断源向CPU提出的中断请求。CPU暂时中断原来的事务A,转去处理事件B。对事件B处理完毕后,再回到原来被中断的地方(即断点),称为中断返回。实现上述中断功能的部件称为中断系统(中断机构)。,随着计算机技术的应用,人们发现中断技术不仅解决了快速主机与慢速I/O设备的数据传送问题,而且还具有如下优点: 分时操作。CPU可以分时为多个I/O设备服务,提 高了计算机的利用率; 实时响应。CPU能够及时处理应用系统的随机事件,系统的实时性大大增强; 可靠性高。CPU具有处理设备故障及掉电等突发性事件能力,从而使系统可靠性提高。,中断功能强弱是计算机性能优劣的重要标志 提高CPU效率 解决速度矛盾 实现并行工作 应付突发事件 ,中断源 中断申请 开放中断 保护现场 中断服务 恢复现场 中断返回,中断涉及的几个环节,(前面提到的甲方) (甲方发出信号提出申请) (乙方同意处理) (安排好当前的工作) (响应乙方的要求) (完事后,回去) (继续做打断前的工作),(1)中断申请,(2)中断响应,(3)中断处理,(4)中断返回,8031 的中断源 1、外中断:通过8031的INT0和INT1输入引脚,用于输入两个外部中断源的中断请求信号,并允许外部中断源以低电平或负边沿两种中断触发方式输入中断请求信号。 2、定时器溢出中断:定时器T0/T1在定时脉冲作用下从全“1”到“0”时可以自动向CPU提出溢出中断请求,以 表明定时器T0/T1的定时时间已到。 3、串行口中断:串行口中断分为发送中断和接收中断,每当串行口发送/接收完一组串行数据时,自动向CPU发出串行口中断请求,1.中断源,2.中断标志,中断标志寄存器,中断优先级,与中断有关的特殊功能寄存器,中断响应的条件,1.开中断,2.CPU未响应同级或更高优先级的中断,3.执行完毕正在执行的指令,4.RETI 或访问IE/IP的指令需再执行一条指令后才响应中断,中断优先级处理原则,对同时发生多个中断申请时: 不同优先级的中断同时申请 先高后低(很难遇到) 相同优先级的中断同时申请 按序执行(很难遇到) 正处理低优先级中断又接到高级别中断 高打断低 正处理高优先级中断又接到低级别中断 高不理低,80C51单片机中断处理过程,中断响应条件和时间,一、中断响应条件 中断源有中断请求; 此中断源的中断允许位为1; CPU开中断(即EA=1)。 中断优先级满足相应条件。 CPU才有可能响应中断。,二、中断服务的进入: CPU执行程序过程中,在每个机器周期的S5P2期间,中断系统对各个中断源进行采样。这些采样值在下一个机器周期内按优先级和内部顺序被依次查询。 如果某个中断标志在上一个机器周期的S5P2时被置成了1,那么它将于现在的查询周期中及时被发现。接着CPU便执行一条由中断系统提供的硬件LCALL指令,转向被称作中断向量的特定地址单元,进入相应的中断服务程序。,三、中断入口地址表,四、中断响应时间,响应时间-从查询中断请求标志位到转向中断服务入口地址所需的机器周期数。 (1)最快响应时间 以外部中断的电平触发为最快。 从查询中断请求信号到中断服务程序需要三个机器周期: 1个周期(查询)2个周期(长调用LCALL) (2)最长时间 若当前指令是RET、RETI和IP、IE指令,紧接着下一条是乘除指令发生,则最长为8个周期: 2个周期执行当前指令(其中含有1个周期查询)4个周期乘除指令2个周期长调用8个周期。,五、中断响应过程,将相应的优先级状态触发器置1(以阻断后来的同级或低级的中断请求)。 执行一条硬件LCALL指令,即把程序计数器PC的内容压入堆栈保存,再将相应的中断服务程序的入口地址送入PC。 执行中断服务程序。,中断响应过程的前两步是由中断系统内部自动完成的,而中断服务程序则要由用户编写程序来完成。,六、中断返回,RETI指令的具体功能是: 将中断响应时压入堆栈保存的断点地址从栈顶弹出送回PC,CPU从原来中断的地方继续执行程序; 将相应中断优先级状态触发器清0,通知中断系统,中断服务程序已执行完毕。,注意,不能用RET指令代替RETI指令。在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确返回断点 。,七、中断请求的撤除,定时器溢出中断:中断得到响应后,由硬件自动清除 串行口中断:需在中断服务程序中,软件清除 外部中断:负边沿触发由硬件自动清除,电平触 发需由软件配合外部电路进行清除,若外部中断定义为边沿触发方式,在相继连续的两次采样中,一个周期采样到外部中断输入为高电平,下一个周期采样到为低电平,则在IE0或IE1中将锁存一个逻辑1。即便是CPU暂时不能响应,中断申请标志也不会丢失,直到CPU响应此中断时才清零。这样,为保证下降沿能被可靠地采样到,外中断引脚上的高低电平(负脉冲的宽度)均至少要保持一个机器周期(若晶振为12MHz时,为1微秒)。 边沿触发方式适合于以负脉冲形式输入的外部中断请求,如ADC0809的转换结束标志信号EOC为正脉冲,经反相后就可以作为80C51的中断输入。,若外部中断定义为电平触发方式,中断标志位的状态随CPU在每个机器周期采样到的外部中断输入引脚的电平变化而变化,这样能提高CPU对外部中断请求的响应速度。但外部中断源若有请求,必须把有效的低电平保持到请求获得响应时为止,不然就会漏掉;而在中断服务程序结束之前,中断源又必须撤消其有效的低电平,否则中断返回之后将再次产生中断。,中断系统初始化,1.开相应中断源的中断,开总中断(IE),2.设置所用中断的中断优先级( IP),3.若使用外部中断,需选择中断的触发方式(TCON的IT0或IT1),注意,不能用RET指令代替RETI指令。在中断服务程序中PUSH指令与POP指令必须成对使用,否则不能正确返回断点 。,例1: MAIN: MOV A,#01H MOV 30H,#03H 在此处中断 ADD A,30H LJMP MAIN,中断服务程序 AAA1: MOV A,#08H MOV 30H,#02H RETI,修改后中断服务程序 AAA1: PUSH A PUSH 30H MOV A,#08H LD 30H,#02H POP 30H POP A RETI,中断服务程序的数据保护,第三章 中断系统,中断服务程序的数据保护,例2: MAIN: MOV A,#80H MOV 30H,#8FH 在此处中断 ADD A,30H JC LOOP1 MOV A,#04H LOOP1: MOV A,#02H LJMP MAIN,中断服务程序 AAA1: NOP MOV A,#03H MOV 30H,#08H ADD A,30H RET RETI,修改后中断服务程序 AAA1: PUSH PSW MOV A,#03H MOV 30H,#08H POP PSW RETI,中断服务程序的数据保护,规则: 1、若主程序和中断服务程序有对同一地址的数据的操作,中断服务程序可能改变这些地址中的内容,若想保持主程序中的数据不变,在中断服务程序中对这些数据进行保护。 2、若中断服务程序的指令可能影响PSW的标志位,可能影响主程序中的条件判断指令,应在中断服务程序中对PSW保护。,第三章 中断系统,中断程序的嵌套,中断嵌套:是指当CPU正在执行某一中断程序时,当有优先级高的中断发生后,停止当前的中断执行,去响应优先级别高的中断,当优先级别高的中断执行完后,接着相应低级中断的情况。 8031允许发生两级的中断嵌套(因为8031有高低两级中断优先级)。 当CPU响应中断后,会自动清除EA位,这时不管是否有高级中断都不会发生中断嵌套,若想相应高级中断必须在中断服务程序内加入开中断的指令。 若是同级中断是不能产生中断嵌套的。,80C51单片机的中断处理的原则:,CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。 正在进行的低优先级中断服务,能被高优先级中断请求所中断。,中断应用举例:,统计脉冲信号的个数,累计到100个脉冲时使P1.0口的状态改变一次,主程序与中断子程序的流程图:,程序设计:,ORG 0000H AJMP MAIN ORG 0003H AJMP EXINT0,MAIN: MOV SP,#60H SETB IT0 SETB EX0 SETB EA MOV R3,#00H CLR P1.0,HERE: SJMP HERE,EXINT0: INC R3 CJNE R3,#64H,NEXT MOV R3,#00H CPL P1.0 NEXT: RETI,作业:8031的P1口分别接8个LED,在INT0上输入周期为100HZ的方波,每100个脉冲有一个LED熄灭,熄灭的LED循环移位。,ORG 0000H LJMP MAIN ORG 0003H LJMP EXINT0 ORG 1000H MAIN: MOV SP,#60H SETB IT0 SETB EX0 SETB EA MOV R4,#00H MOV R3,#00H MOV P1,#0FFH LOOP: LCALL CHECKANJ LJMP LOOP,EXINT0: INC R4 CJNE R4,#64H,EXEND MOV R4,#00H INC R3 CJNE R3,#1,EXLOOP1 MOV P1,#0FEH LJMP EXEND EXLOOP1: CJNE R3,#2,EXLOOP2 MOV P1,#0FDH LJMP EXEND EXLOOP2: CJNE R3,#3,EXLOOP3 MOV P1,#0FBH LJMP EXEND EXLOOP3: CJNE R3,#4,EXLOOP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年聊城大学公开招聘人员(46名)考前自测高频考点模拟试题有答案详解
- 正心泰片品牌认知度评估-洞察与解读
- 班组安全培训讲解内容摘要课件
- 2025年湖南财盛国际贸易有限公司公开模拟试卷及答案详解(夺冠系列)
- 2025广东阳江阳西县政府发展研究中心就业见习岗位1人考前自测高频考点模拟试题及一套答案详解
- 2025年白城市暨洮北区人才交流中心就业见习岗位和见习人员征集模拟试卷及一套答案详解
- 2025黑龙江鹤岗市工农区酒行招聘模拟试卷及答案详解(网校专用)
- 2025广东依顿电子科技股份有限公司招聘硬件工程师等岗位人员考前自测高频考点模拟试题及参考答案详解一套
- 2025年河南红旗渠(集团)有限责任公司招聘7人模拟试卷及1套参考答案详解
- 班组安全培训工作总结
- 2025广东房屋租赁合同范本官方版
- 新版中华民族共同体概论课件第八讲共奉中国与中华民族内聚发展(辽宋夏金时期)-2025年版
- 2025定制衣柜安装承揽合同范本
- 2025年MicroLED行业研究报告及未来行业发展趋势预测
- 《彩虹》课件 部编版语文二年级上册
- 2025年全国企业员工全面质量管理知识竞赛试题及答案
- 麻醉恢复室护理要点
- 水下激光探测-洞察及研究
- 7.2 量身高(课件)-2025-2026学年三年级数学上册北师大版
- DB44∕T 2499-2024 海堤生态化建设技术导则
- GWZBQ-10(6)G 型微机高压启动器保护装置产品使用说明书
评论
0/150
提交评论