模块5单片机的中断系统.ppt
《模块5单片机的中断系统.ppt》由会员分享,可在线阅读,更多相关《模块5单片机的中断系统.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、单片机原理与接口技术主编主编 任元吉任元吉“十二五十二五”高职高专高职高专“教与做教与做1+1”体体验互动式创新规划教材验互动式创新规划教材1模块模块5 单片机的中断系统单片机的中断系统中断技术是计算机中的重要技术之一,它既和硬件有关,也和软件有关。正因为有了中断,才使得计算机的工作更灵活,效率更高。本节将介绍中断的概念,并以80C51系列单片机的中断系统为例介绍中断的处理过程及应用。2项目项目5.1 中断系统中断系统项目项目5.2电子计数器应用电子计数器应用项目项目5.3 无线电遥控车的应用无线电遥控车的应用 技能训练技能训练:无线电遥控车的设计无线电遥控车的设计 基础训练基础训练 3知识目
2、标:知识目标:广州城建职业学院 电子系 谢元成制作 手机:186 8843 9181 QQ:79652257 Email:x_ 1、了解单片机的中断系统的结构2、掌握单片机的中断处理过程3、掌握应用中断方式进行程序设计方法4技能目标:技能目标:1 能够熟悉单片机的中断系统2、能够掌握输入/输出的控制方式3、能在程序设计中应用中断方式【课时建议】6课时教学重点:教学重点:单片机的中断系统教学难点:教学难点:应用中断方式进行程序设计5核心职业核心职业技术基础课技术基础课项目项目51 中断系统中断系统广州城建职业学院 电子系 谢元成制作 手机:186 8843 9181 QQ:79652257 Em
3、ail:x_ 中中断断技技术术是是计计算算机机中中的的重重要要技技术术之之一一,它它既既和和硬硬件件有有关关,也也和和软软件件有有关关。正正因因为为有有了了中中断断,才才使使得得计计算算机机的的工工作作更更灵灵活活,效效率率更更高高。本本节节将将介介绍绍中中断断的的概概念念,并并以以80C51系系列列单单片片机机的中断系统为例介绍中断的处理过程及应用。的中断系统为例介绍中断的处理过程及应用。v5.1.1 中断系统的基本概念中断系统的基本概念v1.中断的概念v中断是通过硬件来改变CPU运行方向的一种技术,它既和硬件有关,也和软件有关。计算机在执行程序的过程中,由于单片机内部或外部的某种原因,有必
4、要尽快终止当前程序的执行,而去执行相应的处理程序,待处理结束后,再回来继续执行被终止了的源程序。这种程序在执行过程中由于外界的原因而被中间打断的情况称为“中断”。v中断之后所执行的处理程序,通常称为“中断服务”或“中断处理子程序”,原来运行的程序称为“主程序”。主程序被断开的位置(地址)称为“断点”。引起中断的原因或能发出中断申请的来源,称为“中断源”。中断源要求服务的请求称为“中断请求(或申请)”。v调用中断服务程序的过程类似于程序设计中的调用子程序,其主要区别在于调用子程序指令在程序中是事先安排好的;而何时调用中断服务程序事先却无法确知。因为中断的发生是由外部因素决定的,程序中无法事先安排
5、调用指令,因而调用中断服务程序的过程是由硬件自动完成的。v2.引进中断技术的优点v计算机引进中断技术之后,主要具有如下优点:v(1)分时操作v在计算机与外部设备交换信息时,存在着高速CPU和低速外设(如打印机等)之间的矛盾。若采用软件查询方式,则不但占用了CPU操作时间,而且相应速度慢。中断功能解决了高速CPU与低速外设之间的矛盾。此时,CPU在启动外设工作后,继续执行主程序,同时外设也在工作。每当外设做完一件事,就发出中断申请,请求CPU中断它正在执行的程序,转去执行中断服务程序(一般是处理输入/输出数据)。中断处理完成后,CPU恢复执行主程序,外设仍然继续工作。这样,CPU可以命令多个外设
6、(如键盘、打印机等)同时工作,从而大大提高了CPU的工作效率。v(2)实时处理v在实施控制中,现场的各个参数、信息时随时间和现场情况不断变化的。有了中断功能,外界的这些变化量可根据要求随时向CPU发出中断请求,要求CPU及时处理,CPU就可以马上响应(若中断响应条件满足)并加以处理。这样的及时处理在查询方式下是做不到的,从而大大缩短了CPU的等待时间。v(3)故障处理v 计算机在运行过程中,难免会出现一些无法预料的故障,如存储出错、运算溢出和电源突跳等。有了中断功能,计算机就能自行处理,而不必停机。v3.中断源v发出中断请求的来源一般统称为“中断源”。中断源有多种,最常见的有以下4种。v(1)
7、外部设备中断源v计算机的输入/输出设备,如键盘、磁盘驱动器、打印机等,可通过接口电路向CPU申请中断。v(2)故障源v故障源是产生故障信息的来源。它作为中断源,使得CPU能够以中断方式对已发生的故障及时进行处理。v计算机故障源有内部和外部之分。内部中断源一般是指执行指令时产生的错误情况,如除法中除数为零等,通常把这种中断源称为“内部软件中断”(注意:目前多数80C51系列单片机没有内部软件中断功能);外部故障源主要有电源掉电等情况,在电源掉电时可以介入备用的电池供电电路,以保存存储器中的信息。当电压因掉电而降到一定值时,即发出中断申请,由计算机的中断系统自动响应,并进行相应处理。v(3)控制对
8、象中断源v计算机作实时控制时,被控对象常常用作中断源。例如电压、电流、温度等超过其上限或下限时,以及继电器、开关闭合断开时都可以作为中断源向CPU申请中断。v(4)定时/技术脉冲中断源v 定时/计数脉冲中断源也有内部和外部之分。内部定时中断是由单片机内部的定时/计数器溢出而自动产生的;外部计数中断是由外部脉冲通过CPU的中断请求输入线或定时/计数器的输入线而产生的。v要求每个中断源所发出的中断请求信号符合CPU响应中断的条件,例如电平高/低、持续时间、脉冲幅度等。v5.1.2中断系统的结构中断系统的结构v中断过程是在硬件基础上再配以响应的软件而实现的。不同计算机的硬件结构和软件指令是不完全相同
9、的,因而中断系统结构一般是不相同的。但同一系列的单片机即使型号不同,中断系统的基本结构也是类似的,只是中断源个数不完全一样。v1.中断系统的结构v51单片机中断系统主要由几个与中断有关的特殊功能寄存器、中断入口、顺序查询逻辑电路等组成。中断系统框图如图5.1所示。51单片机有5个中断源,可提供2个中断优先级,即可实现二级中断嵌套。与中断有关的特殊功能寄存器有4个,分别为中断源寄存器(即专用寄存器TCON、SCON的相关位)、中断允许控制寄存器IE和中断优先级控制寄存器IP。5个中断源的排列顺序由中断优先级控制寄存器IP和顺序查询逻辑电路共同决定。5个中断源对应5个固定的中断入口地址。图5.1
10、51单片机的中断系统结构图v 2.中断源及入口v (1)中断源v51的中断源可以分为3类:即外部中断、定时中断和串行口中断。从图5.1所示的系统结构可知,51单片机有5个中断请求元,分别为:2个外部输入中断源INT0(P3.2)和INT1(P3.3),2个片内定时器T0和T1的溢出中断源TF0(TCON.5)和TF1(TCON.7)。下面分类介绍。v外部中断类v外部中断是由外部原因引起的,包括外部中断0和外部中断1。这2个中断请求信号分别通过2个固定引脚即INT0(P3.2)脚和外部中断1INT1(P3.3)脚输入。v外部中断请求信号有2种信号输入方式,即电平方式和脉冲方式。在电平方式下为低电
11、平有效,即在INT0(P3.2)脚或外部中断1 INT1(P3.3)脚出现有效低电平时,外部中断标志效下降沿时,外部中断标志INT0或INT1就置为1。注意:在脉冲方式下,中断请求信号的高、低电平状态都应该至少维持1个机器周期。v中断请求信号是低电平有效还是下降沿有效,须通过TCON寄存器中的IT0(TCON.0)或IT1(TCON.2)位来决定。一旦输入信号有效,则向申请中断,并使相应的中断标志位IE0或IE1置1。v 定时中断类v定时中断是为满足定时或计数溢出处理的需要而设置的。v定时方式的中断请求是由单片机内部发生的,输入脉冲是内部产生的周期固定的脉冲信号(1个机器周期),无需在芯片外部
12、设置输入端。v计数方式的中断请求是由单片机内部发生的,脉冲信号由T0(P3.4)或T1(P3.5)引脚输入,脉冲下降沿为计数有效信号。这种脉冲周期是不固定的。v当定时/计数器中的计数值发生溢出时,表明定时时间或计数值已到。这时以计数溢出信号作为中断请求使溢出标志位置1,即T0中断请求标志TF0=1,或T1中断请求标志TF1=1。如果允许中断,则请求中断处理。v 串行口中断类v串行口中断是为满足串行数据的传送需要而设置的。每当串行口由TXD(P3.1)端发送串行口中断请求标志RI或TI置1,并请求中断。v由图5.1可以看出,当这些中断源的中断标志为1时,并不一定能引起中断,而是还需要经过IE寄存
13、器的控制,才能进入中断请求。v(2)中断入口v当CPU响应某中断源的中断申请之后,CPU将此中断源的入口地址装入PC,中断服务程序即从此地址开始执行,因而将此地称为“中断入口”,亦称为“中断矢量”。在AT89C51单片机中,各中断源以及与之对应的入口地址(由单片机硬件电路决定)分配如表5.1所列。v所有的80C51系列单片机都有上述5 个中断源。89系列单片机也下例外,有些型号与其完全相同,如Philips公司的P89C51;有些则增加了新的中断源,如AT89S52增加了定时器T2中断源,入口地址为002BH;还有一些型号的中断源多达9个,其入口地址按8字节1个中断源顺序往下排,可以表达为:入
14、口地址=8n+3,n为中断自然优先级。表5.1 各中断源及入口地址的对应关系 中断源入口地址外部中断00003H定时器T0中断000BH外部中断10013H定时器T1中断001BH串行口中断0023Hv5.1.3 中断控制中断控制v中断功能虽然是硬件和软件结合的产物,但用户不必了解中断硬件电路和发生过程。对于用户来说,重点是怎样通过软件管理和应用中断功能。为此,首先应该掌握与中断控制和管理有关的几个寄存器。下面分别对其进行介绍。v(1)中断允许控制奇存器IE 专用奇存器IE是8051单片机中的中断允许寄存器,由它控制对中断的开发或关闭。通过向IE写人中断控制字,可以实现对中断的二级控制。这里所
15、说的“二级”是指控制字中有一个中断总允许位EA。当EA为0时,CPU将屏蔽所有的中断申请;而当EA为l时,虽然CPU已经开放中断,但还须设置相应中断源的控制位,才可确定允许哪个中断源中断。vIE各位的格式如下:v其各位名称及作用如下:vEA(IE.7)中断允许总控制位。v当EA=1时,CPU开放中断,每个中断源是被允许还是被禁止,分别由其各自的允许位决定。v当EA=0时,CPU屏蔽所有的中断申请,称为“关中断”。v(IE.6)未使用,默认为0。vET2(IE.5)T2中断允许位(仅AT89S52/C52或类似型号单片机有)。v当ET2=1时,允许T2中断;v当ET2=0时,禁止T2中断。vES
16、(IE.4)串行口中断控制位。v当ES=1时,允许串行口中断;v当ES=0时,禁止串行口中断。vET1(IE.3)T1中断控制位。v当ET2=1时,允许T1中断;v当ET2=0时,禁止T1中断。vEX1(IE.2)外部中断1控制位。v当EX1=1时,允许外部中断1中断;v当EX1=0时,禁止外部中断1中断。vEX1(IE.1)T0中断控制位。v当ET0=1时,允许T0中断;v当ET0=0时,禁止T0中断。vEX1(IE.0)外部中断0控制位。v当EX0=1时,允许外部中断0中断;v当EX0=0时,禁止外部中断0中断。v51单片机复位后,IE中各中断允许位均被清0,即禁止所有中断。v例如,假定要
17、开放外中断1和T1的溢出中断,屏蔽其它中断,则对应的中断允许控制寄存器内容应为10001100B,即中断允许控制字为8CH。v 使用字节操作,可用一条指令MOV IE,#8CH完成。v 使用位操作指令,则需三条指令SETB EX1;v SETB ET1;SETB EA实现。v(2)中断请求标志寄存器v当有中断源发出请求时,由硬件将相应的中断标志位置1。在中断请求被响应前、相应中断标志位被锁存在特殊功能寄存器TCON或SCON中。v定时器控制寄存器TCONvTCON为定时器T0和T1的控制寄存器,同时也锁存T0和T1的溢出中断标志及外部中断INT0和INT1的中断标志等。vTCON中与中断有关的
18、各位如下:v其各位名称及作用如下:vTF1(TCON.7)T1溢出中断标志v当T1开始工作,并且计数值产生溢出时,由硬件使TF1=1,在中断工作方式下向CPU请求中断。此标志一直保持到CPU响应中断后,才由硬件自动清0;也可用软件查询该标志,并由软件清0。v如果T1不工作,或者在工作但没有产生溢出,则TF1=0vTF0(TCON.5)T0溢出中断标志。v其操作功能类似于TF1。vIE1(TCON.3)INT1外部中断1标志。v当硬件使IE1=1时,表明外部中断1向CPU申请中断。v当IE1=0时,表明外部中断1没有向CPU申请中断。vIT1(TCON.2)外部中断1触发方式控制位。v当ITl=
19、0时,外部中断1设置为电平触发方式。在这种方式下,CPU在每个机器周期的S5P2期间对INT1(P3.3)引脚采样。若采样为低电平,则认为有中断申请,随即使IEI标志置l;若为高电平,则认为无中断申请或中断申请已撤除,随即清除IE1标志。在电平触发方式中,CPU响应中断后不能自动清除IEl标志,也不能由软件清除IE1标志,故在中断返回前,必须撤销INT1引脚上的低电平,否则将会引起再次中断而出错。v当IT1=1时,外部中断1设置为边沿触发方式。CPU在每个机器周期的S5P2期间采样引脚,若在连续2个机器周期采样到先高电平后低电平,则使IE1标志置1,此标志一直保持到C PU响应中断时,才由硬件
20、自动清除。在边沿触发方式中,为保证CPU在2个机器周期内检测到先高后低的负跳变,则输入高/低电平的持续时间起码要保持12个时钟周期。vIE0(TCON.1)INT0外部中断0标志位。v其操作功能与IE1类似。vIT0(TCON.0)外部中断0触发方式控制位。v其操作功能与ITl类似。vTCON.6和TCON.4中断中未使用。v串行口控制寄存器SCONvSCON是串行口控制寄存器,其低2位TI和RI锁存串行口的接收中断和发送中断标志。vSCON中与中断有关的各位如下:v其各位名称及作用如下:vTI(SCON.1)串行发送中断标志。v当Tl=l时,说明CPU将l字节数据写入发送缓冲器SBUF并且已
21、发送完1个串行帧,此时,硬件使TI置1。在中断工作方式下,可以向CPU申请中断,在中断和查询工作方式下都不能自动清除T1,必须由软件清除标志。v当TI=0时,说明没有进行串行发送,或者串行发送未完成。vRI(SCON.0)串行接收中断标志。v当RI=l时,在串行口允许接收后,每接收完1个串行帧,硬件使R1置1。同样,在中断和查询工作方式下都不会自动清除RI,必须由软件清除标志。v当RI=0时,说明没有进行串行接收,或者串行接收来完成。v注意:SCON的高6位在中断中不用,所以在此不做介绍。v(3)中断优先级寄存器IPv80C5l单片饥中断优先级的设定由专用寄存器IP统一管理。v它具有2个中断优
22、先级,由软件设置每个中断源为高优先级中断或低优先级中断,可实现二级中断嵌套。v高优先级中断源可中断正在执行的低优先级中断服务程序,除非在执行低优先级中断服务程序时设置了CPU关中断或禁止某些高优先级中断源的中断。同级或低优先级的中断源不熊中断正在执行的中断服务程序。为此,在51中断系统中,内部有2个(用户不能访问的)优先级状态触发器,它们分别指示CPU是否在执行高优先级或低优先级中断服务程序,从而决定是否屏蔽所有的中断申请或同一级的其他中断申请。v专用寄存器IP为中断优先级寄存器,用于选择各中断源优先级,用户可用软件设定。其各位格式如下:v其各位名称及作用如下:vPT2(IP.5)T2中断优先
23、级选择位(仅AT89S52,/C52或类似型号单片有)。v当PT2=l时,设置定时器T2为高优先级中断;v当PT2=0时,设置定时器T2为低优先级中断。vPS(IP.4)串行口中断优先级选择位。v当PS=1时,设定串行口为扁优先级巾断;v当PS=0时,设定串行日为低优先级中断。vPT1(IP.3)Tl中断优先级选择位。v当PT1=1时,设定定时器T1为高优先级中断;v当PT1=0时,设定定时嚣T1为低优先级中断。vPX1(IP.2)外部中断1中断优先级选择位。v当PX1=1时,设定外部中断1为高优先级中断;v当PX1=0时,设定外部中断l为低优先级中断。vPT0(IP.1)T0中断优先级选择位
24、。v当PT0=1时,设定定时器T0为高优先级中断;v当PT0=0时,设定定时器T0为低优先级中断。vPX0(IP.0)外部中断0中断优先级选择位。v当PX0=l时,设定外部中断0为高优先级中断;v当PX0=0时,设定外部中斯0为低优先级中断。v当系统复位后,IP全部清0,将所有中断源设置为低优先级中断。v如果几个相同优先级的中断源,同时向CPU申请中断,CPU通过内部硬件查询逻辑按自然优先级顺序确定响应哪个中断请求。其自然忧先级由硬件形成,排列如表5.2所列。v 表5.2 各中断源及其自然优先级 最高级序号中断源自然优先级1外部中断0最低级2定时器T0中断3外部中断14定时器T1中断5串行口中
25、断这种排列顺序在实际应用中很方便、合理。如果重新设置了优先级,则顺序查询逻辑电路将会相应改变排队顺序。例如:如果给IP中设置的优先级控制字为09H,则PT1和PX0均为高优先级中断,但当这2个中断源同时发出中断申请时,CPU将首先响应自然优先级较高的PX0的中断申请。v例如,某软件中对寄存器IE、IP设置如下:v MOV IE,#8FHv MOV IP,#06Hv则此时该系统中:CPU中断允许;允许外部中断0、外部中断1、定时器/计数器0、定时器/计数器1提出的中断申请;v允许中断源的中断优先次序为:v定时器/计数器 0 外部中断1 外部中断0 定时器/计数器1。v5.1.4中断过程中断过程v
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模块 单片机 中断 系统
限制150内