《STC15F2K60S2系列单片机中断系统.ppt》由会员分享,可在线阅读,更多相关《STC15F2K60S2系列单片机中断系统.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、作者 丁向荣,单片微机原理与接口技术,第7章STC15F2K60S2单片机中断系统,7.1 中断系统概述 7.2 STC15F2K60S2单片机的中断系统 7.3 STC15F2K60S2单片机外部中断的扩展,7.1 中断系统概述,7.1.1 中断系统的几个概念 1. 中断 所谓中断是指程序执行过程中,允许外部或内部事件通过硬件打断程序的执行,使其转向为处理外部或内部事件的中断服务程序中去,完成中断服务程序后,CPU返回继续执行被打断的程序。,返回目录,7.1 中断系统概述,7.1.1 中断系统的几个概念 2. 中断源 引起CPU中断的根源或原因,称为中断源。中断源向CPU提出的处理请求,称为
2、中断请求或中断申请。 3. 中断优先级 当有几个中断源同时申请中断时,那么就存在CPU先响应哪个中断请求的问题?为此,CPU要对各中断源确定一个优先等级,称为中断优先级。中断优先级高的中断请求优先响应。,返回目录,7.1 中断系统概述,7.1.1 中断系统的几个概念 4. 中断嵌套 中断优先级高的中断请求可以中断CPU正在处理的优先级更低的中断服务程序,待完成了中断优先权高的中断服务程序之后,再继续执行被打断的优先级低的中断服务程序,这就是中断嵌套。,返回目录,7.1 中断系统概述,7.1.2 中断的技术优势 解决了快速CPU和慢速外设之间的矛盾,可使CPU和外设并行工作 可及时处理控制系统中
3、许多随机参数和信息 具备了处理故障的能力,提高了机器自身的可靠性 实现人机联系,返回目录,7.1 中断系统概述,7.1.3 中断系统需要解决的问题 (1)当有中断请求时,需要有一个寄存器能把中断源的中断请求记录下来; (2)能够对中断请求信号进行屏蔽,灵活地对中断请求信号实现屏蔽与允许的管理; (3)当有中断请求时,CPU能及时响应中断,停下正在执行的任务,自动转去处理中断服务子程序,中断服务处理后能返回到断点处继续处理原先的任务; (4)当有多个中断源同时申请中断时,应能优先响应优先级高的中断源,实现中断优先级的控制; (5)当CPU正在执行低优先级中断源中断服务程序时,若这时优先级比它高的
4、中断源也提出中断请求,要求能暂停执行低优先级中断源的中断服务程序转去执行更高优先级中断源的中断服务程序,实现中断嵌套,并能逐级正确返回原断点处。,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.1 STC15F2K60S2单片机的中断请求 STC15F2K60S2单片机的中断系统有14个中断源,2个优先级,可实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE、IE2、INT_CLKO控制CPU是否响应中断请求;由中断优先级寄存器IP、IIP2安排各中断源的优先级;同一优先级内2个以上中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。 STC15F2K60
5、S2单片机的中断系统见书图7.2。,返回目录,7.2 STC15F2K60S2单片机的中断系统,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.1 STC15F2K60S2单片机的中断请求 1. 中断源 STC15F2K60S2单片机有14个中断源 。 2. 中断请求标志 STC15F2K60S2单片机的10个中断源的中断请求标志分别寄存在TCON、SCON、PCON、S2CON、ADC_CONTR、SPSTAT、CCON中,详见表7.1。其中,外部中断2(/INT2)、外部中断3(/INT3)和外部中断4(/INT4)的中断请求标志位被隐藏起来了,对用户是不可见的。当相应
6、的中断被响应后或(EXn)=0(n=2、3、4),这些中断请求标志位会自动被清0;定时器T2的中断请求标志位也被隐藏起来了,对用户是不可见的,当T2的中断被响应后或(ET2)=0,这些中断请求标志位会自动被清0;,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.1 STC15F2K60S2单片机的中断请求,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.1 STC15F2K60S2单片机的中断请求 3. 中断允许的控制 计算机中断系统有两种不同类型的中断:一类称为非屏蔽中断,另一类称为可屏蔽中断。STC15F2K60S2单片机的14个中断源都是可屏蔽中断
7、,其中断系统内部设有3个专用寄存器(IE、IE2、INT_CLKO)用于控制CPU对各中断源的开放或屏蔽,详见表7.2。,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.1 STC15F2K60S2单片机的中断请求 4. 中断优先的控制 STC15F2K60S2单片机除外部中断2(/INT2)、外部中断3(/INT3)、定时器T2中断和外部中断4(/INT4)为固定最低优先级中断外,其他中断都具有2个中断优先级,可实现二级中断服务嵌套。IP、IP2为中断优先级寄存器,锁存各中断源优先级控制位,详见表7.3。,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2
8、.1 STC15F2K60S2单片机的中断请求 如果几个同一优先级的中断源同时向CPU申请中断,CPU 通过内部硬件查询逻辑,按自然优先级顺序确定先响应哪个中断请求。自然优先级由内部硬件电路形成,排列如下: 中断源 同级自然优先顺序 外部中断0 最高 定时器T0中断 外部中断1 定时器T1中断 串行口中断 A/D转换中断 LVD中断 PCA中断 串行口2中断 SPI中断 外部中断2 外部中断3 定时器T2中断 外部中断4 最低,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.2 STC15F2K60S2单片机的中断响应 1.中断响应 中断响应是CPU对中断源中断请求的响应,
9、包括保护断点和将程序转向中断服务程序的入口地址(通常称矢量地址)。CPU并非任何时刻都响应中断请求,而是在中断响应条件满足之后才会响应。 (1)中断响应时间问题 CPU正在执行同级或高级优先级的中断; 正在执行RETI中断返回指令或访问与中断有关的寄存器的指令,如访问IE和IP的指令; 当前指令未执行完 ;,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.2 STC15F2K60S2单片机的中断响应 1.中断响应 (2)中断响应过程 中断响应过程包括保护断点和将程序转向中断服务程序的入口地址(各中断矢量地址见书表7.4)。 CPU响应中断时,将相应的优先级状态触发器置1,然
10、后由硬件自动产生一个长调用指令LCALL,此指令首先把断点地址压入堆栈保护,再将中断服务程序的入口地址送入到程序计数器PC,使程序转向相应的中断服务程序。,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.2 STC15F2K60S2单片机的中断响应 1.中断响应 (3)中断请求标志的撤除问题 CPU响应中断请求后即进入中断服务程序,在中断返回前,应撤除该中断请求,否则,会重复引起中断而导致错误。STC15F2K60S2单片机各中断源中断请求撤除的方法各不相同,分别为: 1)定时器中断请求的撤除 对于定时/计数器器T0或T1溢出中断, CPU在响应中断后即由硬件自动清除其中断
11、标志位TF0或TF1,无需采取其它措施; 而定时器T2中断的中断请求标志位被隐藏起来了,对用户是不可见的。当相应的中断服务程序执行后,这些中断请求标志位也会自动被清0; 2)串行口中断请求的撤除 对于串行口中断,CPU在响应中断后,硬件不会自动清除中断请求标志位TI或RI,必须在中断服务程序中,在判别出是TI,还是RI引起的中断后,再用软件将其清除。,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.2 STC15F2K60S2单片机的中断响应 1.中断响应 (3)中断请求标志的撤除问题 3)外部中断0和外部中断1中断请求的撤除 外部中断0和外部中断1的触发方式可由ITx(x
12、=0,1)设置,但无论ITx(x=0,1)设置为“0”还是为“1”,都属于边沿触发,CPU在响应中断后由硬件自动清除其中断标志位IE0或IE1,无需采取其它措施。 4)电源低电压检测中断 电源低电压检测中断的中断标志位,需要用软件清除。(其他中断标志在对应的接口学习中介绍),返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.2 STC15F2K60S2单片机的中断响应 2中断服务与中断返回 中断服务与中断返回就是通过执行中断服务程序完成的。中断服务程序从中断入口地址开始执行,到返回指令“RETI”为止,一般包括四部分内容,其结构是:保护现场,中断服务,恢复现场、中断返回。 保
13、护现场:用入栈操作指令将需保护寄存器的内容压入堆栈。 中断服务:中断服务程序的核心部分,是中断源中断请求之所在。 恢复现场:在中断服务结束之后,中断返回之前,用出栈操作指令将保护现场中压入堆栈的内容弹回到相应的寄存器中,注意弹出顺序必须与压入顺序相反。 中断返回:中断返回是指中断服务完成后,计算机返回原来断开的位置(即断点),继续执行原来的程序。中断返回由中断返回指令RETI来实现。,返回目录,7.2 STC15F2K60S2单片机的中断系统,7.2.3 STC15F2K60S2单片机中断应用举例 例7.1,返回目录,7.3 STC15F2K60S2单片机外部中断的扩展,1. 利用外部中断加查询的方法扩展外部中断 利用外部中断输入线(如和脚),每一中断输入线可以通过逻辑与的关系连接多个外部中断源,同时,利用并行输入端口线作为多个中断源的识别线 。 例7.2,返回目录,7.3 STC15F2K60S2单片机外部中断的扩展,2. 利用定时中断、PCA中断扩展外部中断 当PCA、定时器中断不用时,可扩展为下降沿触发的外部中断,具体内容见PCA、定时器相应章节。,返回目录,感 谢 您 的 关 注!,