版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 中断系统,中断的基本概念 MCS-51的中断系统 中断源和中断标志 中断的允许和优先权 中断的处理过程 外部中断源的扩展 中断的应用,中断系统,中断的基本概念,日常生活中断的例子 单片机中的中断概念 中断技术的优点 什么是中断,我们从生活中的例子引入。 看书的例子:你正在看书,突然电话铃响了,.。 中断就是正常的工作被外部事件打断了。,日常生活中的中断,仔细研究一下生活中的中断,对于我们学习计算机中的中断也很有好处。 1、什么可以引起中断?生活中有很多事件可以引起中断:有人按了门铃,电话铃响了,你的闹钟铃响了,你烧的水开了,你内急了.等等诸如此类的事件,我们把可以引起中断的事件称之为中
2、断源。计算机中也有一些可以引起中断的事件,像MCU51单片机就有5个中断源。,2、中断的嵌套与优先级处理: 设想一下,我们正在看书,电话铃突然响了,同时又有人按了门铃,你该先做那样呢?如果你正在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个很重要的客人,则可能就不会去理会电话了。如果不是这两者(即不等电话,也不等人上门)你可能会按你通常的习惯去处理。总之这里存在一个优先级问题。优先级问题不仅仅发生在两个或以上的中断同时产生的情况,也发生在一个中断已经产生,又有一个中断产生的情况。如你正在接电话,有人按门铃的情况,或你正在开门与人交谈,又有电话铃了的情况。考虑一下我们会怎么办吧
3、。,3、中断的响应过程: (看书的例子)当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要来继续看书)。 (接电话的例子)电话铃响了我们要到放电话的地方去,门铃响了,我们要到门那边去,也就是说,不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的,这也和计算机中的中断类似,如51MCU 的5个中断源都有各自的中断入口地址,当某个中断源产生中断时,CPU响应中断便到相应的中断入口地址执行程序。,计算机中的中断 计算机执行正常程序时,系统出现某些急需处理的异常情况和特殊请求,CPU暂时中止现在正在执行的的指
4、令,转去对随机发生的更紧迫事件处理;处理完后,CPU会自动返回原来的程序继续执行。 就如:你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。,计算机中的中断,计算机中的中断,中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。 将能引起中断的事件称为中断源。 CPU现行运行的程序称为主程序。 处理随机事件的程序称为中断服务子程序。,中断技术的优点,分时操作 CPU可以同多个外设“同时”工作 实
5、时处理 CPU及时处理随机事件 故障处理 电源掉电、存储出错、运算溢出,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,中断源,中断标志位,
6、EA总中断允许位,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启动计数后,计
7、满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。,TCON寄存器T0和T1控制寄存器,TCON 88H,外部中断INT1中断标志位(TCON.3) : IE11,外部中断1向CPU申请中断,外部中断INT1触发方式控制位(TCON.2): IT1=0,电平触发方式 IT1=1, 下降沿触发方式,TCON寄存器T0和T1控制寄存器,注意:该寄存器可以位寻址。,TF1:定时器1的溢出中断标志。T1被启动计数后,从初值做加1计数,计满溢出后由硬件置位TF1,同时向CPU发出中断。 TF0:定时器0溢出中断标志。其操
8、作功能同TF1。 IE1:外部中断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寄存器串行口控制寄存器,SCON 98H,注意:该寄存器可以位寻址。,TI:串行发送中断标志 CPU将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件
9、将使TI置位。 注意:CPU响应中断时并不清除TI,必须由软件清除。 RI:串行接收中断标志 在串行口允许接收时,每接收完一个串行帧,硬件将使RI置位。 注意:CPU在响应中断时不会清除RI,必须由软件清除,IE A8H,例:允许定时器T0中断: SETB EA SETB ET0 或 MOV IE,#82H,注意:该寄存器可以位寻址。,IE寄存器中断允许寄存器,EA:总中断允许控制位。EA = 1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA = 0,禁止所有中断。 ES:串行口中断允许位。ES = 1,允许串行口中断;ES = 0,禁止串行口中断。 ET1:定时
10、器1中断允许位。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中断优先控制位
12、PX0 = 1,设定外部中断0为高优先级中断;PX0 = 0,设定外部中断0为低优先级中断。 当系统复位后,所有中断源均设定为低优先级中断。,中断的处理过程,中断处理过程分为三个阶段:中断响应、中断处理和中断返回。 中断响应 中断处理(又称中断服务) 中断返回 中断请求的撤除,中断响应:在满足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入口,000BH:定时器
14、0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,包含T0中断服务子程序的程序结构: ORG 0000H AJMP MAIN ORG 000BH AJMP NTT0 ORG 0100H MAIN: . . . INTT0:. . RETI END,AJMP MAIN,AJMP INTT0,中断处理,中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。 中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。,入口地址,RETI,中断处理,INTT0: PUSH ACC PUSH DP
15、H PUSH DPL PUSH PSW 中断源服务 POP PSW POP DPL POP DPH POP ACC RETI,保护现场,恢复现场,中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。 中断返回由专门的中断返回指令RETI来实现。,中断返回,RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。 特别注意:不能用RET指令代替RETI指令!,中断返回,中断源发中断请求,中断响应条件 是否满足?,中断是否受阻?,把PC断点地址压入堆栈,相应中断源的中断入口地址送入PC,转向中断服务程
16、序,N,Y,Y,N,由硬件 自动完成,中断处理过程示意图,关中断,保护现场,中断服务,开中断,关中断,恢复现场,开中断,中断返回,断点地址由堆栈弹入PC,中断服务程序,CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。 定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的。 边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。 串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。,中断请求的撤除,电平触发外部中断撤除方
17、法较复杂。 因为在电平触发方式中,CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。 在硬件上,CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。,电平激活的外部中断源中断标志的撤除,单片机仅有两个外部中断输入端. 可用两种方法扩展: 1. 定时器T0,T1。(工作在计数方式下) 2. 中断和查询结合。,外部中断源的扩展,1用定时器作外部中断源 例5.5 将定时器T0扩展为外部中断源。,解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断
18、,源程序如下: MOVTMOD,#06H MOVTH0,#0FFH MOVTL0,#0FFH SETBTR0 SETBET0 SETBEA T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断 T0脚相当于边沿触发的外部中断源输入线。,2中断和查询相结合,图: 一个外中断扩展成多个外中断的原理图,中断服务程序如下:,ORG0003H;外部中断0入口 AJMPINT0;转向中断服务程序入口 INT0: PUSH PSW ;保护现场 PUSH ACC JB P1.0,EXT0 ;中断源查询并转相应中断服务程序 JB P1.1,EXT1 JB P1.2,EXT2 JB P1.3,EXT3 EX
19、IT: POP ACC ;恢复现场 POP PSW RETI, EXT0: ; EXINT0中断服务程序 AJMPEXIT EXT1: ; EXINT1中断服务程序 AJMPEXIT EXT2: ;EXINT2中断服务程序 AJMPEXIT EXT3: ;EXINT3中断服务程序 AJMP EXIT 同样,外部中断1也可作相应的扩展。,中断的处理即为用户根据自己的需要编写的中断服务程序,在编写时应该注意: 中断现场保护和恢复 中断的现场保护主要是在中断时刻单片机的存储单元中的数据和状态的存储。中断的恢复是恢复单片机在被中断前存储单元中的数据和状态。 开中断和关中断 对于一个不允许在执行中断服务
20、程序时被打扰的重要中断,可以在进入中断时关闭中断系统,在执行完后,再开放中断系统。,中断的处理,中断返回是在中断服务程序的最后一句指令“RETI”执行时进行的。它的主要功能是:中断响应时压入堆栈的程序计数器“PC”的值从堆栈中取出,重新赋予“PC”,使程序重新执行被中断前的程序。,中断返回,MCS-51单片机具有两个外中断源: INT0:外中断0 中断入口地址:0003H 中断允许控制位:EX0 中断请求标志:IE0 中断触发方式选择位:IT0 优先级设置位:PX0 INT1:外中断1 中断入口地址:0013H 中断允许控制位:EX1 中断请求标志:IE1 中断触发方式选择位:IT1 优先级设
21、置位:PX1,初始化时设置,初始化时设置,MCS-51单片机的外中断,外中断的初始化内容 设定中断的优先级(在大部分情况下,可以使用默认方式) 设定中断的触发方式 开中断允许 开总中断允许,外中断的初始化,方法1 CLR PX0 ;设定外中断0为低优先级 SETB IT0 ;设定外中断0为边沿触发方式 SETB EX0 ;开放外中断0允许 SETB EA ;开CPU中断允许 方法2 MOV IP, #00H ;设定外中断0为低优先级 MOV TCON,#01H ;设定外中断0为边沿触发方式 MOV IE, #81H ;开外中断0和CPU中断允许,外中断的初始化,在如图所示的电路中,用P1口输出
22、控制的8只发光二极管,实现8位二进制计数器,对INT0上出现的脉冲进行计数。,脉冲产生电路,显示电路,外中断应用举例1,在该电路中,有两个与非门构成硬件去抖动电路,开关S每动作一次,在单片机的INT0引脚上就会收到一个脉冲信号。 如果把外中断0设定为脉冲触发方式,则每当S动作一次,则外中断触发一次 在外中断的中断服务程序中计数,并把计数的结果从P1口输出。,题意分析,ORG 0000H AJMP MAIN ;转主程序 ORG 0003H ;外中断入口地址 AJMP SER ;中断服务程序 MAIN:SETB IT0 ;设定外中断0为边沿触发 SETB EX0 ;开外中断0允许 SETB EA ;开CPU中断允许 CLR A ;计数单元清0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东东莞市樟木头中学招聘编外临聘教师1人笔试备考试题及答案解析
- 2026年西安长安博雅小学教师招聘考试重点题库及答案解析
- 2026福建厦门市杏南中学非在编(顶岗)教师招聘6人笔试备考题库及答案解析
- 2026江西九江市修水安翔矿山建设有限责任公司招聘12人笔试备考试题及答案解析
- 2026云南昭通昭阳区凤凰街道办事处招聘公益性岗位5人笔试备考试题及答案解析
- 2026安徽阜阳市成效高级中学招聘45人笔试备考试题及答案解析
- 2026浙江宁波市鄞州区钱湖医院招聘编外人员1人笔试备考题库及答案解析
- 2026年上海市农业生物基因中心工作人员招聘(2026年第一批)笔试备考题库及答案解析
- 2026西安市高新第一学校教师招聘笔试备考试题及答案解析
- 2025年华能核电开发有限公司所属基层企业招聘笔试备考题库及答案解析
- 发热待查诊治专家共识(2026 版)
- 家具制造工艺流程与标准操作规程
- 2026北京西城初二上学期期末数学试卷和答案
- 马年猜猜乐(马的成语)打印版
- 2026年及未来5年市场数据中国磷化铟行业市场调研分析及投资战略咨询报告
- 北京市东城区2024-2025学年高一上学期期末统一检测地理试卷
- 2025年郑州铁路职业技术学院单招职业技能考试题库含答案
- 物业人员管理及培训方案
- 2.1地形导学案-八年级地理上学期人教版
- GB/T 37507-2025项目、项目群和项目组合管理项目管理指南
- 2024年江苏省南京市中考数学试卷真题(含答案逐题解析)
评论
0/150
提交评论