S中断系统资料.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 S12中断系统 S12中断系统概述 S12中断优先级 S12中断程序设计实例 前言 中断是用以提高计算机工作效率的一种重要技术,最初它只是作为计算机与外设交换信息的一种同步控制方式而提出的,但随着计算机技术的发展,特别是CPU速度的迅速提高,对计算机内部机制的要求也越来越高,希望计算机能随时发现各种错误,当系统出现意想不到的事件时,能及时妥善处理。于是,中断的概念得以延伸,除了传统的外部事件(硬件)引起的中断事件外,还有CPU内部软件中断的概念。所谓中断,是指CPU在正常执行程序的过程中,由于内部/外部事件或由程序的预先安排,引起了CPU暂时中断当前程序的运行,而转去执行由内部/外部事件或预先安排的时间而需要执行的中断服务子程序,在中断服务子程序执行完毕后,CPU再重新回来执行当前的程序。利用中断可以大大提高CPU的工作效率。实现中断功能的控制逻辑称为中断机构或中断系统。 前言 尽管单片机或者微控制器中的中断系统各不相同,但中断系统的基本功能是相同的: 能实现中断响应、中断处理(服务)、中断返回和中断屏蔽; 能实现中断优先级排队(管理); 能实现中断嵌套。 4.1 S12中断系统概述 S12系列单片机的中断属于异常情况处理的一部分,异常情况处理还包括复位,所以本章除论述了S12系列单片机的中断系统,也简要介绍了S12系列单片机的几种复位情况。正常情况下,单片机有序的执行相应程序,按照明确的获取-解码-执行的方式顺序处理各种指令。程序计数器记录了下一条程序指令位于内存中的位置,即使当程序为了相应分支或跳转指令而偏离了正常的顺序处理,但仍然是在顺序事件处理的控制范围之内。可能发生的异常情况会打破这种事件处理的顺序流,将一个正常程序流的中断归为一个异常情况,异常情况不一定总是和错误相关联的,中断是在一个处理器上运行多个系统的有效方法。通过上面的论述可以知道,S12程序运行时可能发生的异常可分为两类:复位和中断,而中断又进一步分为可屏蔽中断和不可屏蔽中断。S12系列单片机的异常分类如图4.1所示。 4.1 S12中断系统概述 4.1 S12中断系统概述 4.1.1 S12单片机的复位 4.1 S12中断系统概述 4.1.1 S12单片机的复位 4.1 S12中断系统概述 4.1.1 S12单片机的复位 4.1 S12中断系统概述 4.1.2 S12单片机的中断 4.1 S12中断系统概述 4.1.2 S12单片机的中断 4.1 S12中断系统概述 4.1.2 S12单片机的中断 4.1 S12中断系统概述 4.1.2 S12单片机的中断 4.1 S12中断系统概述 4.1.2 S12单片机的中断 4.1 S12中断系统概述 4.1.2 S12单片机的中断 4.2 S12中断优先级 4.2 S12中断优先级 4.2 S12中断优先级 4.2 S12中断优先级 4.2 S12中断优先级 4.2 S12中断优先级 4.2 S12中断优先级 4.2 S12中断优先级 4.3 S12中断程序设计实例 4.3 S12中断程序设计实例 4.3 S12中断程序设计实例 4.3 S12中断程序设计实例 4.3 S12中断程序设计实例 4.3 S12中断程序设计实例 The End · S12系列单片机共有四种事件可以触发系统复位。 (1)外部复位 S12配备一个标记为RESET的低电平有效复位引脚,当该引脚电压为低电平时,触发复位。 (2)上电复位 在S12的VDD引脚上的一个正向变化将触发上电复位,这意味着当给S12上电时,它以一个已知的、确定的设置启动。 (3)计算机工作正常(COP)复位 COP系统允许S12检测软件运行故障,通常COP在软件开发过程中是关闭的。但是,一旦某个基于S12的系统完全运行后,这是一项重要的安全保障功能之一。COP系统包含一个用户设置的倒计数定时器,一旦定时器过期,则触发一个系统复位。为了防止定时器过期,执行的程序必须在倒计数定时器失效之前,向ARM/RESET COP定时器寄存器(COPRST)中写入$55和$AA。若某个程序陷入一个死循环,它将不能发送上述必须的信息,因此将产生COP复位。为了有效地实现这个功能,向COPRST寄存器中写入$55的代码应该有策略的分布在程序的重要部分,写入$AA的代码则可以放在程序的其他部分。这样,一旦微控制器在某代码处运行失效,将不会产生需要的代码序列($55或$AA),这样就会触发COP复位。可以在程序设计中设置多对$55和$AA,实现错误恢复功能。 (4)时钟监控复位 当系统时钟频率低于某个预设置值或停止工作时,将触发时钟监控复位。 当上述事件触

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档