已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章MCS51系列单片机的中断系统及定时计数器,中断的基本概念MCS-51的中断系统中断源和中断标志中断的允许和优先权中断的处理过程外部中断源的扩展中断的应用,中断系统,中断的基本概念,日常生活中断的例子单片机中的中断概念中断技术的优点什么是中断,我们从生活中的例子引入。看书的例子:你正在看书,突然电话铃响了,.。中断就是正常的工作被外部事件打断了。,日常生活中的中断,仔细研究一下生活中的中断,对于我们学习计算机中的中断也很有好处。1、什么可以引起中断?生活中有很多事件可以引起中断:有人按了门铃,电话铃响了,你的闹钟铃响了,你烧的水开了,你内急了.等等诸如此类的事件,我们把可以引起中断的事件称之为中断源。计算机中也有一些可以引起中断的事件,像MCU51单片机就有5个中断源。,2、中断的嵌套与优先级处理:设想一下,我们正在看书,电话铃突然响了,同时又有人按了门铃,你该先做那样呢?如果你正在等一个很重要的电话,你一般不会去理会门铃的,而反之,你正在等一个很重要的客人,则可能就不会去理会电话了。如果不是这两者(即不等电话,也不等人上门)你可能会按你通常的习惯去处理。总之这里存在一个优先级问题。优先级问题不仅仅发生在两个或以上的中断同时产生的情况,也发生在一个中断已经产生,又有一个中断产生的情况。如你正在接电话,有人按门铃的情况,或你正在开门与人交谈,又有电话铃了的情况。考虑一下我们会怎么办吧。,3、中断的响应过程:(看书的例子)当有事件产生,进入中断之前我们必须先记住现在看书的第几页了,或拿一个书签放在当前页的位置,然后去处理不同的事情(因为处理完了,我们还要来继续看书)。(接电话的例子)电话铃响了我们要到放电话的地方去,门铃响了,我们要到门那边去,也就是说,不同的中断,我们要在不同的地点处理,而这个地点通常还是固定的,这也和计算机中的中断类似,如51MCU的5个中断源都有各自的中断入口地址,当某个中断源产生中断时,CPU响应中断便到相应的中断入口地址执行程序。,计算机中的中断计算机执行正常程序时,系统出现某些急需处理的异常情况和特殊请求,CPU暂时中止现在正在执行的的指令,转去对随机发生的更紧迫事件处理;处理完后,CPU会自动返回原来的程序继续执行。就如:你正在家中看书,突然电话铃响了,你放下书本,去接电话,和来电话的人交谈,然后放下电话,回来继续看你的书。这就是生活中的“中断”的现象,就是正常的工作过程被外部的事件打断了。,计算机中的中断,计算机中的中断,中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源。CPU现行运行的程序称为主程序。处理随机事件的程序称为中断服务子程序。,中断技术的优点,分时操作CPU可以同多个外设“同时”工作实时处理CPU及时处理随机事件故障处理电源掉电、存储出错、运算溢出,MCS-51中断系统,中断源中断标志中断允许中断优先级MCS-51中断系统结构中断寄存器,MCS-51的中断系统中断源,8051单片机有5个中断请求源:,单片机,MCS-51的中断系统中断标志,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,每一个中断源都有相应的中断标志位;某一个中断源申请中断,相应中断标志位置1。,MCS-51的中断系统中断允许,CPU,主程序,INT0,INT1,T0,T1,串口,IE0,TF0,IE1,TF1,中断源,中断标志位,EA总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断;某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。,中断允许,ES,ET0,EX0,EX1,ET1,EA,IE0,TCON,SCON,TF0,IE1,TF1,T0,T1,TI,RI,TXD,RXD,ES,ET0,EX0,EX1,ET1,EA,自然优先级,矢量地址,高级中断请求,自然优先级,矢量地址,低级中断请求,PX0,PT0,PX1,PT1,PS,IE,IP,MCS-51的中断系统结构图,中断标志位,中断源允许,总允许,中断优先级,TCON,T1溢出中断标志(TCON.7):T1启动计数后,计满溢出由硬件置位TF1=1,向CPU请求中断,此标志一直保持到CPU响应中断后,才由硬件自动清0。也可用软件查询该标志,并由软件清0。,TCON寄存器T0和T1控制寄存器,TCON88H,外部中断INT1中断标志位(TCON.3):IE11,外部中断1向CPU申请中断,外部中断INT1触发方式控制位(TCON.2):IT1=0,电平触发方式IT1=1,下降沿触发方式,TCON寄存器T0和T1控制寄存器,注意:该寄存器可以位寻址。,TF1:定时器1的溢出中断标志。T1被启动计数后,从初值做加1计数,计满溢出后由硬件置位TF1,同时向CPU发出中断。TF0:定时器0溢出中断标志。其操作功能同TF1。IE1:外部中断1标志。IE1=1,外部中断1向CPU申请中断。IT1:外中断1触发方式控制位。当IT1=0时,外部中断1控制为电平触发方式。当IT1=1时,外部中断1控制为电平触发方式。IE0:外部中断0中断标志。其操作功能与IE1相同。IT0:外中断0触发方式控制位。其操作功能与IT1相同。,返回,TI(SCON.1)串行发送中断标志。RI(SCON.0)串行接收中断标志。,SCON寄存器串行口控制寄存器,SCON98H,注意:该寄存器可以位寻址。,TI:串行发送中断标志CPU将数据写入发送缓冲器SBUF时,就启动发送,每发送完一个串行帧,硬件将使TI置位。注意:CPU响应中断时并不清除TI,必须由软件清除。RI:串行接收中断标志在串行口允许接收时,每接收完一个串行帧,硬件将使RI置位。注意:CPU在响应中断时不会清除RI,必须由软件清除,IEA8H,例:允许定时器T0中断:SETBEASETBET0或MOVIE,#82H,注意:该寄存器可以位寻址。,IE寄存器中断允许寄存器,EA:总中断允许控制位。EA=1,开放所有中断,各中断源的允许和禁止可通过相应的中断允许位单独加以控制;EA=0,禁止所有中断。ES:串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。ET1:定时器1中断允许位。ET1=1,允许定时器1中断;ET1=0,禁止定时器1中断。EX1:外部中断1中断允许位。EX1=1,允许外部中断1中断;EX1=0,禁止外部中断1中断。ET0:定时器0中断允许位。ET0=1,允许定时器0中断;ET0=0,禁止定时器0中断。EX0:外部中断0中断允许位。EX0=1,允许外部中断0中断;EX0=0,禁止外部中断0中断。,51单片机有两个中断优先级高级和低级专用寄存器IP为中断优先级寄存器,用户可用软件设定相应位为1,对应的中断源被设置为高优先级,相应位为0,对应的中断源被设置为低优先级系统复位时,均为低优先级该寄存器可以位寻址,IP寄存器中断优先级寄存器,IPB8H,PS:串行口中断优先控制位PS=1,设定串行口为高优先级中断;PS=0,设定串行口为低优先级中断。PT1:定时器T1中断优先控制位PT1=1,设定定时器T1中断为高优先级中断;PT1=0,设定定时器T1中断为低优先级中断。PX1:外部中断1中断优先控制位PX1=1,设定外部中断1为高优先级中断;PX1=0,设定外部中断1为低优先级中断。PT0:定时器T0中断优先控制位PT0=1,设定定时器T0中断为高优先级中断;PT0=0,设定定时器T0中断为低优先级中断。PX0:外部中断0中断优先控制位PX0=1,设定外部中断0为高优先级中断;PX0=0,设定外部中断0为低优先级中断。当系统复位后,所有中断源均设定为低优先级中断。,中断的处理过程,中断处理过程分为三个阶段:中断响应、中断处理和中断返回。中断响应中断处理(又称中断服务)中断返回中断请求的撤除,中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。中断响应过程:保护断点地址;,把程序转向中断服务程序的入口地址(通常称矢量地址)。,特别注意:这些工作是硬件自动完成的!,断点地址,中断服务子程序的入口地址,外部中断0入口地址,AJMPZD0,ZD0,中断响应,中断服务子程序入口地址又称为中断矢量或中断向量。,单片机中5个中断源的矢量地址是固定的,不能改动。,断点地址,中断服务子程序的入口地址,中断响应,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!,程序存储器ROM,0000H:复位后,程序的入口地址(PC=0000H),0023H:串行口中断入口,0003H:外部中断0入口,000BH:定时器0溢出中断入口,0013H:外部中断1入口,001BH:定时器1溢出中断入口,002AH,包含T0中断服务子程序的程序结构:ORG0000HAJMPMAINORG000BHAJMPNTT0ORG0100HMAIN:.INTT0:.RETIEND,AJMPMAIN,AJMPINTT0,中断处理,中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。,入口地址,RETI,中断处理,INTT0:PUSHACCPUSHDPHPUSHDPLPUSHPSW中断源服务POPPSWPOPDPLPOPDPHPOPACCRETI,保护现场,恢复现场,中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现。,中断返回,RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。特别注意:不能用RET指令代替RETI指令!,中断返回,中断源发中断请求,中断响应条件是否满足?,中断是否受阻?,把PC断点地址压入堆栈,相应中断源的中断入口地址送入PC,转向中断服务程序,N,Y,Y,N,由硬件自动完成,中断处理过程示意图,关中断,保护现场,中断服务,开中断,关中断,恢复现场,开中断,中断返回,断点地址由堆栈弹入PC,中断服务程序,CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的。边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。,中断请求的撤除,电平触发外部中断撤除方法较复杂。因为在电平触发方式中,CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。在硬件上,CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。,电平激活的外部中断源中断标志的撤除,单片机仅有两个外部中断输入端.可用两种方法扩展:1.定时器T0,T1。(工作在计数方式下)2.中断和查询结合。,外部中断源的扩展,1用定时器作外部中断源例5.5将定时器T0扩展为外部中断源。,解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下:MOVTMOD,#06HMOVTH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEAT0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断T0脚相当于边沿触发的外部中断源输入线。,2中断和查询相结合,图:一个外中断扩展成多个外中断的原理图,中断服务程序如下:,ORG0003H;外部中断0入口AJMPINT0;转向中断服务程序入口INT0:PUSHPSW;保护现场PUSHACCJBP1.0,EXT0;中断源查询并转相应中断服务程序JBP1.1,EXT1JBP1.2,EXT2JBP1.3,EXT3EXIT:POPACC;恢复现场POPPSWRETI,EXT0:;EXINT0中断服务程序AJMPEXITEXT1:;EXINT1中断服务程序AJMPEXITEXT2:;EXINT2中断服务程序AJMPEXITEXT3:;EXINT3中断服务程序AJMPEXIT同样,外部中断1也可作相应的扩展。,中断的处理即为用户根据自己的需要编写的中断服务程序,在编写时应该注意:中断现场保护和恢复中断的现场保护主要是在中断时刻单片机的存储单元中的数据和状态的存储。中断的恢复是恢复单片机在被中断前存储单元中的数据和状态。开中断和关中断对于一个不允许在执行中断服务程序时被打扰的重要中断,可以在进入中断时关闭中断系统,在执行完后,再开放中断系统。,中断的处理,中断返回是在中断服务程序的最后一句指令“RETI”执行时进行的。它的主要功能是:中断响应时压入堆栈的程序计数器“PC”的值从堆栈中取出,重新赋予“PC”,使程序重新执行被中断前的程序。,中断返回,MCS-51单片机具有两个外中断源:INT0:外中断0中断入口地址:0003H中断允许控制位:EX0中断请求标志:IE0中断触发方式选择位:IT0优先级设置位:PX0INT1:外中断1中断入口地址:0013H中断允许控制位:EX1中断请求标志:IE1中断触发方式选择位:IT1优先级设置位:PX1,初始化时设置,初始化时设置,MCS-51单片机的外中断,外中断的初始化内容设定中断的优先级(在大部分情况下,可以使用默认方式)设定中断的触发方式开中断允许开总中断允许,外中断的初始化,方法1CLRPX0;设定外中断0为低优先级SETBIT0;设定外中断0为边沿触发方式SETBEX0;开放外中断0允许SETBEA;开CPU中断允许方法2MOVIP,#00H;设定外中断0为低优先级MOVTCON,#01H;设定外中断0为边沿触发方式MOVIE,#81H;开外中断0和CPU中断允许,外中断的初始化,在如图所示的电路中,用P1口输出控制的8只发光二极管,实现8位二进制计数器,对INT0上出现的脉冲进行计数。,脉冲产生电路,显示电路,外中断应用举例1,在该电路中,有两个与非门构成硬件去抖动电路,开关S每动作一次,在单片机的INT0引脚上就会收到一个脉冲信号。如果把外中断0设定为脉冲触发方式,则每当S动作一次,则外中断触发一次在外中断的中断服务程序中计数,并把计数的结果从P1口输出。,题意分析,ORG0000HAJMPMAIN;转主程序ORG0003H;外中断入口地址AJMPSER;中断服务程序MAIN:SETBIT0;设定外中断
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脂肪醇装置操作工创新实践能力考核试卷含答案
- 药品购销员安全演练竞赛考核试卷含答案
- 标本保管员操作水平模拟考核试卷含答案
- 国有土地承包协议书
- 函数拔高-抽象函数(解析版)-高中数学必修第一册题型考点突破
- 教育观念进化
- 《openEuler系统管理与服务部署》课件 项目一 -02-openEuler操作系统概述
- 2025湖北东风资产管理有限公司招聘2人笔试历年参考题库附带答案详解
- 雅安文投中医药大健康产业发展有限公司公开招聘综合(党群)部门负责人笔试排名及笔试历年参考题库附带答案详解
- 2025湖南邵阳市新宁县城镇农村建设投资有限公司招聘综合笔试历年参考题库附带答案详解
- 人保非车险考试题及答案
- 绿色低碳建筑设计 课件全套 第1-8章 绿色低碳建筑设计概论-实践案例分析
- 《整合营销传播策略》课件
- 婴幼儿功能性消化不良综合征非药物干预专家共识(2024)解读
- 2025年中国装饰性石雕数据监测报告
- 大学生职业生涯规划书环境设计专业概述
- 2025年静电喷涂考试题及答案
- 人力资源部2025年度培训计划与总结
- 基于草酸和柠檬酸的功能化聚酯的设计、制备和性能研究
- 地下水污染治理与修复
- 吊顶的施工方案
评论
0/150
提交评论