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