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

📄 vend_ax.lst

📁 USB数据传输.rar
💻 LST
字号:
C51 COMPILER V7.06   VEND_AX                                                               05/05/2003 10:33:16 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE VEND_AX
OBJECT MODULE PLACED IN VEND_AX.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE VEND_AX.C OPTIMIZE(6,SPEED) DEFINE(NO_RENUM) DEBUG OBJECTEXTEND

stmt level    source

   1          #pragma NOIV                                    // Do not generate interrupt vectors
   2          //-----------------------------------------------------------------------------
   3          //      File:           periph.c
   4          //      Contents:       Hooks required to implement USB peripheral function.
   5          //
   6          //      Copyright (c) 1997 AnchorChips, Inc. All rights reserved
   7          //-----------------------------------------------------------------------------
   8          #include "ezusb.h"
   9          #include "ezregs.h"
  10          #include <absacc.h>
  11          #include <stdlib.h>
  12          extern BOOL     GotSUD;                 // Received setup data flag
  13          extern BOOL     Sleep;
  14          extern BOOL     Rwuen;
  15          extern BOOL     Selfpwr;
  16          
  17          BYTE    Configuration;          // Current configuration
  18          BYTE    AlternateSetting;       // Alternate settings
  19          BYTE    lyk;
  20          //-----------------------------------------------------------------------------
  21          // Constants
  22          //-----------------------------------------------------------------------------
  23          #define VR_UPLOAD               0xc0
  24          #define VR_DOWNLOAD             0x40
  25          
  26          #define VR_ANCHOR_DLD   0xa0 // handled by core
  27          #define VR_EEPROM               0xa2 // loads (uploads) EEPROM
  28          #define VR_RAM                  0xa3 // loads (uploads) external ram
  29          #define VR_SETI2CADDR   0xa4
  30          #define VR_GETI2C_TYPE  0xa5 // 8 or 16 byte address
  31          #define VR_GET_CHIP_REV 0xa6 // Rev A, B = 0, Rev C = 2 // NOTE: New TNG Rev
  32          #define VR_TEST_MEM     0xa7 // runs mem test and returns result
  33          #define VR_RENUM            0xa8 // renum
  34          #define VR_DB_FX            0xa9 // Force use of double byte address EEPROM (for FX)
  35          
  36          #define SERIAL_ADDR             0x50
  37          #define EP0BUFF_SIZE    0x40
  38          //////////////////////////////////////////
  39          #define FULL1   (PINSC&0X04)    //SRAM1 FULL SIGNAL
  40          #define FULL2   (PINSC&0X08)    //SRAM2 FULL SIGNAL
  41          #define WR_RD   ((PINSB&0X10)!=0)
  42          
  43          #define SEL_0   OUTA=00
  44          #define SEL_1   OUTA=0X41
  45          #define SEL_2   OUTA=0X82
  46          #define SEL_3   OUTA=0XFF
  47          
  48          #define QA_PRE_L        XBYTE[0xFFF0]   //READ SRAM1 PRE_TRIG OVER ADDRESS LOW 8 BITS 
  49          #define QA_PRE_H        XBYTE[0xFFF1]   //READ SRAM1 PRE_TRIG OVER ADDRESS HIGH 8 BITS 
  50          #define QA_L            XBYTE[0xFFF2]   //READ SRAM1 DATA LOW 8 BITS 
  51          #define QA_H            XBYTE[0xFFF3]   //READ SRAM1 DATA HIGH 8 BITS 
  52          #define QB_PRE_L        XBYTE[0xFFF4]   //READ SRAM2 PRE_TRIG OVER ADDRESS LOW 8 BITS 
  53          #define QB_PRE_H        XBYTE[0xFFF5]   //READ SRAM2 PRE_TRIG OVER ADDRESS HIGH 8 BITS 
  54          #define QB_L            XBYTE[0xFFF6]   //READ SRAM2 DATA LOW 8 BITS 
  55          #define QB_H            XBYTE[0xFFF7]   //READ SRAM2 DATA HIGH 8 BITS  
C51 COMPILER V7.06   VEND_AX                                                               05/05/2003 10:33:16 PAGE 2   

  56          #define QA_AL           XBYTE[0xFFF8]   //READ SRAM1 ADDRESS LOW 8 BITS 
  57          #define QA_AH           XBYTE[0xFFF9]   //READ SRAM2 ADDRESS HIGH 8 BITS
  58          #define QB_AL           XBYTE[0xFFFA]   //READ SRAM1 ADDRESS LOW 8 BITS 
  59          #define QB_AH           XBYTE[0xFFFB]   //READ SRAM2 ADDRESS HIGH 8 BITS
  60          
  61          
  62          #define hct574          XBYTE[0xFFFc]   //hct574在CPLD中的控制地址
  63          #define con_freq        XBYTE[0xFFFd]   //分频控制在CPLD中的地址
  64          #define ad8400          XBYTE[0xFFF9]   //AD8400在cpld中的控制地址
  65          //AD8400的三根控制线状态
  66          #define ad8400_cs_1     OUTC=PINSC|0X20
  67          #define ad8400_cs_0     OUTC=PINSC&0XDF 
  68          #define ad8400_clk_1    OUTC=PINSC|0X02
  69          #define ad8400_clk_0    OUTC=PINSC&0XFD
  70          #define ad8400_sdi_1    OUTC=PINSC|0X01
  71          #define ad8400_sdi_0    OUTC=PINSC&0XFE
  72          //LTC14464个控制字的地址
  73          #define ltc1446_1H  XBYTE[0xFFF8]       
  74          #define ltc1446_1L  XBYTE[0xFFFB]       
  75          #define ltc1446_2H  XBYTE[0xFFFE]       
  76          #define ltc1446_2L  XBYTE[0xFFFF]       
  77          
  78          
  79          #define ac0_b                   0x00            
  80          #define dc0_b                   0x80            
  81          #define ac20mv_b                0x10            
  82          #define dc20mv_b                0x90            
  83          #define ac50mv_b                0x20            
  84          #define dc50mv_b                0xa0      
  85          #define ac100mv_b               0x30            
  86          #define dc100mv_b               0xb0            
  87          #define ac200mv_b               0x40            
  88          #define dc200mv_b               0xc0            
  89          #define ac500mv_b               0x50            
  90          #define dc500mv_b               0xd0            
  91          #define ac1v_b                  0x60            
  92          #define dc1v_b                  0xe0            
  93          
  94          #define ac0_a                   0x00            
  95          #define dc0_a                   0x08            
  96          #define ac20mv_a                0x01            
  97          #define dc20mv_a                0x09            
  98          #define ac50mv_a                0x02            
  99          #define dc50mv_a                0x0a      
 100          #define ac100mv_a               0x03            
 101          #define dc100mv_a               0x0b            
 102          #define ac200mv_a               0x04            
 103          #define dc200mv_a               0x0c            
 104          #define ac500mv_a               0x05            
 105          #define dc500mv_a               0x0d            
 106          #define ac1v_a                  0x06            
 107          #define dc1v_a                  0x0e
 108          //-----------------------------------------------------------------------------
 109          // Global Variables
 110          //-----------------------------------------------------------------------------
 111          BYTE                    DB_Addr;                                        //TPM Dual Byte Address stat
 112          BYTE                    I2C_Addr;                                       //TPM I2C address
 113          //////////// globe  variable  /////////////////////////////////////////
 114          unsigned char freq_set[17]={0xf9, 0x63, 0x39, 0x18, 0x09, 0x04, 0x01, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 
             -0xff, 0xff, 0xff,0xff};
 115          //各个时基下对应的频率控制值,具体值的含义见CPLD程序中的分频逻辑
 116          //////////////////////////// 48k  97k  ,195k, 390k, 780k, 1.5m, 3.1m, 6.25m,12.5m,25mhz,50mhz,100mhz,100mh
C51 COMPILER V7.06   VEND_AX                                                               05/05/2003 10:33:16 PAGE 3   

             -z,1000mhz,100mhz,100mhz,100mhz,100mhz,100mhz/// 
 117          ///////////////////////////, 5ms,  2ms,  1ms,  500us,200us,100us 50us, 20us, 10us, 5us,  2us,   1us,   500
             -ns,  200ns, 100ns, 50ns,  20ns,  10ns///
 118          idata unsigned int   set_zero_a[15] = {464, 405, 507, 610, 186, 331, 479, 464, 464, 160, 312, 630, 184, 33
             -0, 479};
 119          idata unsigned int   set_zero_b[15] = {464, 470, 557, 649, 192, 337, 484, 464, 464, 160, 312, 630, 187, 33
             -5, 482};
 120          //各个量程下的零点校验值
 121          idata unsigned char channal_set[15] = {0x00,0x1a,0x2a,0x0a,0x1c,0x2c,0x0c,0x00,0x01,0x1b,0x2b,0x0b,0x1d,0x
             -2d,0x0d};
 122          //各个量程下的继电器网络的控制值
 123          ///////////////////////////////////////0    20   50   100  200  500  1v , null, 0    20   50   100  200  5
             -00   1v
 124          /////////////////////////////////|------------ac--------------------------||||---------------dc-----------
             ------|
 125          idata unsigned char trig;
 126          idata unsigned char irq_yes_no;
 127          //-----------------------------------------------------------------------------
 128          // Prototypes
 129          //-----------------------------------------------------------------------------
 130          void EEPROMWrite(WORD addr, BYTE length, BYTE xdata *buf);      //TPM EEPROM Write
 131          void EEPROMRead(WORD addr, BYTE length, BYTE xdata *buf);       //TPM EEPROM Read
 132          void ltc1446_control(unsigned int A1,unsigned int A2);          // 写ltc1446控制字函数,A1为第一路输出电压大小值
 133                                                                                                                                  //A2为第二路控制字
 134          void hct574_control(unsigned char A1,unsigned char A2);         //对外部两个HCT574进行控制的函数,A1为第一路的控

⌨️ 快捷键说明

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