📄 em78p372n_wdt.dt
字号:
;**************************************************************************************
;以下程序动作情形为P50输出高约1秒;之后P50输出低约500ms,然后依前述情形循环。本程序利
;用看门狗定时器计时,使P50输出高约1秒,MCU即发生重置,此时P50输出低,而P50输出高的
;时间(即为WDT计时的时间)。
;**************************************************************************************
;MCU:EM78P372N
;Oscillator:IRC 4MHz
;Clock:2
;WDT: Enable
;编译软件:eUIDE version 1.02.09.07
INCLUDE "EM78P372N.INC"
COUNTER0 == 0X10 ;延迟变量0
COUNTER1 == 0X11 ;延迟变量1
COUNTER2 == 0X12 ;延迟变量2
ORG 0X00
JMP INITIAL
INITIAL:
WDTC ;清看门狗计时器
DISI ;禁止全域中断
BS S_BANK
MOV A,@0X7F
MOV SCR,A
BC S_BANK
BC IOCS
MOV A,@0X0D
IOW WDTCR ;禁止WDT,WDT Prescaler 1:64,计时约 (256/15k)*64=1秒
MOV A,@0X0
MOV PORT5,A
IOW P5CR ;设定P50为输出口,初始状态为低电位
CALL DELY_500ms
IOR WDTCR
OR A,@0X80
IOW WDTCR ;使能WDT
MAIN:
BS PORT5,0 ;持续点亮约1秒
NOP
JMP MAIN
DELY_500ms:
MOV A,@0X05
MOV COUNTER2,A
DELY0:
MOV A,@100
MOV COUNTER1,A
DELY1:
MOV A,@200
MOV COUNTER0,A
DELY2:
NOP
NOP
NOP
NOP
NOP
NOP
NOP
DJZ COUNTER0
JMP DELY2
DJZ COUNTER1
JMP DELY1
DJZ COUNTER2
JMP DELY0
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -