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

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

?? electromotionbicyclepic16f72.asm

?? 基于MICROCHIP PIC16F系列電動(dòng)自行車控制源碼.
?? ASM
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
;***********************************************************
;*         16F73控制的電動(dòng)自行車驅(qū)動(dòng)系統(tǒng)源程序            *
;***********************************************************
;此程序不能直接使用,只作學(xué)習(xí)參考(若要直接使用,須經(jīng)修改)
;**********************************************************
; 修改聯(lián)系: (調(diào)試軟件:微軟MPLAB)  
;***********************************************************
LIST   P=16F73
#INCLUDE P16F73.INC
;以下采用塊定義的方法定義單片機(jī)內(nèi)部寄存器
   CBBRCK   0X20                    ;自定義寄存器從0X20開(kāi)始
   FLAG1                            ;FLAG1作為標(biāo)志寄存器
   VOLTAGEH                         ;電池電壓高位寄存器
   VOLTAGEL                         ;電池電壓低位寄存器
   TSH                              ;手柄電壓高位寄存器
   TSL                              ;手柄電壓低位寄存器
   STATE1                           ;霍爾信號(hào)采樣暫存器1
   STATE2                           ;霍爾信號(hào)采樣暫存器2
   STATE3                           ;霍爾信號(hào)采樣暫存器3
   DELAY                            ;延時(shí)計(jì)數(shù)器
   COUNT_VOL                        ;低電壓采樣次數(shù)計(jì)數(shù)器
   ACCaLO                           ;ACCa~ACCd為運(yùn)算用的寄存器
   TEMP                             ;臨時(shí)寄存器
   TEMP1                            ;臨時(shí)寄存器(中斷用)
   SIGN                             ;符號(hào)寄存器
   COUNT                            ;臨時(shí)寄存器
   W_STACK                          ;中斷時(shí)用于暫存W寄存器值
   ST_STACK                         ;中斷時(shí)用于暫存STATUS寄存器值
   ENDC
;***********標(biāo)志寄存器位定義以及程序中常數(shù)定義***********
   CONSTANT   VOLTAGE=0             ;采電池電壓標(biāo)志位
   CONSTANT   PWM=1                 ;輸出下一次PWM信號(hào)標(biāo)志位
   CONSTANT   LOWPOWER=2            ;低電壓標(biāo)志位
   CONSTANT   SHUTDOWN=3            ;剎車標(biāo)志位
   CONSTANT   OFF=4                 ;復(fù)位標(biāo)志位
   CONSTANT   AND=0XE0              ;AND用于獲取有效霍爾信號(hào)
   CONSTANT   FULLPWM=0XFF          ;當(dāng)PWM輸出全高時(shí),輸入CCPR1L中的值
   CONSTANT   VOLOFFH=0X02          ;當(dāng)電池電壓低于24AH時(shí), 低壓保護(hù)2.86 V/31.5 V
   CONSTANT   VOLOFFL=0X4A
   CONSTANT   VOLONH=0X02           ;當(dāng)電池電壓大于266H時(shí),允許電機(jī)重開(kāi)3V/33V
   CONSTANT   VOLONL=0X66
   CONSTANT   TSONH=0X01            ;剎車后手柄復(fù)位值低于133H,則允許電機(jī)重新啟動(dòng)
   CONSTANT   TSONL=0X33
;**復(fù)位矢量入口(單片機(jī)復(fù)位時(shí),PC指針指向程序存儲(chǔ)器0X0000單元)
            ORG      0X0000
            GOTO     MAIN           ;復(fù)位后程序進(jìn)入主程序
;***中斷矢量入口程序(PIC單片機(jī)的中斷矢量入口為0X0004)***
            ORG      0X0004         ;中斷矢量入口
            BTFSC    INTCON,RBIF   ;是否為RB口電平變化中斷?   
            GOTO     SAMPLERB       ;是,進(jìn)入RB口電平變化中斷服務(wù)程序
            BTFSC    PIR1,ADIF     ;是否為AD采樣中斷
            GOTO     AD             ;是,進(jìn)入AD中斷服務(wù)程序
            BTFSC    INTCON,INTF   ;是否為剎車中斷
            GOTO     BRAKE          ;是,剎車中斷處理
            RETFIE                  ;如都不是,則中斷返回
;************逆變橋輸出控制表*************
;逆變橋輸出控制表,其輸出對(duì)應(yīng)6種狀態(tài),霍爾信號(hào)來(lái)自B口RB7、RB6、RB5,C口輸出低電平有
;效,其中RC1,RC2不作為觸發(fā)電路輸出口,故表中使其為高電平
           ORG      0X0020          ;表程序從0X0020單元開(kāi)始存放
OUT_TABLE            
           ADDWF    PCL,1
           RETLW    0X0AF           ;如霍爾信號(hào)為0、0、0,
           RETLW    0X0BE           ;如霍爾信號(hào)為0、0、1,
           RETLW    0X0CF           ;如霍爾信號(hào)為1、0、0,
           RETLW    0X0FF           ;沒(méi)有為1、0、1的霍爾信號(hào)對(duì)應(yīng)電機(jī)狀態(tài)
           RETLW    0X0D7           ;如霍爾信號(hào)為1、1、0
           RETLW    0X077           ;如霍爾信號(hào)為1、1、1
;***************主程序*****************
           ORG      0X0100          ;主程序從0X0100單元開(kāi)始存
     MAIN  MOVLW    0X0FF           ;由于C口上電復(fù)位值不確定,必須先關(guān)閉所有MOS管
           MOVWF    PORTC
           BSF      STATUS,RP0     ;選擇存儲(chǔ)體1
           MOVLW    0X02            ;設(shè)置RC1為輸入口,其它為輸出口,其中RC2為PWM  
           MOVWF    TRISC           ;輸出口,其它位為觸發(fā)信號(hào)輸出
           BCF      STATUS,RP0     ;選擇存儲(chǔ)體0
           CLRF     PIR1            ;清所有中斷標(biāo)志位
           CLRF     INTCON          ;禁止所有中斷
           MOVLW    0X56            ;設(shè)置TMR2預(yù)分頻值為4
           MOVWF    T2CON
           MOVLW    FULLPWM         ;初始化PWM工作循環(huán)寄存器,使PWM占空比為1
           MOVWF    CCPR1L          ;輸出電壓為零
           MOVLW    0XFF            ;設(shè)置CCP1工作于PWM方式
           MOVWF    CCP1CON
           MOVLW    0X0B            ;CCP2工作于特殊事件觸發(fā)方式,用作AD采樣周期寄存  
           MOVWF    CCP2CON         ;器
           CLRF     TMR2            ;TMR2計(jì)數(shù)器清零
           CLRF     TMR1H           ;TMR1計(jì)數(shù)器清零
           CLRF     TMR1L
           CLRF     T1CON           ;TMR1預(yù)分頻為1,關(guān)閉振蕩器,工作于定時(shí)工作方式
           MOVLW    0X08            ;初始化AD采樣周期寄存器,T=512 μs
           MOVWF    CCPR2H
           MOVLW    0X00
           MOVWF    CCPR2L
           BSF      STATUS,RP0     ;選擇存儲(chǔ)體1
           MOVLW    0XEF            ;RB口高3位用于采樣霍爾信號(hào),RB0為剎車中斷,設(shè)置為
           MOVWF    TRISB           ;輸入,其它未用
           MOVLW    0XC7            ;初始化PWM頻率為5 kHz
           MOVWF    PR2      
           MOVLW    0X082           ;AD采樣結(jié)果右移,RA口引腳均為模擬輸入
           MOVWF    ADCON1
           BSF      OPTION_REG,INTEDG    ;選擇INT在下降沿產(chǎn)生中斷
           BCF      STATUS,RP0
           CALL     SAMPLE          
           CALL     OUTPUT          
           MOVLW    0X0D8           ;開(kāi)總中斷、外圍中斷、INT中斷和RB口電平變化中斷允
           MOVWF    INTCON          ;許
           BCF      PIE2, CCP2IE   ;CCP2中斷禁止
           BSF      PIE1,ADIE      ;打開(kāi)AD采樣中斷
           CLRF     FLAG1           ;清標(biāo)志位寄存器
           CLRF     COUNT_VOL       ;清電池電壓采樣計(jì)數(shù)器
           BSF      T1CON,TMR1ON   ;開(kāi)CCP2,對(duì)手柄進(jìn)行等間隔采樣
           BSF      T2CON,TMR2ON   ;開(kāi)CCP1
           GOTO     $               ;是,回轉(zhuǎn)
;*********************************
 BRAKEON    
           BCF      FLAG1,OFF      ;清復(fù)位標(biāo)志
           BCF      FLAG1,SHUTDOWN ;是,清相應(yīng)標(biāo)志位
           BTFSS    PORTB,0        ;INT引腳仍為1?
           RETURN                   ;否,中斷是由干擾引起的,返回
           BSF      STATUS,RP0
           BCF      PIE1,ADIE      ;禁止AD采樣中斷
           BCF      STATUS,RP0
           BCF      INTCON,INTE    ;關(guān)RB0中斷
           MOVLW    FULLPWM         ;PWM輸出全高
           MOVWF    CCPR1L
           BCF      T1CON,TMR1ON   ;關(guān)閉手柄采樣
  BREAK2   BTFSC    ADCON0,GO      ;正在進(jìn)行AD采樣?
           GOTO     BREAK2          ;是,等待AD采樣完畢
           BCF      ADCON0,CHS0
           BCF      ADCON0,CHS1    ;選擇0采樣通道,準(zhǔn)備采樣手柄電壓
           BCF      PIR1,ADIF      ;清AD采樣中斷標(biāo)志位
           MOVLW    0X06            ;延時(shí)
           MOVWF    COUNT
   BREAK3  DECFSZ   COUNT
           GOTO     BREAK3
  BREAK5   BSF      ADCON0,GO      ;采樣TS值
  BREAK4   BTFSS    PIR1,ADIF      ;采樣完畢?
           GOTO     BREAK4
           BCF      PIR1,ADIF
           BCF      STATUS,C   
           MOVF     ADRESH,0       ;當(dāng)前TS值送被減數(shù)
           MOVWF    ACCbHI
           MOVLW    TSONH           ;1.5 V所對(duì)應(yīng)的采樣值送減數(shù)
           MOVWF    ACCaHI
           MOVLW    TSONL
           MOVWF    ACCaLO
           CALL     D_sub           ;當(dāng)前TS值減1.5V
           MOVLW    FULLPWM
           MOVWF    CCPR1L
           CLRWDT
           BTFSS    ACCbHI,7       ;當(dāng)前電壓值大于1.5V?
           GOTO     BREAK5          ;是,重新采樣
           BTFSC    PORTB,0
           GOTO     BREAK5
           BSF      FLAG1,OFF      ;否,置相應(yīng)的標(biāo)志位
           RETURN                   ;返回   
;*******************************
 OUT_PWM   BCF      FLAG1,PWM      ;清相應(yīng)的標(biāo)志位
           MOVF     TSH,0          ;將調(diào)速手柄采樣值送至被加數(shù)
           MOVWF    ACCaHI
           MOVF     TSL,0
           MOVWF    ACCaLO
           MOVLW    0XFF            ;FF1F補(bǔ)碼為0XE1,即1.1 V
           MOVWF    ACCbHI
           MOVLW    0X1F         
           MOVWF    ACCbLO
           CALL     D_add
     
           BTFSS    ACCbHI,7       ;TS>1.1V?
           GOTO     PWM1            ;是,轉(zhuǎn)PWM1
           MOVLW    FULLPWM         ;否則輸出全高
           MOVWF    CCPR1L
           RETURN
    PWM1   MOVLW    0XFD            ;0X27B=3.1V
           MOVWF    ACCbHI
           MOVLW    0X85
           MOVWF    ACCbLO
           BTFSC    ACCbHI,7       ;TS>3.1V?
           GOTO     PWM3
    PWM2   CLRF     CCPR1L
           BCF      CCP1CON,4
           BCF      CCP1CON,5
           RETURN
    PWM3   MOVLW    0X0FF           ;1.1 V對(duì)應(yīng)的采樣值補(bǔ)碼送加數(shù)   
           MOVWF    ACCbHI         
           MOVLW    0X1F
           MOVWF    ACCbLO
           CALL     D_add           ;TS-1.1V
           CLRF     ACCaHI          ;系數(shù)K=56=38H送乘數(shù)
           MOVLW    0X3F
           MOVWF    ACCaLO
           CALL     D_mpy           ;得到放大128倍的低電平時(shí)間K*(TS-1.1V)
           MOVF     ACCcHI,0       ;將結(jié)果取出
           MOVWF    ACCaHI
           MOVF     ACCcLO,0
           MOVWF    ACCaLO   
           MOVLW    0X64            ;PWM周期T減去低電平時(shí)間,得到高電平時(shí)間
           MOVWF    ACCbHI
           CLRF     ACCbLO 
           CALL     D_sub         
           BTFSC    ACCbHI,7       ;低電平時(shí)間是否大于周期?
           GOTO     PWM2            ;是,輸出全壓
           RLF      ACCbLO          ;否則,輸出與低電平時(shí)間對(duì)應(yīng)的高電平時(shí)間
           RLF      ACCbHI
           MOVF     ACCbHI,0       ;D10~D2位送CCPR1L
           MOVWF    CCPR1L
           BCF      CCP1CON,5      ;D0位送CCP1CON5
           BTFSC    ACCbLO,7
           BSF      CCP1CON,5
           BCF      CCP1CON,4      ;D.1位送CCP1CON4      
           BTFSC    ACCbLO,6
           BSF      CCP1CON,4
           RETURN                   ;返回
;*******************************
   BRAKE   CALL     PUSH            ;保存現(xiàn)場(chǎng)
           BCF      STATUS,RP0     ;回存儲(chǔ)區(qū)0
           BSF      FLAG1,SHUTDOWN ;置相應(yīng)標(biāo)志位
           BCF      INTCON,INTF    ;清中斷標(biāo)志位
           CALL     POP             ;恢復(fù)現(xiàn)場(chǎng)
           RETFIE                   ;中斷返回
;********************************
   POWER   BCF      FLAG1,LOWPOWER;清相應(yīng)的標(biāo)志位
           MOVF     VOLTAGEH,0
           MOVWF    ACCaHI
           MOVF     VOLTAGEL,0
           MOVWF    ACCaLO
           MOVLW    VOLOFFH
           MOVWF    ACCbHI
           MOVLW    VOLOFFL
           MOVWF    ACCbLO
           CALL     D_sub
           BTFSC    ACCbLO,7       ;判斷當(dāng)前電池電壓值是否低于保護(hù)電壓(32V)
           RETURN                   ;不是,返回
           BCF      INTCON,INTE
           BCF      T1CON,TMR1ON   ;關(guān)閉電流采樣

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品亚洲一区二区三区在线 | 极品少妇xxxx精品少妇偷拍| 欧美国产一区二区在线观看| 欧美日韩视频第一区| 成人永久aaa| 理论电影国产精品| 一区二区三区四区高清精品免费观看| 久久久久国产精品人| 欧美精三区欧美精三区| 91丨九色porny丨蝌蚪| 国产一区二区三区黄视频| 五月开心婷婷久久| 亚洲欧美日韩国产综合在线| 久久久一区二区三区| 日韩一级片网站| 欧美日本乱大交xxxxx| 91啦中文在线观看| 成人av网站在线观看免费| 韩国精品在线观看| 日韩激情av在线| 亚洲国产综合在线| 亚洲欧美日韩在线播放| 国产精品三级av在线播放| 久久久国产精华| 久久蜜臀精品av| 久久久久久久久一| 精品国产凹凸成av人网站| 日韩美一区二区三区| 日韩一本二本av| 91精品国产综合久久精品性色| 91福利视频网站| 在线看不卡av| 欧美综合欧美视频| 欧美三级午夜理伦三级中视频| 欧美综合亚洲图片综合区| 91高清视频在线| 欧美色综合网站| 欧美日韩精品一区二区在线播放 | 91麻豆精品国产91| 欧美在线观看视频一区二区三区 | 中文字幕av不卡| 国产精品毛片久久久久久久 | 日韩成人免费电影| 麻豆成人av在线| 国内精品嫩模私拍在线| 国产一区二区毛片| 国产成人免费xxxxxxxx| 91最新地址在线播放| 色呦呦一区二区三区| 欧美影院一区二区| 欧美一区二区三区色| 日韩一二三四区| 国产午夜一区二区三区| 国产精品免费视频一区| 一级特黄大欧美久久久| 午夜不卡在线视频| 久久国产精品72免费观看| 国产成人午夜视频| 91福利在线播放| 日韩一级片在线播放| 欧美激情综合五月色丁香小说| 中文字幕中文字幕在线一区| 夜色激情一区二区| 免费在线成人网| 成人福利电影精品一区二区在线观看| 91丨porny丨国产入口| 欧美日韩aaa| 久久久精品2019中文字幕之3| 亚洲视频电影在线| 日韩不卡一区二区| 暴力调教一区二区三区| 欧美在线一二三| 精品国产乱码久久久久久蜜臀| 欧美国产欧美综合| 五月综合激情婷婷六月色窝| 国产主播一区二区三区| 色视频欧美一区二区三区| 日韩欧美国产1| 亚洲日韩欧美一区二区在线| 蜜芽一区二区三区| 成人白浆超碰人人人人| 欧美剧情片在线观看| 中文在线资源观看网站视频免费不卡 | 亚洲色图视频网| 久久精品噜噜噜成人av农村| 99精品视频在线免费观看| 欧美一区二区三区免费视频| 国产日产精品1区| 日韩av在线免费观看不卡| 成人ar影院免费观看视频| 欧美一区日韩一区| 综合久久给合久久狠狠狠97色| 久久国产精品色婷婷| 91福利在线播放| 欧美韩国日本不卡| 久久精品国产久精国产爱| 91啦中文在线观看| 久久久久九九视频| 蜜臀精品一区二区三区在线观看 | 中文字幕在线视频一区| 免费人成精品欧美精品| 欧美综合天天夜夜久久| 国产精品久久久久四虎| 九色porny丨国产精品| 在线观看日韩毛片| 国产精品亲子伦对白| 日本成人中文字幕在线视频| 一本到高清视频免费精品| 久久久亚洲精品石原莉奈| 奇米综合一区二区三区精品视频| 在线亚洲+欧美+日本专区| 国产精品乱人伦一区二区| 国产一区久久久| 日韩一区二区视频| 日韩精品电影一区亚洲| 欧美色倩网站大全免费| 一区二区三区毛片| 91小视频在线观看| 中文字幕中文乱码欧美一区二区| 国产最新精品精品你懂的| 日韩三级免费观看| 日韩中文字幕不卡| 91成人免费电影| 日韩毛片高清在线播放| 不卡区在线中文字幕| 久久精品亚洲麻豆av一区二区| 日本不卡一区二区三区| 欧美日韩中文字幕一区二区| 亚洲综合色丁香婷婷六月图片| 99久久99久久精品免费观看| 国产精品成人免费在线| 99久久综合99久久综合网站| 国产精品国产成人国产三级 | 精品国产一区二区三区av性色| 日韩激情视频在线观看| 91精品国产综合久久久久| 视频一区中文字幕| 欧美一区二区福利在线| 久久激情五月激情| 久久久久成人黄色影片| 懂色一区二区三区免费观看 | 亚洲一区二区三区四区在线免费观看| 91天堂素人约啪| 综合欧美一区二区三区| 欧美影院午夜播放| 日本中文字幕一区二区视频 | 亚洲精品视频一区| 欧美亚洲国产一区在线观看网站| 亚洲成a人v欧美综合天堂下载| 7777精品伊人久久久大香线蕉的 | 国产一区在线不卡| 国产精品免费免费| 在线观看免费成人| 肉肉av福利一精品导航| 欧美精品一区男女天堂| 成人精品视频.| 亚洲蜜臀av乱码久久精品| 欧美福利视频一区| 黑人巨大精品欧美一区| 国产精品卡一卡二| 欧美日韩在线播放三区| 久久草av在线| 中文字幕视频一区| 欧美精品高清视频| 经典三级一区二区| 国产精品美女久久久久av爽李琼| 在线观看日韩一区| 国产综合色在线| 亚洲激情成人在线| 日韩欧美电影一二三| 99免费精品视频| 视频精品一区二区| 中文字幕乱码一区二区免费| 欧美亚洲动漫制服丝袜| 精品无人码麻豆乱码1区2区| 综合色中文字幕| 欧美tk—视频vk| 色香蕉久久蜜桃| 国产伦精品一区二区三区在线观看| 国产精品久久久久影院老司| 这里只有精品视频在线观看| 成人一区在线看| 日韩精彩视频在线观看| 国产精品久久久久永久免费观看| 欧美精品日韩综合在线| 成人激情图片网| 蜜臀久久99精品久久久久久9| 亚洲色图.com| 精品国产髙清在线看国产毛片| 91久久精品国产91性色tv | 欧美日本免费一区二区三区| 国产成人自拍在线| 日av在线不卡| 一区二区三区电影在线播| 国产日韩欧美综合一区| 欧美一区二区在线不卡| 日本韩国欧美一区| 粉嫩av一区二区三区粉嫩| 日韩成人av影视| 亚洲成人福利片|