单片机的中断系统

上传人:gao****ang 文档编号:175334917 上传时间:2022-12-19 格式:DOCX 页数:7 大小:60.55KB
收藏 版权申诉 举报 下载
单片机的中断系统_第1页
第1页 / 共7页
单片机的中断系统_第2页
第2页 / 共7页
单片机的中断系统_第3页
第3页 / 共7页
资源描述:

《单片机的中断系统》由会员分享,可在线阅读,更多相关《单片机的中断系统(7页珍藏版)》请在装配图网上搜索。

1、项目五 中断系统的应用任务一 认识 MCS-51 单片机的中断系统中断系统是单片机中非常重要的组成部分,它是为了使单片机能够对外部或内部随机发 生的事件实时处理而设置的。中断功能的存在,在很大程度上提高了单片机实时处理能力, 它也是单片机最重要的功能之一,是我们学习单片机必须掌握的重要内容。我们不但要了解 单片机中断系统的资源配置情况,还要掌握通过相关的特殊功能寄存器打开和关闭中断源、 设定中断优先级,掌握中断服务程序的编写方法。一、中断的概念为了弄懂中断的概念,下面我们先来了解一下单片机与外设之间数据的输入/输出方式。 1单片机的输入/输出方式CPU 与外设之间的信息交换称为输入/输出。在一

2、个单片机系统中,输入/输出是必不可 少的,CPU与外设之间以何种方式进行信息交换,将直接影响到信息交换的可靠性和CPU的 效率。例如:在一个与打印机相连的微机系统中,CPU将需要打印的数据输出给打印机,打印 机接收到数据后便可进行打印。CPU是如何将要打印的数据输出给打印机的呢?如果打印机 总是处于准备好的状态或者CPU总是知道打印机的状态,那么CPU无需查询打印机状态可直 接进行输出,这种方式称为无条件传送方式。但外设的执行速度一般是很慢的,像打印机这 样的外设不可能总处于准备好的状态,因此CPU在输出数据前需要先查询打印机是否空闲, 若空闲则进行输出操作,若打印机处于忙状态则继续查询,直到

3、打印机处于空闲状态再进行 输出。这种方式称为查询传送方式。与无条件传送方式相比,虽然查询传送方式能有效地与 慢速外设进行信息交换,提高了信息交换的可靠性,解决了外设与CPU速度不匹配的矛盾, 但由于在外设未准备好的情况下,CPU需要不断的查询外设状态,不能进行其他操作,这样 就浪费了 CPU的资源,使CPU的利用率大大降低。为了提高CPU的工作效率,可将外设的“忙 /闲”状态信息作为请求触发信号,这样,CPU就可以做自己的工作,当打印机处理完上一 批数据后处于空闲状态时,向CPU提出中断请求信号,CPU接到中断请求时,就暂停当前正 在进行的工作转去为打印机输出数据,输出一批数据后又返回到刚才中

4、断的地方继续进行原 来的工作,这种方式称为中断传送方式。执行(a)无条件传送方式(b)查询传送方式综上所述,CPU与外设之间信息交换有三种方式,其执行过程如图5-1所示。(c)中断传传送方式图5-1输入/输出方式示意图(1)无条件传送方式 这种方式的特点是:数据的传送取决于程序执行输入/输出指 令,而与外设的状态无关。它适合于与CPU同步的快速设备或状态已知的外设,软、硬件系 统简单。(2)查询传送方式 查询方式是一种条件传送。在传送数据前,首先读取外设状态信 息,并加以测试判断,若外设“准备就绪”,则CPU与外设进行数据交换,若外设处于“忙” 状态,则CPU不与外设交换数据,并继续查询外设状

5、态。其特点是:在硬件上不仅要考虑数 据信息的传递,而且还要考虑状态信息的输入;在查询过程中CPU的利用率不高,适用于实 时性能要求不高的场合。(3)中断传送方式 中断方式也是一种条件传送。CPU可以与外设同时工作,并执行 与外设无关的操作,一旦外设需要进行数据交换,就主动向CPU提出中断申请,CPU接到中 断请求后,就暂停当前的工作转去为外设服务(执行中断处理程序),处理完毕后又返回到 原来暂停处继续进行原来的工作(执行原来的程序)。因此,CPU不必浪费时间去查询外设 状态,大大提高了效率。利用中断方式可以实现分时操作(使CPU可以同时处理多件事)、 实时处理(对随时发生的事件进行及时处理),

6、应用范围较广。2中断的概念 为了能让大家更容易理解中断的概念,我们先来看生活中的一个事例:你正在家中看书, 突然门铃响了,你放下书去开门,处理完事情后回来继续看书;突然电话铃又响起来了,你 又放下书去接电话,通话完毕后你又回来继续看书。这就是生活中的“中断”的现象,就是 正常的工作过程被外部的事件打断了。对于单片机来讲,中断是指CPU在处理某一事件A时,发生了另一事件B请求CPU迅 速去处理(中断发生);CPU接到中断请求后,暂停当前正在进行的工作(中断响应),转 去处理事件B (执行相应的中断服务程序),待CPU将事件B处理完毕后,再回到原来事件 A被中断的地方继续处理事件A (中断返回),

7、这一过程称为中断。中断的有关关概念总结如下: 中断CPU正在执行主程序的过程中,由于CPU之外的某种原因,有必要暂停主程 序的执行,转而去执行相应的处理(中断服务)程序。待处理程序结束之后,再返回原程序 断点处继续运行的过程。 中断源 可以引起中断的事件称为中断源。单片机中也有一些可以引起中断的事 件。MCS-51单片机中共有5种中断源:两个外部中断(INT0、INT1)、两个定时/计数 器中断(TO、T1)和一个串行口中断。 中断系统 实现中断过程的软、硬件系统。 主程序与中断服务程序CPU正在执行的当前程序称为主程序;中断发生后,转去对突发事件的处理程序称为中断服务程序。 中断优先级当多个

8、中断源同时申请中断时,为了使CPU能够按照用户的规定先 处理最紧急的事件,然后再处理其他事件,就需要中断系统设置优先级机制。通过设置优先 级,排在前面的中断源称为高级中断,排在后面的称为低级中断。设置优先级以后,若有多 个中断源同时发出中断请求时,CPU会优先响应优先级较高的中断源。如果优先级相同,则 将按照它们的自然优先级顺序响应默认优先级较高的中断源。五个中断源默认的自然优先级是由硬件的查询顺序决定的,由高到低的顺序依次是:外 部中断0、定时/计数器0中断、外部中断I、定时/计数器I中断、串行口中断。中断源的 优先级需由用户在中断优先级寄存器IP中设定,后面将会讲到这一知识点。 中断嵌套

9、当CPU响应某一中断源请求而进入该中断服务程序中处理时,若更高级 别的中断源发出中断申请,则CPU暂停执行当前的中断服务程序,转去响应优先级更高的中 断,等到更高级别的中断处理完毕后,再返回低级中断服务程序,继续原先的处理,这个过程称为中断嵌套。在 51 单片机的中断系统中,高优先级中断能够打断低优先级中断以形成 中断嵌套,反之,低级中断则不能打断高级中断,同级中断也不能相互打断。二、MCS-51单片机的中断系统MCS-51 单片机的中断系统的内部结构框图如图5-2 所示。IEIjTF0IE1TF1INTOTXRXTIRI中断源允许总允许SCON中斷标志入址 斷地 中口图 5-2 MCS-51

10、 单片机的中断系统内部结构组成框图由图可知,51单片机的中断系统有5个中断源,4个用于中断控制的寄存器TCON、SCON、 IE、 IP 来控制中断类型、中断的开关和各种中断源的优先级确定。1中断源(5 个)(1)外部中断源(2 个)外部中断0和外部中断1,是由单片机的P3.2和P3.3端口引入的,名称分别为INTO 和 INT 1,低电平或下降沿触发。(2)定时/计数器中断源(2个)MCS-51单片机内部有2个16位的定时/计数器,分别是T0和T1。当计数器计满溢出时 就会向CPU发出中断请求。(3)串行口中断源(1 个)MCS-51单片机内部有1个全双工的串行通信接口,可以和外部设备进行串

11、行通信,当 串行口接收或发送完一帧数据后会向CPU发出中断请求。2中断标志TCON即定时/计数器控制寄存器,这是一个可位寻址的8位特殊功能寄存器,即可以对 其每一位单独进行操作,其字节地址为88H。它不仅与两个定时/计数器的中断有关,也与 两个外部中断源有关。它可以用来控制定时/计数器的启动与停止,标志定时/计数器是否计 满溢出和中断情况,还可以设定两个外部中断的触发方式、标志外部中断请求是否触发。因 此,它又称为中断请求标志寄存器。单片机复位时,TCON的全部位均被清0。其各位名称如 表 5-1 所示。表 5-1 定时 / 计数器控制寄存器 TCON 的各位功能说明位号D7D6D5D4D3D

12、2D1D0位名称TF1TR1TF0TR0IE1IT1IE0IT0TCON 寄存器的各位功能介绍如下:IT0:外部中断0 (INTO )的触发方式控制位。当IT0=0时,INTO为电平触发方式, 低电平触发有效;当IT0=1时,INTO为边沿触发方式,下降沿触发有效。IE0:外部中断0( INT0 )的中断请求标志位。当外部中断0( INT0 )的触发请求有 效时,硬件电路自动将该位置1,否则清0。换句话说,当IE0=1时,表明外部中断0正在 向CPU申请中断;当IE0=0时,则表明外部中断0没有向CPU申请中断。当CPU响应该中断 后,由硬件自动将该位清0,不需用专门的语句将该位清0。IT1:

13、外部中断1( 1NT1)的触发方式控制位。当IT1=0时,1NT1为电平触发方式,低电平触发有效;当IT1=1时,INT1为边沿触发方式,下降沿触发有效。IE1:外部中断1 (INT 1)的中断请求标志位。当外部中断1 (INT1)的触发请求有 效时,硬件电路自动将该位置1,否则清0。换句话说,当IE1=1时,表明外部中断1正在 向CPU申请中断;当IE1=0时,则表明外部中断1没有向CPU申请中断。当CPU响应该中断 后,由硬件自动将该位清0,不需用专门的语句将该位清0。TRO:定时/计数器0 (T0)的启动控制位。当TR0=1时,T0启动计数;当TR0=0时,T0 停止计数;TF0:定时/

14、计数器0(T0)的溢出中断标志位。当定时/计数器0计满溢出时,由硬件 自动将TF0置1,并向CPU发出中断请求,当CPU响应该中断进入中断服务程序后,由硬件 自动将该位清0,不需用专门的语句将该位清0。需要说明的是:如果使用定时/计数器的中 断功能,则该位完全不用人为操作,硬件电路会自动将该位置1、清0,但是如果中断被屏 蔽,使用软件查询方式去处理该位时,则需用专门语句将该位清0。TR1:定时/计数器1(T1)的启动控制位。其功能及使用方法同TR0。TF1:定时/计数器1(T1)的溢出中断标志位。其功能及使用方法同TF0。 3中断允计寄存器 IE在MCS-51单片机的中断系统中,中断的允许或禁

15、止是在中断允许寄存器IE中设置的。 IE也是一个可位寻址的8位特殊功能寄存器,即可以对其每一位单独进行操作,当然也可 以进行整体字节操作,其字节地址为A8H。单片机复位时,IE全部被清0。其各位定义如表 5-2 所示。表5-2中断允许寄存器IE的各位功能定义位号D7D6D5D4D3D2D1D0位名称EAESET1EX1ET0EX0中断允许寄存器IE的各位功能定义说明如下:EA:即Enable All的缩写,全局中断允许控制位。当EA=0时,则所有中断均被禁止; 当 EA=1 时,全局中断允许打开,在此条件下,由各个中断源的中断控制位确定相应的中断 允许或禁止。换言之,EA就是各种中断源的总开关

16、。EX0:外部中断0( INT0 )的中断允许位。如果EX0置1,则允许外部中断0中断,否 则禁止外部中断0中断。ET0:定时/计数器0的中断允许位。如果ET0置1,则允许定时/计数器0中断,否则 禁止定时/计数器0中断。EX1:外部中断1 (INT1)的中断允许位。如果EX1置1,则允许外部中断1中断,否 则禁止外部中断1中断。ET1:定时/计数器1的中断允许位。如果ET1置1,则允许定时/计数器1中断,否则 禁止定时/计数器 1 中断。例如:如果我们要设置允许外部中断0、定时/计数器1中断允许,其他中断不允许, 则 IE 寄存器各位取值如表5-3 所示。表5-3IE寄存器的各位取值位号D7

17、D6D5D4D3D2D1D0位名称EAESET1EX1ET0EX0取值10001001即IE=0x89。当然,我们也可以用位操作指令来实现:EA=1, EX0=1,ET1=1。4中断优先级寄存器 IP前面已讲到中断源优先级的概念。在MCS-51单片机的中断系统中,中断源按优先级分 为两级中断: 1级中断即高级中断, 0级中断即低级中断。中断源的优先级需在中断优先级 寄存器IP中设置。IP也是一个可位寻址的8位特殊功能寄存器,即可以对其每一位单独进 行操作,当然也可以进行整体字节操作,其字节地址为B8H。单片机复位时,IP全部被清0, 即所有中断源为同级中断。如果在程序中不对中断优先级寄存器IP

18、进行任何人为操作,则 当多个中断源发出中断请求时, CPU 会按照其默认的自然优先级顺序优先响应自然优先级较 高的中断源。IP的各位定义如表5-4所示。表5-4中断优先级寄存器IP的各位功能定义位号D7D6D5D4D3D2D1D0位名称PSPT1PX1PT0PX0PX0、PT0、PX1、PT1、PS分别为外部中断0、定时/计数器0中断、外部中断1、定时/ 计数器 1 中断、串行口中断的优先级控制位。当某位置1 时,则相应的中断就是高级中断, 否则就是低级中断。优先级相同的中断源同时提出中断请求时, CPU 优先响应自然优先级较 高的中断。5中断初始化及中断服务程序结构中断初始化实质上就是对4个

19、与中断有关的特殊功能寄存器TCON、SCON、IE和IP进行 管理和控制,具体实施如下: CPU的开、关中断(即全局中断允许控制位的打开与关闭,EA=1或EA=0); 具体中断源中断请求的允许和禁止(屏蔽); 各中断源优先级别的控制; 外部中断请求触发方式的设定。 中断管理和控制(中断初始化)程序一般都包含在主函数中,也可单独写成一个初始化函数,根据需要通常只需几条赋值语句即可完成。中断服务程序是一种具有特定功能的独立 程序段,往往写成一个独立函数,函数内容可根据中断源的要求进行编写。C51 的中断服务程序(函数)的格式如下:void中断处理程序函数名()interrupt中断序号using工

20、作寄存器组编号中断处理程序内容中断处理程序函数不会返回任何值,故其函数类型为void,函数类型名void后紧跟中 断处理程序的函数名,函数名可以任意起,只要合乎C51中对标识符的规定即可;中断处理 函数不带任何参数,所以中断函数名后面的括号内为空;interrupt即“中断”的意思,是 为区别于普通自定义函数而设,中断序号是编译器识别不同中断源的唯一符号,它对应着汇 编语言程序中的中断服务程序入口地址,因此在写中断函数时一定要把中断序号写准确,否 则中断程序将得不到运行。函数头最后的“using工作寄存器组编号”是指这个中断函数使 用单片机RAM中4组工作寄存器中的哪一组,如果不加设定,C51

21、编译器在对程序编译时会 自动分配工作寄存器组,因此“using工作寄存器组编号”通常可以省略不写。51 单片机的 5 个中断源的中断序号、默认优先级别、对应的中断服务程序的入口地址 如表 5-5 所示:表5-551单片机的中断源的中断序号、默认优先级及对应的中断服务程序入口地址中断源名称中断序号默认优先级别中断服务程序入口地址外部中断0( INT0)0最高0003H定时/计数器0中断1第2000BH外部中断1( INT1)2第30013H定时/计数器1中断3第4001BH串行口中断4第50023H任务二 防盗报警器的制作一、任务分析二、硬件电路设计三、程序设计任务三 8 路抢答器的制作一、任务分析二、硬件电路设计三、程序设计项目拓展知识巩固

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!