1.复位操作
复位提供一种从已知的初始条件设置来启动处理的方法。在HCS08单片机复位期间,大部分控制和状态寄存器都设为复位默认值:内部时钟模切换至自供时钟模式,采用8MHz的时钟频率作为CPU时钟,总线时钟约为4MHz,芯片从0xFFFE~0xFFFF取出两字节的复位向量送到程序计数器PC;复位后片上外设模块不可用,I/O引脚初始化设为通用的高阻抗输入并且引脚无上拉;条件码寄存器CCR的I位被置位来屏蔽中断,所以用户程序可初始化堆栈指针SP和系统控制设置。复位时SP被强制设为0x00FF。S08AC16单片机系列包括下列复位源。
●上电复位(POR)。
●低压检测(LVD)。
●计算机正常操作监控模块(COP)定时器,看门狗模块。
●非法操作码检测。
●非法地址检测。
●背景调试强制复位。
●复位引脚(RESET)。
●时钟发生器失锁和丢失时钟复位。
除了背景调试强制复位,每个源对应系统复位状态寄存器相应位。
2.系统复位状态寄存器(SRS)
系统复位状态寄存器SRS的7个只读标志位记录了最近一次发生的复位源,除了后台强制复位外其他复位源均与复位状态寄存器有关联,系统复位状态寄存器(SRS)见表6-13。当一个调试器通过向SBDFR寄存器的BDFR位写入“1”强制复位时,SRS的各标志位都不会被置位。向该寄存器地址写入任意值可清零COP看门狗计数器,但不影响寄存器的内容,这些位的复位状态取决于单片机复位的原因。SRS寄存器上电复位后默认值为0X82,读取SRS操作不会影响SRS的值。
表6-13 系统复位状态寄存器(SRS)
●POR:上电复位。表明复位是由上电检测逻辑引起,当内部供应电压发生跳跃,低电压复位(LVD)状态位被置位,表明当内部供应电压下降到LVD限度时复位发生。
0:复位不是由POR引起。
1:复位由POR引起。
●PIN:外部复位引脚位。表明复位由在外部复位引脚上产生的有效低电压而引发。
0:复位不是由外部复位引脚引发。(www.xing528.com)
1:复位由外部复位引脚引发。
●COP:计算机正常操作监控(COP)看门狗位。表明复位因看门狗定时器溢出而引发。复位源可通过COPE=0锁定。
0:复位不是由COP时间溢出而引起。
1:复位原因是COP时间溢出。
●ILOP:非法操作码复位。由非法操作码而引起的复位。如果通过设置SOPT寄存器的STOPE=0时,则STOP指令被认为是非法操作。如果主动后台调试模式通过设置BDCSC寄存器中的ENBDM=1设为不可用时,则BGND指令被认为是非法操作。
0:复位不是由非法操作码引起。
1:复位由非法操作码引起。
●ILAD:非法操作码复位。由访问未指定的非法地址而引起的复位。
0:复位不是有访问非法地址引起。
1:复位是有访问非法地址引起。
在MC9S08AC16单片机中的非法地址区域如下。0x0470~0x17FF:从RAM的最后到高页寄存器的开始的区域。0x1860~0xBFFF:从高页寄存器的开始到Flash的开始的区域。
注意,寄存器区域中未使用和保留的地址不被认为是非法地址,也不会触发非法地址中断。
●ICG:内部时钟发生模块复位。复位由ICG模块引起。
0:复位不是由ICG引起。
1:复位由ICG引起。
●LVD:低电压触发复位。如果LVD复位可用(LVDE=LVDRE=1)且供电电压下降到低于LVD临界电压时就会产生LVD复位。该位可由POR置位。
0:复位不是由LVD或POR而引起的。
1:复位由LVD或者POR引起。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。