亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 89lpc933(修改充電過程).asm

?? 用pic單片機實現的對鋰電池沖電的程序
?? ASM
?? 第 1 頁 / 共 5 頁
字號:

    CJNE A, #46, PWNEXT243
PWNEXT243:
    JNC PWNEXT244
    ;在43-45之間, 認為合理!(即10A的充電電流)
    JMP PWNEXT281          ;顯示處理
PWNEXT244:
    ;充電電流偏大
    MOV A, AD0DAT3
    CJNE A, #250, PWNEXT2441
PWNEXT2441:
    JNC PWNEXT2442
    ;小于250,加1(調高DA轉換值),使輸出電流下降
    INC A
    MOV AD0DAT3, A
PWNEXT2442:
    JMP PWNEXT281          ;顯示處理

PWNEXT24:

    CJNE A, #186, PWNEXT25
PWNEXT25:
    JNC PWNEXT26
    ;電池電壓在10.5-14.5(186)之間
    MOV A, PWUPSTU
    CJNE A, #0H, KPP1
    ;等于0,屬于浮充階段
    JMP KPW3
KPP1:
    CJNE A, #0AAH, KPP2
    MOV PWUPSTU, #55H
KPP2:
    ;屬于恒流階段!

    SETB V2_C               ;打開DC-DC高壓電源
    ;充電電流限制為50A,次級線圈平均電流約為4.2A,采樣值約為2.85V
    MOV A, PWIOAV
    CJNE A, #216, PWNEXT261
PWNEXT261:
    JNC PWNEXT262
    ;小于216
    MOV A, AD0DAT3
    CJNE A, #13, PWNEXT2621
PWNEXT2621:
    JC PWNEXT2622
    ;大于13,減1(調低DA轉換值),使輸出電流回升
    DEC A
    MOV AD0DAT3, A
PWNEXT2622:
    JMP PWNEXT281          ;顯示處理
PWNEXT262:
    CJNE A, #220, PWNEXT263
PWNEXT263:
    JNC PWNEXT264
    ;在216-219之間, 認為合理!(即50A的充電電流)
    JMP PWNEXT281          ;顯示處理
PWNEXT264:
    ;充電電流偏大
    MOV A, AD0DAT3
    CJNE A, #200, PWNEXT2641
PWNEXT2641:
    JNC PWNEXT2642
    ;小于200,加1(調高DA轉換值),使輸出電流下降
    INC A
    MOV AD0DAT3, A
PWNEXT2642:
    JMP PWNEXT281         ;顯示處理

PWNEXT26:
    ;電池電壓在14.5V以上(不是恒壓過渡階段,就是恒壓階段)
    SETB V2_C               ;打開DC-DC高壓電源


    CJNE A, #200, PWNEXT27
PWNEXT27:
    JC PWNEXT28
    ;>大于15.5V
    ;要關閉V2_C控制信號
    CLR V2_C              ;關閉DC-DC高壓電源
    JMP  KPW3
PWNEXT28:
    ;電池電壓在14.5-15.5之間

    MOV A, PWUPSTU
    CJNE A, #55H, KPW1
    ;說明曾經經歷過50A恒流充電過程,充電電壓應該允許達到14.7V
    MOV PWUPSTU, #5AH    ;進入恒流到恒壓的過渡階段
    JMP PWNEXT281
KPW1:
    CJNE A, #5AH, KPW2
    ;處于恒流到恒壓的過渡階段
    MOV A, BATV
    CJNE A, #190, KPW21
KPW21:
    JNC KPW22
    ;小于190,即電池電壓在14.6-14.7V!屬于恒流到恒壓的過渡階段,電流任其變化
    MOV AD0DAT3, #85           ;先將DA轉換器輸出預先置為1.1V
    MOV PWTIME, #200           ;充電電流定時時間
    JMP PWNEXT281
KPW22:
    ;達到了14.7V,即應該進入恒壓充電階段
    ;????
    MOV PWUPSTU, #0A5H           ;進入恒壓充電狀態
    MOV AD0DAT3, #127            ;先將DA轉換器輸出預先置為1.65V
    ;????
    JMP PWNEXT281
KPW2:
    CJNE A, #0A5H, KPW3
    ;處于恒壓狀態充電狀態,對充電電流進行判別

    MOV A, PWIOAV
    CJNE A, #27, KPW31          ;如果切換點不是5A,則可在25-30之間選擇
KPW31:
    JNC KPW32
    ;充電電流小于5A!切換充電方式
    MOV A, PWTIME
    CJNE A, #1, KPW321
KPW321:
    JC KPW322
    DEC PWTIME                  ;經歷了200*20ms,即4S后才清除標志
    SJMP PWNEXT281              ;時間未到,退出!
KPW322:
    ;時間已經減到0,說明可以切換充電方式!
    ;????
    MOV AD0DAT3, #154           ;先將DA轉換器輸出預先置為2.0V
    ;????
    MOV PWUPSTU, #00H           ;浮充狀態
    JMP PWNEXT281
KPW32:
    ;當電流未下降到5A時,還是屬于恒壓階段,應對充電電壓進行監控!
    ;輸出電壓穩定在14.7V(189-192)之間,不滿足則調整DA轉換值(100-190)
    MOV PWTIME, #200           ;充電電流定時時間
    MOV A, BATV
    CJNE A, #189, KPW33
KPW33:
    JNC KPW34
    ;輸出電壓小于14.7
    ;小于189,應該適當提高充電電流(即減小DA轉換值)
    MOV A, AD0DAT3
    CJNE A, #100, KPW341
KPW341:
    JC KPW342
    ;大于100, 應減小DA轉換值,使輸出電壓回升!
    DEC A
    MOV AD0DAT3, A
KPW342:
    SJMP PWNEXT281
KPW34:
    CJNE A, #192, KPW35
KPW35:
    JNC KPW36
    ;在190-191之間,合理!
    SJMP PWNEXT281
KPW36:
    ;大于192,應該適當降低充電電流(即提高DA轉換值)
    MOV A, AD0DAT3
    CJNE A, #190, KPW361
KPW361:
    JNC KPW362
    ;增加DA轉換值!
    INC A
    MOV AD0DAT3, A
KPW362:
    SJMP PWNEXT281

KPW3:
    ;此外屬于浮充狀態!
    ;屬于浮充狀態(電壓應該穩定在13.8附近),DA轉換調整范圍在125-210之間
    MOV A, BATV
    CJNE A, #177, KPW41
KPW41:
    JNC KPW42
    ;在于177(即13.8V),應該調小DA轉換值,使電壓回升
    MOV A, AD0DAT3
    CJNE A, #125, KPW421
KPW421:
    JC KPW422
    DEC A
    MOV AD0DAT3, A
KPW422:
    SJMP PWNEXT281
KPW42:
    CJNE A, #179, KPW43
KPW43:
    JNC KPW44
    ;在177-178之間,合理!
    SJMP PWNEXT281
KPW44:
   ;大于13.8V, 應該調大DA轉換值,使電壓下降!
    MOV A, AD0DAT3
    CJNE A, #210, KPW431
KPW431:
    JNC KPW432
    INC A
    MOV AD0DAT3, A
;    SJMP PWNEXT281
KPW432:
    ;索性關閉充電器
;    CLR PWON              ;關閉充電器
;    SJMP PWNEXT282        ;僅僅顯示電壓
    SJMP PWNEXT281


PWNEXT281:
    ;顯示處理

    ANL LEDSTU1, #11001100B
    ORL LEDSTU1, #00001100B;b3、b2為11(D205常亮)
    SETB TEMPIN            ;輸出高電平
    SETB PWON              ;啟動充電器

    MOV A, LEDSTU2
    ANL A, #00110000B
    CJNE A, #00, PWNEXT282
    ;b5、b4為00(D203滅),說明不處于電壓顯示狀態
    ANL LEDSTU2, #11001100B
    ORL LEDSTU2, #00001100B     ;處于電流顯示狀態
    ;b3、b2置為11(D202常亮),顯示充電電流

    ;為減小顯示閃爍性,每1S顯示刷新一次
    JNB TIME05SB, EXIT
    CLR TIME05SB            ;清除顯示標志
    MOV R1, PWIOAV
    MOV R4, #01H
    MOV R3, #0F4H           ;比例因此,500(1F4H)
    MOV R2, #220            ;為分母,要完成(R4,R3)*A/R2計算
    ;入口參數:
    ;R1為當前讀數,R4,R3為比例因子
    ;R2為分母,計算R1*(R4,R3)/R2
    ;出口參數:;商在R4\R3中, 余數在R5中。
    ;已經驗證過,正確!
    LCALL CAL2             ;計算R1*(R4,R3)/R2
    LCALL H16_BCD          ;把(R4,R3中的)16進制數(不超過999)轉換
                           ;為BCD碼,并送顯示緩沖區
    ANL 2DH, #7FH          ;顯示小數點
    SJMP EXIT
PWNEXT282:
    ;顯示電池電壓
    ANL LEDSTU2, #11010000B
    MOV A, PWUPSTU
    CJNE A, #00, PWNEXT283
    ;為00,表示已經充滿
    ORL LEDSTU2, #00110000B;b5、b4為11(D203常亮,已滿)
    SJMP PWNEXT292
PWNEXT283:
    ;未充滿,用慢閃
    ORL LEDSTU2, #00010000B;b5、b4為01(D203慢閃,即在正在充電中)


PWNEXT292:
    MOV A, BATV            ;顯示電壓
    MOV B, #138            ;乘積因子
    MOV R2, #178           ;除數
    ;入口參數:
    ;A為當前讀數,B為比例因子
    ;R2為分母,計算A*B/R2
    ;出口參數:商在A中,余數在R3中;使用了R1
    LCALL CAL1             ;多字節除法運算(16位除8位)
    LCALL HEXTOBCD         ;把存放在A中的進制轉化為十進制,并顯示緩沖區
    ANL 2DH, #7FH          ;顯示小數點
EXIT:
    RET
END

;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復位標志置1,強迫復位
;*****軟件陷阱結束*******

;入口參數:
;R1為當前讀數,R4,R3為比例因子
;R2為分母,計算R1*(R4,R3)/R2
;出口參數:商在R4\R3中, 余數在R5中。
;已經驗證過,正確!
PROC CAL2                  ;計算R1*(R4,R3)/R2
CAL2:
    ;計算16位乘8位
    MOV A, R3               ;取被乘數的低8位
    MOV B, R1               ;取乘數
    MUL AB
    MOV R3, A               ;乘積低8位送R3
    MOV A, R4               ;取乘數的高8位
    MOV R4, B               ;乘積高8位送R4
    MOV B, R1               ;取乘數
    MUL AB                  ;計算A*C部分
    ADD A, R4               ;加AB的高8位
    MOV R4, A
    MOV A, B                ;取成績的高8位
    ADDC A, #0              ;加上進位標志
    mov R5, A               ;最高8位(即b23-b16)

    MOV R1, #16             ;移位16次(已經除數不小于128,即b7為1,
                            ;利用C進行擴展)
LOOP1:
    CLR C
    MOV A, R3
    RLC A
    MOV R3, A

    MOV A, R4
    RLC A
    MOV R4, A

    MOV A, R5
    RLC A
    MOV R5, A

    MOV F0, C

    CLR C
    SUBB A, R2          ;考慮連同標志位在內相減
    ANL C, /F0
    JC NEXT1
    ;夠減,取差
    MOV R5, A           ;送差值
    MOV A, R3
    ORL A, #01H         ;商b0位置1
    MOV R3, A
NEXT1:
    DJNZ R1, LOOP1
    ;商在R4\R3中, 余數在R5中。
    RET
END
;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復位標志置1,強迫復位
;*****軟件陷阱結束*******

;把(R4,R3中的)16進制數(不超過999)轉換為BCD碼,并顯示
PROC H16_BCD          ;把(R4,R3中的)16進制數(不超過999)轉換為BCD碼,并顯示
H16_BCD:
    MOV R5, #0          ;百位碼
LOOP2:
    CLR C
    MOV A, R3
    SUBB A, #100
    MOV R6, A           ;暫時保存在R6中
    MOV A, R4
    SUBB A, #0          ;減進位標志
    MOV R7, A           ;暫時保存在R7中
    JC NEXT2
    ;夠減, 承認差,商加+1
    MOV A, R7
    MOV R4, A
    MOV A, R6
    MOV R3, A
    INC R5
    SJMP LOOP2
NEXT2:
    ;保留原來的值(由于差已小于99),即實際上只有R3有效
    MOV A, R3
    MOV B, #10
    DIV AB
    MOV DPTR, #DPDATA
    MOVC A, @A+DPTR
    MOV  2DH, A       ;筆段碼送2DH單元(十位)

    MOV A, B          ;個位碼
    MOVC A, @A+DPTR
    MOV  2CH, A       ;筆段碼送2CH單元(個位)

    MOV A, R5         ;取百
    MOVC A, @A+DPTR
    MOV  2EH, A       ;筆段碼送2EH單元(百位)
    RET
END

;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復位標志置1,強迫復位
;*****軟件陷阱結束*******

PROC FMQ1           ;蜂鳴器快閃爍設置(過熱)造成
FMQ1:
     MOV A, LEDSTU1
     ANL A, #0C0H
     CJNE A, #00, NEXT1
     ;空閑,應該快響
     SJMP NEXT2
NEXT1:
     CJNE A, #0C0H, EXIT
     ;11,應該快響
NEXT2:
     ANL LEDSTU1, #10111111B
     ORL LEDSTU1, #10000000B    ;快響
EXIT:
     ;01,即低壓時不改變
     RET
END

;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復位標志置1,強迫復位
;*****軟件陷阱結束*******

PROC FMQEND           ;關閉蜂鳴器故障音
FMQEND:
     MOV A, LEDSTU1
     ANL A, #0C0H
     CJNE A, #40H, NEXT1
     ;慢響,應該關閉
     SJMP NEXT2
NEXT1:
     CJNE A, #80H, EXIT
     ;10,即快響,應該關閉
NEXT2:
     ANL LEDSTU1, #00111111B
EXIT:
     RET
END

;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復位標志置1,強迫復位
;*****軟件陷阱結束*******

PROC DC_ACSTU        ;檢查逆變狀態,管理逆變器
DC_ACSTU:
    MOV A, DABA_TC
    JNB ACC.7, PWNEXT1
    ;DC-AC散熱片過熱
    ANL LEDSTU2, #11110000B
    ORL LEDSTU2, #00110000B;b5、b4為11(D203快閃)
    SJMP PWNEXT21

PWNEXT1:
    JNB ACC.3, PWNEXT2
    ;電池過熱

    ANL LEDSTU2, #11010000B
    ORL LEDSTU2, #00010000B;b5、b4為01(D203慢閃)
PWNEXT21:
    CLR V2_C               ;關閉DC-DC高壓電源
    SETB LFACON            ;關閉DC-AC

    LCALL FMQ1             ;蜂鳴器快響設置(過熱)造成
    ANL LEDSTU1, #11100000B
    ORL LEDSTU1, #00100000B;b5、b4為10(D206快閃)

    JMP PWNEXTD2           ;顯示電壓
;*****軟件陷阱

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人精品亚洲人成在线| 在线观看免费亚洲| 色综合天天综合色综合av| 欧美性视频一区二区三区| 日韩一二在线观看| 国产精品国产三级国产有无不卡| 亚洲二区在线观看| 国产黄人亚洲片| 欧美午夜片在线观看| 亚洲国产激情av| 欧美aⅴ一区二区三区视频| 99re热这里只有精品免费视频| 欧美一二三在线| 亚洲香肠在线观看| 波多野结衣中文字幕一区| 日韩精品一区二区在线观看| 亚洲一级二级三级在线免费观看| 成人免费视频一区二区| 日韩欧美亚洲另类制服综合在线| 亚洲老司机在线| 99久久久精品免费观看国产蜜| 日韩欧美电影一二三| 亚洲mv在线观看| 在线观看免费亚洲| 日韩伦理电影网| 成人精品免费视频| 日本一区二区免费在线| 久久er99精品| 精品成人私密视频| 久久66热偷产精品| 欧美一级一级性生活免费录像| 亚洲一区二区影院| 欧美在线播放高清精品| 最新国产の精品合集bt伙计| 成人高清在线视频| 国产日韩欧美综合一区| 国产精品一区免费视频| 亚洲精品一区二区在线观看| 久久99九九99精品| 精品久久久网站| 国产精品白丝jk白祙喷水网站| 欧美精品一区二区三区久久久| 国产在线视频精品一区| 久久精品视频免费观看| 国产成人精品免费看| 中文字幕在线观看一区二区| 91美女精品福利| 亚洲激情校园春色| 欧美猛男超大videosgay| 日韩一区欧美二区| 精品久久久久久久久久久久久久久 | 91首页免费视频| 国产精品毛片高清在线完整版| 成人av免费在线| 亚洲麻豆国产自偷在线| 欧美日韩精品一区二区三区四区| 无吗不卡中文字幕| 欧美成人一级视频| 成人精品鲁一区一区二区| 亚洲综合一区二区| 欧美一级黄色大片| 国产美女在线观看一区| 国产精品国产a级| 欧美性一二三区| 久热成人在线视频| 国产精品久99| 9191成人精品久久| 国产91综合一区在线观看| 亚洲人成在线播放网站岛国 | 粉嫩一区二区三区在线看| 国产精品丝袜91| 欧美日韩成人在线| 国产精品 日产精品 欧美精品| 亚洲另类春色校园小说| 精品日产卡一卡二卡麻豆| 成人免费黄色大片| 日韩avvvv在线播放| 中文字幕不卡在线观看| 欧美群妇大交群的观看方式| 高清成人在线观看| 日本中文字幕一区二区有限公司| 国产精品女同互慰在线看| 在线91免费看| 99re热这里只有精品视频| 国产自产v一区二区三区c| 亚洲精品视频一区| 久久久久久久免费视频了| 欧美亚洲日本国产| 国产69精品久久99不卡| 日韩综合小视频| 亚洲免费伊人电影| 久久青草欧美一区二区三区| 欧美视频你懂的| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 欧美va日韩va| 欧美亚洲国产一区二区三区| 成人午夜免费视频| 国产在线日韩欧美| 天天做天天摸天天爽国产一区| 中文字幕成人av| 久久久91精品国产一区二区精品 | 久久精品视频免费| 日韩免费电影网站| 欧美日本国产一区| 99国产精品国产精品毛片| 精品亚洲国产成人av制服丝袜| 性做久久久久久免费观看 | 久久久一区二区三区捆绑**| 日韩视频国产视频| 欧美一区二区在线免费播放| 精品视频资源站| 欧美性三三影院| 欧美三级日韩三级国产三级| 欧美色图激情小说| 欧美日韩激情一区| 欧美老人xxxx18| 欧美日本不卡视频| 91精品国产综合久久久久久| 7777精品伊人久久久大香线蕉经典版下载 | 日韩一区二区三区电影| 欧美美女视频在线观看| 91久久精品网| 狠狠色丁香久久婷婷综合_中| 亚洲电影你懂得| 亚洲与欧洲av电影| 国产精品久久久久久久久免费丝袜| 欧美一级欧美三级| 91精品综合久久久久久| 欧美日本一区二区三区四区| 欧美日韩国产精选| 欧美无砖专区一中文字| 9久草视频在线视频精品| 国产馆精品极品| 国产一区91精品张津瑜| 国产99久久久国产精品潘金网站| 国产精品乡下勾搭老头1| 国产激情视频一区二区在线观看| 精品一区二区三区在线观看国产 | 在线一区二区三区四区五区| 国产精品66部| 国产成都精品91一区二区三| 国产高清精品网站| 成人免费毛片app| 欧美日韩国产经典色站一区二区三区| 欧美色图第一页| 日韩一区二区三区精品视频| 欧美成人艳星乳罩| 中文字幕一区二区三区在线播放| 国产精品久线观看视频| 1000部国产精品成人观看| 亚洲人成网站精品片在线观看| 亚洲乱码国产乱码精品精98午夜| 美女视频网站黄色亚洲| 国产一区二区在线电影| 成人v精品蜜桃久久一区| 91视频91自| 欧美一级在线视频| 亚洲精品一区在线观看| 综合久久久久久| 午夜视频久久久久久| 精品一区二区三区香蕉蜜桃| 国产传媒欧美日韩成人| 91福利在线播放| 日韩欧美成人午夜| 国产欧美日本一区视频| 中文字幕在线不卡一区 | 亚洲三级在线播放| 亚洲综合色视频| 夜夜揉揉日日人人青青一国产精品| 久久精品国产久精国产爱| 成人涩涩免费视频| 欧美精品18+| 国产视频视频一区| 日韩精品1区2区3区| 懂色av一区二区在线播放| 欧美中文字幕一区| 久久久久久久久蜜桃| 丝袜亚洲精品中文字幕一区| 国产精品亚洲专一区二区三区| 99精品国产99久久久久久白柏| 欧美乱熟臀69xxxxxx| 国产精品久久免费看| 国产一区二区三区精品欧美日韩一区二区三区 | 蜜桃av一区二区| 色噜噜狠狠一区二区三区果冻| 日韩欧美三级在线| 亚洲动漫第一页| av亚洲精华国产精华| 欧美日韩国产不卡| 亚洲素人一区二区| 国产一区二区免费看| 精品国产成人系列| 亚洲国产成人tv| 91麻豆精品在线观看| 精品精品欲导航| 精品在线观看视频| 欧美顶级少妇做爰| 亚洲一区二区成人在线观看| 成人免费毛片片v| 国产精品麻豆欧美日韩ww|