《单片机原理、接口与C51应用程序设计》课件第5章_第1页
《单片机原理、接口与C51应用程序设计》课件第5章_第2页
《单片机原理、接口与C51应用程序设计》课件第5章_第3页
《单片机原理、接口与C51应用程序设计》课件第5章_第4页
《单片机原理、接口与C51应用程序设计》课件第5章_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章MCS-51的中断5.1概述5.2MCS-51中断系统5.3中断处理5.4中断程序的编写与外部中断的扩充

5.1概述

1.中断的概念

在人们的日常生活中,中断的例子是非常普遍的。例如,当你正在上网时,电话铃响了,你会中断上网而去接电话,在通话期间,门铃又响了,你会告诉对方暂停一下,去开门,而后回去接电话,通话结束后,再继续上网。这当中不但有中断,而且有中断嵌套。

中断就是当CPU正在执行程序时,单片机内部或外部发生了某一事件,请求CPU迅速处理,于是CPU暂时中断当前的工作,转到中断服务程序处理所发生的事件,处理完该突发事件后,再回到原来被中断的地方,继续原来的工作。中断过程如图5.1所示。图5.1中断过程产生中断请求的事件称为中断源。中断源可以分为硬件中断和软件中断。CPU处理中断的过程称为中断响应。中断响应后CPU将执行相应的中断服务程序。中断源每发出一次中断请求,CPU响应一次。中断服务程序执行结束之后,CPU返回主程序称为中断返回。中断服务程序和子程序有本质上的区别:子程序是主程序的一部分,需要在主程序中主动调用才能执行;中断服务程序是相应的中断源调用的,不但与主程序无关,还会中断主程序的执行。

当系统中有多个中断源时,会出现几个中断源同时向CPU发出中断请求的情况,但CPU任何一个时刻只能对其中一个中断请求作出响应,这要靠中断的优先级来完成。通常给每个中断源指定中断响应的优先级别,CPU按中断源的优先级别的高低顺序响应各个中断发出的中断请求。

2.中断的功能

中断系统是单片机的重要组成部分。利用中断技术可以更好地发挥单片机系统的处理能力,提高CPU的工作效率,及时响应突发事件,有效地解决CPU与外设之间的速度匹配问题,提高CPU的工作效率和实时处理能力,实现对多个外部设备的管理。在系统设计中中断的功能主要有:

(1)实现CPU与外设的速度匹配。CPU速度非常快,而外设(如打印机)的速度一般都不快,这样CPU可以分时为外设服务,外设有请求时,服务外设,外设无请求时,执行主程序。

(2)实现实时控制。现场采集到的数据可以随时向CPU发出中断请求,在满足中断服务的条件时,CPU转向中断服务程序,马上处理响应的数据,从而实现实时控制。

(3)实现对故障的及时处理。在单片机运行过程中,往往会出现料想不到的情况和故障(存储出错、运算溢出等),有了中断,单片机就可以利用中断及时自行处理这些故障。

(4)可以通过外设(如键盘)来请求中断,实现人机联系。 5.2MCS-51中断系统

MCS-51单片机的中断系统如图5.2所示。图5.2MCS-51单片机的中断系统

1.中断请求标志寄存器TCON

中断请求标志寄存器TCON用于锁存定时器和外部中断的中断请求,其字节地址为88H。该寄存器有位地址,能进行位寻址。TCON各位的定义如表5.1所示。表5.1中断请求标志寄存器TCON

2.串口控制寄存器SCON

SCON是用于串口控制的特殊功能寄存器,字节地址为98H,有位地址,能进行位寻址。SCON的低两位锁存串口的接收中断请求和发送中断请求。SCON各位的定义如表5.2所示。表5.2串口控制寄存器SCON

3.定时器T2控制寄存器T2CON

MCS-51单片机的52子系列有1个16位定时器/计数器T2,对其控制的寄存器为T2CON,字节地址为C8H,有位地址,能进行位寻址。T2CON的高2位用于锁存T2的中断请求。T2CON各位的定义如表5.3所示。表5.3定时器T2控制寄存器T2CON5.2.2中断控制

1.中断允许控制寄存器IE(A8H)

MCS-51单片机中对各中断源的允许和屏蔽是通过中断允许控制寄存器IE来完成的。IE的字节地址为A8H,有位地址,能进行位寻址。IE各位的定义如表5.4所示。表5.4中断允许控制寄存器IE

2.中断优先控制寄存器IP

MCS-51单片机的6个中断源的优先级分为2级,每个中断源均可设置为高级中断和低级中断,并可实现2级中断嵌套,中断的优先级是通过中断优先控制寄存器IP设置的。IP寄存器的字节地址为B8H,可以进行位寻址,各位的定义如表5.5所示。表5.5中断优先控制寄存器IP综上,若某位置为“1”,则相应的中断源设置为高优先级;若某位清“0”,则相应的中断设置为低优先级。MCS-51单片机复位后,IP低6位全部被清“0”,将所有中断源设置为低优先级中断。中断的优先要靠用户在软件中对IP进行设计。中断优先级要遵循下列3条原则:

(1)低优先级中断可以被高优先级中断所中断,反之则不能。

(2)任何一种中断一旦得到响应,就不会被同优先级或低优先级中断所中断,即若某一中断被设置为高优先级中断,则在执行该中断源的中断服务程序时,不能被其它任何中断源的中断请求所中断。

(3)当几个相同优先级中断同时发出中断请求时,CPU按照自然优先级顺序响应各个中断源的中断请求。自然优先级顺序如表5.6所示。表5.6同级中断的优先级 5.3中断处理

5.3.1中断响应

1.中断响应条件

MCS-51的CPU响应中断的首要条件是中断源要有请求,且中断允许,即寄存器IE的总允许位EA=1,申请中断的中断源对应的IE相应位为1。CPU在每一个机器周期的S5P2状态,对所有中断源按照用户设置的优先级和自然优先级进行顺序检测,并在S6状态找到所有有效的中断请求。在满足下列条件时,CPU在下一个机器周期的S1状态开始响应中断,否则,丢弃中断采样的结果。

(1)无同级或高级中断正在服务。

(2)现行指令执行完最后一个机器周期,即要等到当前执行的指令执行结束。

(3)若现行指令为RETI或需要访问特殊功能寄存器IE或IP的指令,则执行完该指令且该指令紧接着的下一条指令也要执行完。

2.中断响应过程

CPU响应中断过程如下:

(1)置位相应的优先级有效触发器(中断系统包含两个不可编程的优先级有效触发器,一个用于已进入高优先级的中断服务,另一个用于已进入低优先级的中断服务)。

(2)由硬件自动将当前指令的下一条指令的地址送入堆栈,进行断点保护。

(3)根据中断标记,将相应的中断入口地址送入程序计数器PC,程序转到中断入口处执行中断服务程序。各个中断源在程序存储器中的中断入口地址如表5.7所示。表5.7中断服务程序的入口地址

3.中断响应时间

中断响应时间指从开始查询中断请求标志位到转向中断入口地址所需的机器周期数。在单级中断系统中,中断的响应时间最短为3个机器周期,最长为8个机器周期。

中断请求标志位查询占1个机器周期。若这个机器周期又恰好是指令的最后一个机器周期,则在这个机器周期结束后,CPU响应中断,产生硬件长调用LCALL指令,而执行这条长调用指令需要2个机器周期。这样,中断响应时间为3个机器周期。

中断响应时间最长为8个机器周期。如果CPU正在执行的是RETI或访问IP、IE指令,则等待时间不会多于2个机器周期,而中断系统规定把这几条指令执行完,必须再继续执行一条指令后才能响应中断,即中断返回后至少要执行一条主程序才能响应下一中断的请求。如果这条指令恰好是4个机器周期长的指令,再加上执行长调用指令LCALL所需的2个机器周期,则总共需要8个机器周期。

5.3.2中断返回与撤销

1.中断返回

中断程序的最后一条指令一定是RETI。CPU从中断服务程序的入口地址开始执行程序直到遇见RETI,RETI表示中断服务程序结束。CPU执行这条指令后,首先要清除中断响应时置位的中断优先级有效触发器,而后从栈顶弹出断点地址送给程序计数器PC,那么程序就返回到主程序的中断处继续往下执行了。

中断前硬件只是保护断点地址,而没有对现场进行保护,所以如果在主程序中用到了如A、PSW等寄存器,并且在中断程序中也要用它们,就需要保证回到主程序后这些寄存器的数据还是没执行中断以前的数据。这就需要在响应中断之前进行现场保护,而在执行RETI指令后,中断返回之前恢复保存起来的数据。

2.中断请求的撤销

CPU响应中断后,在中断返回之前,中断请求标志要及时清除,否则中断请求仍然存在,它将会引起另一次中断。MCS-51各中断源请求撤销的方法各不相同。

(1)定时器/计数器T0、T1计数溢出产生中断请求。硬件自动使TF0 = 1、TF1 = 1,向CPU申请中断,CPU响应中断后,由硬件自动使TF0 = 0、TF1 = 0,即中断自动撤销。图5.3低电平触发的外部中断的撤销

(3)串行口的中断。CPU响应中断后,硬件不能自动清除TI和RI标志位,所以,在CPU响应中断后,必须在中断服务程序中用软件清除相应的中断标志位来撤销中断请求。

(4)定时器/计数器T2计数溢出产生中断请求。外部T2EX(P1.1)引脚上的下降沿也可以发出中断请求,相应的中断标志为TF2和EXF2,CPU响应中断后,硬件不能自动清除TF2或EXF2标志位,必须在中断服务程序中用软件清除相应的中断标志位来撤销中断请求。

5.4中断程序的编写与外部中断的扩充

1.中断服务程序的编写

51系列单片机中共有5个中断源,4个特殊功能寄存器TCON、SCON、IE和IP。在编写中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论