单片机原理及应用 教学课件 ppt 作者 张兰红 第6章 中断系统及应用

上传人:E**** 文档编号:89503250 上传时间:2019-05-26 格式:PPT 页数:50 大小:821KB
返回 下载 相关 举报
单片机原理及应用 教学课件 ppt 作者 张兰红 第6章 中断系统及应用_第1页
第1页 / 共50页
单片机原理及应用 教学课件 ppt 作者 张兰红 第6章 中断系统及应用_第2页
第2页 / 共50页
单片机原理及应用 教学课件 ppt 作者 张兰红 第6章 中断系统及应用_第3页
第3页 / 共50页
单片机原理及应用 教学课件 ppt 作者 张兰红 第6章 中断系统及应用_第4页
第4页 / 共50页
单片机原理及应用 教学课件 ppt 作者 张兰红 第6章 中断系统及应用_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《单片机原理及应用 教学课件 ppt 作者 张兰红 第6章 中断系统及应用》由会员分享,可在线阅读,更多相关《单片机原理及应用 教学课件 ppt 作者 张兰红 第6章 中断系统及应用(50页珍藏版)》请在金锄头文库上搜索。

1、03:14,1,第6章 中断系统及应用,03:14,2,内容,中断概述,6.1,80C51单片机中断系统,6.2,中断服务程序的设计,中断系统的应用,6.4,6.3,03:14,3,6.1 中断概述,计算机的信息处理系统与人的一般思维有着许多异 曲同工之妙,中断技术就是其中的一例。,例如,某人正在看书,这时候电话铃响了,他在书本上做个记号,然后与对方通电话,通完电话后从做有记号的地方继续往下看书。这就是日常生活中的中断现象。,为什么会出现这样的中断呢?,因为一个人在一段特定的时间内,可能会面对着两 个、三个甚至更多的任务。但一个人又不可能在同一时 间去完成多项任务,因此人只能分析任务的轻重缓急

2、, 采用中断的方法穿插去完成它们。,03:14,4,6.1.1 中断的有关概念,1.中断 中断是指CPU执行程序的过程中,由于某种随机的事件(中 断发生)引起CPU暂时停止正在执行的程序,而转去执行一个用于处理该事件的程序(中断服务程序),中断服务程序处理完该事件后又返回到原来被中止的程序断点处继续执行(中断返回),这一过程称为中断。,中断流程图,03:14,5,2. 中断服务程序 中断之后所执行的相应的处理程序通常称之为中断服务子 程序,原来正常运行的程序称为主程序。主程序被断开的 位置(或地址)称为“断点”。 调用中断服务程序的过程类似于调用子程序,其区别在于 调用子程序是在程序中事先安排

3、好的,通过调用指令实 现;而何时调用中断服务程序事先却无法确定,因为中断 的发生是由外部因素决定的,程序中无法事先安排调用指 令,调用中断服务程序的过程是由硬件自动完成的。,03:14,6,3.中断源 中断源是指引起中断的来源。中断源在单片机内部的为内 中断,中断源在单片机外部的为外中断。 常见的中断源主要有以下几种: (1) 输入/输出设备 (2) 实时时钟或计数信号 (3) 故障源,03:14,7,1.实现分时操作 2. 实时处理 3. 故障处理,6.1.2 中断技术的应用,03:14,8,6.1.3 中断系统的功能,1. 能实现中断及返回,2. 能实现优先权排队,3. 能实现中断嵌套,当

4、中断源向CPU发出中断申请时,CPU能决定是否响应这个中断请求。 若中断源有效且CPU开中断,则CPU在现行的指令执行完后,保护好被中断的主程序的断点地址(下一条应该执行的指令地址)及现场信息,然后,将中断服务程序的首地址送给PC,转去执行中断服务程序。中断服务程序的最后一条指令是中断返回指令RETI,该指令使CPU返回断点,继续执行主程序,这个过程如图6-1所示。,通常,单片机系统中有多个中断源,有时会遇到多个中断源同时提出中断请求的情况。这就要求单片机既能区分各个中断源的请求,又能确定先为哪一个中断源服务。,当CPU响应某一外设的中断请求,正在进行中断处理时,若有优先权级别更高的中断源提出

5、中断请求,则CPU能中断正在进行的中断服务程序,响应高级中断,在高级中断处理完后,再继续执行被中断的中断服务程序。这一过程称为中断嵌套,,03:14,9,中断嵌套,03:14,10,6.2 80C51单片机中断系统,6.2.1 中断系统的结构,中断系统结构示意图,03:14,11,80C51单片机的中断系统有5个中断源,两个中断优先级,可实 现2级中断服务程序嵌套。由片内特殊功能寄存器中的定时器/ 计数器控制寄存器TCON和串行口控制寄存器SCON对中断源 进行控制,由中断允许寄存器IE控制CPU是否响应中断请求; 由中断优先级寄存器IP安排各中断源的优先级; 相同优先级内各中断同时提出中断请

6、求时,不能通过程序控 制,而是由CPU内部的查询顺序决定谁优先响应。,03:14,12,1. 中断源 80C51单片机的中断系统有5个中断源,它们是: (1) 外部中断0:由 (P3.2)引脚输入,由IT0选择其为低电平 有效还是下降沿有效,当CPU检测到 引脚上出现有效的中 断请求信号时,中断请求标志位IE0置1,向CPU申请中断。 (2) 外部中断1:由 (P3.3)引脚输入,由IT1选择其为低电平 有效还是下降沿有效,当CPU检测到 引脚上出现有效的中 断请求信号时,中断请求标志位IE1置1,向CPU申请中断。 (3) 定时器/计数器T0溢出中断请求,当T0定时时间到或计数满 后,中断请

7、求标志位TF0由硬件置1,向CPU申请中断。,03:14,13,(4) 定时器/计数器T1溢出中断请求,当T1定时时间到或计数满 后,中断请求标志位TF1被硬件置1,向CPU申请中断。 (5) 串行口中断请求,当串行口接收完一帧数据时,中断请求 标志RI被硬件置1,或当串口发送完一帧数据时,中断请求标 志TI被硬件置1。,03:14,14,中断源的中断请求标志位分别由特殊功能寄存器TCON和SCON 的相应位锁存,TCON和SCON寄存器的字节地址分别为88H和 98H,可进行位寻址。,2. 中断标志寄存器TCON和串行口控制寄存器SCON,03:14,15,IT0:外部中断 的触发方式选择位

8、。 当IT0=0时,外部中断为电平触发方式,即 引脚上的信号为 低电平有效。 当IT0=1时,外部中断为边沿触发方式,即 引脚上的信号出 现从高到低的负跳变有效。 IT0位可由软件置1或清0。,03:14,16,IE0:外部中断 中断请求标志位。 当IT0=0时,外部中断 为电平触发方式,CPU在每个机器周 期的S5P2采样 引脚电平,若采样到 为低电平时,IE0置 1表示 向CPU申请中断;若采样到 为高电平时,IE0清0。 注意:在电平触发方式下,CPU响应中断时,不能自动将IE0清 0,因为IE0的状态完全由 状态决定,所以在中断返回前必须 撤除 引脚上的低电平。,03:14,17,当I

9、T0=1,外部中断 为边沿触发方式,CPU在每个机器周期的 S5P2采样 引脚电平,如果在连续的两个机器周期里检测到 引脚由高电平到低电平,即在第一个机器周期的S5P2采样 到 =1,在第二个机器周期的S5P2采样到 =0,则IE0置1 表示 向CPU申请中断。 在边沿触发方式,CPU响应中断时,由硬件自动清除IE0标志。 注意:为了保证CPU能检测到负跳变, 的高低电平至少应保 持一个机器周期。,03:14,18,IT1:外部中断 的触发方式选择位,其操作功能与IT0类似。 IE1:外部中断 中断请求标志位,其操作功能与IE0类似。 TF0:定时器/计数器T0溢出中断请求标志位。当T0启动计

10、数后, T0从计数初值开始加1,直至最高位产生溢出由硬件将TF0置1, 向CPU申请中断,CPU响应中断时,由硬件自动将TF0清0。 如果定时器/计数器T0工作在查询方式,T0计数溢出后,TF0必须 由软件清0。 TF1:定时器/计数器T1溢出中断请求标志位,其操作功能与TF0 类似。,03:14,19,TR0、TR1这两个与中断无关,仅与定时器/计数器T0和T1有关, 用来启动和停止定时器工作,它们的功能将在定时器/计数器这一 章介绍。,03:14,20,SCON为串行口控制寄存器,与中断有关的是它的低两位TI和 RI,SCON各位定义如下:,03:14,21,RI:串行口接收中断标志位,当

11、允许串行口接收数据时,串行口 每接收完一帧数据,由硬件将RI置1,CPU响应串行口接收中断 时,CPU并不自动清除RI中断标志位,必须在中断服务程序中由 软件对RI清零。 TI:串行口发送中断标志位,CPU将8位数据写入串行口发送缓 冲器SBUF时,就启动了一帧数据的发送,每发送完一帧数据后, 由硬件将TI置1,CPU响应串行口发送中断时,CPU并不自动清除 TI中断标志位,必须在中断服务程序中由软件对TI清零。 单片机复位时,TCON和SCON各位清0,TCON和SCON中所有能 产生中断的标志位均可由软件置1或清0。,03:14,22,3.中断允许寄存器IE IE各位定义如下: 单片机复位

12、时,IE各位清0,禁止所有中断。,03:14,23,EA:总中断允许控制位 EA=0,CPU屏蔽所有的中断请求,称为CPU关中断; EA=1,CPU开放所有中断,称为CPU开中断。在EA=1的条件 下,由各个中断控制位确定相应中断的打开与关闭。 ES:串行口中断允许位 ES=0,禁止串行口中断; ES=1,允许串行口中断。,03:14,24,ET1:定时器/计数器T1的溢出中断允许位 ET1=0,禁止T1溢出中断; ET1=1,允许T1溢出中断。 EX1:外部中断1的中断允许位 EX1=0,禁止外部中断1中断; EX1=1,允许外部中断1中断。,03:14,25,ET0:定时器/计数器T0的溢

13、出中断允许位 ET0=0,禁止T0溢出中断; ET0=1,禁止T0溢出中断; EX0:外部中断0的中断允许位 EX00,禁止外部中断0中断; EX01,允许外部中断0中断。,03:14,26,例6-1 若允许外部中断0和外部中断1中断,禁止其它中断源的 中断请求,请编写出设置IE的相应程序段。 解:(1) 用位操作指令来编写程序段如下: ES=0 ;禁止串口中断 ET1=0 ;禁止定时器/计数器T1中断 EX1=1 ;允许外部中断1中断 ET0=0 ;禁止定时器/计数器T1中断 EX0=1 ;允许外部中断1中断 EA=1 ;CPU开中断 (2)用字节操作语句编写为: IE=0x85,03:14

14、,27,4.中断优先级寄存器IP 80C51单片机有两个中断优先级,即可实现两级中断嵌套,每 个中断源的中断优先级都是由中断优先级寄存器IP中的相应位 来规定的。 IP各位定义如下:,03:14,28,PS:串行口中断优先级控制位 PS=0,串行口中断定义为低优先级中断; PS=1,串行口中断定义为高优先级中断。 PT1:定时器/计数器T1中断优先级控制位 PT1=0, T1定义为低优先级中断; PT1=1, T1定义为高优先级中断。,03:14,29,PX1:外部中断1中断优先级控制位 PX1=0,外部中断1中断定义为低优先级中断; PX1=1,外部中断1中断定义为高优先级中断。 PT0:定

15、时器/计数器T0中断优先级控制位 PT0=0, T0定义为低优先级中断; PT0=1, T0定义为高优先级中断。 PX0:外部中断0中断优先级控制位 PX00,外部中断0中断定义为低优先级中断; PX01,外部中断0中断定义为高优先级中断。,03:14,30,80C51单片机的中断系统有两个不可寻址的优先级激活触发 器,其中一个指示某高优先级的中断正在执行,所有后来的中 断均被阻止。另一个触发器指示某低优先级的中断正在执行, 所有同级的中断都被阻止,但不阻断高优先级的中断请求。 80C51单片机高优先级中断能够打断低优先级中断形成两级中 断嵌套,同优先级中断之间,或低级对高级中断都不能形成中

16、断嵌套,若几个同级中断同时向CPU申请中断,哪一个中断请 求优先得到响应,按照单片机内部的查询顺序,这是由中断系 统硬件确定的自然优先级。,03:14,31,各中断源的默认内部中断优先级、序号和中断服务程序入口地 址如表6-1所示。,03:14,32,例6-2设置IP寄存器的初始值,使2个外部中断请求为低优先 级,其它中断请求为高优先级。 解(1)用位操作语句来编写程序段 PX0=0 ;2个外中断为低优先级 PX1=0 PS=1 ;串口为高优先级中断 PT0=1 ;2个定时器/计数器为高优先级中断 PT1=1 (2)用字节操作语句编写为: IP=0x1a,03:14,33,假设IP按照例6-2进行设定。 如果CPU正在处理串口中断或2个定时器/计数器中断中的任一 个,那么所有

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

当前位置:首页 > 高等教育 > 大学课件

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