📄 ex10.asm
字号:
/*******************************************************************************
Title: 演示程序10 - 89S52内看门狗的用法 * *
Name: ex10.asm *
Date: 2005-5-21 *
Ver: 1.0 * *
web: http://www.mcustudy.com *
********************************************************************************
AT89S51/52片内看门狗使用范例 *
注对内部仿真时,是看不到结果的,请下载到s52中调试 *
********************************************************************************/
AUXR EQU 0x8E; ; 定义AT89S51扩展寄存器
WDTRST EQU 0xA6;
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV AUXR,#0FFH ; 初始化看门狗相关寄存器
mov P0,#0ffh ;关掉所有LED
call delay
MAIN_LP:
LCALL CLR_WDT ; 8191个机器周期内必须至少调用此程序一次
; 否则看门狗会溢出
; 其它子程序,可以自己补充
mov P0,#0 ;打开所有LED 可以试试把 LCALL CLR_WDT 注释掉看看效果
LJMP MAIN_LP
;===============================================================================
CLR_WDT:
MOV WDTRST,#01EH ; 清除看门狗指令
MOV WDTRST,#0E1H
RET
;==========================================================
delay:
mov r1,#200
delay01:
mov r2,#0ffh
djnz r2,$
djnz r1,delay01
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -