




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中 断 系 统,中断的基本概念 89C51的中断系统 中断的处理过程 外部中断源的扩展 中断的应用,一、中断的基本概念,日常生活中断的例子 单片机中的中断概念 中断技术的优点,日常中断的例子,返回,你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。,计算机中的中断概念,返回,中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。 将能引起中断的事件称为中断源。 CPU现行运行的程序称为主程序。 处理随机事件的程序称为中断服务子程序。,中断技术的优点,分时操作 CPU可以同
2、多个外设“同时”工作 实时处理 CPU及时处理随机事件 故障处理 电源掉电、存储出错、运算溢出,二、89C51中断系统,中断源 中断标志 中断允许 中断优先级 89C51中断系统结构 中断寄存器,1、89C51的中断系统中断源,8051单片机有5个中断请求源:,外部输入中断源INT0(P3.2),外部输入中断源INT1(P3.3),片内定时器T0的溢出,片内定时器T1的溢出,片内串行口发送或接收中断源,2、89C51的中断系统中断标志,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,每一个中断源都有相应的中断标志位; 某一个中断源申请中
3、断,相应中断标志位置1。,3、89C51的中断系统中断允许,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,EA总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断; 某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。,中断允许,ES,ET0,EX0,EX1,ET1,EA,4、89C51的中断系统中断优先级,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置
4、,相应位=1,为高优先级); 同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。,中断允许,ES,ET0,EX0,EX1,ET1,EA,自然优先级,优先控制,PS,PT0,PX0,PX1,PT1,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,5、89C51的中断系统结构图,中断标志位,中断源允许,总允许,中断优先级,TCON寄存器T0和T1控制寄存器,TCON,
5、T1溢出中断标志(TCON.7): T1启动计数后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。,6、中断寄存器,TCON 88H,外部中断INT1中断标志位(TCON.3) : IE11,外部中断1向CPU申请中断,外部中断INT1触发方式控制位(TCON.2): IT1=0,电平触发方式 IT1=1, 下降沿触发方式,TCON寄存器T0和T1控制寄存器,注意:该寄存器可以位寻址。,返回,TI (SCON.1)串行发送中断标志。 RI (SCON.0)串行接收中断标志。,SCON寄存器串行口控制寄存器
6、,SCON 98H,注意:该寄存器可以位寻址。,IE寄存器中断允许寄存器,IE A8H,例:允许定时器T0中断: SETB EA SETB ET0 或 MOV IE,#82H,注意:该寄存器可以位寻址。,51单片机有两个中断优先级高级和低级 专用寄存器IP为中断优先级寄存器,用户可用软件设定 相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级 系统复位时,均为低优先级 该寄存器可以位寻址,IP寄存器中断优先级寄存器,IP B8H,三、中断处理过程,中断处理过程分为三个阶段:中断响应、中断处理和中断返回。 中断响应 中断处理(又称中断服务) 中断返回 中断请求的撤
7、除,中断响应(以外部中断0为例),中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。 中断响应过程: 保护断点地址;,把程序转向中断服务程序的入口地址(通常称矢量地址)。,特别注意:这些工作是硬件自动完成的!,断点地址,中断服务子程序的入口地址,外部中断0入口地址,ZD0 AJMP,ORG 0003H,AJMP ZD0,ZD0,一个中断请求被响应,需满足以下必要条件: (1)IE寄存器中的中断总允许位EA=1。 (2)该中断源发出中断请求,即该中断源对应的中 断请求标志为“1”。 (3)该中断源的中断允许位=1,即该中断没有被屏 蔽。 (4)无同级或更高级中断正在被服务
8、。,中断响应是有条件的,遇到下列三种情况之一时,中断响应被封锁: (1)CPU正在处理同级的或更高优先级的中断。 (2)所查询的机器周期不是所当前正在执行指令的最后一个机器周期。只有在当前指令执行完毕后,才能进行中断响应。 (3)正在执行的指令是RETI或是访问IE或IP的指令。需要再去执行完一条指令,才能响应新的中断请求。 如果存在上述三种情况之一,CPU将丢弃中断查询结果,不能对中断进行响应。,中断响应,中断服务子程序入口地址又称为中断矢量或中断向量。,单片机中5个中断源的矢量地址是固定的,不能改动。,断点地址,中断服务子程序的入口地址,程序存储器ROM,0000H:复位后,程序的入口地址
9、(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,包含T0中断服务子程序的程序结构: ORG 0000H AJMP MAIN OR
10、G 000BH AJMP INTT0 ORG 0100H MAIN: . . . INTT0:. . . RETI END,AJMP MAIN,AJMP INTT0,中断处理,中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。 中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。,入口地址,RETI,中断处理,INTT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW 中断源服务 POP PSW POP DPL POP DPH POP ACC RETI,保护现场,恢复现场,中断返回,中断返回
11、是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。 中断返回由专门的中断返回指令RETI来实现。,中断返回,RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。 特别注意:不能用RET指令代替RETI指令!,中断处理过程示意图,中断源发中断请求,中断响应条件 是否满足?,中断是否受阻?,把PC断点地址压入堆栈,相应中断源的中断入口地址送入PC,转向中断服务程序,N,Y,Y,N,由硬件 自动完成,关中断,保护现场,中断服务,开中断,关中断,恢复现场,开中断,中断返回,断点地址由堆栈弹入PC,中断服务程
12、序,中断请求的撤除,CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。 定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的。 边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。 电平触发外部中断:CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。 串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。,总结:,采用中断时的主程序结构 常用的主程序结构如下: O
13、RG 0000H LJMP MAIN ORG 中断入口地址 LJMP INT ORG XXXXH MAIN:主 程 序 INT:中断服务程序,典型的中断服务程序如下: INT:CLR EA;CPU关中断 PUSH PSW;现场保护 PUSH ACC; SETB EA;CPU开中断 中断处理程序段 CLR EA;CPU关中断 POP ACC;现场恢复 POP PSW,四、外部中断源的扩展,单片机仅有两个外部中断输入端. 可用两种方法扩展: 1. 定时器T0,T1。(工作在计数方式下) 2. 中断和查询结合。,1用定时器作外部中断源 例5.5 将定时器T0扩展为外部中断源。,解:将定时器T0设定为
14、方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下: 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 ;中断源查询并转相应中断
15、服务程序 JB P1.1,EXT1 JB P1.2,EXT2 JB P1.3,EXT3 EXIT: POP ACC ;恢复现场 POP PSW RETI, EXT0: ; EXINT0中断服务程序 AJMPEXIT EXT1: ; EXINT1中断服务程序 AJMPEXIT EXT2: ;EXINT2中断服务程序 AJMPEXIT EXT3: ;EXINT3中断服务程序 AJMP EXIT 同样,外部中断1也可作相应的扩展。,例:在P1.0上产生周期为10ms的方波,设晶振频率12MHz.(要求分别以查询方式和中断方式设计程序),查 询 方 式:,ORG 0000H MOV TMOD,#10H MOV TH1,#0CEH MOV TL1,#78H SETB TR1 WAIT:JBC TF1,NX SJMP WAIT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保护庄稼好卫兵教学课件
- 我们的田野教学课件
- Brand KPIs for milk:Los Volcanes in Mexico-英文培训课件2025
- 小学生竹编课件
- 小学生税收宣传课件
- 口腔急救知识培训课件
- 小学生禁烟课件
- 艺术培训行业2025年素质教育消费市场潜力与品牌竞争力分析报告
- 2025年新初二英语人教新版学困生专题复习《词汇运用》
- 企业外联公关管理办法
- 全新退换货协议模板
- 危重患者的早期识别与处理
- (正式版)JBT 14449-2024 起重机械焊接工艺评定
- 商务礼仪之座次及用餐
- SEO谷歌推广方案
- 注塑标准成型条件表电子表格模板
- 企业数字化管理
- 道闸系统施工方案
- DB41-T 2563-2023 新生儿脐静脉导管维护技术操作规范
- 配置管理与漏洞修复
- 新版中国复发难治性急性髓系白血病诊疗指南
评论
0/150
提交评论