




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中断系统及其应用第1页,共46页,2022年,5月20日,4点50分,星期日本章主要内容中断基本概念中断系统结构及中断控制中断处理过程第2页,共46页,2022年,5月20日,4点50分,星期日第一节 中断基本概念一、为什么引入中断概念? 单片机系统运行时,CPU经常需要与外部输入输出设备交换信息,但CPU速度比外设速度要快得多,为了解决快速CPU与慢速外设间的矛盾,单片机系统中需要广泛采用中断控制方式。为了满足单片机CPU与外设交换信息的需要!单片机CPU与外设交换信息的方式通常有三种: 无条件传送方式 查询传送方式 中断传送方式二、单片机CPU与外设交换信息的方式第3页,共46页,2022
2、年,5月20日,4点50分,星期日 无条件传送方式 无条件传送方式又称同步传送,此方式下,CPU与外设之间进行数据传送时,不考虑外设状态,即CPU认为外设在任何条件下都是处于“准备好”的状态。因此,这种传送方式下,CPU不需要了解外设状态信息,只需要在程序中加入访问外设的指令,就可以实现CPU与外设间的数据传送。 该方式简单,但因为不知道外设的状态,导致传送数据时容易出错,而且效率不高,已经很少被使用!第4页,共46页,2022年,5月20日,4点50分,星期日 查询传送方式 查询传送方式又称条件传送方式。CPU在传送数据之前,首先查询外部设备是否处于“准备好”的状态。输入数据时,需要知道外设
3、是否已经把要输入的数据准备好;输出数据时,则需要知道外设是否已经把上一次单片机输出的数据处理完毕。通过查询,确信外设已处于“准备好”状态时,CPU才发出访问外设的命令,实现数据的输入或输出,否则,CPU就处于查询等待状态。 该方式保证了数据传送的正确性,但需要查询等待过程!特别是在连续进行数据传送时,由于CPU的速度比外设快很多,通常,CPU在完成一次数据传送后,要等待很长的时间,才能进行下一次的传送,在等待过程中,CPU不能进行其他的操作,所以效率比较低。第5页,共46页,2022年,5月20日,4点50分,星期日 因此,又要保证数据传送的正确性,又要提高效率,最有效的途径就是采用中断传送方
4、式! 中断传送方式 CPU启动外设后,外设与CPU并行独立工作,此时,CPU可以做其他工作,一旦外设需要CPU处理时,由外设向CPU提出请求,在满足一定条件下,CPU暂时中止当前的工作(即现在执行的程序),转去为外设服务(执行外设服务程序),外设请求服务处理完后,再回到原来被中断的地方,继续原来的工作(继续执行原来的程序)。那到底什么是中断呢?第6页,共46页,2022年,5月20日,4点50分,星期日三、中断概念 在单片机中,当CPU在执行程序时,由单片机内部或外部的原因引起的随机事件要求CPU暂时停止正在执行的程序,而转向执行一个用于处理该随机事件的程序,处理完后又返回被中止的程序断点处继
5、续执行,这一过程就称为中断。中断流程图第7页,共46页,2022年,5月20日,4点50分,星期日中断源分类四、其他相关概念单片机处理中断的4个步骤 中断请求 中断响应 中断处理 中断返回中断源中断请求向CPU发出中断请求的来源,或引起中断的原因。中断源要求服务的请求。一类来自单片机内部,称之为内部中断源;一类来自单片机外部,称之为外部中断源。第8页,共46页,2022年,5月20日,4点50分,星期日例:生活中的“中断”。某人CPU电话铃响了中断源某人“看报”正常运行的程序去接电话响应中断与朋友聊天中断服务程序某人继续看报退出中断服务程序,继续运行正常的程序。第9页,共46页,2022年,5
6、月20日,4点50分,星期日五、中断的一般功能中断系统的功能一般包括以下几点: 实现中断优先级排队 实现中断嵌套 自动中断响应 实现中断及返回 实现中断撤除 分时操作,提高CPU的工作效率 实时处理,提高实时数据的处理时效第10页,共46页,2022年,5月20日,4点50分,星期日 实现中断优先级排队 通常,单片机中有多个中断源,设计人员能按轻重缓急给每个中断源的中断请求赋予一定的中断优先级。 当两个或两个以上的中断源同时请求中断时,CPU可通过中断优先级排队电路首先响应中断优先级高的中断请求,等到处理完优先级高的中断请求后,再来响应优先级低的中断请求。 CPU在响应某一中断源中断请求而进行
7、中断处理时,若有中断优先级更高的中断源发出中断请求,CPU会暂停正在执行的中断服务程序,转向执行中断优先级更高的中断源的中断服务程序,等处理完这个高优先级的中断请求后,再返回来继续执行被暂停的中断服务程序。这个过程称为中断嵌套。 实现中断嵌套第11页,共46页,2022年,5月20日,4点50分,星期日 自动中断响应 中断源向CPU发出的中断请求是随机的。通常,CPU总是在每条指令的最后状态对中断请求信号进行检测。当某一中断源发出中断请求时,CPU能根据相关条件(如中断优先级、是否允许中断)进行判断,决定是否响应这个中断请求。若允许响应这个中断请求,CPU在执行完相关指令后,会自动完成断点地址
8、压入堆栈、中断矢量地址送入程序计数器PC、撤除本次中断请求标志,转入执行相应中断服务程序。第12页,共46页,2022年,5月20日,4点50分,星期日 实现中断及返回 CPU响应某一中断源的中断请求,转入执行相应中断服务程序,在执行中断服务程序最后的中断返回指令时,会自动弹出堆栈区中保存的断点地址,返回到中断前的原程序中。 第13页,共46页,2022年,5月20日,4点50分,星期日 实现中断撤除 在响应中断申请以后,返回主程序之前,中断请求应该撤除,否则,就等于中断申请依然存在,这将影响对其他中断申请的响应。中断的撤除与返回指令并不是一回事,有的中断系统在响应任何中断申请之后,都能撤除该
9、中断的申请标志。但MCS-51中断系统只能对一部分中断申请在响应后自动撤除。 分时操作,提高CPU的工作效率中断系统的存在,可以使CPU与外设并行工作。 实时处理,提高实时数据的处理时效 当单片机用于实时控制时,请求CPU提供服务是随机发生的,有了中断系统,CPU就可以立即响应并加以处理。第14页,共46页,2022年,5月20日,4点50分,星期日六、中断服务程序与子程序的异同同:都属于子程序异:调用子程序的时间是事先安排好的,但调用中断服务程序是由外设决定的,并不是人为安排的。第15页,共46页,2022年,5月20日,4点50分,星期日第二节 中断系统结构及中断控制一、MCS-51系列单
10、片机中断系统结构第16页,共46页,2022年,5月20日,4点50分,星期日从上图可以看出,MCS-51系列单片机有:5个中断请求源:INT0、INT1、T0、T1、Tx/Rx 4个中断控制寄存器:IE、IP、TCON、SCON分别用于确定中断的类型、中断源的优先级以及中断的开、闭。二、MCS-51系列单片机中断源 INT0:外部中断0请求,低电平有效 INT1:外部中断1请求,低电平有效 T0:定时/计数器0溢出中断请求 T1:定时/计数器1溢出中断请求 Tx/Rx:串行口通信中断请求当外部对应引脚为低电平时,便请求中断。当定时/计数器中计数结果发生计数溢出时,请求中断。串行口完成一帧数据
11、的发送或接收时,便请求中断。第17页,共46页,2022年,5月20日,4点50分,星期日中断源及对应的中断服务程序入口地址:外部中断0(INT0) 0003H外部中断1(INT1) 0013H定时器T0中断(T0) 000BH定时器T1中断(T1) 001BH串行口中断 0023H说明:两个相邻中断源中断服务程序入口地址相距仅8个单元,一般的中断服务程序8个存储单元是远远不够的,因此,通常会在相应中断服务程序入口地址单元存放一条无条件转移指令LJMP,这样,就可以把中断服务程序放在其他区域执行。第18页,共46页,2022年,5月20日,4点50分,星期日三、中断控制4个特殊功能寄存器用于中
12、断控制。 定时/计数控制器TCON 串行口控制寄存器SCON 中断允许寄存器IE 中断优先寄存器IP第19页,共46页,2022年,5月20日,4点50分,星期日 定时/计数控制寄存器TCON(字节地址为88H)TF1定时/计数器T1的溢出中断请求标志位。T1被启动计数后,从初值开始加1计数,直至计满溢出,硬件使TF11,向CPU请求中断。TF0定时/计数器T0的溢出中断请求标志位。T0被启动计数后,从初值开始加1计数,直至计满溢出,硬件使TF01,向CPU请求中断。IE1外部中断1的中断请求标志位(INT1)IE0外部中断0的中断请求标志位(INT0)第20页,共46页,2022年,5月20
13、日,4点50分,星期日IT1外部中断1的中断触发控制位IT10,外部中断1为电平触发方式IT11,外部中断1为边沿触发方式IT0外部中断0的中断触发控制位IT00,外部中断0为电平触发方式IT01,外部中断0为边沿触发方式 当检测到外部中断引脚上存在有效中断请求信号时,由硬件使IE11或IE01,CPU响应中断,转向中断服务程序。第21页,共46页,2022年,5月20日,4点50分,星期日 串行口控制寄存器SCON(字节地址为98H)TI(Transmit)串行口发送中断请求标志位 CPU将一个数据写入发送缓冲器时,就启动发送,每发送完一帧串行数据后,硬件自动置位TI,使TI1,则产生中断,
14、要求CPU相应中断,再将下一个数据写入发送缓冲器。必须在中断服务程序中用软件对TI标志清“0”!RI(Receive)串行口接收中断请求标志位每接收完一个串行帧,就硬件置位RI。必须在中断服务程序中用软件对TI标志清“0”!第22页,共46页,2022年,5月20日,4点50分,星期日 中断允许寄存器IE(字节地址为A8H)EA中断允许总控制位EA=1,CPU打开中断(但各中断源是允许还是禁止,将分别由各自的允许位确定)EA=0,CPU屏蔽所有中断(即:若EA=0,则各中断源的允许位即使是允许状态,也被禁止)ES串行口中断允许位ES=1,允许串行口中断ES=0,禁止串行口中断CPU对中断源的开
15、放或屏蔽,由片内的中断允许寄存器IE控制。第23页,共46页,2022年,5月20日,4点50分,星期日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”,禁止中断。第24页,共46页,2022年,5月20日,4点50分,星期日例:设置允许片
16、内定时/计数器中断,禁止其他中断时IE寄存器的值。10001010解:则对应IE寄存器的值如下所示法 字节操作指令MOV IE,8AH法 位操作指令CLR ES ;CLR EX1; CLR EX0;SETB ET0;SETB ET1;SETB EA ;禁止串行口中断禁止外部中断1中断禁止外部中断0中断允许定时/计数器T0中断允许定时/计数器T1中断CPU开总中断第25页,共46页,2022年,5月20日,4点50分,星期日 中断优先级寄存器IP(字节地址为B8H)中断优先级当两个或两个以上的中断源同时向CPU提出中断申请时,CPU会根据系统设计人员安排好的中断源的优先顺序来依次响应中断。中断嵌
17、套CPU正在处理一个中断请求时,又出现了另一个优先级比它高的中断请求,这时,CPU就暂时中止对当前优先级较低的中断源的服务,转去响应优先级更高的中断请求,并为其服务,待服务结束,再继续执行原来较低级的中断服务程序。第26页,共46页,2022年,5月20日,4点50分,星期日MCS-51系列单片机可人工设置的中断优先级为2级:高优先级、低优先级,由中断优先级寄存器IP控制。PS串行口中断优先控制位PS=1,高优先级中断;PS=0,低优先级中断。第27页,共46页,2022年,5月20日,4点50分,星期日PT1定时器T1中断优先级控制位PT1=1,高优先级中断PT1=0,低优先级中断PX1外部
18、中断1中断优先级控制位PX1=1,高优先级中断PX1=0,低优先级中断PT0定时器T0中断优先级控制位PT0=1,高优先级中断PT0=0,低优先级中断PX0外部中断0中断优先级控制位PX0=1,高优先级中断PX0=0,低优先级中断即:对应位为“1”,相应中断源设定为“高优先级”中断;对应位为“0”,相应中断源设定为“低优先级”中断。第28页,共46页,2022年,5月20日,4点50分,星期日注意:当系统复位时,IP值为00H,即所有中断源均被设置为低优先级中断! 如果几个同一优先级的中断源同时提出中断申请,则按自然优先级来响应中断。中断源外部中断0(INT0)定时/计数器中断(T0)外部中断
19、1(INT1)定时/计数器中断(T1)串行口中断自然优先级最高级最低级第29页,共46页,2022年,5月20日,4点50分,星期日四、中断系统初始化就是对之前所介绍的4个中断控制寄存器的值进行设置!步骤: 设定所用中断源的中断优先级(IP) 若为外部中断,设定是电平触发还是边沿触发方式(TCON) 打开相应的中断源中断(IE)第30页,共46页,2022年,5月20日,4点50分,星期日例:设定外部中断1(INT1)为高优先级中断,用低电平触发方式,对中断系统初始化。中断优先级寄存器IP:PSPT1PX1PT0PX0定时/计数控制寄存器TCON:TF1TR1TF0TR0IE1IT1IE0IT
20、0中断允许寄存器IE:EAESET1EX1ET0EX0解:题目中涉及到的中断控制寄存器如下:第31页,共46页,2022年,5月20日,4点50分,星期日法 字节操作指令MOV IP,04H;ANL TCON,0FBH;MOV IE,84H;设定中断优先级设定INT1中断请求,且为低电平触发方式设定相应中断源打开法 位操作指令SETB PX1;CLR IT1;SETB EA;SETB EX1;设定INT1为高优先级中断设定INT1为低电平触发打开中断允许总控制位打开INT1的中断允许位第32页,共46页,2022年,5月20日,4点50分,星期日第三节 中断处理过程中断的处理包括以下四个过程:
21、 中断请求 中断响应 中断处理 中断返回第33页,共46页,2022年,5月20日,4点50分,星期日一、中断请求 中断请求是中断源向CPU发出请求中断的信号,要求CPU中断原来执行的程序,转去为它服务。一般中断请求信号可以是电平信号,也可以是脉冲信号。中断请求信号应该已知保持到CPU作出反应时为止。二、中断响应 中断响应是在满足CPU的中断响应条件后,CPU对中断源中断请求的回答。CPU的中断响应条件:(1)有中断源发出中断请求。(2)中断总允许位EA=1。(3)请求中断的中断源的中断允许位为1。第34页,共46页,2022年,5月20日,4点50分,星期日 中断处理就是执行中断服务程序,从
22、中断入口地址开始执行,直到返回指令(RETI)为止。此过程一般包括三部分内容:(1)保护现场(2)处理中断源的请求(3)恢复现场三、中断处理四、中断返回 中断返回是指中断服务完成后,CPU返回到原程序的断点(即原来断开的位置),继续执行原来的程序。 中断返回通过执行中断返回指令RETI来实现。 切忌:不能用RET指令代替RETI指令!第35页,共46页,2022年,5月20日,4点50分,星期日中断请求的撤除 CPU响应某中断请求后,在中断返回前,应该撤消该中断请求,否则会引起另一次中断。不同中断源中断请求的撤除方法是不一样的。 在CPU响应中断后,硬件不能清除中断请求标志TI和RI,而要由软
23、件来清除相应的标志。 定时/计数器溢出中断请求的撤除 CPU在响应中断后,硬件会自动清除中断请求标志TF0或TFl。 串行口中断的撤除第36页,共46页,2022年,5月20日,4点50分,星期日 外部中断为电平触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0或IEl,但由于加到INT0或INT1引脚的外部中断请求信号并未撤除,中断请求标志IE0或IEl会再次被置1,所以在CPU响应中断后应立即撤除INT0或INT1引脚上的低电平。 外部中断的撤除 外部中断为边沿触发方式时,CPU响应中断后,硬件会自动清除中断请求标志IE0或IEl。例:P1口做输出口,控制八只灯(P1口输出低电
24、平时灯被点亮),利用手控单脉冲信号作为外部中断信号,控制八只灯按一定的规律循环点亮。解:手控单脉冲信号作为外部中断信号由INT0(P3.2)管脚输入 设置中断允许寄存器IE中的EA、EX0位为1; 只有一个中断源可不设置优先级别; 中断触发方式设为边沿触发,控制位IT0应设置为1。第37页,共46页,2022年,5月20日,4点50分,星期日参考程序: ORG 0000H; LJMP MAIN; ORG 0003H; LJMP INT; ORG 0050H;MAIN:SETB EA; SETB EX0; SETB IT0; MOV A,0FEH MOV P1,A SJMP $; ORG 010
25、0H;INT: RL A; MOV P1,A RETI END程序入口转向主程序外部中断0的入口地址转向中断服务程序主程序存放开始地址打开中断允许总控制位打开INT0的中断允许位INT0的中断触发方式为边沿触发等待中断中断程序存放开始地址中断服务程序第38页,共46页,2022年,5月20日,4点50分,星期日例:将P1口的P1.0P1.3作为输入位,P1.4P1.7作为输出位,要求利用8051单片机外部中断方式,将通过开关所设的数据读入单片机,然后输出驱动发光二极管,以验证低四位输入与高四位输出是否相符,采用外部中断0边沿触发方式。分析: 当S4接a处时,a为低电平,b为高电平,则输出到IN
26、T0为高电平,中断无效; 当S4接b处时,a为高电平,b为低电平,则输出到INT0为低电平,此时产生外部中断; 中断源为INT0,对应中断入口地址为0003H; 输入P1.0P1.3对应输出P1.4P1.7,即P1.0对应P1.4,当P1.0的S0关闭后,P1.0为低电平,输出到对应P1.4,则发光二极管导通发光。第39页,共46页,2022年,5月20日,4点50分,星期日参考程序: ORG 0000H AJMP MAIN; ORG 0003H AJMP INT0; ORG 0100H;MAIN: SETB EX0; SETB IT0; SETB EA;HERE:SJMP HERE; ORG 0200H;INT0: MOV A,#0FFH MOV P1,A; MOV A,P1; SWAP A; MOV P1,A; RETI; END转向主程序转向中断服务子程序主程序允许外部中断0中断选择边沿触发方式打开CPU总中断等待中断中断服务子程序先给P1口赋8位高电平,使二极管都灭正确输入P1口数据P1口数据高4位与低4位互换输出驱动发光二极管发光中断返回第40页,共46页,2022年,5月20日,4点50分,星期日练习题1:1、试编写一段对中断系统进行初始化的程序,使之允许INT0、INT1、T0和串行口中断,且使串行口中断为高优先级中断,INT0为电平触发方式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电子劳动合同企业HR使用手册
- 办公大楼物业管理委托合同范例二零二五年
- 中医师承合同书
- 二零二五版采矿权质押借款合同
- 二零二五买卖煤矸石协议合同书
- 建筑工程项目股份合作协议二零二五年
- 养老院承包经营合同
- 正规物流运输合同二零二五年
- 2025项目施工合同范本(标准版)
- 2025石墨型炭黑建设项目 沸腾炉系统工程安装合同
- 天津市河东区2024-2025学年九年级下学期结课考试化学试题(含答案)
- 动物疾病的临床表现试题及答案
- 广东省广州市2025届高三下学期综合测试(一)英语试卷
- 山东省济南育英中学 2024-2025学年下学期七年级3月月考英语试题(原卷版+解析版)
- 2024年全国高考体育单招考试语文试卷试题(含答案详解)
- GB/T 11344-2021无损检测超声测厚
- 胬肉攀晴中医护理常规
- 电力行业迎峰度夏措施检查情况表
- 煤矿培训教案机电安全知识
- 建设工程竣工联合验收申请报告及意见表
- 淮安钵池山公园景观项目分析
评论
0/150
提交评论