




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第十二节 MCS-51单片机的中断系统12.1 中断的定义和作用中断是现代计算机必须具备的重要功能,也是计算机发展史上的一个重要里程碑。因此,建立准确的中断概念和灵活掌握中断技术是学好本门课程的关键问题之一。12.1.1中断的定义 什么是中断?在日常生活中经常有中断现象发生:你正在写报告,电话铃响了(一个中断),你写完正在写的字或句子,然后去接电话;听完电话以后,你又回来从被打断的地方继续写。在这个比喻中,电话铃声相当于向你请求中断。在你接到中断请求后,停下正在做的工作(写报告)接完电话后,又继续原来的工作。这一过程就是完成了一次中断处理过程。如果不设中断请求(电话铃声),我们就会被置于可笑的
2、境地:你写了报告中的几个字以后,拿起电话听听是否有人呼叫;如果没有,放下电话再写几个字,接着再一次检查这个电话。很明显,这种方法浪费了一个重要的资源你的时间。这个简单的比喻说明了中断功能的重要性。没有中断技术,CPU的大量时间可能浪费在状态信息的查询操作上。计算机的中断是指中央处理器CPU正在处理某件事情的时候,外部发生了某一事件(如一个电平的变化,一个脉冲沿的发生,或定时器计数溢出等)请求CPU迅速去处理,于是,CPU暂时中断当前的工作,转入处理所发生的事情;中断服务处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断,如图11.1所示。实现这种功能的部件称为中断系统(中断
3、机构),产生中断的请求源称为中断源。12.1.2 中断的作用 按照这一思想制成的现代计算机有以下优点:(1)提高CPU的工作效率 CPU有了中断功能可以通过分时操作启动多个外设同时工作,并能对它们进行统一管理。CPU执行人们在主程序中安排的有关指令可以令外设和它并行工作,而且任何一个外设在工作完后(例如打印完第一个数的打印机)都可以通过中断得到满意服务(例如:给打印机送第二个需要打印的数)。因此,CPU在和外设交换信息时通过中断就可以避免不必要的等待和查询,从而大大提高了它的工作效率。(2)可以提高实时数据的处理时效 在实时控制系统中,被控系统的实时参量、越限数据和故障信息都必须为计算机及时采
4、集、进行处理和分析判断,以便对系统实施正确调节和控制。因此,计算机对实时数据的处理时效常常是被控系统的生命,是影响产品质量和系统安全的关键。 CPU有了中断功能,系统的失常和故障都可以通过中断立即通知CPU,使它可以迅速采集实时数据和故障信息,并对系统作出应急处理。12.2 MCS-51的中断系统12.2.1 MCS-51中断系统的总体结构MCS51允许有5个中断源,提供两个中断优先级,可实现二级中断服务程序嵌套,(在一个中断服务子程序执行过程中,还可以产生中断)且每一个中断源可程控为高优先级中断或低优先级中断,可随时程控为开放或屏蔽。对中断的控制主要依靠片内的特殊功能寄存器:中断优先级控制寄
5、存器IP、中断允许控制寄存器IE和中断源寄存器TCON及SCON。MCS51中断系统的总体结构如图11.2所示。图11.2 MCS-51中断系统结构框图上图中,字符变量,TF0,TF1和TI或RI是5个中断请求源,其他字符变量如IT0、IE0、EX0和PX0等将会在下面中断请求源和中断控制两小节中介绍的有关中断控制的特殊功能寄存器中详细说明。能否把中断系统的学习与图11.2紧密地联系起来,是学好本节的关键。12.2.2 中断请求源8031提供5个中断请求源,两个由、 (P3.2,P3.3)输入的外部中断请求,两个为片内的定时器计数器溢出中断请求TF0、TFl,一个为片内的串行口中断请求TI或R
6、I,这些中断请求源分别由8031的特殊功能寄存器TCON和SCON的相应位所控制。TCON为定时器计数器的控制寄存器,它也锁存外部中断请求标志,其格式如下:IT0:选择外部中断请求0()为边沿触发式或电平触发方式的控制位。IT0=0为电平触发方式,低电平有效;IT01,为边沿触发方式,输入脚上由高到低的负跳变有效。IT0可由软件置“1”或清“0”(SETB IT0或CLR IT0)。IE0:外部中断0的中断申请标志。当IT0=0即电平触发方式时,每个机器周期的采样,若为低电平,则置“1”IE0,否则置“0”IE0。当IT0=1,即程控为边沿触发方式时,若第一个机器周期采样到为高电平,第二个机器
7、周期采样到为低电平时,则置“1”IE0。IE0为1表示外部中断0正在向CPU申请中断。当CPU响应该中断,转向中断服务程序时,由硬件清“0”IE0。(注意与图11.2相结合来学习,图中IT0是一开关量,开关向上拨,外部中断请求0,为电平触发方式,其为低电平时,请求有效,图中用一非门表示,中断请求标识位IE0随即置“1”。开关向下拨,为边沿触发式) ITl:选择外部中断请求1为边沿触发方式或电平触发方式的控制位,其作用和IT0类似。 IEl :外部中断l的中断申请标志。其意义和lE0相同。TF0和TF1:定时器中断是MCS51单片机内部的定时器定时时间到或计数值已满而引起的中断,共有2个中断源,
8、即定时器0中断和定时器l中断。在MCS-5l单片机内部有2个定时器T0和Tl,它们的计数器可以对内部时钟和从外部引线T0(P3.4)和T1(P3.5)输入的外部脉冲进行计数。当计数器加1计数溢出时,即表明定时时间到或计数值已满,这时就以计数器的溢出信号作为中断请求信号,去置位定时器溢出标志位TF0和TF1,向单片机的CPU申请中断。当8031复位后,TCON被清“0”。SCON为串行口控制寄存器,SCON的低二位,锁存串行口的接收中断和发送中断标志,其格式如下:TI或RI:串行口接收和发送中断是MCS5l单片机内部的串行口接收或发送一组串行数据所产生的中断,接收或发送只是1个中断源,简称串行口
9、中断。串行口内有接收发送缓冲器SBUF,发送时写入SBUF中的一组串行数据发送完后,就置位发送中断标志位TI,向MCS51单片机的CPU申请中断;接收时SBUF中接收到一组串行数据后,就置位接收中断标志位RI,向MCS-5l单片机的CPU申请中断。串行口中断请求由它的2个中断标志位TI和RI的逻辑或得到,就是说,无论是发送标志TI置位还是接收标志RI置位,都会产生串行口中断请求。值得注意的是发送标志TI和接收标志RI在CPU响应串行口中断后是不能被硬件自动复位的,故用户要在串行口中断服务程序中通过指令来使它复位。8031复位以后,SCON也被清“0”。12.2.3 中断控制8031CPU对中断
10、源的开放或屏蔽,是由片内的中断允许寄存器IE控制的,其格式如下: EA:8031CPU的中断开放标志。EA=1,CPU开放中断,EA0,CPU屏蔽所有的中断申请。 ES:串行口中断允许位。ES=1,允许串行口中断;ES=0,禁止串行口中断。 ETl:定时计数器T1的溢出中断允许位,ETl1,允许T1中断;ETl=0,禁止T1中断。 EXl:外部中断1中断允许位。EXl1,允许外部中断l中断;EXl0,禁止外部中断1中断。 ET0:定时器计数器T0溢出中断允许位。ET0=1,允许T0中断;ET0=0,禁止T0中断。EX0:外部中断0中断允许位。EX0l,允许外部中断0中断;EX00,禁止外部中断
11、0中断。(注意与图11.2相结合来学习,要使图11.2中中断请求源、TF0、TF1和TI或RI得到CPU的响应,并不是仅仅它们的中断标志位被置“1”即可,中断标志位被置“1”只说明相应的中断源正在向CPU申请中断,至于CPU能否响应中断申请,从图11.2中看出,还要经过两个关口,一是总中断开关EA必须合上,即中断允许寄存器IE中位EA需置“1”。若清“0”EA,则即使中断源向CPU申请中断,CPU也不会响应,因为总中断开关EA因EA=0而被拉开,所有中断申请被屏蔽。二是即使总中断开关EA合上,若分别控制五个中断源的开关EX0、EX1、ET0、ET1和ES中哪一个开关被打开,相应的中断源发出的中
12、断申请就不会被CPU响应。所以要使中断申请得到响应,必须经过这两关,缺一不可。)803l复位后,IE被清“0”,由用户程序置“1”或清“0”IE相应的位实现允许或禁止各中断的中断申请。若使某一个中断源允许中断,必须同时使CPU开放总中断开关和相应的中断源开关。更新IE的内容,可由位操作指令来实现(SETB BIT;CLR BIT),也可用字节操作指令实现(MOV IE, #data, ANL IE,#data;ORL IE,#data;MOV IE,A等)。 8031有两个中断优先级,对于每一个中断请求源可编程为高优先级中断或低优先级中断,可实现二级中断嵌套。一个正在被执行的低优先级中断服务程
13、序,能被高优先级中断所中断。若CPU正在执行高优先级的中断服务程序,则不能被任何中断源所中断,一直执行到结束,遇到返回指令RETI,返回主程序后,再执行一条指令才能响应新的中断源申请。为了实现上述功能,8031的中断系统有两个不可寻址的优先级状态触发器,一个指出CPU是否正在执行高优先级中断服务程序,另一个指出CPU是否正在执行低优先级中断服务程序,这两个触发器的l状态,分别屏蔽所有的中断申请和同一优先级的其他中断源申请。这两个优先级状态触发器的状态是“0”还是“1”无需用户干预,由单片机自动设置。8031的片内有一个中断优先级寄存器IP,其格式如下:PS:串行口中断优先级控制位。PS=1,串
14、行口中断定义为高优先级中断,PS=0,定义为低优先级中断。PTl:定时器1中断优先级控制位。PTl=l,定时器Tl定义为高优先级中断,PTl=0,定时器T1中断定义为低优先级中断。PXl:外部中断1中断优先级控制位。PXl=1,外部中断1定义为高优先级中断,PXl=0,外部中断1定义为低优先级中断。PT0:定时器0中断优先级控制位。PT0=1,定时器T0中断定义为高优先级中断,PT0=0,定时器T0定义为低优先级中断。PX0:外部中断0中断优先级控制位。PX0=1,外部中断0定义为高优先级中断。PX0=0,外部中断0定义为低优先级中断。中断优先级控制寄存器IP的各位都由用户程序置位和复位,可用
15、位操作指令或字节操作指令更新IP的内容,以改变各中断源的中断优先级,8031复位后IP为全0,各个中断源均为低优先级中断。在CPU接收到同样优先级的几个中断请求源时,(或者同为高优先级中断,或者同为低优先级中断)一个内部的查询序列确定优先服务于哪一个中断申请,这样在同个优先级里,由查询序列确定了优先级结构,其优先级别排列如表11.1。表11.1 同一中断优先级中的中断优先级排列表中 断 源入口地址同一级的中断优先级IE0 外部中断00003H最 高TF0 定时/计数器T0溢出中断000BHIE1 外部中断10013HTF1 定时/计数器T1溢出中断001BHRI+TI 串行口中断0023H最低
16、12.3 中断的响应过程CPU响应中断时,先置位相应的优先级状态触发器(该触发器指出CPU开始处理的中断优先级别),以屏蔽同一优先级的其他中断源的申请或所有中断申请,然后执行一个硬件子程序调用,控制转移到相应的入口,清“0”中断请求源申请标志(TI和RI除外),硬件子程序调用自动把指向主程序断点处的PC内容压入堆栈,将被响应的中断服务程序的入口地址送程序计数器PC。该硬件子程序调用是由单片机芯片中断系统自动实现的,无需用户通过软件来控制,故称为中断隐指令。由于响应中断申请,而由硬件子程序自动调用的中断服务子程序的入口地址处,存放子程序的空间很小,(例如,从表中看出外部中断0与定时/计数器T0溢
17、出中断的入口地址之间只有8个字节存储单元空间,显然无法满足中断服务子程序对存放空间的要求),故必须在上述的相应入口地址安排一条跳转指令,以跳到真正存放用户设计的中断服务处理程序的存储空间的首地址存储单元,开始执行中断服务子程序。 例如用户的外中断0()的服务程序首地址为INTVS,则在外中断的入口地址0003H单元应放一条跳转指令AJMP INTVS。程序如下: ORG 0000H AJMP MAIN ORG 0003H AJMP INTVS ORG 0030H MAIN: ;主程序 INTVS: ;中断服务子程序 RETI必须注意以下几点: 在0000H单元放一条跳转到主程序的跳转指令。这是
18、因为MCS51单片机在复位后,其PC的内容被强迫置成0000H,所以上电一启动,就执行0000H这条指令。 在中断服务程序的末尾,必须安排一条返回指令RETI,CPU执行完这条指令后,清“0”响应中断时所置位的优先级状态触发器,然后从堆栈中弹出栈顶上的断点(两个字节),送到程序计数器PC,使CPU从原来的断点处重新执行被中断的程序。 由于在中断响应时,CPU只自动地保护断点(压栈),所以CPU的其它现场,如寄存器A、B、状态字PSW、通用寄存器R0、R1等的保护和恢复由用户在中断服务程序中安排。例:如在图11.3中,P1口的8个引脚(P1.0P1.7)上各接了一个发光二极管,外部中断引脚上接一单脉冲。用单脉冲作中断源,每来一个单脉冲,点亮的发光二极管向下移动一位,编程实现。图11.3 P1口接8个发光二极管分析:外部中断口的入口地址是0013H,主程序必须从0000H开始。从0000H到0013H只有19个存储单元,考虑到主程序的长度可能超过19个字节,因此在0000H处放一跳转指令转至主程序;一般习惯将中断服务程序放在主程序之后,因此在中断入口处也放一跳转指令,从由硬件子程序控制转移的外部中断口的入口地址0013跳转到用户编写的中断服务子程序的首地址。在主程序中应先将第一个灯泡点亮,由于二极管阴极与P1.0口相连,因此送低电平点亮二极管,然后开放中断。(开放
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮服务业员工劳动合同解除与续签流程
- 汽车制造企业部分生产线股权分割协议
- 2025年综合类-公共营养师-公共营养师-四级营养师历年真题摘选带答案(5卷单选100题合辑)
- 2025年综合类-保险经纪人考试-第二章运输工具保险实务历年真题摘选带答案(5卷单选100题合辑)
- 2025年综合类-传染病学专业知识-细菌感染历年真题摘选带答案(5套单选100题合辑)
- 2025年综合类-企业管理咨询实务-第五章财务管理咨询历年真题摘选带答案(5卷单选题百道集合)
- 2025年综合类-二级结构工程师专业知识-二级结构工程师专业知识-砌体结构与木结构历年真题摘选带答案(5卷单选题百道集合)
- 2025年综合类-临床医学检验技术(师)-临床检验基础历年真题摘选带答案(5套单选100题合辑)
- 2025年综合类-临床医学检验技术(士)-弧菌科历年真题摘选带答案(5卷单选题百道集合)
- 2025年综合类-中西医结合内科主治医师-循环系统疾病历年真题摘选带答案(5卷单选题百道集合)
- 速冻隧道安全操作规程
- 养老院凉晒被子记录表
- 珠海市斗门区事业单位考试历年真题2023
- 13G322-1~4《钢筋混凝土过梁(2013年合订本)》
- 商铺租赁合同(有利于承租方)
- 第三章表面膜层及其电接触特性
- 第1章第3节怎样学习和研究化学(第1课时)导学案(含答案)2023-2024学年度沪教版化学九年级上册
- 小学体育-【课堂实录】30米往返跑教学设计学情分析教材分析课后反思
- 处方管理办法培训演示
- 农村宅基地代持协议范本
- 第二章微生物药物生物合成与调控第一节(发酵工艺学夏焕章第三)3
评论
0/150
提交评论