欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
我的48V電池組在線單個(gè)電池充電程序(匯編)
[打印本頁]
作者:
LWB2005_2
時(shí)間:
2017-10-24 16:01
標(biāo)題:
我的48V電池組在線單個(gè)電池充電程序(匯編)
這是我前些時(shí)間用匯編語言編寫的48V電池組在線單個(gè)電池充電程序。請(qǐng)各指教。
下載:
充電器.doc
(22 KB, 下載次數(shù): 12)
2017-10-24 15:58 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
; 中斷入口程序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0000H ;程序執(zhí)行開始地址
LJMP START ;跳到標(biāo)號(hào)START執(zhí)行
ORG 0003H ;外中斷0中斷程序入口
RETI ;外中斷0中斷返回
ORG 0013H ;外中斷1中斷程序入口
RETI ;外中斷1中斷返回
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 主 程 序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
START:
MOV R0,#70H ;清70H-7AH共11個(gè)內(nèi)存單元
MOV R7,#0BH ;
MOV A,#00H ;清P1口
MOV P1,A
MOV A,#0FFH ;P3口置高電平
MOV P3,A
LCALL YS3S
CLEARDISP:
MOV @R0,#00H ;
INC R0 ;
DJNZ R7,CLEARDISP ;
MOV 20H,#00H ;清20H(標(biāo)志用)
START1:
MOV A,#20H ;J4吸動(dòng)啟動(dòng)48V充電回路
MOV P1,A
LCALL YS3S
MOV A,70H
CJNE A ,#0FFH,JS ; 判斷充電是否結(jié)束 (70H中的數(shù)不等于FF則轉(zhuǎn)JS)
AJMP WC
JS:
JB P3.3,JS1 ;P3.3口為1時(shí)程序往下繼續(xù)
LCALL DGDCCD ;P3.3口為0時(shí)調(diào)用單個(gè)電池充電程序(DGDCCD)
JS1:
JB P3.7,JS2 ;P3.7口為1時(shí)程序往下繼續(xù)
LCALL XZCDFS ;P3.7口為0時(shí)調(diào)用選擇電池充電方式程序(XZCDFS)
JS2:
SJMP START1 ;P3.3,P3.7口均為1時(shí)跳回START1 繼續(xù)等待
;延時(shí)3秒鐘子程序,F(xiàn)=12MHz
YS3s:
MOV R3,#28
MOV R2,#253
MOV R1,#219
LOOP1:
DJNZ R1,$
DJNZ R2, LOOP1
DJNZ R3, LOOP1
NOP
RET
;延時(shí)1秒鐘子程序,F(xiàn)=12MHz
YS1s:
MOV R3,#9
MOV R2,#253
MOV R1,#219
LOOP2:
DJNZ R1,$
DJNZ R2, LOOP2
DJNZ R3, LOOP2
NOP
RET
DGDCCD: ;單個(gè)電池充電程序
LCALL YS3s
JB P3.3,TC ;P3.3不為"0"退出子程序回到主程序繼續(xù)等待 P3.3為“1”轉(zhuǎn)移到TC
CLR P1.5 ;釋放J4的48V充電回路
MOV R4,#3
DD: ;單個(gè)電池充電程序(DGDCCD)
LCALL YS1s
SETB P1.7 ;點(diǎn)亮1燈
SETB P1.6 ;J5吸動(dòng)啟動(dòng)18V充電回路對(duì)第一個(gè)電池充電
LCALL YS3s
JB P3.4,DD ;P3.4 不為"0" 繼續(xù)等待
LCALL YS3s
LCALL YS3s
JB P3.4,DD ;P3.4 不為"0" 繼續(xù)等待
SETB P1.2 ;J1吸動(dòng)對(duì)第二個(gè)電池充電
CLR P1.7 ;熄滅1燈
DD1:
LCALL YS1s
JB P3.4,DD1 ;P3.4 不為"0" 繼續(xù)等待
LCALL YS3s
LCALL YS3s
JB P3.4,DD1 ;P3.4 不為"0" 繼續(xù)等待
CLR P1.2 ;釋放J1
LCALL YS1s
SETB P1.3 ;J2吸動(dòng)對(duì)第三個(gè)電池充電
DD2:
LCALL YS1s
JB P3.4 ,DD2 ;P3.4 不為"0" 繼續(xù)等待
LCALL YS3S
LCALL YS3s
JB P3.4 ,DD2 ;P3.4 不為"0" 繼續(xù)等待
CLR P1.3 ;釋放J2
LCALL YS1s
SETB P1.4 ;J3吸動(dòng)對(duì)第四個(gè)電池充電
DD3:
LCALL YS1s
JB P3.4 ,DD3 ;P3.4 不為"0" 繼續(xù)等待
LCALL YS3S
LCALL YS3s
JB P3.4 ,DD3 ;P3.4 不為"0" 繼續(xù)等待
CLR P1.4 ;釋放J3
LCALL YS1s
CLR P1.6 ;釋放J5 充電全部結(jié)束
DJNZ R4, DD
MOV 70H ,#0FFH ;設(shè)置充電結(jié)束標(biāo)記
TC:
RET
XZCDFS: ;選擇電池充電方式程序
LCALL YS3s
JB P3.7,TC1 ;P3.7不為"0"退出子程序回到主程序繼續(xù)等待
SS:
LCALL YS1s
CLR P3.0 ;點(diǎn)亮常規(guī)充電燈
JNB P3.7 , CS
JB P3.5 ,SS ;P3.5 不為"0" 繼續(xù)等待(電池未充滿繼續(xù))
LCALL YS3s
JB P3.5 ,SS ;P3.5 不為"0" 繼續(xù)等待(電池未充滿繼續(xù))
SJMP SS0
CS: ;測試各單個(gè)電池電壓
LCALL YS3s
JB P3.7,SS ;P3.7不為"0"繼續(xù)等待
;CLR P3.0 ;關(guān)常規(guī)充電燈
CLR P3.1 ;點(diǎn)亮測試各單個(gè)電池電壓燈
LCALL YS1s
JB P3.7,SS ;P3.7不為"0"繼續(xù)等待
SETB P1.7 ;1 燈點(diǎn)亮測量第一個(gè)電池
SS1:
LCALL YS3s
JB P3.7,SS1 ;P3.7不為"0"繼續(xù)等待
LCALL YS1s
CLR P1.7
SETB P1.2 ;測量第二個(gè)電池
SS2:
LCALL YS3s
JB P3.7,SS2 ;P3.7不為"0"繼續(xù)等待
LCALL YS1s
CLR P1.2
SETB P1.3 ;測量第三個(gè)電池
SS3:
LCALL YS3s
JB P3.7,SS3 ;P3.7不為"0"繼續(xù)等待
LCALL YS1s
CLR P1.3
SETB P1.4 ;測量第四個(gè)電池
SS4:
LCALL YS3s
JB P3.7,SS4 ;P3.7不為"0"繼續(xù)等待
LCALL YS1s
CLR P1.4
SETB P3.1
AJMP DD ;返回單個(gè)電池充電程序
SS0:
CLR P1.5 ;釋放J4
LCALL YS1s
CLR P1.6 ;釋放J5 充電全部結(jié)束
MOV 70H ,#0FFH ;設(shè)置充電結(jié)束標(biāo)記
TC1:
RET
WC:
END
復(fù)制代碼
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1