STC15F2K60S2系列单片机中断系统_第1页
STC15F2K60S2系列单片机中断系统_第2页
STC15F2K60S2系列单片机中断系统_第3页
STC15F2K60S2系列单片机中断系统_第4页
STC15F2K60S2系列单片机中断系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、 作者作者 丁向荣丁向荣单片微机原理与接口技术单片微机原理与接口技术第第7章章STC15F2K60S2单片机中断系统单片机中断系统 7.1 中断系统概述 7.2 STC15F2K60S2单片机的中断系统 7.3 STC15F2K60S2单片机外部中断的扩展 7.1 中断系统概述7.1.1 中断系统的几个概念中断系统的几个概念 1. 中断中断 所谓中断是指程序执行过程中,允许外部或内部事件通所谓中断是指程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向为处理外部或内部事件的过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去,完成中断服务程序后,中断服务程序中去,

2、完成中断服务程序后,CPU返回继续执行返回继续执行被打断的程序。被打断的程序。 返回目录返回目录主程序继续执行主程序断点响应低级中断请求返回主程序RETI低级中断程序继续执行断点响应高级中断请求返回低级中断程序高级中断服务程序主程序继续执行主程序响应中断请求返回主程序中断服务程序断点 7.1 中断系统概述7.1.1 中断系统的几个概念中断系统的几个概念 2. 中断源中断源 引起引起CPU中断的根源或原因,称为中断源。中断源向中断的根源或原因,称为中断源。中断源向CPU提出的处理请求,称为中断请求或中断申请。提出的处理请求,称为中断请求或中断申请。 3. 中断优先级中断优先级 当有几个中断源同时

3、申请中断时,那么就存在当有几个中断源同时申请中断时,那么就存在CPU先响先响应哪个中断请求的问题?为此,应哪个中断请求的问题?为此,CPU要对各中断源确定一个优要对各中断源确定一个优先等级,称为中断优先级。中断优先级高的中断请求优先响先等级,称为中断优先级。中断优先级高的中断请求优先响应。应。 返回目录返回目录 7.1 中断系统概述7.1.1 中断系统的几个概念中断系统的几个概念 4. 中断嵌套中断嵌套 中断优先级高的中断请求可以中断中断优先级高的中断请求可以中断CPU正在处理的优先级正在处理的优先级更低的中断服务程序,待完成了中断优先权高的中断服务程更低的中断服务程序,待完成了中断优先权高的

4、中断服务程序之后,再继续执行被打断的优先级低的中断服务程序,这序之后,再继续执行被打断的优先级低的中断服务程序,这就是中断嵌套。就是中断嵌套。返回目录返回目录 7.1 中断系统概述7.1.2 中断的技术优势中断的技术优势 解决了快速解决了快速CPU和慢速外设之间的矛盾,可使和慢速外设之间的矛盾,可使CPU和外设并和外设并行工作行工作 可及时处理控制系统中许多随机参数和信息可及时处理控制系统中许多随机参数和信息 具备了处理故障的能力,提高了机器自身的可靠性具备了处理故障的能力,提高了机器自身的可靠性 实现人机联系实现人机联系返回目录返回目录 7.1 中断系统概述7.1.3 中断系统需要解决的问题

5、中断系统需要解决的问题 (1)当有中断请求时,需要有一个寄存器能把中断源的中断请求记)当有中断请求时,需要有一个寄存器能把中断源的中断请求记录下来;录下来; (2)能够对中断请求信号进行屏蔽,灵活地对中断请求信号实现屏)能够对中断请求信号进行屏蔽,灵活地对中断请求信号实现屏蔽与允许的管理;蔽与允许的管理; (3)当有中断请求时,)当有中断请求时,CPU能及时响应中断,停下正在执行的任务,能及时响应中断,停下正在执行的任务,自动转去处理中断服务子程序,中断服务处理后能返回到断点处继自动转去处理中断服务子程序,中断服务处理后能返回到断点处继续处理原先的任务;续处理原先的任务; (4)当有多个中断源

6、同时申请中断时,应能优先响应优先级高的中)当有多个中断源同时申请中断时,应能优先响应优先级高的中断源,实现中断优先级的控制;断源,实现中断优先级的控制; (5)当)当CPU正在执行低优先级中断源中断服务程序时,若这时优先级正在执行低优先级中断源中断服务程序时,若这时优先级比它高的中断源也提出中断请求,要求能暂停执行低优先级中断源比它高的中断源也提出中断请求,要求能暂停执行低优先级中断源的中断服务程序转去执行更高优先级中断源的中断服务程序,实现的中断服务程序转去执行更高优先级中断源的中断服务程序,实现中断嵌套,并能逐级正确返回原断点处。中断嵌套,并能逐级正确返回原断点处。返回目录返回目录7.2

7、STC15F2K60S2单片机的中断系统7.2.1 STC15F2K60S2单片机的中断请求单片机的中断请求 STC15F2K60S2单片机的中断系统有单片机的中断系统有14个中断源,个中断源,2个优先个优先级,可实现二级中断服务嵌套。由片内特殊功能寄存器中的级,可实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器中断允许寄存器IE、IE2、INT_CLKO控制控制CPU是否响应中断请是否响应中断请求;由中断优先级寄存器求;由中断优先级寄存器IP、IIP2安排各中断源的优先级;同安排各中断源的优先级;同一优先级内一优先级内2个以上中断同时提出中断请求时,由内部的查询个以上中断同时提出

8、中断请求时,由内部的查询逻辑确定其响应次序。逻辑确定其响应次序。 STC15F2K60S2单片机的中断系统见书图单片机的中断系统见书图7.2。返回目录返回目录7.2 STC15F2K60S2单片机的中断系统 返回目录返回目录7.2 STC15F2K60S2单片机的中断系统7.2.1 STC15F2K60S2单片机的中断请求单片机的中断请求 1. 中断源中断源 STC15F2K60S2单片机有单片机有14个中断源个中断源 。 2. 中断请求标志中断请求标志 STC15F2K60S2单片机的单片机的10个中断源的中断请求标志分别寄存在个中断源的中断请求标志分别寄存在TCON、SCON、PCON、S

9、2CON、ADC_CONTR、SPSTAT、CCON中,详见表中,详见表7.1。其中,外部中断其中,外部中断2(/INT2)、外部中断)、外部中断3(/INT3)和外部中断)和外部中断4(/INT4)的中断请求标志位被隐藏起来了,对用户是不可见的。当相应的中的中断请求标志位被隐藏起来了,对用户是不可见的。当相应的中断被响应后或(断被响应后或(EXn)=0(n=2、3、4),这些中断请求标志位会自),这些中断请求标志位会自动被清动被清0;定时器;定时器T2的中断请求标志位也被隐藏起来了,对用户是不的中断请求标志位也被隐藏起来了,对用户是不可见的,当可见的,当T2的中断被响应后或(的中断被响应后或

10、(ET2)=0,这些中断请求标志位会,这些中断请求标志位会自动被清自动被清0;返回目录返回目录7.2 STC15F2K60S2单片机的中断系统7.2.1 STC15F2K60S2单片机的中断请求单片机的中断请求 返回目录返回目录地址B7B6B5B4B3B2B1B0复位值TCON88HTF1TR1TF0TR0IE1IT1IE0IT00000 0000SCON98HSM0/FESM1SM2RENTB8RB8TIRI0000 0000S2CON9AHS2SM0S2SM0S2SM0S2RENS2TB8S2RB8S2TIS2RI0000 0000PCON87HSMODSMOD0LVDFPOFGF1GF0

11、PDIDL0011 0000ADC_CONTRBCHADC_POWERSPEED1SPEED0ADC_FLAGADC_STARTCHS2CHS1CHS00000 0000SPSTATCDHSPIFWCOL-00 xx xxxxCCOND8HCFCR-CCF3CCF2CCF1CCF000 xx 00007.2 STC15F2K60S2单片机的中断系统7.2.1 STC15F2K60S2单片机的中断请求单片机的中断请求 3. 中断允许的控制中断允许的控制 计算机中断系统有两种不同类型的中断:一类称为非屏蔽中断,另计算机中断系统有两种不同类型的中断:一类称为非屏蔽中断,另一类称为可屏蔽中断。一类称为

12、可屏蔽中断。STC15F2K60S2单片机的单片机的14个中断源都是可屏个中断源都是可屏蔽中断,其中断系统内部设有蔽中断,其中断系统内部设有3个专用寄存器(个专用寄存器(IE、IE2、INT_CLKO)用于控制用于控制CPU对各中断源的开放或屏蔽,详见表对各中断源的开放或屏蔽,详见表7.2。 返回目录返回目录地址B7B6B5B4B3B2B1B0复位值IEA8HEAELVDEADC ESET1EX1ET0EX000 x0 0000IE2AFH-ET2ESPIES2xxxx x000INT_CLKO8FH-EX4EX3EX2LVD_WAKET2CLKOT1CLKOT0CLKOx000 00007.

13、2 STC15F2K60S2单片机的中断系统7.2.1 STC15F2K60S2单片机的中断请求单片机的中断请求 4. 中断优先的控制中断优先的控制 STC15F2K60S2单片机除外部中断单片机除外部中断2(/INT2)、外部中断)、外部中断3(/INT3)、定时器)、定时器T2中断和外部中断中断和外部中断4(/INT4)为固定最低优)为固定最低优先级中断外,其他中断都具有先级中断外,其他中断都具有2个中断优先级,可实现二级中个中断优先级,可实现二级中断服务嵌套。断服务嵌套。IP、IP2为中断优先级寄存器,锁存各中断源优为中断优先级寄存器,锁存各中断源优先级控制位,详见表先级控制位,详见表7

14、.3。返回目录返回目录地址B7B6B5B4B3B2B1B0复位值IPB8HPPCAPLVDPADCPSPT1PX1PT0PX00000 0000IP2B5HPSPIPS20000 00007.2 STC15F2K60S2单片机的中断系统7.2.1 STC15F2K60S2单片机的中断请求单片机的中断请求 如果几个同一优先级的中断源同时向如果几个同一优先级的中断源同时向CPU申请中断,申请中断,CPU 通过内部硬件查询逻辑,按自然优先通过内部硬件查询逻辑,按自然优先级顺序确定先响应哪个中断请求。自然优先级由内部硬件电路形成,排列如下:级顺序确定先响应哪个中断请求。自然优先级由内部硬件电路形成,排

15、列如下:中断源中断源 同级自然优先顺序同级自然优先顺序外部中断外部中断0 最高最高 定时器定时器T0中断中断 外部中断外部中断1 定时器定时器T1中断中断 串行口中断串行口中断 A/D转换中断转换中断LVD中断中断 PCA中断中断串行口串行口2中断中断SPI中断中断外部中断外部中断2外部中断外部中断3定时器定时器T2中断中断外部中断外部中断4 最低最低 返回目录返回目录7.2 STC15F2K60S2单片机的中断系统7.2.2 STC15F2K60S2单片机的中断响应单片机的中断响应 1.中断响应中断响应 中断响应是中断响应是CPU对中断源中断请求的响应,包括保护断对中断源中断请求的响应,包括

16、保护断点和将程序转向中断服务程序的入口地址(通常称矢量地点和将程序转向中断服务程序的入口地址(通常称矢量地址)。址)。CPU并非任何时刻都响应中断请求,而是在中断响应条并非任何时刻都响应中断请求,而是在中断响应条件满足之后才会响应。件满足之后才会响应。 (1)中断响应时间问题)中断响应时间问题 CPU正在执行同级或高级优先级的中断;正在执行同级或高级优先级的中断; 正在执行正在执行RETI中断返回指令或访问与中断有关的寄存中断返回指令或访问与中断有关的寄存器的指令,如访问器的指令,如访问IE和和IP的指令;的指令; 当前指令未执行完当前指令未执行完 ; 返回目录返回目录7.2 STC15F2K

17、60S2单片机的中断系统7.2.2 STC15F2K60S2单片机的中断响应单片机的中断响应 1.中断响应中断响应 (2)中断响应过程)中断响应过程 中断响应过程包括保护断点和将程序转向中断服务程序中断响应过程包括保护断点和将程序转向中断服务程序的入口地址(各中断矢量地址见书表的入口地址(各中断矢量地址见书表7.4)。)。 CPU响应中断时,将相应的优先级状态触发器置响应中断时,将相应的优先级状态触发器置1,然后,然后由硬件自动产生一个长调用指令由硬件自动产生一个长调用指令LCALL,此指令首先把断点地,此指令首先把断点地址压入堆栈保护,再将中断服务程序的入口地址送入到程序址压入堆栈保护,再将

18、中断服务程序的入口地址送入到程序计数器计数器PC,使程序转向相应的中断服务程序。,使程序转向相应的中断服务程序。返回目录返回目录7.2 STC15F2K60S2单片机的中断系统7.2.2 STC15F2K60S2单片机的中断响应单片机的中断响应 1.中断响应中断响应 (3)中断请求标志的撤除问题)中断请求标志的撤除问题 CPU响应中断请求后即进入中断服务程序,在中断返回前,应撤除该中断请求,否则,响应中断请求后即进入中断服务程序,在中断返回前,应撤除该中断请求,否则,会重复引起中断而导致错误。会重复引起中断而导致错误。STC15F2K60S2单片机各中断源中断请求撤除的方法各不相同,单片机各中

19、断源中断请求撤除的方法各不相同,分别为:分别为: 1)定时器中断请求的撤除)定时器中断请求的撤除 对于定时对于定时/计数器器计数器器T0或或T1溢出中断,溢出中断, CPU在响应中断后即由硬件自动清除其中断标志在响应中断后即由硬件自动清除其中断标志位位TF0或或TF1,无需采取其它措施;,无需采取其它措施; 而定时器而定时器T2中断的中断请求标志位被隐藏起来了,对用户是不可见的。当相应的中断服务中断的中断请求标志位被隐藏起来了,对用户是不可见的。当相应的中断服务程序执行后,这些中断请求标志位也会自动被清程序执行后,这些中断请求标志位也会自动被清0; 2)串行口中断请求的撤除)串行口中断请求的撤

20、除 对于串行口中断,对于串行口中断,CPU在响应中断后,硬件不会自动清除中断请求标志位在响应中断后,硬件不会自动清除中断请求标志位TI或或RI,必须,必须在中断服务程序中,在判别出是在中断服务程序中,在判别出是TI,还是,还是RI引起的中断后,再用软件将其清除。引起的中断后,再用软件将其清除。 返回目录返回目录7.2 STC15F2K60S2单片机的中断系统7.2.2 STC15F2K60S2单片机的中断响应单片机的中断响应 1.中断响应中断响应 (3)中断请求标志的撤除问题)中断请求标志的撤除问题 3)外部中断)外部中断0和外部中断和外部中断1中断请求的撤除中断请求的撤除 外部中断外部中断0

21、和外部中断和外部中断1的触发方式可由的触发方式可由ITx(x=0,1)设置,)设置,但无论但无论ITx(x=0,1)设置为)设置为“0”还是为还是为“1”,都属于边沿触发,都属于边沿触发,CPU在响应中断后由硬件自动清除其中断标志位在响应中断后由硬件自动清除其中断标志位IE0或或IE1,无需,无需采取其它措施。采取其它措施。 4)电源低电压检测中断)电源低电压检测中断 电源低电压检测中断的中断标志位,需要用软件清除。(其电源低电压检测中断的中断标志位,需要用软件清除。(其他中断标志在对应的接口学习中介绍)他中断标志在对应的接口学习中介绍)返回目录返回目录7.2 STC15F2K60S2单片机的

22、中断系统7.2.2 STC15F2K60S2单片机的中断响应单片机的中断响应 2中断服务与中断返回中断服务与中断返回 中断服务与中断返回就是通过执行中断服务程序完成的。中断服务程中断服务与中断返回就是通过执行中断服务程序完成的。中断服务程序从中断入口地址开始执行,到返回指令序从中断入口地址开始执行,到返回指令“RETI”为止,一般包括四部分内为止,一般包括四部分内容,其结构是:保护现场,中断服务,恢复现场、中断返回。容,其结构是:保护现场,中断服务,恢复现场、中断返回。 保护现场保护现场:用入栈操作指令将需保护寄存器的内容压入堆栈。:用入栈操作指令将需保护寄存器的内容压入堆栈。 中断服务中断服务:中断服务程序的核心部分,是中断源中断请求之所在。:中断服务程序的核心部分,是中断源中断请求之所在。 恢复现

温馨提示

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

评论

0/150

提交评论