在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个毫秒需喂狗一次。 以上措施我已调试通过。还操作按时器把看门狗的喂狗时刻延迟几秒至几分钟!
(责任编辑:admin) |