⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smopos.lst

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 LST
📖 第 1 页 / 共 5 页
字号:
     526            ;----------------------------------------------------------------------------------
     527 01a4 208a          ADD             *,AR2   ; ACC = &ATANTAB_45 + ptr_smo   
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:27 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
smopos.asm                                                           PAGE   11

     528                                                    ; ARP=AR0, AR0->FR0, AR2->esalfa, ARP=AR2
     529            ;----------------------------------------------------------------------------------
     530 01a5 7811          ADRK    #17             ; ARP=AR2, AR0->FR0, AR2->thetau        
     531            ;----------------------------------------------------------------------------------
     532 01a6 a680          TBLR    *               ; thetau = arctan(|esbeta|/|esalfa|)  (Q15)
     533                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     534            ;----------------------------------------------------------------------------------
     535 01a7 bf80          LACC    #8192   ; ACC = 8192 = 90 degree (Q15)
         01a8 2000  
     536                                                    ; ARP=AR2, AR0->FR0, AR2->thetau 
     537            ;----------------------------------------------------------------------------------
     538 01a9 3080          SUB             *               ; ACC = 90 - thetau  (Q15)
     539                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     540            ;----------------------------------------------------------------------------------
     541 01aa 9080                  SACL    *               ; thetau = 90 - thetau  (Q15)
     542                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     543            ;----------------------------------------------------------------------------------
     544 01ab 7980          B               SMO_DIV_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau 
         01ac 01b2' 
     545            ;----------------------------------------------------------------------------------
     546 01ad       SMO_EQ_QD               ; Here, |esalfa|/|esbeta| = 1
     547                                                            ; i.e., |esalfa| = |esbeta|
     548                                                            ; ARP=AR0, AR0->FR2, AR2->esalfa
     549            ;----------------------------------------------------------------------------------
     550 01ad 7c02                  SBRK    #2              ; ARP=AR0, AR0->FR0, AR2->esalfa
     551            ;----------------------------------------------------------------------------------
     552 01ae 8b8a                  MAR             *,AR2   ; ARP=AR2, AR0->FR0, AR2->esalfa        
     553            ;----------------------------------------------------------------------------------
     554 01af 7811          ADRK    #17             ; ARP=AR2, AR0->FR0, AR2->thetau                
     555            ;----------------------------------------------------------------------------------
     556 01b0 ae80          SPLK    #4096,* ; thetau = 45 degree  (Q15)
         01b1 1000  
     557                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     558            ;----------------------------------------------------------------------------------
     559 01b2       SMO_DIV_QD_END          ; ARP=AR2, AR0->FR0, AR2->thetau 
     560            ;----------------------------------------------------------------------------------
     561                    ; Determine the quadrant by looking at signs of esbeta and -esalfa
     562 01b2 7c0b          SBRK    #11             ; ARP=AR2, AR0->FR0, AR2->esbeta
     563            ;----------------------------------------------------------------------------------
     564 01b3 1080          LACC    *               ; ACC = esbeta  (Q15)
     565                                                    ; ARP=AR2, AR0->FR0, AR2->esbeta 
     566            ;----------------------------------------------------------------------------------
     567 01b4 7c06                  SBRK    #6              ; ARP=AR2, AR0->FR0, AR2->esalfa
     568            ;----------------------------------------------------------------------------------
     569 01b5 e344          BCND    SMO_NEG_D,LT ; Branch to NEG_D if esbeta < 0
         01b6 01c5' 
     570                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa        
     571            ;----------------------------------------------------------------------------------
     572 01b7       SMO_POS_D                       ; ARP=AR2, AR0->FR0, AR2->esalfa
     573            ;----------------------------------------------------------------------------------
     574 01b7 1080          LACC    *               ; ACC = esalfa  (Q15)
     575                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa
     576            ;----------------------------------------------------------------------------------
     577 01b8 be02          NEG                             ; ACC = -esalfa  (Q15)
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:27 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
smopos.asm                                                           PAGE   12

     578                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa
     579            ;----------------------------------------------------------------------------------
     580 01b9 e344          BCND    SMO_POS_D_NEG_Q,LT ; Branch to POS_D_NEG_Q if -esalfa < 0
         01ba 01be' 
     581                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa        
     582            ;----------------------------------------------------------------------------------
     583 01bb       SMO_POS_D_POS_Q         ; ARP=AR2, AR0->FR0, AR2->esalfa
     584            ;----------------------------------------------------------------------------------
     585 01bb 7811          ADRK    #17             ; ARP=AR2, AR0->FR0, AR2->thetau
     586            ;----------------------------------------------------------------------------------
     587 01bc 7980          B               SMO_QUADRANT_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau
         01bd 01d5' 
     588            ;----------------------------------------------------------------------------------
     589 01be       SMO_POS_D_NEG_Q         ; ARP=AR2, AR0->FR0, AR2->esalfa
     590            ;----------------------------------------------------------------------------------
     591 01be bf80          LACC    #32767  ; ACC = 32767 = 360 degree (Q15)
         01bf 7fff  
     592                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa
     593            ;----------------------------------------------------------------------------------
     594 01c0 7811          ADRK    #17             ; ARP=AR2, AR0->FR0, AR2->thetau
     595            ;----------------------------------------------------------------------------------
     596 01c1 3080          SUB             *               ; ACC = 360 - thetau  (Q15)
     597                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     598            ;----------------------------------------------------------------------------------
     599 01c2 9080          SACL    *               ; thetau = 360 - thetau  (Q15)
     600                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     601            ;----------------------------------------------------------------------------------
     602 01c3 7980          B               SMO_QUADRANT_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau
         01c4 01d5' 
     603            ;----------------------------------------------------------------------------------
     604 01c5       SMO_NEG_D               ; ARP=AR2, AR0->FR0, AR2->esalfa
     605            ;----------------------------------------------------------------------------------
     606 01c5 1080          LACC    *               ; ACC = esalfa  (Q15)
     607                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa
     608            ;----------------------------------------------------------------------------------
     609 01c6 be02          NEG                             ; ACC = -esalfa  (Q15)
     610                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa
     611            ;----------------------------------------------------------------------------------
     612 01c7 e344          BCND    SMO_NEG_D_NEG_Q,LT ; Branch to NEG_D_NEG_Q if -esalfa < 0
         01c8 01d0' 
     613                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa        
     614            ;----------------------------------------------------------------------------------
     615 01c9       SMO_NEG_D_POS_Q         ; ARP=AR2, AR0->FR0, AR2->esalfa
     616            ;----------------------------------------------------------------------------------
     617 01c9 bf80          LACC    #16384  ; ACC = 16384 = 180 degree  (Q15)
         01ca 4000  
     618                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa        
     619            ;----------------------------------------------------------------------------------
     620 01cb 7811          ADRK    #17             ; ARP=AR2, AR0->FR0, AR2->thetau        
     621            ;----------------------------------------------------------------------------------
     622 01cc 3080          SUB             *               ; ACC = 180 - thetau  (Q15)
     623                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     624            ;----------------------------------------------------------------------------------
     625 01cd 9080          SACL    *               ; thetau = 180 - thetau  (Q15)
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:27 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
smopos.asm                                                           PAGE   13

     626                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     627            ;----------------------------------------------------------------------------------
     628 01ce 7980          B               SMO_QUADRANT_QD_END ; ARP=AR2, AR0->FR0, AR2->thetau 
         01cf 01d5' 
     629            ;----------------------------------------------------------------------------------
     630 01d0       SMO_NEG_D_NEG_Q         ; ARP=AR2, AR0->FR0, AR2->esalfa
     631            ;----------------------------------------------------------------------------------
     632 01d0 bf80          LACC    #16384  ; ACC = 16384 = 180 degree  (Q15)
         01d1 4000  
     633                                                    ; ARP=AR2, AR0->FR0, AR2->esalfa                
     634            ;----------------------------------------------------------------------------------
     635 01d2 7811          ADRK    #17             ; ARP=AR2, AR0->FR0, AR2->thetau
     636            ;----------------------------------------------------------------------------------
     637 01d3 2080          ADD             *               ; ACC = 180 + thetau  (Q15)
     638                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     639            ;----------------------------------------------------------------------------------
     640 01d4 9080          SACL    *               ; thetau = 180 + thetau  (Q15)
     641                                                    ; ARP=AR2, AR0->FR0, AR2->thetau
     642            ;----------------------------------------------------------------------------------
     643 01d5       SMO_QUADRANT_QD_END     ; ARP=AR2, AR0->FR0, AR2->thetau
     644            ;---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -