文档介绍:第 5 章
复位、中断及低功耗模式
复位
为什么需要复位电路?
单片机中各寄存器、控制电路的状态开始不确定,
通过复位,单片机可迅速进入一个已知的初始化状态,
从用户定义的程序存储器地址开始执行程序。
68HC08JL3芯片Flash起始地址是$EC00, 复位的地址向量存储在$FFFE~$FFFF单元中。如果程序第一条指令从FC00H开始执行,则要把该值存在FFFE~FFFF中,高字节在前,低字节在后:
(FFFE):00H
(FFFF):FCH
复位后,CPU首先将
(FFFE)→PCL
(FFFF)→PCH
然后,程序从PC指定的地址开始执行。
与复位有关的汇编语言一般都放在程序的开始
或结尾处书写。
当FFFE~FFFF单元中存入全“1”时,程序不是从复位向量所指的地址开始执行,而转向监控ROM执行程序,这是单片机的系统管理软件。
复位
1、复位源
M68HC08系列有一个外部复位和5种内部复位。
外部复位通过在引脚RST输入有效电平。
复位
由于电容电压不能跃变,刚加电时,UC=0,随着时间的推移,电容开始充电,最终UC=5V
五种内部复位
(1) 上电复位
系统上电时由VDD电源引脚上的电压正跳变引起的内部复位。
(2) 看门狗(COP)复位
(3) 低电压极限(LOW Voltage Inhibit , LVI)复位
(4) 非法操作码复位(ILOP);
(5) 非法地址复位(ILAD)。
复位
2 看门狗复位
单片机在运行过程中会受到各种外部的干扰,在干扰
严重的环境下甚至无法稳定工作,其主要原因之一是
程序指针PC寄存器内容出错,可能会使单片机陷入死循
环,看门狗电路就是为了解决这一问题而设计的。
计算机正常操作模块(COP)是单片机系统中提高运
行可靠性的一个非常重要的部件,它发挥着实时监视系
统的作用,因而,被赋予一个更通俗、形象的称呼——
“看门狗”。
看门狗复位
计数器工作时,当有时钟输入时,它的计数值会从0000开始增加,计数滿后+1,将变为“10000”,向前产生进位脉冲,同时,计数器计数值回到0,继续计数。
计数器还有一个RESET端,如果RESET=1,不管计数器计数多少,都会清0
计数器
程序送出
复位信号
系统时钟
溢出
看门狗复位
可以通过编程对配置寄存器CONFIG1的COPRS位进行设置使“看门狗”定时器分别实现两种不同的定时时间。
当“看门狗”电路工作时,计数器开始计数,与此同时,在主程序中合适的位置插入令看门狗清零的指令,
STA $FFFF
将计数器清0,这样,计数器永远不会计滿而产生溢出。但当程序进入死循环后,送不出复位脉冲,计数器很快计滿产生溢出, CPU被复位,程序从头开始执行。
看门狗复位
低电压复位
单片机正常工作电压是5V,当电压下降时工作不正常,这时,产生复位。究竟降到多少伏才复位呢?这由配置寄存器CONFIG来控制。
配置寄存器有什么作用?
配置寄存器用于单片机内部的各种选择项的初始化控制,Motorola 08系列单片机有两个配置寄存器,CONFIG1和CONFIG2。因为各种选项会影响到单片机的操作,因此应在复位后立即设置此寄存器。
注意,每次复位后配置寄存器只能写一次。
低电压复位
配置寄存器
配置寄存器1(CONFIG1)
COPRS——COP复位周期选择位;
LVID——低电压极限允许控制位(LVID=0,允许系统监测VDD);
SSREC——由STOP状态恢复正常状态时间控制位;
STOP——STOP指令允许位(STOP=0,STOP指令非法);
COPD——COP允许控制位(COPD=0允许COP模块工作)