📄 em78p372n_lvd.dt
字号:
;********************************************************************
;一上电时,P51的LED点亮,当VDD电压大约小于或等于4.0V 时,P51输出低
;当VDD电压大约大于4.0V时,P51输出高
;********************************************************************
;MCU:EM78P372N
;Oscillator:IRC 4MHz
;Clock:2
;WDT: Disable
;编译软件:eUIDE version 1.02.09.07
INCLUDE "EM78P372N.INC"
ORG 0X00
JMP INITIAL
ORG 0X21
LVD_INT:
BC S_BANK ;切换特殊寄存器到bank 0
JBS LVDIF ;有低电压检测中断吗?
JMP EXIT_LVD
MOV A,@0B10111111
AND RE,A ;清除LVD中断标志
JBS LVD ;判断电源是否充足
BS PORT5,1 ;未检测到低电压 P51输出高
JBC LVD ;判断电源是否充足
BC PORT5,1 ;检测到低电压P51输出低
EXIT_LVD:
RETI
ORG 0X50
INITIAL:
WDTC
DISI ;禁止总中断
BS S_BANK
MOV A,@0X7F
MOV SCR,A ;选择4MHz
BC IOCS
BC S_BANK
MOV A,@0X00
IOW WDTCR ;关闭看门狗
BC LVDIF ;清除LVD中断标志
MOV A,@0X00
IOW IOC50 ;设定P51为输出口,初始状态为高压位
BS S_BANK
MOV A,@0B11010000
IOW LVDIWR ;使能LVD功能,使能LVD中断功能
BC S_BANK ;选择BANK 0
ENI ;使能总中断
MAIN:
ENI
NOP
NOP
JMP MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -