版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中断的基本概念MCS-51的中断系统中断源和中断标志中断的允许和优先权中断的处理过程中断的实例第
章
中断系统本章内容SingleChipMicrocomputer中断系统5.1中断的基本概念日常生活中断的例子单片机中的中断概念中断技术的优点日常中断的例子返回你正在专心看书,突然电话铃响,于是你记下正在看的书的页数,去接电话,接完电话后再回来接着看书。计算机中的中断概念返回中断是指由于某种随机事件的发生,计算机暂停现行程序的运行,转去执行另一程序,以处理发生的事件,处理完毕后又自动返回原来的程序继续运行。将能引起中断的事件称为中断源。CPU现行运行的程序称为主程序。处理随机事件的程序称为中断服务子程序。
中断技术的优点分时操作
——CPU可以同多个外设“同时”工作实时处理
——CPU及时处理随机事件故障处理
——电源掉电、存储出错、运算溢出
分时操作:计算机的中断系统可以使CPU与外设同时工作。CPU在启动外设后,便继续执行主程序;而外设被启动后,开始进行准备工作。当外设准备就绪时,就向CPU发出中断请求,CPU响应该中断请求并为其服务完毕后,返回原来的断点处继续运行主程序。外设在得到服务后,也继续进行自己的工作。因此,CPU可以使多个外设同时工作,并分时为各外设提供服务,从而提高了CPU的利用率和输入输出的速度。实时处理:当计算机用于实时控制时,请求CPU提供服务时随机发生的。有了中断系统,CPU就可以立即响应并加以处理。故障处理:计算机在运行时往往会出现一些故障,如断电、存储器奇偶校验出错、运算溢出等。有了中断系统,当出现上述情况时,CPU可及时转去执行故障处理程序,自行处理故障而不必停机。5.2MCS-51中断系统中断源中断标志中断允许中断优先级MCS-51中断系统结构中断寄存器
MCS-51的中断系统——中断源8051单片机有5个中断请求源:单片机INT0或外部输入中断源INT0(P3.2)INT1或外部输入中断源INT1(P3.3)T0片内定时器T0的溢出T1片内定时器T1的溢出串行口片内串行口发送或接收中断源中断源:I/O设备键盘、打印机、A/D转换器、D/A转换器完成自身的操作后向CPU申请中断,请求服务硬件故障电源断电时,需要将寄存器、累加器、标志位保存,以便重新供电后继续运行RAM存储器断电时将内容保存在如硬盘、FLASHROM中,以便供电恢复后继续工作实时时钟系统中的时钟可以采用独立时钟系统,通过中断向CPU提供时钟源,节省CPU的处理时间调试程序时设置的中断程序调试时,通过设置断点观察运行中的寄存器、累加器、标志位状态;观察中间运算结果
MCS-51的中断系统——中断标志CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中断源中断标志位每一个中断源都有相应的中断标志位;某一个中断源申请中断,相应中断标志位置1。
MCS-51的中断系统——中断允许CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TIRI中断源中断标志位
EA——总中断允许位,EA=1开放所有中断,EA=0,禁止所有中断;某一个中断源还有相应的中断允许位,1允许相应中断源的中断,0禁止相应中断源的中断。中断允许ESET0EX0EX1ET1EA
MCS-51的中断系统——中断优先级CPU主程序INT0INT1T0T1串口IE0TF0IE1TF1TISI中断源中断标志位
单片机中有两个中断优先级,即高优先级中断和低优先级中断,前者优先权高于后者(在程序中设置,相应位=1,为高优先级);同一优先级别的中断源按照自然优先级顺序确定优先级别(硬件形成,无法改变)。中断允许ESET0EX0EX1ET1EA自然优先级高低优先控制PSPT0PX0PX1PT1上页下页源允许中断系统总体逻辑结构总允许优先级自然优先级中断源自然优先级中断源查询硬件查询硬件低级中断请求送CPU矢量地址送PCIPIETCON
SCONEX0ET0EX1ET1ESEAINT0INT1T0T1RXTXRITIIE0IE1TF0TF1
IT1
011010101010矢量地址送PC高级中断请求送CPUIT0
01中断标志中断标志INT01IE0自然优先级矢量地址送PC“+1”TF10自然优先级矢量地址送PCEA“+1”“+1”EX0ET11P3.2P3.3P3.4P3.5MCS51中断系统有以下四个特殊功能寄存器:①定时器控制寄存器TCON(用六位)②串行口控制寄存器SCON(用二位)③中断允许寄存器IE④中断优先级寄存器IP1、中断请求标志中断系统
MCS-51的中断系统——中断控制1)、定时/计数器控制寄存器TCON
TCON(88H)TF1
TF0
IE1
IT1
IE0IT0
INT1
INT0触发方式控制位0
低电平触发1
边沿↓触发
INT1
INT0外部中断请求标志1有效触发时0
当CPU响应中断时T1T0溢出标志1
计数器“+1”有溢出时,并向CPU请求中断0
当CPU响应中断时,也可由指令清除TR1TR0由硬件自动由硬件自动上页下页中断请求标志可编程控制位TR1TR0由硬件自动由硬件自动引脚00记录有无中断记录有无中断中断系统2)、串行口控制寄存器SCONTI:串行口发送中断标志在方式0,串行发送到第8位结束时,由硬件置“1”;或在其他方式中,串行发送到停止位的开始时,由硬件置“1”,RI:串行口接收中断标志上页下页在方式0,串行接收到第8位结束时,由硬件置“1”;或在其他方式中,串行接收到停止位的开始时,由硬件置“1”,“1”发送完一帧数据后“1”接收完一帧数据后必须由软件清“0”必须由软件清“0”
SCON(98H)
TIRI中断系统2、中断允许控制在中断源与CPU之间有二级中断允许控制逻辑电路,类似开关,其中第一级为一个总开关,第二级为五个分开关,由IE控制。应当指出:在89C51复位时,IE各位被复位成“0”状态,CPU因此而处于关闭所有中断状态。所以,在89C51复位以后,用户必须通过主程序中的指令来开放所需中断,以便相应中断请求来到时被CPU所响应。
中断系统中断允许寄存器IE
EA/
/
ES
ET1
EX1
ET0
EX0INT0INT1T1T0UARTCPU0
禁止1
允许0
禁止1
允许总中断总中断中断中断IE(A8)中断的开放和禁止是可控,可编程的CPUIE的相应位被置“0”
或“1”
该相应中断即被“禁止”或“开放”上页下页中断系统3、中断优先级控制CPU同一时间只能响应一个中断请求。若同时来了两个或两个以上中断请求,就必须有先有后。!!!为此将5个中断源分成高级、低级两个级别,高级优先,由IP控制。中断系统1)、中断优先级寄存器IP
//
/
PS
PT1
PX1
PT0
PX0IP(B8)INT0INT1T1T0UART0
低级1高级中断中断中断优先级是可控,可编程的上页下页2)、优先级结构中断优先级控制遵循的两个基本原则:⑴一个正在执行的低级中断服务程序,能被高优先级中断请求所中断,但不能被同优先级中断请求所中断。⑵一个正在执行的高级中断服务程序,不能被任何中断请求所中断,直到返回。中断系统
在同级的几个中断源中同时发生请求时,内部对同级的各中断源的优先级别有一个规定的查询顺序:外部中断请求
INT0定时/计数器T0定时/计数器T1串行口UART定时/计数器T2外部中断请求
INT1最高最低上页下页自然优先级自然优先级出厂前已由厂家固化顺序——事先约定中断优先原则:(概括为四句话)1、低级不打断高级2、高级不睬低级3、同级不能打断4、同级、同时中断,事先约定。CPU在执行主程序低级中断请求响应低级中断请求CPU执行低级中断服务程序高级中断请求响应高级中断请求CPU执行高级中断服务程序返回低级中断程序返回主程序二级中断嵌套的中断运行过程例:设89C51的片外中断为高优先级,片内中断为低优先级。试设置IP相应值。(a)用字节操作指令
MOVIP,#05H或MOV0B8H,#05H(b)用位操作指令
SETBPX0SETBPX1CLRPSCLRPT0CLRPT1IP中断处理过程
中断处理过程分为三个阶段:中断响应、中断处理和中断返回。中断响应中断处理(又称中断服务)中断返回
中断请求的撤除
中断响应中断返回中断响应(以外部中断0为例)中断响应:在满足CPU的中断响应条件之后,CPU对中断源中断请求予以处理。中断响应过程:保护断点地址;中断响应把程序转向中断服务程序的入口地址(通常称矢量地址)。特别注意:这些工作是硬件自动完成的!
断点地址中断服务子程序的入口地址外部中断0入口地址0003ZD0AJMPORG0003HAJMPZD0ZD0中断响应中断服务子程序入口地址又称为中断矢量或中断向量。中断响应单片机中5个中断源的矢量地址是固定的,不能改动。断点地址中断服务子程序的入口地址程序存储器ROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH使用时,通常在这些入口地址处存放一条跳转指令,使程序跳转到用户安排的中断服务程序起始地址上去!程序存储器ROM0000H:复位后,程序的入口地址(PC=0000H)0023H:串行口中断入口0003H:外部中断0入口000BH:定时器0溢出中断入口0013H:外部中断1入口001BH:定时器1溢出中断入口002AH包含T0中断服务子程序的程序结构:
ORG0000H AJMPMAIN
ORG000BH AJMPINTT0
ORG0100HMAIN:...INTT0:...RETIENDAJMPMAINAJMPINTT0中断处理中断服务程序从中断子程序入口地址开始执行,直到返回指令RETI为止,这个过程称为中断处理(或中断服务)。中断服务子程序一般包括两部分内容,一是保护和恢复现场,二是处理中断源的请求。中断响应入口地址RETI中断处理INTT0:PUSHACC PUSHDPHPUSHDPLPUSHPSW
中断源服务
POPPSW
POPDPLPOPDPHPOPACCRETI保护现场恢复现场中断返回中断返回是指中断服务完后,计算机返回到原来暂停的位置(即断点),继续执行原来的程序。中断返回由专门的中断返回指令RETI来实现。中断响应中断返回中断返回RETI指令功能:把断点地址取出,送回到程序计数器PC中去。另外,它还通知中断系统已完成中断处理,将清除优先级状态触发器。特别注意:不能用RET指令代替RETI指令!中断响应中断返回中断处理过程示意图中断源发中断请求中断响应条件是否满足?中断是否受阻?
把PC断点地址压入堆栈
相应中断源的中断入口地址送入PC,转向中断服务程序NYYN
由硬件自动完成
关中断保护现场中断服务
开中断
关中断恢复现场
开中断中断返回断点地址由堆栈弹入PC保护现场和恢复现场的过程中不允许中断,以免现场遭到破坏。保护和恢复现场之后的开中断是为了允许有更高级中断打断此中断服务程序。中断服务程序硬件自动完成中断请求的撤除
CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断。
定时器0或1溢出:CPU在响应中断后,硬件清除了有关的中断请求标志TFO或TF1,即中断请求是自动撤除的。
边沿激活的外部中断:CPU在响应中断后,也是用硬件自动清除有关的中断请求标志IE0或IE1。
串行口中断:CPU响应中断后,没有用硬件清除T1、R1,故这些中断不能自动撤除,而要靠软件来清除相应的标志。电平触发外部中断撤除方法较复杂。因为在电平触发方式中,CPU响应中断时不会自动清除IE1或IE0标志,所以在响应中断后应立即撤除INT0或INT1引脚上的低电平。在硬件上,CPU对INT0和INT1引脚的信号不能控制,所以这个问题要通过硬件,再配合软件来解决。电平激活的外部中断源中断标志的撤除一、主程序1.主程序的起始地址89C51系列单片机复位后,(PC)=0000H0003H~002BH分别为各中断源的入口地址编程时应在0000H处写一条跳转指令(一般为长跳转指令),主程序是以跳转的目标地址作为起始地址开始编写,一般从0030H开始,如图所示0000HLJMP00300030H主程序§5.4中断程序举例矢量地址2、主程序的初始化内容初始化将用到的内部部件或扩展芯片进行初始工作状态设定。特殊功能寄存器初始化设置单片机复位后,特殊功能寄存器IE、IP内容均为00H,所以应对IE、IP进行初始化编程,以开放中断,允许某些中断源中断和设置中断优先级等。中断系统二、中断服务程序1.中断服务程序的起始地址中断系统对五个中断源分别规定了各自的入口地址,但这些入口地址相距很近(8个字节)如中断服务程序的指令代码少于8个字节,则可从规定的中断服务程序入口地址开始,直接编写中断服务程序如中断服务程序的指令代码大于8个字节,则应采用与主程序相同的方法,在相应的入口处写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的起始地址进行编程矢量地址2、中断服务程序编制中的注意事项(1)视需要确定是否保护现场;(2)及时清除那些不能被硬件自动清除的中断请求标志,以免产生错误的中断;(3)中断服务程序中的压栈(PUSH)与出栈(POP)指令必须成对使用,以确保中断服务程序的正确返回;(4)主程序和中断服务程序之间的参数传递与主程序和子程序的参数传递方式相同。例:如图所示,将P1口的P1.4~P1.7作为输入位,P1.0~P1.3作为输出位。要求利用89C51将开关所设的数据读入单片机内,并依次通过P1.0~P1.3输出,驱动发光二极管,以检查P1.4~P1.7输入的电平情况(若输入为高电平则相应的LED亮)。现要求采用中断边沿触发方式,每中断一次,完成一次读/写操作。源程序:
ORG0000HAJMPMAINORG0003HAJMPINSERORG0030HMAIN:SETBEX0SETBIT0SETBEAHERE:SJMPHERE
中断服务子程序:
ORG0200HINSER:MOVA,#0F0HANLP1,AMOVA,P1SWAPAMOVP1,ARETI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第三单元 主题活动四《自主选题:桥梁知多少》(说课稿)-2023-2024学年四年级下册综合实践活动内蒙古版001
- 一上第八单元 家中的安全与健康(说课稿)-小学道德与法治核心素养学科教学专题培训系列
- 2024施工合同管理范例
- 外科护理临床路径
- 2024版:股东会决议执行协议
- 围棋拜师协议书
- 《分类与回归问题》课件
- 公司法基础知识
- 金华市南苑初级中学(金华市第十三中学)人教版八年级下册历史与社会第七单元第二课 工人的斗争与马克思主义的诞生说课稿
- 2024版房地产代理出售合同3篇
- 2024-2025学年北师版八年级物理上册期末考试综合测试卷
- 福建省福州市2023-2024学年高一上学期期末质量检测英语试题 含答案
- 2023-2024学年广东省广州市白云区八年级(上)期末数学试卷及答案解析
- 锥坡工程量计算
- 植物园设计规范
- 《仪器分析》课后习题答案
- 浅层气浮的工艺原理及操作
- 北京保险中介行业营销员增员及流动自律公约
- 深圳市建设工程施工围挡图集(试行版_下半部分).pdf
- 热水器3c安全试验报告及第三方检测报告dsf65mx ts tx ws wx ys yx ms
- 南洋电工GSB1A型16锭高速编织机使用说明书
评论
0/150
提交评论