?? at89s52看門狗演示程序.txt
字號:
AT89S52看門狗演示程序
;*****************************************************
;在16383個機器周期內必須至少喂狗一次。當晶振為12M時每16個毫秒需喂狗一次。
;AT89S52看門狗演示程序
;程序初始化時
;P1.7引腳上的LED閃爍發光
;激活看門狗后,如果不喂狗,則復位(P1.1引腳上的LED閃一下)
;*****************************************************
ORG 0000
LJMP MAIN
ORG 000BH ;定時器0的中斷向量地址
AJMP TIME0 ;跳轉到真正的定時器程
ORG 30H
MAIN: SETB P1.1
LCALL DELAY
CLR P1.1
LCALL DELAY
SETB P1.1
LCALL DELAY
MOV TMOD,#00000001B ;定時/計數器0工作于方式1
MOV TH0,#0EAH
MOV TL0,#60H ;即60000
SETB EA ;開總中斷允
SETB ET0 ;開定時/計數器0允許
SETB TR0 ;定時/計數器0開始運
MOV 0A6H,#01EH
MOV 0A6H,#0E1H ;在程序初始化中激活看門狗。
LOOP: SETB P1.7
LCALL DELAY
CLR P1.7
LCALL DELAY
LJMP LOOP
;定時器0的中斷處理程序
TIME0: PUSH ACC
PUSH PSW ;將PSW和ACC推入堆棧保護
MOV 0A6H,#01EH
MOV 0A6H,#0E1H ;喂狗指令,可以將這兩句注釋后看不喂狗的情形
MOV TH0,#0EAH
MOV TL0,#60H ;重置定時常數
POP PSW
POP ACC
RETI;延時子程序
DELAY: MOV R7,#250
D1: MOV R6,#250
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
;在16383個機器周期內必須至少喂狗一次。當晶振為12M時每16個毫秒需喂狗一次。
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -