MS51
有几个特殊的功能,如
WDT和掉电检测,对系统正常运行非常重要。如果这些控制寄存器不保护 ,错误的代码可能往它们写入不确定的值,导致运行在错误的状态且失控。为了避免这个风险,MS51 有一个保护机制,关键的
SFR
限制写访问。该保护机制使用时效访问
(TA)
。
在时效访问方式,受保护的位有一个写使能时间窗口。只有在该窗口有效的状态下,写才能成功,否则 写的直接丢弃。当软件往TA写入AAH,计数器开始运行。该计数器等待3个时钟周期查询是否往TA写入 55H。如果写入55H在写入AAH后 3个时钟周期内,时效访问窗口打开。它保持4个时钟周期的打开状态 ,用户可以写保护位。4个时钟周期后,窗口自动关闭。一旦窗口关闭,写另一个保护位时,必须重新 运行解保护程序。
例如:写被保护的WDCON寄存器,需要先打开TA保护:
Enable_WDT_Reset_Config(); //WDT 复位配置
TA=0xAA; //打开TA保护
TA=0x55; //打开TA保护
WDCON=0x06; // 立刻马上写被保护的寄存器,中间不能有其它语句