




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中断系统及其应用第一页,共四十六页,编辑于2023年,星期六本章主要内容中断基本概念中断系统结构及中断控制中断处理过程第二页,共四十六页,编辑于2023年,星期六第一节中断基本概念一、为什么引入中断概念?单片机系统运行时,CPU经常需要与外部输入输出设备交换信息,但CPU速度比外设速度要快得多,为了解决快速CPU与慢速外设间的矛盾,单片机系统中需要广泛采用中断控制方式。为了满足单片机CPU与外设交换信息的需要!单片机CPU与外设交换信息的方式通常有三种:无条件传送方式查询传送方式中断传送方式二、单片机CPU与外设交换信息的方式第三页,共四十六页,编辑于2023年,星期六①无条件传送方式无条件传送方式又称同步传送,此方式下,CPU与外设之间进行数据传送时,不考虑外设状态,即CPU认为外设在任何条件下都是处于“准备好”的状态。因此,这种传送方式下,CPU不需要了解外设状态信息,只需要在程序中加入访问外设的指令,就可以实现CPU与外设间的数据传送。该方式简单,但因为不知道外设的状态,导致传送数据时容易出错,而且效率不高,已经很少被使用!第四页,共四十六页,编辑于2023年,星期六②查询传送方式查询传送方式又称条件传送方式。CPU在传送数据之前,首先查询外部设备是否处于“准备好”的状态。输入数据时,需要知道外设是否已经把要输入的数据准备好;输出数据时,则需要知道外设是否已经把上一次单片机输出的数据处理完毕。通过查询,确信外设已处于“准备好”状态时,CPU才发出访问外设的命令,实现数据的输入或输出,否则,CPU就处于查询等待状态。
该方式保证了数据传送的正确性,但需要查询等待过程!特别是在连续进行数据传送时,由于CPU的速度比外设快很多,通常,CPU在完成一次数据传送后,要等待很长的时间,才能进行下一次的传送,在等待过程中,CPU不能进行其他的操作,所以效率比较低。第五页,共四十六页,编辑于2023年,星期六因此,又要保证数据传送的正确性,又要提高效率,最有效的途径就是采用中断传送方式!③中断传送方式CPU启动外设后,外设与CPU并行独立工作,此时,CPU可以做其他工作,一旦外设需要CPU处理时,由外设向CPU提出请求,在满足一定条件下,CPU暂时中止当前的工作(即现在执行的程序),转去为外设服务(执行外设服务程序),外设请求服务处理完后,再回到原来被中断的地方,继续原来的工作(继续执行原来的程序)。那到底什么是中断呢?第六页,共四十六页,编辑于2023年,星期六三、中断概念在单片机中,当CPU在执行程序时,由单片机内部或外部的原因引起的随机事件要求CPU暂时停止正在执行的程序,而转向执行一个用于处理该随机事件的程序,处理完后又返回被中止的程序断点处继续执行,这一过程就称为中断。中断流程图第七页,共四十六页,编辑于2023年,星期六中断源分类四、其他相关概念单片机处理中断的4个步骤中断请求中断响应中断处理中断返回中断源中断请求——向CPU发出中断请求的来源,或引起中断的原因。——中断源要求服务的请求。一类来自单片机内部,称之为内部中断源;一类来自单片机外部,称之为外部中断源。第八页,共四十六页,编辑于2023年,星期六例:生活中的“中断”。某人——CPU电话铃响了——中断源某人“看报”——正常运行的程序去接电话——响应中断与朋友聊天——中断服务程序某人继续看报——退出中断服务程序,继续运行正常的程序。第九页,共四十六页,编辑于2023年,星期六五、中断的一般功能中断系统的功能一般包括以下几点:①实现中断优先级排队②实现中断嵌套③自动中断响应④实现中断及返回⑤实现中断撤除⑥分时操作,提高CPU的工作效率⑦实时处理,提高实时数据的处理时效第十页,共四十六页,编辑于2023年,星期六①实现中断优先级排队通常,单片机中有多个中断源,设计人员能按轻重缓急给每个中断源的中断请求赋予一定的中断优先级。当两个或两个以上的中断源同时请求中断时,CPU可通过中断优先级排队电路首先响应中断优先级高的中断请求,等到处理完优先级高的中断请求后,再来响应优先级低的中断请求。CPU在响应某一中断源中断请求而进行中断处理时,若有中断优先级更高的中断源发出中断请求,CPU会暂停正在执行的中断服务程序,转向执行中断优先级更高的中断源的中断服务程序,等处理完这个高优先级的中断请求后,再返回来继续执行被暂停的中断服务程序。这个过程称为中断嵌套。②实现中断嵌套第十一页,共四十六页,编辑于2023年,星期六③自动中断响应
中断源向CPU发出的中断请求是随机的。通常,CPU总是在每条指令的最后状态对中断请求信号进行检测。当某一中断源发出中断请求时,CPU能根据相关条件(如中断优先级、是否允许中断)进行判断,决定是否响应这个中断请求。若允许响应这个中断请求,CPU在执行完相关指令后,会自动完成断点地址压入堆栈、中断矢量地址送入程序计数器PC、撤除本次中断请求标志,转入执行相应中断服务程序。第十二页,共四十六页,编辑于2023年,星期六④实现中断及返回
CPU响应某一中断源的中断请求,转入执行相应中断服务程序,在执行中断服务程序最后的中断返回指令时,会自动弹出堆栈区中保存的断点地址,返回到中断前的原程序中。
第十三页,共四十六页,编辑于2023年,星期六⑤实现中断撤除在响应中断申请以后,返回主程序之前,中断请求应该撤除,否则,就等于中断申请依然存在,这将影响对其他中断申请的响应。中断的撤除与返回指令并不是一回事,有的中断系统在响应任何中断申请之后,都能撤除该中断的申请标志。但MCS-51中断系统只能对一部分中断申请在响应后自动撤除。⑥分时操作,提高CPU的工作效率中断系统的存在,可以使CPU与外设并行工作。⑦实时处理,提高实时数据的处理时效当单片机用于实时控制时,请求CPU提供服务是随机发生的,有了中断系统,CPU就可以立即响应并加以处理。第十四页,共四十六页,编辑于2023年,星期六六、中断服务程序与子程序的异同同:都属于子程序异:调用子程序的时间是事先安排好的,但调用中断服务程序是由外设决定的,并不是人为安排的。第十五页,共四十六页,编辑于2023年,星期六第二节中断系统结构及中断控制一、MCS-51系列单片机中断系统结构第十六页,共四十六页,编辑于2023年,星期六从上图可以看出,MCS-51系列单片机有:5个中断请求源:INT0、INT1、T0、T1、Tx/Rx4个中断控制寄存器:IE、IP、TCON、SCON分别用于确定中断的类型、中断源的优先级以及中断的开、闭。二、MCS-51系列单片机中断源①INT0:外部中断0请求,低电平有效②INT1:外部中断1请求,低电平有效③T0:定时/计数器0溢出中断请求④T1:定时/计数器1溢出中断请求⑤Tx/Rx:串行口通信中断请求当外部对应引脚为低电平时,便请求中断。当定时/计数器中计数结果发生计数溢出时,请求中断。串行口完成一帧数据的发送或接收时,便请求中断。第十七页,共四十六页,编辑于2023年,星期六中断源及对应的中断服务程序入口地址:外部中断0(INT0)0003H外部中断1(INT1)0013H定时器T0中断(T0)000BH定时器T1中断(T1)001BH串行口中断0023H说明:两个相邻中断源中断服务程序入口地址相距仅8个单元,一般的中断服务程序8个存储单元是远远不够的,因此,通常会在相应中断服务程序入口地址单元存放一条无条件转移指令LJMP,这样,就可以把中断服务程序放在其他区域执行。第十八页,共四十六页,编辑于2023年,星期六三、中断控制4个特殊功能寄存器用于中断控制。定时/计数控制器TCON串行口控制寄存器SCON中断允许寄存器IE中断优先寄存器IP第十九页,共四十六页,编辑于2023年,星期六①定时/计数控制寄存器TCON(字节地址为88H)TF1—定时/计数器T1的溢出中断请求标志位。T1被启动计数后,从初值开始加1计数,直至计满溢出,硬件使TF1=1,向CPU请求中断。TF0—定时/计数器T0的溢出中断请求标志位。T0被启动计数后,从初值开始加1计数,直至计满溢出,硬件使TF0=1,向CPU请求中断。IE1—外部中断1的中断请求标志位(INT1)IE0—外部中断0的中断请求标志位(INT0)第二十页,共四十六页,编辑于2023年,星期六IT1—外部中断1的中断触发控制位IT1=0,外部中断1为电平触发方式IT1=1,外部中断1为边沿触发方式IT0—外部中断0的中断触发控制位IT0=0,外部中断0为电平触发方式IT0=1,外部中断0为边沿触发方式当检测到外部中断引脚上存在有效中断请求信号时,由硬件使IE1=1或IE0=1,CPU响应中断,转向中断服务程序。第二十一页,共四十六页,编辑于2023年,星期六②串行口控制寄存器SCON(字节地址为98H)TI(Transmit)—串行口发送中断请求标志位CPU将一个数据写入发送缓冲器时,就启动发送,每发送完一帧串行数据后,硬件自动置位TI,使TI=1,则产生中断,要求CPU相应中断,再将下一个数据写入发送缓冲器。必须在中断服务程序中用软件对TI标志清“0”!RI(Receive)—串行口接收中断请求标志位每接收完一个串行帧,就硬件置位RI。必须在中断服务程序中用软件对TI标志清“0”!第二十二页,共四十六页,编辑于2023年,星期六③中断允许寄存器IE(字节地址为A8H)EA—中断允许总控制位EA=1,CPU打开中断(但各中断源是允许还是禁止,将分别由各自的允许位确定)EA=0,CPU屏蔽所有中断(即:若EA=0,则各中断源的允许位即使是允许状态,也被禁止)ES—串行口中断允许位ES=1,允许串行口中断ES=0,禁止串行口中断CPU对中断源的开放或屏蔽,由片内的中断允许寄存器IE控制。第二十三页,共四十六页,编辑于2023年,星期六ET1—定时/计数器T1的溢出中断允许位EX1—外部中断1(INT1)的中断允许位ET0—定时/计数器T0的溢出中断允许位EX0—外部中断0(INT0)的中断允许位ET1=1,允许T1中断ET1=0,禁止T1中断EX1=1,允许INT1中断EX1=0,禁止INT1中断ET0=1,允许T0中断ET0=0,禁止T0中断EX0=1,允许INT0中断EX0=0,禁止INT0中断即:对应位为“1”,允许中断;对应位为“0”,禁止中断。第二十四页,共四十六页,编辑于2023年,星期六例:设置允许片内定时/计数器中断,禁止其他中断时IE寄存器的值。10001010解:则对应IE寄存器的值如下所示法①字节操作指令MOVIE,#8AH法②位操作指令CLRES; CLREX1; CLREX0; SETBET0;SETBET1;SETBEA;禁止串行口中断禁止外部中断1中断禁止外部中断0中断允许定时/计数器T0中断允许定时/计数器T1中断CPU开总中断第二十五页,共四十六页,编辑于2023年,星期六④中断优先级寄存器IP(字节地址为B8H)中断优先级—当两个或两个以上的中断源同时向CPU提出中断申请时,CPU会根据系统设计人员安排好的中断源的优先顺序来依次响应中断。中断嵌套—CPU正在处理一个中断请求时,又出现了另一个优先级比它高的中断请求,这时,CPU就暂时中止对当前优先级较低的中断源的服务,转去响应优先级更高的中断请求,并为其服务,待服务结束,再继续执行原来较低级的中断服务程序。第二十六页,共四十六页,编辑于2023年,星期六MCS-51系列单片机可人工设置的中断优先级为2级:高优先级、低优先级,由中断优先级寄存器IP控制。PS—串行口中断优先控制位PS=1,高优先级中断;PS=0,低优先级中断。第二十七页,共四十六页,编辑于2023年,星期六PT1—定时器T1中断优先级控制位PT1=1,高优先级中断PT1=0,低优先级中断PX1—外部中断1中断优先级控制位PX1=1,高优先级中断PX1=0,低优先级中断PT0—定时器T0中断优先级控制位PT0=1,高优先级中断PT0=0,低优先级中断PX0——外部中断0中断优先级控制位PX0=1,高优先级中断PX0=0,低优先级中断即:对应位为“1”,相应中断源设定为“高优先级”中断;对应位为“0”,相应中断源设定为“低优先级”中断。第二十八页,共四十六页,编辑于2023年,星期六注意:当系统复位时,IP值为00H,即所有中断源均被设置为低优先级中断!如果几个同一优先级的中断源同时提出中断申请,则按自然优先级来响应中断。中断源外部中断0(INT0)定时/计数器中断(T0)外部中断1(INT1)定时/计数器中断(T1)串行口中断自然优先级最高级最低级第二十九页,共四十六页,编辑于2023年,星期六四、中断系统初始化就是对之前所介绍的4个中断控制寄存器的值进行设置!步骤:①设定所用中断源的中断优先级(IP)②若为外部中断,设定是电平触发还是边沿触发方式(TCON)③打开相应的中断源中断(IE)第三十页,共四十六页,编辑于2023年,星期六例:设定外部中断1(INT1)为高优先级中断,用低电平触发方式,对中断系统初始化。中断优先级寄存器IP:---PSPT1PX1PT0PX0定时/计数控制寄存器TCON:TF1TR1TF0TR0IE1IT1IE0IT0中断允许寄存器IE:EA--ESET1EX1ET0EX0解:题目中涉及到的中断控制寄存器如下:第三十一页,共四十六页,编辑于2023年,星期六法①字节操作指令MOVIP,#04H;ANLTCON,#0FBH;MOVIE,#84H;设定中断优先级设定INT1中断请求,且为低电平触发方式设定相应中断源打开法②位操作指令SETBPX1;CLRIT1;SETBEA;SETBEX1;设定INT1为高优先级中断设定INT1为低电平触发打开中断允许总控制位打开INT1的中断允许位第三十二页,共四十六页,编辑于2023年,星期六第三节中断处理过程中断的处理包括以下四个过程:中断请求中断响应中断处理中断返回第三十三页,共四十六页,编辑于2023年,星期六一、中断请求中断请求是中断源向CPU发出请求中断的信号,要求CPU中断原来执行的程序,转去为它服务。一般中断请求信号可以是电平信号,也可以是脉冲信号。中断请求信号应该已知保持到CPU作出反应时为止。二、中断响应中断响应是在满足CPU的中断响应条件后,CPU对中断源中断请求的回答。CPU的中断响应条件:(1)有中断源发出中断请求。(2)中断总允许位EA=1。(3)请求中断的中断源的中断允许位为1。第三十四页,共四十六页,编辑于2023年,星期六中断处理就是执行中断服务程序,从中断入口地址开始执行,直到返回指令(RETI)为止。此过程一般包括三部分内容:(1)保护现场(2)处理中断源的请求(3)恢复现场三、中断处理四、中断返回中断返回是指中断服务完成后,CPU返回到原程序的断点(即原来断开的位置),继续执行原来的程序。中断返回通过执行中断返回指令RETI来实现。
切忌:不能用RET指令代替RETI指令!第三十五页,共四十六页,编辑于2023年,星期六中断请求的撤除CPU响应某中断请求后,在中断返回前,应该撤消该中断请求,否则会引起另一次中断。不同中断源中断请求的撤除方法是不一样的。
在CPU响应中断后,硬件不能清除中断请求标志TI和RI,而要由软件来清除相应的标志。①定时/计数器溢出中断请求的撤除CPU在响应中断后,硬件会自动清除中断请求标志TF0或TFl。②串行口中断的撤除第三十六页,共四十六页,编辑于2023年,星期六外部中断为电平触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0或IEl,但由于加到INT0或INT1引脚的外部中断请求信号并未撤除,中断请求标志IE0或IEl会再次被置1,所以在CPU响应中断后应立即撤除INT0或INT1引脚上的低电平。③外部中断的撤除
外部中断为边沿触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0或IEl。例:P1口做输出口,控制八只灯(P1口输出低电平时灯被点亮),利用手控单脉冲信号作为外部中断信号,控制八只灯按一定的规律循环点亮。解:手控单脉冲信号作为外部中断信号由INT0(P3.2)管脚输入①设置中断允许寄存器IE中的EA、EX0位为1;②只有一个中断源可不设置优先级别;③中断触发方式设为边沿触发,控制位IT0应设置为1。第三十七页,共四十六页,编辑于2023年,星期六参考程序:ORG0000H;LJMPMAIN;ORG0003H;LJMPINT;ORG0050H;MAIN:SETBEA;SETBEX0;SETBIT0;MOVA,#0FEHMOVP1,ASJMP$;ORG0100H;INT:RLA;MOVP1,ARETIEND程序入口转向主程序外部中断0的入口地址转向中断服务程序主程序存放开始地址打开中断允许总控制位打开INT0的中断允许位INT0的中断触发方式为边沿触发等待中断中断程序存放开始地址中断服务程序第三十八页,共四十六页,编辑于2023年,星期六例:将P1口的P1.0~P1.3作为输入位,P1.4~P1.7作为输出位,要求利用8051单片机外部中断方式,将通过开关所设的数据读入单片机,然后输出驱动发光二极管,以验证低四位输入与高四位输出是否相符,采用外部中断0边沿触发方式。分析:①当S4接a处时,a为低电平,b为高电平,则输出到INT0为高电平,中断无效;②当S4接b处时,a为高电平,b为低电平,则输出到INT0为低电平,此时产生外部中断;③中断源为INT0,对应中断入口地址为0003H;④输入P1.0~P1.3对应输出P1.4~P1.7,即P1.0对应P1.4,当P1.0的S0关闭后,P1.0为低电平,输出到对应P1.4,则发光二极管导通发光。第三十九页,共四十六页,编辑于2023年,星期六参考程序:ORG0000HAJMPMAIN;ORG0003HAJMPINT0;ORG0100H;MAIN:SETBEX0;SETBIT0;SETBEA;HERE:SJMPHERE;ORG0200H;INT0:MOVA,#0FFHMOVP1,A;MOVA,P1;SWAPA;MOVP1,A;RETI;END转向主程序转向中断服务子程序主程序允许外部中断0中断选择边沿触发方式打开CPU总中断等待中断中断服务子程序先给P1口赋8位高电平,使二极管都灭正确输入P1口数据P1口数据高4位与低4位互换输出驱动发光二极管发光中断返回第四十页,共四十六页,编辑于2023年,星期六练习题1:1、试编写一段对中断系统进行初始
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《跨境电商》课件-3.其他平台注册
- 《Linux操作系统》课件-10.Linux进程管理
- 高质量三农田水利设施建设指南
- 农民创业创新培训作业指导书
- 沉淀池施工安全措施
- 蛋糕店项目可行性研究报告
- 机场工程车辆租赁合同范本
- 二零二五年度北京市网吧装修工程网络设备采购合同
- 加油站安全管理预案
- 可行性研究报告资料收集清单
- 统计法律知识培训课件
- 2025年合伙协议模板
- 2025年南京铁道职业技术学院单招职业适应性测试题库及答案一套
- 对外汉语综合课教案集成
- 北京市朝阳区2024-2025学年高一上学期期末质量检测数学试题【含答案解析】
- 信息系统监理师教程笔记版
- 《慢性阻塞性肺病的》课件
- 欧姆定律-中考复习课件
- 中学语文课程标准研究最新试题及答
- 如何激发学生学习物理的兴趣PPT课件
- CRH2 第5章 转向架
评论
0/150
提交评论