第5章89C51的中断系统

上传人:飞*** 文档编号:50655754 上传时间:2018-08-09 格式:PPT 页数:40 大小:430.50KB
返回 下载 相关 举报
第5章89C51的中断系统_第1页
第1页 / 共40页
第5章89C51的中断系统_第2页
第2页 / 共40页
第5章89C51的中断系统_第3页
第3页 / 共40页
第5章89C51的中断系统_第4页
第4页 / 共40页
第5章89C51的中断系统_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《第5章89C51的中断系统》由会员分享,可在线阅读,更多相关《第5章89C51的中断系统(40页珍藏版)》请在金锄头文库上搜索。

1、中 断 系 统 中断的基本概念 89C51的中断系统 中断的处理过程 外部中断源的扩展 中断的应用一、中断的基本概念n日常生活中断的例子n单片机中的中断概念n中断技术的优点日常中断的例子返回你正在专心看书,突 然电话铃响,于是你记下 正在看的书的页数,去接 电话,接完电话后再回来 接着看书。计算机中的中断概念返回中断是指由于某种随机事件的发生 ,计算机暂停现行程序的运行,转 去执行另一程序,以处理发生的事 件,处理完毕后又自动返回原来的 程序继续运行。将能引起中断的事件称为中断源。CPU现行运行的程序称为主程序。处理随机事件的程序称为中断服务 子程序。 中断技术的优点n分时操作CPU可以同多个

2、外设“同时”工作n实时处理CPU及时处理随机事件n故障处理电源掉电、存储出错、运算溢出 二、89C51中断系统n中断源n中断标志n中断允许n中断优先级n89C51中断系统结构n中断寄存器1、89C51的中断系统中断源8051单片机有5个中断请求源: 外部输入中断源INT0(P3.2) 外部输入中断源INT1(P3.3) 片内定时器T0的溢出 片内定时器T1的溢出 片内串行口发送或接收中断源2、89C51的中断系统中断标志CPU主 程 序INT0INT1T0T1串口IE0 TF0 IE1 TF1TI RI中断源中断标志位 每一个中断源都有相应的中断标志位; 某一个中断源申请中断,相应中断标志位置

3、1。3、89C51的中断系统中断允许CPU主 程 序INT0INT1T0T1串口IE0 TF0 IE1 TF1TI RI中断源中断标志位 EA总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断; 某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁 止相应中断源的中断。中断允许ESET0EX0EX1ET1EA4、89C51的中断系统中断优先级CPU主 程 序INT0INT1T0T1串口IE0 TF0 IE1 TF1TI SI中断源中断标志位 单片机中有两个中断优先级,即高优先级中断和低优先级中断,前 者优先权高于后者(在程序中设置,相应位=1,为高优先级); 同一优先级别的中

4、断源按照自然优先级顺序确定优先级别(硬件 形成,无法改变)。中断允许ESET0EX0EX1ET1EA自然优先级高低优先控制PSPT0PX0PX1PT1IE0TCONSCONINT0IT0=0IT0=1INT1IT1=0IT1=1TF0IE1TF1T0T1TI RITXDRXDESET0EX0EX1ET1EA自然优先级矢量 地址高级中断请求自然优先级矢量 地址低级中断请求PX0PT0PX1PT1PSIEIP5、89C51的中断系统结构图中断标 志位中断源 允许总允许中断优 先级TCON寄存器T0和T1控制寄存器TF1 TF0 IE1 IT1 IE0 IT0TCONT1溢出中断标志(TCON.7)

5、:T1启动计数后,计满溢出由硬件 置位TF1=1,向CPU请求中断,此标志 一直保持到CPU响应中断后,才由硬件 自动清0。也可用软件查询该标志,并 由软件清0。765432106、中断寄存器TF1 TF0 IE1 IT1 IE0 IT0TCON88H外部中断INT1中断标志 位(TCON.3) :IE11,外部中断1 向CPU申请中断外部中断INT1触发方 式控制位(TCON.2): IT1=0,电平触发方 式 IT1=1, 下降沿触发 方式76543210TCON寄存器T0和T1控制寄存器注意:该寄存器可以位寻址。返回 TI (SCON.1)串行发送中断标志。 RI (SCON.0)串行接

6、收中断标志。TI RISCON寄存器串行口控制寄存器SCON98H76543210注意:该寄存器可以位寻址。IE寄存器中断允许寄存器IE A8H EA ESET1EX1 ET0EX0例:允许定时器T0中断:SETB EASETB ET0 或 MOV IE,#82H76543210注意:该寄存器可以位寻址。 51单片机有两个中断优先级高级和低级 专用寄存器IP为中断优先级寄存器,用户可用软件设定 相应位为1,对应的中断源被设置为高优先级,相应位为0,对应 的中断源被设置为低优先级 系统复位时,均为低优先级 该寄存器可以位寻址PSPT1PX1PT0PX0IP寄存器中断优先级寄存器IP B8H 76

7、543210三、中断处理过程中断处理过程分为三个阶段:中断响应、中断 处理和中断返回。v 中断响应v 中断处理(又称中断服务)v 中断返回v 中断请求的撤除 中断响应中断 返回中断响应(以外部中断0为例)中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。中断响应过程: 保护断点地址;中断响应 把程序转向中断服务程序的入口地址(通常称矢量地址)。特别注意:这些工作是硬件自动完成的! 断点 地址中断服务 子程序的 入口地址外部中断0入口地址0003ZD0 AJMP ORG 0003H AJMP ZD0ZD0一个中断请求被响应,需满足以下必要条件:(1)IE寄存器中的中断总允

8、许位EA=1。(2)该中断源发出中断请求,即该中断源对应的中断请求标志为“1”。 (3)该中断源的中断允许位=1,即该中断没有被屏蔽。(4)无同级或更高级中断正在被服务。中断响应是有条件的,遇到下列三种情况之一时,中断响应被封锁: (1)CPU正在处理同级的或更高优先级的中断。(2)所查询的机器周期不是所当前正在执行指令的最后一个机器周期。只有在当前指令执行完毕后,才能进行中断响应。(3)正在执行的指令是RETI或是访问IE或IP的指令。需要再去执行完一条指令,才能响应新的中断请求。 如果存在上述三种情况之一,CPU将丢弃中断查询结果,不能对中断进行响应。中断响应中断服务子程序入口地址又称为中

9、断矢量或中断向量。中断响应 单片机中5个中断源的矢量地址是固定的,不能改动。断点 地址中断服务 子程序的 入口地址程序存储器ROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH使用时,通常在这些入口地址 处存放一条跳转指令,使程序 跳转到用户安排的中断服务程 序起始地址上去!程序存储器ROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H

10、:外部中断1入口001BH:定时器1溢出中断入口002AH包含T0中断服务子程序的 程序结构: ORG 0000H AJMP MAIN ORG 000BH AJMP INTT0 ORG 0100H MAIN: . INTT0:.RETIENDAJMP MAINAJMP INTT0中断处理中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。中断响应入口地址RETI中断处理INTT0: PUSH ACCPUSH DPHPUSH DPLPUSH PSW中断源服务POP PS

11、WPOP DPLPOP DPHPOP ACCRETI保护现场恢复现场中断返回 中断返回是指中断服务完后,计算机返回到原来暂停 的位置(即断点),继续执行原来的程序。 中断返回由专门的中断返回指令RETI来实现。中断响应中断 返回中断返回 RETI指令功能:把断点地址取出,送回到程序计数器 PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。 特别注意:不能用RET指令代替RETI指令!中断响应中断 返回中断处理过程示意图中断源发中断请求中断响应条件 是否满足?中断是否受阻?把PC断点地址压入堆栈相应中断源的中断入口地址 送入PC,转向中断服务程序NY YN由硬件 自动完成关

12、中断保护现场中断服务开中断关中断恢复现场开中断中断返回断点地址由堆栈弹入PC保护现场和 恢复现场的 过程中不允 许中断,以 免现场遭到 破坏。保护和恢复现场之后 的开中断是为了允许 有更高级中断打断此 中断服务程序。 中 断 服 务 程 序硬件自 动完成中断请求的撤除CPU响应某中断请求后,在中断返回前,应该撤除该中断 请求,否则会引起另一次中断。定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中 断请求标志TFO或TF1,即中断请求是自动撤除的。 边沿激活的外部中断:CPU在响应中断后,也是用硬件自动 清除有关的中断请求标志IE0或IE1。电平触发外部中断:CPU响应中断时不会自动清除

13、IE1或IE0标 志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电 平。串行口中断:CPU响应中断后,没有用硬件清除T1、R1, 故这些中断不能自动撤除,而要靠软件来清除相应的标志。总结:采用中断时的主程序结构常用的主程序结构如下:ORG 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 四、

14、外部中断源的扩展n单片机仅有两个外部中断输入端.n可用两种方法扩展:1. 定时器T0,T1。(工作在计数方式下)2. 中断和查询结合。1用定时器作外部中断源例5.5 将定时器T0扩展为外部中断源。 解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下:MOVTMOD,#06HMOVTH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEAT0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断T0脚相当于边沿触发的外部中断源输入线。2中断和查询相结合图: 一个外中断扩展成多个外中断的原理图中断服

15、务程序如下:ORG0003H;外部中断0入口AJMP INT0;转向中断服务程序入口 INT0: PUSH PSW ;保护现场PUSH ACCJB P1.0,EXT0 ;中断源查询并转相应中断服务程序JB P1.1,EXT1JB P1.2,EXT2JB P1.3,EXT3EXIT: POP ACC ;恢复现场POP PSWRETIEXT0: ; EXINT0中断服务程序AJMPEXITEXT1: ; EXINT1中断服务程序AJMPEXITEXT2: ;EXINT2中断服务程序AJMPEXITEXT3: ;EXINT3中断服务程序AJMP EXIT同样,外部中断1也可作相应的扩展。例:在P1.0上产生周期为10ms的方波,设晶振频率 12MHz.(要求分别以查询

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号