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

📄 i_get.lst

📁 DSP关于F2407的实例程序
💻 LST
字号:
C:\tic2xx\c2000\cgtools\bin\dspa.exe i_GET.asm i_GET.obj -gls -v2xx 

TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Wed Jun  8 17:23:50 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
i_GET.asm                                                            PAGE    1

       1            ;===================================================================== 
       2            ; File name     :       i_GET.asm
       3            ; Module Name   :       i_GET
       4            ; Initialization Routine: i_GET_INIT
       5            ; Description   :       从电流传感器采样并转换成两相静止坐标系(alfa,beta)下的值。
       6            ; 并且读出速度给定值(转换成7FFFH/mS格式)
       7            ;===================================================================== 
       8                            .include "f2407.h"
       9                            
      10                            .global i_GET,i_GET_INIT                ;function call
      11                            .global PROTECT
      12            
      13                            .global IA0,IB0,IA1,IB1,IA2,IB2         ;output(Q12)
      14                            .global Omiga_ref                       ;output
      15                            .global TEMP,TEMP1
      16                            
      17            ;===================================================================== 
      18 0000       i_GET_INIT:
      19            ;===================================================================== 
      20 0000 bce1                  LDP     #DP_PF2
      21 0001 ae20                  SPLK    #4000H,ADCTRL1                  ;RESET ADC
         0002 4000  
      22 0003 ae22                  SPLK    #02H,MAX_CONV                   ;02H表示有3个转换!!!!
         0004 0002  
      23 0005 ae23                  SPLK    #210H,CHSELSEQ1                 ;次序对转换结果很有影响,021或012次序时2通道读数误差较大
         0006 0210  
      24 0007 ae20                  SPLK    #0010100100000000B,ADCTRL1      ;仿真悬挂时ADC完成转换后停止,启停模式。
         0008 2900  
      25 0009 ae21                  SPLK    #0100H,ADCTRL2
         000a 0100  
      26 000b ef00                  RET
      27            ;===================================================================== 
      28 000c       i_GET:
      29            ;=====================================================================          
      30 000c bf00                  SPM     0
      31 000d be46                  CLRC    SXM                     ;ADRESULT左移时不产生符号扩展                   
      32            ;-----------------------------------------------------------    
      33            ; IA0 = ( AD_RESULT - 1FFH (实际测量时调整) ) * 44H             
      34 000e be46                  CLRC    SXM
      35 000f bce1                  LDP     #DP_PF2
      36 0010 1a2a                  LACC    RESULT2,10              ;读通道2的值iA,这里结果左对齐。所以要左移10位移到ACC高16位。
      37                            
      38 0011 be47                  SETC    SXM
      39 0012 bc04                  LDP     #DP_DATA                ;用户定义的数据页
      40            ;               SACH    IA0
      41 0013 9800!                 SACH    TEMP
      42 0014 6900!                 LACL    TEMP
      43 0015 bfa0                  SUB     #1ACH                   ;按传感器在0输出时调整。        
         0016 01ac  
      44            ;               SACL    IA0
      45 0017 9000!                 SACL    TEMP
      46 0018 7300!                 LT      TEMP
      47 0019 c044                  MPY     #44H
      48 001a 8c00!                 SPL     IA0                     ;存入IA0,注意当RESULT1=400H时会溢出,结果为8000H。所以应该避免,
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Wed Jun  8 17:23:50 2005
Copyright (c) 1987-1999  Texas Instruments Incorporated 
i_GET.asm                                                            PAGE    2

      49            ;-----------------------------------------------------------            
      50 001b be46                  CLRC    SXM
      51 001c bce1                  LDP     #DP_PF2
      52 001d 1a29                  LACC    RESULT1,10              ;读通道1的值iB
      53                            
      54 001e be47                  SETC    SXM
      55 001f bc04                  LDP     #DP_DATA
      56            ;               SACH    IB0
      57 0020 9800!                 SACH    TEMP
      58 0021 6900!                 LACL    TEMP
      59 0022 bfa0                  SUB     #1ECH                   ;按传感器在0输出时调整。
         0023 01ec  
      60            ;               SACL    IB0
      61 0024 9000!                 SACL    TEMP
      62 0025 7300!                 LT      TEMP
      63 0026 c044                  MPY     #44H                    ;稍微修正了一下。
      64 0027 8c00!                 SPL     IB0                     ;存入IB0
      65            ;-----------------------------------------------------------
      66            ; Omiga_in = AD_RESULT * 4 / 5 =AD_RESULT * 4 * 0.2
      67 0028 be46  GET_Omiga:      CLRC    SXM
      68 0029 bce1                  LDP     #DP_PF2
      69 002a 1c28                  LACC    RESULT0,12              ;读通道0的值Omiga_in*4
      70 002b bc04                  LDP     #DP_DATA
      71 002c 9800!                 SACH    TEMP
      72 002d 7300!                 LT      TEMP  
      73 002e ae00!                 SPLK    #6346,TEMP1     ;0.2(Q15)
         002f 18ca  
      74 0030 5400!                 MPY     TEMP1                   
      75 0031 bf01                  SPM     1
      76 0032 8d00!                 SPH     Omiga_ref               ;存入Omiga_ref
      77                    
      78                    ;       SPLK    #300,Omiga_ref
      79                            
      80 0033 1000!                 LACC    Omiga_ref
      81 0034 ba1e                  SUB     #30
      82 0035 e304                  BCND    ENDGET,GT
         0036 0039' 
      83 0037 7a80                  CALL    PROTECT
         0038 0000! 
      84            ;-----------------------------------------------------------                    
      85 0039       ENDGET:         
      86 0039 bce1                  LDP     #DP_PF2
      87 003a 6921                  LACL    ADCTRL2
      88 003b 9021                  SACL    ADCTRL2                 ;清中断标志位
      89 003c bf00                  SPM     0
      90 003d be47                  SETC    SXM
      91 003e ef00                  RET
      92                                    
      93            
      94                                            

 No Errors,  No Warnings

⌨️ 快捷键说明

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