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