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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

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

?? 用pic單片機(jī)實(shí)現(xiàn)的對鋰電池沖電的程序
?? ASM
?? 第 1 頁 / 共 5 頁
字號:
     MOV R4, #3           ;重復(fù)寫入3次
LOOP1:
     MOV DPTR, #YKQIDAT   ;數(shù)據(jù)所在單元地址送DPTR
     MOV R0, #58H
     MOV R7, #2            ;寫入字節(jié)數(shù)據(jù)(最大為64字節(jié))
     LCALL REWFLASH        ;讀出-擦除-寫入
     JNC NEXT31
     ;C為1,錯誤
     DJNZ R4, LOOP1
     SJMP NEXT3
NEXT31:
    ;正確,響一長聲
     ANL LEDSTU1, #11000010B
     ORL LEDSTU1, #11000010B;蜂鳴器響1S,狀態(tài)D204燈慢閃
     CLR BELL               ;開蜂鳴器
     MOV TIMEBELL, #15      ;啟動時響1.5S,作為按鍵有效標(biāo)志

     ;再等待2S
     MOV LUTIME,  #2       ;限時2S
NEXT32:
     CLR EA
     MOV WFEED1, #0A5H
     MOV WFEED2, #5AH      ;順序執(zhí)行看門狗清零指令序列,強(qiáng)迫WDCON裝入
     SETB EA

     MOV A, LUTIME
     CJNE A, #0, NEXT32
     ;延遲時間到
NEXT3:
     ANL WUSTU, #0E0H
EXIT:
     ANL LEDSTU1, #0FCH    ;關(guān)閉D204
     RET
END

;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復(fù)位標(biāo)志置1,強(qiáng)迫復(fù)位
;*****軟件陷阱結(jié)束*******

;狀態(tài)掃描
PROC STUSCAN          ;執(zhí)行鍵盤及溫度檢測
STUSCAN:
    ;檢測周波功率管及電池溫度
    MOV A, DABA_TC
    RL A
    MOV C, P0.0       ;讀p0.0(即電池溫度當(dāng)前狀態(tài))
    MOV ACC.0, C      ;送b0位
    MOV C, P1.4       ;讀p1.4(即DC-AC溫度當(dāng)前狀態(tài))
    MOV ACC.4, C      ;送b4位
    ANL A, #77H       ;僅僅保留狀態(tài)位
    ANL DABA_TC, #88H ;清除狀態(tài)位
    ORL DABA_TC, A    ;回送狀態(tài)

    ;判別狀態(tài)
    ANL A, #07H       ;判別電池狀態(tài)
    CJNE A, #07H, KEYNEXT11
    ;為111,即正常
    ANL DABA_TC, #0F7H;b3清0,即正常
    SJMP KEYNEXT12
KEYNEXT11:
    CJNE A, #00H, KEYNEXT12
    ;為000態(tài),即電池過熱
    ORL DABA_TC, #08H ;b3置為1(過熱標(biāo)志)
    CLR PWON          ;關(guān)閉充電電路
    SETB LFACON       ;關(guān)閉逆變系統(tǒng)
    CLR V2_c          ;關(guān)閉DC-DC
KEYNEXT12:
    ;其他狀態(tài)不理會

    ;判別Dc-AC溫度
    MOV A, DABA_TC
    ANL A, #70H       ;判別DC-AC散熱片溫度狀態(tài)
    CJNE A, #70H, KEYNEXT13
    ;為111,即正常
    ANL DABA_TC, #7FH ;b7清0,即正常
    SJMP KEYNEXT14
KEYNEXT13:
    CJNE A, #00H, KEYNEXT14
    ;為000態(tài),即過熱
    ORL DABA_TC, #80H ;b7置為1(過熱標(biāo)志)
    SETB LFACON       ;關(guān)閉逆變系統(tǒng)
    CLR V2_c          ;關(guān)閉DC-DC
KEYNEXT14:
    ;其他狀態(tài)不理會


    ;判別充電器散熱片溫度
    MOV A, PWONSTU
    RL A
    MOV C, P1.3
    MOV ACC.0, C
    ANL A, #07H
    ANL PWONSTU, #0F8H
    ORL PWONSTU, A   ;回寫
    CJNE A, #7, KEYNEXT21
    ;為111態(tài),正常
    ANL PWONSTU, #0F7H  ;b3位清0(正常)
    SJMP KEYNEXT22
KEYNEXT21:
    CJNE A, #0, KEYNEXT22
    ;為000態(tài),充電器散熱片過熱
    ORL PWONSTU, #08H  ;b3位置為1(過熱)
    CLR PWON
KEYNEXT22:
    ;其他狀態(tài)不理會
KEYNEXT2:

    MOV A, PUTIME
    CJNE A, #0, KEYEXIT;上電延遲期間不執(zhí)行
    ;執(zhí)行按鍵掃描
    MOV A, KEYSTU
    RL A
    MOV C, P1.7  ;KEY0(錄碼)
    ANL C, P1.6  ;KEY1(顯示狀態(tài)切換)
    ANL C, P2.3  ;KEY2(啟動/關(guān)閉)
    MOV ACC.0, C ;按鍵狀態(tài)送b0
    ANL A, #07H
    ANL KEYSTU, #0F8H
    ORL KEYSTU, A;回寫按鍵狀態(tài)
    ;判別按鍵狀態(tài)

    CJNE A, #100B, KEYNEXT3
    ;為100態(tài),已經(jīng)按下了指定時間,啟動按鍵掃描
    JB KEYSTU.7, KEYEXIT
    ;上一次按鍵已經(jīng)處理
    ANL KEYSTU, #0FH
    JB P1.7, KEYNEXT31
    ;p1.7為低電平,即key0被按下
    MOV A, #10000000B
    ORL KEYSTU, A               ;按鍵名為0,有效標(biāo)志置1
    SJMP KEYNEXT34
KEYNEXT31:
    JB P1.6, KEYNEXT32
    ;p1.6為低電平,即key1被按下
    MOV A, #10010000B
    ORL KEYSTU, A               ;按鍵名為1,有效標(biāo)志置1
    SJMP KEYNEXT34
KEYNEXT32:
    JB P2.3, KEYNEXT33
    ;p2.3為低電平,即key2被按下
    MOV A, #10100000B
    ORL KEYSTU, A               ;按鍵名為2,有效標(biāo)志置1
    SJMP KEYNEXT34
KEYNEXT33:
    ;沒有按鍵被按下,錯誤
    SJMP KEYEXIT
KEYNEXT34:
    ;響蜂鳴器,時間為0.5s
    MOV A, LEDSTU1
    ANL A, #0C0H
    CJNE A, #00H, KEYEXIT
    ;處于停止?fàn)顟B(tài),可以設(shè)置為快響
    ORL LEDSTU1, #0C0H  ;單音狀態(tài)
    CLR BELL            ;開蜂鳴器
    MOV TIMEBELL, #2    ;響0.2S(作為按鍵有效提示)
    SJMP KEYEXIT
KEYNEXT3:
    CJNE A, #101B, KEYNEXT4
    ;干擾,作為111
    ORL KEYSTU, #07H
    SJMP KEYEXIT
KEYNEXT4:
    CJNE A, #010B, KEYNEXT5
    ;干擾,作為000
    ANL KEYSTU, #0F8H
KEYNEXT5:
    ;其他狀態(tài)不理會
KEYEXIT:
    RET
END
;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復(fù)位標(biāo)志置1,強(qiáng)迫復(fù)位
;*****軟件陷阱結(jié)束*******

PROC HEXTOBCD   ;把存放在A中的進(jìn)制轉(zhuǎn)化為十進(jìn)制,并顯示緩沖區(qū)
HEXTOBCD:
   MOV B, #100
   DIV AB
   MOV DPTR, #DPDATA
   MOVC A, @A+DPTR
   MOV  2EH, A       ;筆段碼送2EH單元(百位)
   MOV A, B
   MOV B, #10
   DIV AB
   MOVC A, @A+DPTR
   MOV  2DH, A       ;筆段碼送2DH單元(十位)

   MOV A, B          ;取余數(shù)(即個位)
   MOVC A, @A+DPTR
   MOV  2CH, A       ;筆段碼送2CH單元(個位)
   RET
END
;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復(fù)位標(biāo)志置1,強(qiáng)迫復(fù)位
;*****軟件陷阱結(jié)束*******


PROC ADPROC
ADPROC:
    ;AD轉(zhuǎn)換中斷
    PUSH PSW
    PUSH ACC
    MOV PSW, #08H
    ;CLR  RS1
    ;SETB RS0            ;使用1區(qū)

    MOV A, #BATVBUF      ;緩沖區(qū)首地址送A
    ADD A, BATVPN        ;加記錄指針
    MOV R0, A            ;R0指向緩沖區(qū)對應(yīng)的存儲單元
    MOV @R0, AD1DAT1     ;取通道1(電池電壓取樣)
    INC BATVPN
    MOV A, BATVPN
    CJNE A, #8, BVNEXT0
BVNEXT0:
    JC BVexit
    ;達(dá)到8個點(diǎn)
    MOV BATVPN, #0      ;指針回0!
    MOV R0, #BATVBUF    ;緩沖區(qū)首地址送R0
    LCALL CALAV         ;計算平均值!
    MOV BATV, A         ;取平均值!
    CJNE A, #200, BVNEXT1
BVNEXT1:
    JC BVNEXT2
    ;由于電池電壓允許范圍為15.5,經(jīng)分壓后為2.583(對應(yīng)值200)
    ;大于200過壓,要關(guān)閉
    CLR V2_C            ;關(guān)閉電壓轉(zhuǎn)換輸出
    SETB LFACON         ;關(guān)閉DC-AC轉(zhuǎn)換
    SJMP BVexit
BVNEXT2:

    CJNE A, #129, BVNEXT3
BVNEXT3:
    JC BVNEXT4
    ;在10-15.5之間
    SJMP BVexit
BVNEXT4:
    ;電池電壓小于10V

    ;小于10.0(延遲1S關(guān)閉
    JNB LFACON, BVNEXT41
    ;處于逆變狀態(tài)
    JB LVTIMEB, BVNEXT41
    SETB LVTIMEB         ;低壓計時標(biāo)志有效
    MOV  LVTIME, #20     ;延遲時間為20*0.1s,即2S
BVNEXT41:
    CJNE A, #116, BVNEXT5
BVNEXT5:
    JC BVNEXT6
    SJMP BVexit
BVNEXT6:
    ;電池電壓小于9V, (9/12)*2*(255/3.3)即116
    CLR PWON          ;關(guān)閉充電器啟動信號

BVexit:

    ;處理充電狀態(tài)的采樣電流
    JNB PWON, PWNEXT2
    ;充電處于打開狀態(tài),記錄充電電流
    MOV A, #PWIIBUF   ;緩沖區(qū)首地址送A
    ADD A, PWIOPN     ;加記錄指針
    MOV R0, A         ;R0指向緩沖區(qū)對應(yīng)的存儲單元
    MOV @R0, AD1DAT0  ;取通道0(充電電流采樣值)
    INC PWIOPN        ;指向下單元
    MOV A, PWIOPN
    CJNE A, #8, PWNEXT1
PWNEXT1:
    JC PWEXIT
    ;達(dá)到8個點(diǎn),要求平均
    MOV R0, #PWIIBUF    ;緩沖區(qū)首地址送R0
    LCALL CALAV         ;計算平均值!
    MOV PWIOAV, A       ;送平均電流存儲單元
    MOV PWIOPN, #0      ;指針回零
    SJMP PWEXIT
PWNEXT2:
    MOV PWIOPN, #0      ;指針回零
    MOV PWIOAV, #0
PWEXIT:

EXIT:
    ANL ADCON1, #0F7H     ;清除中斷
    POP ACC
    POP PSW
    RETI
END

;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復(fù)位標(biāo)志置1,強(qiáng)迫復(fù)位
;*****軟件陷阱結(jié)束*******

;入口參數(shù):R0指向緩沖區(qū)首地址!
;出口參數(shù):平均結(jié)果在A中!
PROC CALAV              ;計算平均值!
CALAV:
    MOV R3, #0
    MOV R2, #0         ;累加單元清0
    MOV R1, #8         ;一共計算8個點(diǎn)
PWLOOP1:
    MOV A, R2
    ADD A, @R0
    MOV R2, A
    MOV A, R3
    ADDC A, #0         ;加進(jìn)位標(biāo)志
    MOV R3, A
    INC R0
    DJNZ R1, PWLOOP1
    ;除8,求平均
    CLR C
    MOV A, R3
    RRC A
    MOV R3, A
    MOV A, R2
    RRC A
    MOV R2, A          ;除2
    ;再一次
    CLR C
    MOV A, R3
    RRC A
    MOV R3, A
    MOV A, R2
    RRC A
    MOV R2, A          ;除4
    ;又再一次
    CLR C
    MOV A, R3
    RRC A
    MOV R3, A
    MOV A, R2
    RRC A
    ;MOV R2, A          ;除8
    ;結(jié)果在A中
    RET
END


;*****軟件陷阱開始*******
     NOP
     NOP
     ORL AUXR1, #08H      ;軟件復(fù)位標(biāo)志置1,強(qiáng)迫復(fù)位
;*****軟件陷阱結(jié)束*******

;------RTC溢出中斷服務(wù)程序-----
;每1ms中斷一次
PROC RTC
RTC:
    PUSH PSW
    PUSH ACC
    PUSH B
    PUSH DPH
    PUSH DPL

    MOV PSW, #10H       ;用2區(qū)

;   SETB RS1
;   CLR RS0

    SETB TIME_1ms       ;1ms定時時間到標(biāo)志

    MOV A, ACSTU
    RL A
    MOV C, ACIN
    MOV ACC.0, C
    ANL A, #07H
    ANL ACSTU, #0F8H     ;清除狀態(tài)
    ORL ACSTU, A         ;合并到交流狀態(tài)中
    CJNE A, #100B, ACNEXT1
    ;等于100,即沒有交流(這意味著斷電后2ms檢測到)
    CLR PWON             ;關(guān)閉充電器
    ANL ACSTU, #0F7H     ;將b3置為0(無交流標(biāo)志)
    JNB KEY2STU, ACNEXT11
    ;主機(jī)開關(guān)處于開態(tài),應(yīng)檢查并塊啟動逆變
    CLR EA               ;關(guān)閉中斷
    SETB KUAION          ;快速啟動標(biāo)志
    LCALL DC_ACSTU       ;檢查逆變狀態(tài),管理逆變器
    CLR KUAION           ;清除快速啟動標(biāo)志

    JB LFACON, ACNEXT111
    ;低電平,說明其他各項(xiàng)指標(biāo)正常,已經(jīng)啟動
WAIT1:
    MOV A, RTCCON
    JNB ACC.7, WAIT1     ;延遲等待RTC定時器時間到
    ANL RTCCON, #7FH     ;清除中斷標(biāo)志
    ;1MS定時時間到了!
    SETB LFACON         ;置為高電平,形成高電平
WAIT2:
    MOV A, RTCCON
    JNB ACC.7, WAIT2     ;延遲等待RTC定時器時間到
    ANL RTCCON, #7FH     ;清除中斷標(biāo)志
    ;高電平1MS定時時間到了!
    CLR LFACON         ;置為低電平,完成啟動快啟動脈沖頭
    ;響1S作為切換標(biāo)志
    ORL LEDSTU1, #0C0H;響1S
    CLR BELL          ;開蜂鳴器
    MOV TIMEBELL, #10 ;啟動時響1S,作為啟動的提示
ACNEXT111:
    ;不滿足啟動條件
    SETB  EA             ;開中斷退出
ACNEXT11:
    ;主機(jī)關(guān)閉,無法啟動
    SJMP ACEXIT


ACNEXT1:
    CJNE A, #101B, ACNEXT2
    ;干擾,作為111處理
    ORL ACSTU, #07H      ;作111態(tài)處理
    SJMP ACEXIT
ACNEXT2:
    CJNE A, #010B, ACNEXT3
    ;干擾,作為000處理
    ANL ACSTU, #0F8H      ;作000態(tài)處理
    SJMP ACEXIT
ACNEXT3:
    CJNE A, #111B, ACNEXT4
    ;市電存在或恢復(fù),判別原來處于什么狀態(tài)?
    ORL ACSTU, #00001000B ;恢復(fù)有電狀態(tài)
    SETB LFACON           ;停止DC-AC轉(zhuǎn)換
;    SJMP ACEXIT
ACNEXT4:

ACEXIT:


    ;處理基本定時時間
    INC TIMEB
    MOV A, TIMEB
    CJNE A, #100, TMNEXT1
TMNEXT1:
    JNC TMNEXT2
    JMP TMEXIT
TMNEXT2:
    ;大于100,從開0開始
    MOV TIMEB, #0

    ;每0.1S時間到
    INC LEDTIME
    MOV A, LEDTIME
    CJNE A, #250, LEDNEXT1
LEDNEXT1:
    JC LEDNEXT2
    ;25s時間到標(biāo)志
    MOV LEDTIME, #0
LEDNEXT2:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲猫色日本管| 日韩写真欧美这视频| 国产精品嫩草影院av蜜臀| 国内偷窥港台综合视频在线播放| 日韩欧美不卡在线观看视频| 久久99热这里只有精品| 久久久久国产精品麻豆ai换脸 | 久久久久九九视频| 国产精品一区久久久久| 国产精品九色蝌蚪自拍| 欧美最新大片在线看| 午夜久久久久久久久| 日韩欧美色综合网站| 国产精品18久久久| 一区二区三区中文字幕精品精品| 欧美性视频一区二区三区| 美美哒免费高清在线观看视频一区二区 | 91精品国产品国语在线不卡| 九九视频精品免费| 国产精品久久久久影视| 欧美伊人久久久久久久久影院 | 国产精品亚洲视频| 一区二区三区不卡视频在线观看 | 欧美专区在线观看一区| 麻豆国产一区二区| 亚洲天堂精品视频| 日韩欧美区一区二| eeuss鲁片一区二区三区 | 亚洲美女区一区| 日韩视频永久免费| 99久久精品免费看国产| 免费人成网站在线观看欧美高清| 国产蜜臀av在线一区二区三区| 色天使久久综合网天天| 国产精品 日产精品 欧美精品| 亚洲一区二区四区蜜桃| 久久精品欧美一区二区三区麻豆| 欧美日韩一级二级| 成人aaaa免费全部观看| 热久久一区二区| 亚洲精品亚洲人成人网| 精品国产欧美一区二区| 欧美三级一区二区| av爱爱亚洲一区| 久久66热re国产| 午夜精品国产更新| 亚洲色欲色欲www在线观看| 精品福利一区二区三区| 欧美挠脚心视频网站| 丁香激情综合国产| 国模无码大尺度一区二区三区| 亚洲在线视频免费观看| 国产精品久久久久永久免费观看 | 五月婷婷欧美视频| 亚洲人吸女人奶水| 国产三级欧美三级日产三级99| 欧美精品九九99久久| 欧美综合天天夜夜久久| 成人污视频在线观看| 精品亚洲成a人在线观看| 午夜在线成人av| 亚洲在线中文字幕| 亚洲精品成人悠悠色影视| 中文在线一区二区| 久久久亚洲精华液精华液精华液| 51精品久久久久久久蜜臀| 欧美亚洲动漫另类| 日本黄色一区二区| 色综合天天狠狠| 97精品超碰一区二区三区| 成人免费三级在线| 成人国产精品免费观看视频| 国产成人av在线影院| 国产高清无密码一区二区三区| 国产裸体歌舞团一区二区| 国产伦精品一区二区三区免费迷 | 国产成人午夜高潮毛片| 国产一区二区不卡在线| 国产乱子轮精品视频| 国产在线视频精品一区| 国产精品亚洲第一| 国产成人丝袜美腿| www.亚洲激情.com| 欧美曰成人黄网| 欧美日韩美少妇| 欧美一区二区三区婷婷月色| 欧美一区二区三区不卡| www国产成人| 久久精品视频一区二区| 一区视频在线播放| 亚洲在线成人精品| 另类小说一区二区三区| 国模冰冰炮一区二区| 风流少妇一区二区| 99re成人精品视频| 欧美日本高清视频在线观看| 欧美一级日韩免费不卡| 久久无码av三级| 1区2区3区欧美| 丝袜国产日韩另类美女| 激情综合五月天| 91社区在线播放| 91精品国产福利| 国产精品三级电影| 亚洲制服丝袜在线| 国产精品资源在线| 色妹子一区二区| 日韩免费看的电影| 18成人在线视频| 午夜精品一区在线观看| 国产精品一卡二| 欧美综合一区二区| 久久精品欧美一区二区三区麻豆| 亚洲一区二区三区四区在线| 久热成人在线视频| 91久久线看在观草草青青| 欧美一区二区三区爱爱| 亚洲视频免费看| 精品在线观看免费| 色噜噜夜夜夜综合网| 亚洲精品一线二线三线| 亚洲主播在线观看| 成人爽a毛片一区二区免费| 欧美性感一类影片在线播放| 久久精品日产第一区二区三区高清版 | 六月丁香婷婷色狠狠久久| 99久久伊人精品| 日韩一级片网址| 亚洲激情图片小说视频| 国产在线精品免费| 欧美挠脚心视频网站| 国产精品免费视频一区| 久久成人麻豆午夜电影| 在线观看亚洲一区| 中文字幕在线播放不卡一区| 捆绑紧缚一区二区三区视频| 欧洲一区二区三区在线| 国产亚洲一区字幕| 韩国av一区二区三区四区| 777a∨成人精品桃花网| 亚洲精品久久嫩草网站秘色| 韩国女主播一区二区三区| 5月丁香婷婷综合| 亚洲乱码中文字幕综合| 丁香亚洲综合激情啪啪综合| 精品国产乱码久久久久久久| 午夜精品免费在线观看| 在线精品观看国产| 亚洲精品视频在线看| 99国产精品国产精品久久| 国产网站一区二区| 国内成人免费视频| 欧美白人最猛性xxxxx69交| 婷婷夜色潮精品综合在线| 在线观看免费亚洲| 亚洲激情六月丁香| 成人av网站免费| 国产精品传媒视频| av激情亚洲男人天堂| 中文无字幕一区二区三区| 国产一区二区三区免费在线观看| 日韩欧美亚洲一区二区| 青青草原综合久久大伊人精品优势| 欧美日韩精品免费观看视频 | 日韩一卡二卡三卡四卡| 午夜视频在线观看一区| 欧美日韩国产一级片| 亚洲国产精品欧美一二99| 欧美视频一区二区三区在线观看| 亚洲欧洲日韩女同| 91无套直看片红桃| 亚洲精品日产精品乱码不卡| 色天天综合色天天久久| 亚洲国产日韩精品| 制服.丝袜.亚洲.中文.综合| 青青草国产精品亚洲专区无| 欧美xxxxx牲另类人与| 国模少妇一区二区三区| 亚洲国产电影在线观看| 99精品国产热久久91蜜凸| 亚洲精品免费在线| 欧美视频中文字幕| 免费成人在线影院| 国产日韩欧美精品一区| 成人黄色一级视频| 亚洲综合免费观看高清完整版| 欧美军同video69gay| 久久爱另类一区二区小说| 久久免费电影网| 91蝌蚪porny| 三级亚洲高清视频| 亚洲国产精品激情在线观看| 91蜜桃免费观看视频| 日韩成人精品在线观看| 国产亚洲成av人在线观看导航| 99在线精品免费| 三级成人在线视频| 国产欧美综合在线| 欧美色图一区二区三区| 久久国产综合精品|