em78p372n_wdt.dt
来自「义隆EM78P372N资料」· DT 代码 · 共 65 行
DT
65 行
;**************************************************************************************
;以下程序动作情形为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 + =
减小字号Ctrl + -
显示快捷键?