单片机中断系统介绍

上传人:wt****50 文档编号:49355302 上传时间:2018-07-27 格式:PPT 页数:28 大小:909.50KB
返回 下载 相关 举报
单片机中断系统介绍_第1页
第1页 / 共28页
单片机中断系统介绍_第2页
第2页 / 共28页
单片机中断系统介绍_第3页
第3页 / 共28页
单片机中断系统介绍_第4页
第4页 / 共28页
单片机中断系统介绍_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《单片机中断系统介绍》由会员分享,可在线阅读,更多相关《单片机中断系统介绍(28页珍藏版)》请在金锄头文库上搜索。

1、第十三讲 单片机中断系统介绍一、中断系统1.中断概念:中断是指计算机在执行某一程序的过程中, 由于计算机系统内、 外的某种原因, 而必须中止原来程序的执行, 转去执行相应的处理程序, 待处理结束之后, 再回来继续执行被中止的原程序的过程。 2.中断作用:采用了中断技术后的计算 机, 可以解决CPU与外设之间速度匹配的问题 , 使计算机可以及时处理系统中许多随机的参 数和信息, 同时, 它也提高了计算机处理故障 与应变的能力。 3.中断的处理过程主 程 序断点继 续 执 行 主 程 序响应中断请求返回主程序中 断 服 务 程 序中断请求中断响应中断服务中断返回基础篇基础篇IT0=0IT0=11I

2、E0TF0IE1TF1TIRIT0IT0=0IT0=11T1TXRX1 ESET1EX1ET0EX010PT010PT110PX110PS10PX0矢量 地址自 然 优 先 级矢量 地址自 然 优 先 级低 级 中 断 请 求PC高 级 中 断 请 求PC4.中断系统结构 SETB EA SETB EX0 SETB PX0 SETB IT0 SETB IT0 SETB EA SETB EX0 SETB PX0 TCONSCONIE IP概述篇(1)中断源引起中断的原因,或者是能发出中断申请的来源,称为“中断源”。 (1) :外部中断0中断请求,由P3.2脚输入 。(2) :外部中断1中断请求,

3、由P3.3脚输入。 (3) TF0:定时器T0溢出中断请求。 (4) TF1:定时器1溢出中断请求。 (5) RI或TI:串行中断请求。 (2)中断源的入口地址、中断请求标志位、自然优先级中断源的矢量入口地址:单片机相应中断后,由硬件生成程序调用指令,把当前PC的内容压入堆栈保存,将硬件生成的地址装入PC,称为中断矢量入口地址。中断请求标志位:每一个中断源对应的中断请求标志。自然优先级:由硬件形成的单片机中断源在同一优先级别下的相应顺序。概述篇中断源请求标志位入口地址优先级外部中断0IE00003H最高级最低级定时器T0TF0000BH外部中断1IE10013H定时器T1TF1001BH串行口

4、RI/TI0023H表4-1 89S51中断源的矢量地址基础篇TF1TF0IF1IT1IE0IT08FH8DH8BH8AH89H88H(3) 定时控制寄存器TCON(88H)定时器1的溢出中断标志。T1计满溢出后由 硬件置位TF1,同时向CPU发出中断请求。定时器0溢出中断标志。其操 作功能和意义与TF1类同。 外部中断1的请求标志。当P3.3引脚信号有效 时,IE1 = 1,外部中断1向CPU申请中断。 外部中断1的中断触发方式控制位。当 IT1 = 0时,外部中断1为电平触发;当 IT1 = 1时,外部中断1为边沿触发。 外部中断0的中断请求标志。其操 作功能和意义与IE1类同。 外部中断

5、0的中断触发方式控制位。 其操作功能和意义与IT1类同。 基础篇(4) 串行中断控制寄存器SCON(98H)TI RI99H 98H串行口发送中断标志。CPU将一个数据写入发送缓 冲器SBUF时,就启动发送,每发送完一个串行帧 数据后,硬件将使TI置位。但CPU响应中断时并不 清除TI,必须在中断服务程序中由软件清除。 串行接收中断标志。在串行口允许接收时,每接收 完一个串行帧数据,硬件将使RI置位。同样,CPU 在响应中断时不会清除RI,必须在中断服务程序中 由软件清除。基础篇EAESET1EX1ET0EX0AFHACHABHAAHA9HA8H(5) 中断允许控制寄存器IE(A8H)总中断允

6、许控制位。EA = 1,开放所 有中断;EA = 0,禁止所有中断。 串行口中断(包括串行发、串行收)允许位。ES = 1 ,允许串行口中断;ES = 0,禁止串行口中断。 定时/计数器T1中断允许位。ET1 = 1,允许定 时器T1中断;ET1 = 0,禁止定时器T1中断。 外部中断1中断允许位。EX1 = 1,允许外部中 断1中断;EX1 = 0,禁止外部中断1中断。 定时/计数器T0中断允许位。ET0 = 1,允 许定时器0中断;ET0 = 0,禁止定时器0 中断。外部中断0中断允许位。EX0 = 1,允许外部 中断0中断;EX0 = 0,禁止外部中断0中断。 基础篇(6) 中断优先级控

7、制寄存器IP(B8H)PSPT1PX1PT0PX0 BCHBBHBAHB9HB8H串行口中断优先级控制位。PS = 1,设定串行口为高 优先级中断;PS = 0,设定串行口为低优先级中断。 定时器T1中断优先级控制位。PT1 = 1,设定定时器T1中断为 高优先级中断;PT1 = 0,设定定时器T1中断为低优先级中断。 外部中断1中断优先级控制位。PX1 = 1,设定外部中断1为 高优先级中断;PX1 = 0,设定外部中断1为低优先级中断。 定时器T0中断优先级控制位。PT0 = 1,设定定时器T0中断为高 优先级中断;PT0 = 0,设定定时器T0中断为低优先级中断。 外部中断0中断优先级控

8、制位。PX0 = 1,设定外部中断0为高 优先级中断;PX0 = 0,设定外部中断0为低优先级中断。 中断源 同级自然优先级外部中断0 最高级 定时器T0中断 外部中断1 定时器T1中断 串行口中断 最低级 5.中断系统响应中断请求与响应中断条件在单片机执行某一程序过程中,若发现有中断请求(相应中断请求标志位 为1),CPU将根据具体情况决定是否响应中断,这主要由中断允许寄存器来控制 :(1)中断总允许位EA = 1。(2)申请中断的中断源允许。满足以上基本条件,CPU一般会响应中断,如果有下列任何一种情况存在 ,那么中断响应会受到阻断。(1)CPU正在响应同级或高优先级的中断。(2)当前指令

9、未执行完。(3)正在执行RETI中断返回指令或访问专用寄存器IE和IP的指令。 中断响应应若中断请求符合响应条件,则CPU将响应中断请求。首先,中断系统 通过硬件自动生成长调用指令(LACLL),该指令将自动把断点地址压入 堆栈保护(不保护累加器A、状态寄存器PSW和其它寄存器的内容),然后 ,将对应的中断入口地址装入程序计数器PC(由硬件自动执行),使程序转 向该中断入口地址,执行中断服务程序。MCS-51系列单片机各中断源的入口 地址由硬件事先设定,分配如表所示:中断源入口地址外部中断0 0003H定时器T0中断 000BH 外部中断1 0013H 定时器T1中断 001BH串行口中断 0

10、023H基础篇中断服务 中断服务程序从中断入口地址开始执行,到返回指令“RETI”为止,一 般包括两部分内容,一是保护现场,二是完成中断源请求的服务。通常, 主程序和中断服务程序都会用到累加器A、状态寄存器PSW及其它一些寄 存器,当CPU进入中断服务程序用到上述寄存器时,会破坏原来存储在寄 存器中的内容,一旦中断返回,将会导致主程序的混乱,因此,在进入中 断服务程序后,一定要先保护现场,然后,执行中断处理程序,在中断返 回之前再恢复现场。中断返回中断返回通常是指中断服务完成以后,计算机返回原来断开的位置( 即断点),继续执行原来的程序。中断返回由中断返回指令RETI来实现。 这条指令的功能是

11、把断点地址从堆栈中弹出,送回到程序计数器PC,此外 ,还通知中断系统已完成中断处理,并同时清除优先级状态触发器。特别 要注意不能用“RET”指令代替“RETI”指令。基础篇6.中断系统应用中断初始化(1)设置堆栈指针SP,通常可设置SP=60H或50H。(2)定义中断优先级。(3)定义外中断触发方式。(4)开放中断。中断服务主程序中断服务子程序内容为:(1)中断服务入口地址设置一条跳转指令,转移到中断服务程序的实 际入口地址。(2)根据所需来保护现场。(3)中断源请求中断服务要求的运行,这是中断服务程序的主体。(4)如果是外中断电平触发方式,应有中断信号撤除操作。如果是串 行中断,应有对RI、

12、TI清0指令。(5)中断源恢复现场。与保护现场相对应,注意先进后出,后进先出 的操作顺序。(6)在中断返回时,最后一条指令必须是RETI。基础篇第十四讲 中断键控制彩灯通过单片机的中断功能,实现对连接在P0口上的彩灯进行控制,图4-3为 简化应用电路(图去复位、晶振电路)。1编程思路根据4-3电路原理图分析,S7、S8是实现中断控制的按键,通过上拉电 阻分别连接在外部中断0、外部中断1口线上,采用电平触发工作方式。在无 中断产生时,可以让8只发光二极管循环显示,每按一次S7键,完成一次灭灯 工作,每按一次S8键,完成一次亮灯工作。通过发光二极管的不同工作状态 ,反映单片机的中断功能。基础篇2程

13、序清单ORG 0000H ;程序开始AJMP MAIN ;转至主程序入口地址ORG 0003H ;外部中断0矢量入口地址AJMP INT_0 ;外部中断0子程序ORG 0013H ;外部中断1矢量入口地址AJMP INT_1 ;外部中断1子程序ORG 0100H ;主程序 MAIN: SETB EX0 ;外部中断0开中断SETB EX1 ;外部中断1开中断SETB EA ;开CPU中断总允许CLR IT0 ;外部中断0电平触发CLR IT1 ;外部中断1电平触发MOV A,#0FEH MAIN1: MOV P0,A ;P0.0口灯亮ACALL DELAY ;延时子程序RL ASJMP MAIN

14、1 ;MAIN1执行灯循环显示 INT_0: CLR EA ;关中断MOV P0,#00H ;8个发光二极管亮基础篇LCALL DELAYSETB EA ;开中断RETI ;中断返回 INT_1: CLR EAMOV P0,#0FFH ; 8个发光二极管灭LCALL DELAYSETB EARETI DELAY: MOV R5,#100 DELAY1:MOV R6,#0ffh DELAY2:DJNZ R6,DELAY2DJNZ R5,DELAY1RETEND基础篇3程序分析(1)程序从0000H开始执行程序,因为要用到外部中断服务子程序,因此需要在主程序中对中断的申请标志位、中断响应条件、外部

15、中断的触发方式进行设置。(2)单片机上电后,执行彩灯循环显示程序,MAIN1执行循环显示程序。DELAY为延时子程序,可以根据具体情况进行设置。(3)当S7键按下后,程序进入外部中断0的矢量入口地址0003H,此后放置一条跳转指令,AJMP INT-0,使程序转去执行外部中断0的中断服务子程序(标号INT-0),在中断服务子程序中,首先关闭中断总允许控制位,然后向P1口输出#00H,使P1口的彩灯全部点亮,然后打开中断,返回程序中断处继续执行主程序,同时等待下次中断 。当S8键按下后,程序的运行过程和S7键执行过程基本相同。 基础篇第十五讲 定时/计数器基本概念一、定时器/计数器结构1.定时器/计数器定时器0、定时器1是16位加法计数器,分别由两个8位专用寄存器组成:定 时器0由TH0和TL0组成,定时器1由TH1和TL1组成。 基础篇2定时/计数器方式控制寄存器TMODD7D6D5D4D3D2D1D0 GATEM1M0GATEM1M0定时器1方式控制位定时器0方式控制位M1M0工作方式功能 00工作方式013位计数器 01工作方式116位计数器 10工作方式

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

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