位置:51电子网 » 技术资料 » 单 片 机

89S51看门狗功能的使用方法

发布时间:2008/5/27 0:00:00 访问次数:509

  在atmel的89s51系列的89s51与89c51功能相同。指令兼容。hex程序无需任何转换可以
直接使用。89s51只比89c51增加了一个看门狗功能。89s51的其它功能可以参见89c51的资料

看门狗具体使用方法如下:
在程序初始化中向看门狗寄存器(wdtrst地址是0a6h)中先写入01eh,再写入0e1h。即可激
活看门狗。
org0000
ljmpbegin
begin:
mov0a6h,#01eh;先送1e
mov0a6h,#0e1h;后送e1
;在程序初始化中激活看门狗。
……
……
for:
……
mov0a6h,#01eh;先送1e
mov0a6h,#0e1h;后送e1
;喂狗指令
……
ljmpfor

在c语言中要增加一个声明语句。
在at89x51.h声明文件中增加一行sfrwdtrst=0xa6;
main()
{
wdtrst=0x1e;
wdtrst=0xe1;//初始化看门狗。
while(1)
{
wdtrst=0x1e;
wdtrst=0xe1;//喂狗指令

}
}

注意事项:
1.89s51的看门狗必须由程序激活后才开始工作。所以必须保证cpu有可靠的上电复位。
否则看门狗也无法工作。
2.看门狗使用的是cpu的晶振。在晶振停振的时候看门狗也无效。
3.89s51只有14位计数器。在16383个机器周期内必须至少喂狗一次。而且这个时间是固
定的,无法更改。当晶振为12m时每16个毫秒需喂狗一次。
以上程序我已调试通过。还利用定时器把看门狗的喂狗时间延长几秒至几分钟。


  在atmel的89s51系列的89s51与89c51功能相同。指令兼容。hex程序无需任何转换可以
直接使用。89s51只比89c51增加了一个看门狗功能。89s51的其它功能可以参见89c51的资料

看门狗具体使用方法如下:
在程序初始化中向看门狗寄存器(wdtrst地址是0a6h)中先写入01eh,再写入0e1h。即可激
活看门狗。
org0000
ljmpbegin
begin:
mov0a6h,#01eh;先送1e
mov0a6h,#0e1h;后送e1
;在程序初始化中激活看门狗。
……
……
for:
……
mov0a6h,#01eh;先送1e
mov0a6h,#0e1h;后送e1
;喂狗指令
……
ljmpfor

在c语言中要增加一个声明语句。
在at89x51.h声明文件中增加一行sfrwdtrst=0xa6;
main()
{
wdtrst=0x1e;
wdtrst=0xe1;//初始化看门狗。
while(1)
{
wdtrst=0x1e;
wdtrst=0xe1;//喂狗指令

}
}

注意事项:
1.89s51的看门狗必须由程序激活后才开始工作。所以必须保证cpu有可靠的上电复位。
否则看门狗也无法工作。
2.看门狗使用的是cpu的晶振。在晶振停振的时候看门狗也无效。
3.89s51只有14位计数器。在16383个机器周期内必须至少喂狗一次。而且这个时间是固
定的,无法更改。当晶振为12m时每16个毫秒需喂狗一次。
以上程序我已调试通过。还利用定时器把看门狗的喂狗时间延长几秒至几分钟。


相关IC型号

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!