STM8教程-第九章 STM8S207中断系统.docxVIP

  • 21
  • 0
  • 约4.4千字
  • 约 8页
  • 2016-07-27 发布于湖北
  • 举报
STM8教程-第九章 STM8S207中断系统

第九章 STM8S207中断系统 中断是用于提高计算机工作效率的一种重要技术,最初它只是作为计算机与外设交换信息的一种同步控制方式而提出,但随着计算机技术的发展,特别是CPU 速度的迅速提高,对计算机内部机制的要求也越来越高,希望计算机能随时发现各种错误,当系统出现意想不到的事件时,能及时处理。于是,中断的概念得以延伸,除了传统的外部事件引起的中断事件外,还有 CPU 内部软件中断的概念。所谓中断,是指 CPU 在正常执行程序的过程中,由于内部、外部事件或者由程序的预先安排,引起了 CPU 暂时中断当前程序的运行,而转去执行由内部、外部事件或预先安排的时间而所需要执行的中断服务子程序,在中断服务子程序执行完毕后,CPU 再重新回来执行当前的程序。利用中断可以大大提高 CPU 的工作效率。实现中断功能的控制逻辑称为中断机构或者中断系统。 尽管单片机或者微控制器中的中断系统各不相同,但中断系统的基本功能是相同的: 1、能实现中断响应、中断处理、中断返回和中断屏蔽 2、能实现中断优先级排队 3、能实现中断嵌套 本章介绍 STM8S207 微控制器的中断系统以及 STM8S207 微控制器对于中断的处理流程。 9.1 STM8S207 中断系统概述 STM8 系列单片机的中断属于异常情况处理的一部分,异常情况处理还包括复位,所以本章除论述 STM8 系列单片机的中断系统,也简要介绍 STM8 系列单片机的几种复位情况。正常情况下,单片机有序的执行对应程序,按照明确的获取-解码-执行方式顺序处理各种指令。程序计数器记录下一条程序指令位于内存中的位置,即使当程序为了相应分支或跳转指令而偏离了正常的顺序处理,但依然是在顺序事件处理的控制范围之内。可能发生的异常情况会被打破这种事件处理的顺序流,将一个正常程序流的中断归为一个异常情况,异常情况不一定总是和错误相关联的,中断是在一个处理器上运行多个系统的有效方法。通过上面的论述可以知道,STM8 程序运行时可能发生的异常可分为两类:复位和中断,而中断又进一步分为可屏蔽和不可屏蔽中断。 9.1.1 STM8S207 的复位 STM8S207 共有 9 个复位源: 1、NRST 引脚产生的外部复位 2、上电复位(POR) 3、掉电复位(BOR) 4、独立看门狗复位 5、窗口看门狗复位 6、软件复位 7、SWIM 复位 8、非法操作码复位 9、EMS 复位:当一些关键的寄存器被破坏或错误加载时产生的复位 所有的复位源最终都作用于 NRST 管脚,并在复位过程中保持低电平。复位入口向量在内存映射中位于固定的地址 6000h。 9.1.2 STM8S207 单片机的中断 STM8S 单片机的中断分为可屏蔽中断和不可屏蔽中断。 1、不可屏蔽中断 不可屏蔽中断包括软件中断、复位中断以及 TLI 中断,下面简要介绍常用的几个不可屏蔽中断。 (1)软件中断 TRAP 实质上是条指令,但其执行过程与中断相同,即通过中断矢量确定目标地址,中断矢量是 8004H~8007H。 (2)复位中断 复位产生的复位源有前面所说的 9 个,对应的中断矢量是 8000H~8003H (3)TLI TLI 是非屏蔽中断引脚,无论 MCU 处于哪种运行状态,当在特定的 IO 口边缘检测到在相应的 TLI 输入时将产生硬件中断,MCU 执行完当前指令后,就会相应该中断,中断矢量为 8008H~800BH。需要注意的是在 TLI 中断服务子程序中禁止使用 TRAP 指令。 2、可屏蔽中断 可屏蔽中断可以在程序控制下由用户开启或者关闭。由于 STM8S207 的可屏蔽中断数量非常多,这里不详细介绍,在对应功能模块时才分别详细介绍。 3、中断堆栈操作顺序 因为中断响应过程中,会有隐含的堆栈操作,所以中断响应前,堆栈必须有效,即堆栈指针 SP 必须指向一个有效的 RAM 区,而且堆栈的大小必须不少于 9字节。 入栈操作使堆栈指针值减小,出栈操作使堆栈指针值增加。当堆栈指针值为其被允许的最小值时,继续入栈会使堆栈指针值回卷至其最大值,从而会导致先前存储的数据被覆盖,但此时没有中断或硬件标志位来指示该事件发生。应用程序需确保堆栈被正确的操作,没有溢出。子程序调用会占用 2 或 3 字节空间。中断调用会占用 9 字节空间来存储内部寄存器(除 SP 之外)。 注: WFI/HLAT 指令会预先保存 CPU 上下文。如果 CPU 处于 WFI 或 HALT 状态下有中断发生,则进入中断所需的延时会相应减少。 中断响应堆栈入栈操作如下图所示:出栈相反 序号堆栈地址入栈内容说明1SP-3PCE:PCH:PCL保存 PC 值2SP-5YH:YL保存寄存器 Y

文档评论(0)

1亿VIP精品文档

相关文档