📄 1.5a充电程序5.5v.asm
字号:
ORG 000H
AJMP MAIN
ORG 30H ; ;程序起始地
MAIN: MOV R5,#14H ;R5写入20次
MAN0: CLR P2.0 ; ;关MOS不充电
SETB P1.0
CLR P1.2
MAN1: LCALL DELAY ; ;延时20MS中有监测程序。
JB P3.0,MAN0 ;为0则电池电压满量
SETB P1.2 ; ;关绿灯
CLR P1.0 ; ;亮红灯
DEC R5
MOV A,#00H
XRL A,R5 ;检测电压是否有下降
JZ YSCD
DDC: SETB P2.0 ; ;开MOS充电
LCALL DELAY
CLR P2.0
LCALL DELAY
JB P3.0,YSCS
AJMP DDC
YSCS: LCALL DELAY ; ;再次监测电压是否回落
JB P3.0,MAN0 ;监测是否低于5.5V,不低于则表示完全充饱。
AJMP DDC
YSCD: MOV R7,#4 ;34S钟延时充电
L1: MOV R6,#100
L2: SETB P2.0
LCALL DELAY
CLR P2.0
LCALL DELAY
DJNZ R6,L2
DJNZ R7,L1
AJMP MAIN
DELAY: MOV R3,#40 ; ;40MS延时子程序
L3: MOV R4,#0FAH
L4: JNB P1.4,MAIN ;P1.4为0则电池无电压
DJNZ R4,L4
JB P1.3,MAIN ;P1.3为1则电源无电压
DJNZ R3,L3
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -