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

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

?? svpwm1.asm

?? --- 2407SVPWM匯編算法
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
          ; calculating ub  
            lacl  index
            and   #0ffh
            add   #67       ; for ub lagging 120 to ua
            sub   201
            bcnd  sin_cirB,LT
            sacl  indexB
sin_cirB:
            add   #sintab   ; in sine table lag 67 word
            sacl  tmp
            lar   ar5,tmp
            lacl  *         ;look up sine table                         
            sacl  sintetaB  ;get value of sintetaA               
            lt    sintetaB  ; Q15
            mpy   #Umax     ;ub=Umax*sintetaB,Umax(Q12)=1000h
            pac          ; ub(Q12), for Q15*Q12=Q27, get off 
            sach  ub,1   ; low 16 bits,then Q11,so left-shift 
                         ; 1 bit, Q12
            lacl  index
            and   #0ffh  
            add   #1        ;  inext=index+1,indicate next 
            sacl  index     ;  element of sine table                                           

          ; calculating uc,in 3-phase system is unnecessery  
            ;lacl  index
            ;and   #0ffh
            ;add   #67       ; for uc lagging 240 to ua
            ;add   #sintab   ; in sine table lag 134 word
            ;sacl  tmp
            ;lar   ar5,tmp
            ;lacl  *         ;look up sine table                         
            ;sacl  sintetaB  ;get value of sintetaA               
            ;lt    sintetaB  ; Q15
            ;mpy   #Umax     ;uc=Umax*sintetaC,Umax(Q12)=1000h
            ;pac          ; uc(Q12), for Q15*Q12=Q27, get off 
            ;sach  ub,1   ; low 16 bits,then Q11,so left-shift 
                         ; 1 bit, Q12                                                   
;;                                                           ;
;;    End  ua, ub, uc calculation                            ;   
;;    We get the desired 3-phase voltages.                   ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                                
                                
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                                
;;           Clarke transformation                           ;
;;           (a,b)==>(alfa,beta)                             ;
;;           usalfa=ua                                       ;
;;           usbeta=(2*ub+ua)/sqrt(3)                        ;            
                                
            lacc  ua
            sacl  usalfa    ;usalfa 4.12
            add   ub
            neg
            sacl  uc
            lacc  ub,1    ;usbeta=(2*ub+ua)/sqrt(3)               
            add   ua
            sacl  tmp
            lt    tmp
            mpy   #sqrt3inv ;093dh, 4.12, 1/sqrt(3)=0.57735                     
            pac                    
            sach  usbeta,4  ;usbeta(Q12), for Q12*Q12=Q24, 
                            ;get off low 16 bits,then Q8,                   
                            ;so left-shift 4 bit, Q12    
;;      End  Clarke transformation                           ;                                
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;       Park transformation   
;;       (alfa,beta)==>(d,q)
;; Usually in motor drive system, we put d_q axis same position 
;; to alfa_beta axis at t=0, in which transformation equation
;; is given as following:
;;       usd=usalfa*cosTeta_cm + usbeta*sinTeta_cm
;;       usq=-usalfa*sinTeta_cm + usbeta*cosTeta_cm
;; While in PWM rictifier system, for we need put grid voltage 
;; vector Us to d-axis when t=0 and assuming iq=0 and keeping 
;; id same phase to Us to get unit power factor, so the d-q axis
;; is lag 90 degree to above, and the transformation equation is:
;;       sin(Teta-90)=-cosTeta
;;       cos(Teta-90)=sinTeta
;;       usd=usalfa*sinTeta_cm - usbeta*cosTeta_cm
;;       usq=usalfa*cosTeta_cm + usbeta*sinTeta_cm
      
 ;when t=0, Teta_cm=0, look up table to get sin and cos value      



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                                
;;      SPACE VECTOR PULSE WIDTH MODULATION   

   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;            Sector calculation
   ; reference voltage for sector
   ; Vref1=usbeta
   ; Vref2=(-usbeta+sqrt(3)*usalfa)/2 
   ; Vref3=(-usbeta-sqrt(3)*usalfa)/2 
            lt    usalfa    ;Q12
            mpy   #sqrt32   ;sqrt32= 0ddbh sqrt(3)/2, 4.12
            pac             ;sqrt(3)*usalfa/2
            sub   usbeta,11 ;-vsbeta/2,so left-shift 11 
            sach  Vref2,4   ;Q12
            pac
            neg             ;-sqrt(3)*usalfa/2
            sub   usbeta,11 ;-vsbeta/2,so left-shift 11
            sach  Vref3,4   ;Q12
            lacl  usbeta
            sacl  Vref1     ;Vref1=usbeta,Q12
   ; End reference voltage for sector calculation        
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ; Time quality X,Y,Z Calculation
   ; VDCinvT=PWMPRD/Vdc=400=190h
   ; X=sqrt(3)*VDCinvT*usbeta  
   ; Y=(sqrt(3)*VDCinvT*usbeta + 3*VDCinvT*usalfa)/2
   ; Z=(sqrt(3)*VDCinvT*usbeta - 3*VDCinvT*usalfa)/2
            lt    VDCinvT
            mpy   #sqrt32
            pac
            sach  tmp,4  ;tmp=sqrt(3)*VDCinvT/2,Q12
            lt    tmp
            mpy   usbeta
            pac
            sach  X,4    ;X=sqrt(3)*VDCinvT*usbeta/2,Q12
            lacc  X
            sacl  tmp1   ;tmp1=sqrt(3)*VDCinvT/2,Q12
            sacl  X,1    ;X=sqrt(3)*VDCinvT*usbeta,Q12
            lt    VDCinvT
            splk  #1800h,tmp ;3/2=1800h(Q12)
            mpy   tmp        ;3*VDCinvT/2
            pac
            sach  tmp,4      ;tmp=3*VDCinvT/2 , Q12
            lt    tmp
            mpy   usalfa     ;3*VDCinvT/2*usalfa , Q12
            pac
            sach  tmp,4   ;tmp=3/2*VDCinvT*usalfa, Q12
            lacc  tmp
            add   tmp1    ;tmp1=sqrt(3)*VDCinvT/2,Q12                     
            sacl  Y   
             ;Y=3/2*VDCinvT*usalfa+sqrt(3)*VDCinvT/2,Q12
            sub   tmp,1   ;acc-tmp*2
            sacl  Z                     
             ;Z=3/2*VDCinvT*usalfa-sqrt(3)*VDCinvT/2,Q12 
   ;  End X,Y,Z calculation      
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;          
   ;;  60 degrees sector determinnation
            lacl  #0
            sacl  sector
            lacc  Vref1
            bcnd  Vref1_neg,LEQ 
             ;if Vref1<=0,do not set bit1 of sector
            lacc  sector
            or    #1
            sacl  sector         
Vref1_neg:  
            lacc  Vref2
            bcnd  Vref2_neg,LEQ 
             ;if Vref2<=0,do not set bit1 of sector
            lacc  sector
            or    #2
            sacl  sector                                    
Vref2_neg:  
            lacc  Vref3
            bcnd  Vref3_neg,LEQ 
             ;if Vref3<=0,do not set bit1 of sector
            lacc  sector
            or    #4
            sacl  sector                                    
Vref3_neg:              
   ;;  End 60 degrees sector determinnation             
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;          
   ;;  t1 and t2 calculation depending on the sector number
         ;sector=1   t1=Z t2=Y
            lacl  sector
            sub   #1          
            bcnd  no2,NEQ
            lacc  Z
            sacl  t1          
            lacc  Y
            sacl  t2
            b     t1t2out
no2:    ;sector=2   t1=Y t2=-X
            lacl  sector
            sub   #2          
            bcnd  no3,NEQ
            lacc  Y           
            sacl  t1
            lacc  X
            neg
            sacl  t2
            b     t1t2out
no3:    ;sector=3   t1=-Z t2=X            
            lacl  sector
            sub   #3
            bcnd  no4,NEQ
            lacc  Z
            neg
            sacl  t1
            lacc  X
            sacl  t2
            b     t1t2out
no4:    ;sector=4   t1=-X t2=Z          
            lacl  sector
            sub   #4
            bcnd  no5,NEQ
            lacc  X
            neg
            sacl  t1
            lacc  Z
            sacl  t2
            b     t1t2out
no5:    ;sector=5   t1=X t2=-Y
            lacl  sector
            sub   #4
            bcnd  no6,NEQ
            lacc  X
            sacl  t1
            lacc  Y
            neg
            sacl  t2
            b     t1t2out
no6:    ;sector=2   t1=-Y t2=-Z
            lacc  Y
            neg
            sacl  t1
            lacc  Z
            neg
            sacl  t2
t1t2out:
   ;; End t1 and t2 calculation
   ;; if t1+t2>PWMPRD, we have to saturate t1 and t2
   ;; t1=PWMPRD*t1/(t1+t2)
   ;; t2=PWMPRD*t2/(t1+t2)         
            lacc  t1
            add   t2
            sacl  tmp      ;tmp=t1+t2
            sub   #PWMPRD
            bcnd  nosaturation,LT,EQ 
         ;; t1 and t2 saturation
            lacc  #PWMPRD,15
            rpt   #15
            subc  tmp    ;divide PWMPRD by t1+t2
            sacl  tmp    ;tmp=PWMPRD/(t1+t2)
            lt    tmp  
            mpy   t1            
            pac   
            sach  t1,1   ;t1=PWMPRD*t1/(t1+t2)
            mpy   t2            
            pac   
            sach  t2,1   ;t2=PWMPRD*t2/(t1+t2)
         ;; End t1 and t2 saturation   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
         
nosaturation:
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; each phase working time taon,tbon,tcon calculation                     
   ;; calculating the PWM commutation instants of 3 channels
   ;;   taon=(PWMPRD-t1-t2)/2
   ;;   tbon=taon+t1
   ;;   tcon=tbon+t2        
            lacc  #PWMPRD
            sub   t1       
            sub   t2
            sfr          ;right shift 1 bit       
            sacl  taon   ;taon=(PWMPRD-t1-t2)/2
            add   t1     ;tbon=taon+t1    
            sacl  tbon       
            add   t2     ;tcon=tbon+t2 
            sacl  tcon
   ;; End taon,tbon,tcon calculation               
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                
                   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;   Sector  switching
   ;;   Depending on the sector of number we have to switch
   ;;   the calculated taon,tbon,tcon to the correct channel
         
;sect1 ;sector 1
            lacl  sector
            sub   #1
            bcnd  sect2,NEQ
            bldd  tbon,#CMPR1        
            bldd  taon,#CMPR2          
            bldd  tcon,#CMPR3
            b     endPWM
sect2:  ;sector 2             
            lacl  sector
            sub   #2
            bcnd  sect3,NEQ
            bldd  taon,#CMPR1        
            bldd  tcon,#CMPR2          
            bldd  tbon,#CMPR3
            b     endPWM
sect3:  ;sector 3             
            lacl  sector
            sub   #3
            bcnd  sect4,NEQ
            bldd  taon,#CMPR1        
            bldd  tbon,#CMPR2          
            bldd  tcon,#CMPR3
            b     endPWM
sect4:  ;sector 4
            lacl  sector
            sub   #4
            bcnd  sect5,NEQ
            bldd  tcon,#CMPR1        
            bldd  tbon,#CMPR2          
            bldd  taon,#CMPR3
            b     endPWM
sect5:  ;sector 5             
            lacl  sector
            sub   #5
            bcnd  sect6,NEQ
            bldd  tcon,#CMPR1        
            bldd  taon,#CMPR2          
            bldd  tbon,#CMPR3
            b     endPWM
sect6:  ;sector 6             
            bldd  tbon,#CMPR1        
            bldd  tcon,#CMPR2          
            bldd  taon,#CMPR3
   ;;   END Sector  switching 
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;                

***     END SPACE VECTOR PWM
*************************************************************     

endPWM:             
*************************************************************  
***    clear all flags, which maybe change with only T1 
***    underflow int
            ldp   #EVIFRA>>7
            splk  #200h,EVIFRA      
  
            ldp   #0
            lacc  #0ffh
            sacl  IFR  ;reset IFR, write into 1 to clear                                             
              

***     Context restore and return
***      SEE following context saving
            larp  ar7    ;ar7=74h
            mar   *+     ;ar7=75h
            lacl  *+     ;Acc low restored from 75h
            add   *+,16  ;Acc high restored from 76h
            lst   #0,*+  ;ST0 restored from 77h           
            lst   #1,*+  ;ST1 restored from 78h
   ; context saving
   ;        larp  ar7    ;making ar7 as current AR,ar7=79h
   ;        mar   *-     ;ar7=78h
   ;        sst   #1,*-  ;content of ST1 saved to 78h,then ar7=77h
   ;        sst   #0,*-  ;content of ST0 saved to 77h,then ar7=76h
   ;        sach  *-     ;Acc high saved to 76h,then ar7=75h
   ;        sacl  *-     ;Acc low saved to 75h,then ar7=74
   ; end context saving
            clrc INTM
            ret 
          ;   b PWMSER
***     End Context restore and return             
*************************************************************             
;;;;;;    End PWM Underflow interrupt serve program   ;;;;;;;
             

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产三级国产| 99riav一区二区三区| 欧美精品1区2区| 亚洲大片在线观看| 欧美人与z0zoxxxx视频| 蜜桃传媒麻豆第一区在线观看| 宅男在线国产精品| 国内成+人亚洲+欧美+综合在线| 国产丝袜美腿一区二区三区| 91丝袜美女网| 五月婷婷激情综合| www国产亚洲精品久久麻豆| 成人精品电影在线观看| 亚洲黄一区二区三区| 51精品视频一区二区三区| 国内久久精品视频| 亚洲欧美二区三区| 4438x亚洲最大成人网| 狠狠色丁香九九婷婷综合五月| 久久久精品影视| 在线免费观看视频一区| 久久机这里只有精品| 国产精品福利一区| 欧美一区二区三区不卡| 成人黄色国产精品网站大全在线免费观看| 亚洲免费观看在线观看| 亚洲精品在线免费观看视频| 91在线视频网址| 久久国产精品一区二区| 成人欧美一区二区三区1314| 91精品国产综合久久久久久久 | 国产一区二区成人久久免费影院| 国产精品色哟哟| 亚洲欧洲99久久| 国产亚洲精品超碰| 久久99精品国产.久久久久| 亚洲欧洲成人自拍| 精品区一区二区| 麻豆高清免费国产一区| 久久久久久久久久久99999| 国产jizzjizz一区二区| 亚洲第一福利一区| 亚洲欧洲日本在线| 精品黑人一区二区三区久久| 欧美亚洲综合色| 成人一道本在线| 久久99国产精品成人| 亚洲成a人片在线观看中文| 国产精品久久久久影院亚瑟 | 国产精品激情偷乱一区二区∴| 制服丝袜一区二区三区| 91国产免费观看| 播五月开心婷婷综合| 国产麻豆91精品| 日本中文字幕不卡| 亚洲一区二区欧美日韩 | 日韩一区二区麻豆国产| 欧美亚洲国产怡红院影院| av午夜一区麻豆| 高潮精品一区videoshd| 精品一区二区免费看| 青椒成人免费视频| 婷婷久久综合九色综合绿巨人| 亚洲美女在线一区| 亚洲欧美另类综合偷拍| 亚洲裸体xxx| 亚洲免费色视频| 亚洲精品免费在线| 亚洲男人都懂的| 亚洲人成亚洲人成在线观看图片| 国产欧美va欧美不卡在线| 久久影院电视剧免费观看| 欧美精品一区二区三区久久久 | 欧美日韩国产另类一区| 精品视频一区二区三区免费| 欧美亚洲动漫精品| 精品视频1区2区3区| 在线不卡a资源高清| 777xxx欧美| 精品卡一卡二卡三卡四在线| 2024国产精品| 日本一二三四高清不卡| 国产精品色噜噜| 亚洲少妇30p| 亚洲国产精品久久不卡毛片| 日韩福利电影在线| 国产在线视频精品一区| 国产99精品视频| 色婷婷激情综合| 欧美日韩在线播放三区| 欧美大黄免费观看| 久久久久久影视| 国产精品久久综合| 亚洲国产裸拍裸体视频在线观看乱了 | 91美女片黄在线观看| 91久久精品一区二区二区| 欧美久久久久中文字幕| 久久综合丝袜日本网| 国产精品你懂的在线欣赏| 亚洲精品美国一| 日韩精品成人一区二区三区| 狠狠色2019综合网| 色综合久久久久综合体 | 欧美女孩性生活视频| 精品国产乱码久久久久久蜜臀| 国产日本一区二区| 亚洲一区二区免费视频| 青青草原综合久久大伊人精品 | 国产精品美女久久福利网站| 一区二区三国产精华液| 麻豆国产一区二区| 91影院在线免费观看| 欧美一区二区三区在线看| 国产午夜久久久久| 午夜在线电影亚洲一区| 国产在线日韩欧美| 欧美色欧美亚洲另类二区| 2023国产精品| 午夜欧美视频在线观看| 高清在线成人网| 欧美精品丝袜久久久中文字幕| 久久品道一品道久久精品| 一区二区三区免费| 国产成人午夜99999| 欧美日韩三级一区| 中文成人av在线| 免费人成精品欧美精品| 在线视频你懂得一区| 久久亚洲综合色| 日本免费在线视频不卡一不卡二| 成人av电影在线观看| 日韩精品一区二区三区四区 | 亚洲午夜国产一区99re久久| 国产精品自产自拍| 欧美精品日韩综合在线| 亚洲人午夜精品天堂一二香蕉| 国产一区在线不卡| 在线不卡a资源高清| 亚洲精品乱码久久久久久日本蜜臀| 国产裸体歌舞团一区二区| 日韩亚洲欧美高清| 一区二区三区日韩欧美| 成人免费视频一区| 久久一夜天堂av一区二区三区| 日韩有码一区二区三区| 色偷偷88欧美精品久久久| 欧美韩国日本综合| 国产一区二区三区av电影 | 国产精品天美传媒| 激情都市一区二区| 91精品国产乱码| 日日夜夜免费精品视频| 欧美在线色视频| 亚洲综合一区二区精品导航| 色先锋资源久久综合| 中文字幕一区二区视频| 福利一区二区在线| 欧美国产精品中文字幕| 国产精品一色哟哟哟| 欧美大片免费久久精品三p| 七七婷婷婷婷精品国产| 欧美一区二区视频在线观看| 亚洲va国产天堂va久久en| 欧美在线观看一二区| 亚洲欧洲精品天堂一级| 波多野结衣亚洲一区| 国产精品护士白丝一区av| 97精品国产97久久久久久久久久久久| 中文字幕免费不卡| 波多野结衣亚洲一区| 亚洲精品乱码久久久久久久久 | 亚洲国产精品久久久久婷婷884 | 4438x亚洲最大成人网| 欧美a级一区二区| 日韩免费视频一区| 国产精品456露脸| 欧美激情一区三区| 99精品一区二区三区| 亚洲精品国产一区二区精华液 | av网站一区二区三区| 国产精品福利一区| 欧美亚洲综合另类| 蜜桃久久av一区| 国产日韩欧美麻豆| av欧美精品.com| 亚洲一卡二卡三卡四卡五卡| 91精品啪在线观看国产60岁| 国内一区二区在线| 综合久久一区二区三区| 欧美午夜精品一区二区三区| 日本不卡一区二区三区| 久久久久99精品国产片| 92国产精品观看| 免费日本视频一区| 欧美激情在线观看视频免费| 欧美午夜精品一区二区三区 | 91小视频免费观看| 亚洲成av人片在www色猫咪| 精品久久久网站| 不卡视频一二三|