历史上的今天
今天是:2025年01月05日(星期日)
2018年01月05日 | 89S51看门狗功能的使用方法与程序设计
2018-01-05 来源:eefocus
在ATMEL的89S51系列的89S51与89C51功能相同。指令兼容。HEX程序无需任何转换可以直接使用。89S51只比89C51增加了一个看门狗功能。89S51的其它功能可以参见89C51的资料。
看门狗具体使用方法如下:
在程序初始化中向看门狗寄存器(WDTRST地址是0A6H)中先写入01EH,再写入0E1H。即可激活看门狗。
Org 0000
Ljmp begin
Begin:
Mov 0A6H,#01EH ;先送1E
Mov 0A6H,#0E1H ;后送E1
;在程序初始化中激活看门狗。
……
……
For:
……
Mov 0A6H,#01EH ;先送1E
Mov 0A6H,#0E1H ;后送E1
;喂狗指令
……
Ljmp for
在C语言中要增加一个声明语句。
在AT89X51.h声明文件中增加一行 sfr WDTRST = 0xA6;
Main()
{
WDTRST=0x1E;
WDTRST=0xE1;//初始化看门狗。
While (1)
{
WDTRST=0x1E;
WDTRST=0xE1;//喂狗指令
}
}
注意事项:
1. 89S51的看门狗必须由程序激活后才开始工作。所以必须保证CPU有可靠的上电复位。否则看门狗也无法工作。
2. 看门狗使用的是CPU的晶振。在晶振停振的时候看门狗也无效。
3. 89S51只有14位计数器。在16383个机器周期内必须至少喂狗一次。而且这个时间是固定的,无法更改。当晶振为12M时每16个毫秒需喂狗一次。
上一篇:AT系列51单片机简介
下一篇:51单片机在设计中的的时钟及复位
史海拾趣
|
也许不能移动大山,但可以运作自我;也许不能左右天气,但可以调整心情;也许不能选择容颜,但可以展现笑容;也许不能号令他人,但可以指挥自己;也许不能预知将来,但可以开发现在;也许不能样样如意,但可以事事尽力;也许不能主宰生命的始终,但 ...… 查看全部问答> |
|
ENH038QD1-450/650 尺寸大小: 3.8" 分辨率: QVGA 320 x 240 接口: 6-bits TTL interface 亮度 : 450/650nit(cd/m2) 对比度:高对比度、大开口率 显示模式:Normally White 响应时间:Rise 30ms/ Fall 50ms 功耗:3.4W 工作温度: -30℃--- ...… 查看全部问答> |
|
EMS 2009 Call for Papers: Sept. 20-22, 2009, Beijing, China ====================================================================== The 3rd Int’l Conference on Engineering Management and Service Sciences (EMS 2009) CALL FOR PAP ...… 查看全部问答> |
|
在EVC下用win32方式编程. 功能是从strong1盘的所有数据全部copy到strong2\\\\file1下面. 怎么样用C写代码让copy动作最高效地执行?… 查看全部问答> |
|
应一位朋友要求,找PID的VB6算法,实际要求是:一个管道往容器里注入东西,要通过PID来调整注入速度,以便在指定时间内,注入的东西重量在指定范围内。 手头上有一个PID的VB6版DEMO,但不明白。请高人指点。 银两可以谈。… 查看全部问答> |
|
平台:arm开发板,用spi总线外接1个fir红外芯片,s3c2440 + linux2.6.24.7 现在2440这边已经做好了,insmod bitbang.ko,s3c24xx.ko,insmod spidev.ko,用testspi,用示波器可以测到时钟和数据的波形都是对的,但不知道如何读写fir的寄存器?以前都 ...… 查看全部问答> |




