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

📄 usb.lst

📁 silabs USB c8051f321 ,DAB USB dongle的资料,已经可以量产的东西
💻 LST
字号:
C51 COMPILER V7.07   USB                                                                   03/24/2008 13:20:22 PAGE 1   


C51 COMPILER V7.07, COMPILATION OF MODULE USB
OBJECT MODULE PLACED IN usb.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe usb.c DB OE

stmt level    source

   1          
   2          
   3          #include <c8051f320.h>          //      Header file for SiLabs c8051f320  
   4          #include "usb_api.h"            //      Header file for USB_API.lib
   5          
   6           
   7          extern void Dab_Read_Register(int reg_addr,int *ptrdata);
   8          extern void Dab_Write_Register(int reg_addr,int reg_data);
   9          
  10          extern void DabFM_Read_Register(int reg_addr,int *ptrdata);
  11          extern void DabFM_Write_Register(int reg_addr,int reg_data);
  12          
  13          
  14          extern xdata unsigned char command_packet[8];  
  15          extern unsigned char access_data_stream;
  16          
  17          
  18          //ISR for USB_API, run when API interrupts are enabled, and an interrupt is received
  19          
  20          void    USB_API_ISR(void)       interrupt       16
  21          
  22          {
  23   1      
  24   1              int register_addr;
  25   1              int register_data;
  26   1              unsigned char read_reg_data[8];//add preamble 0a0b0c0d0e0f when read registers
  27   1      
  28   1              BYTE    INTVAL  =       Get_Interrupt_Source(); //      type of API interrupts
  29   1      
  30   1              read_reg_data[0]=0x0a;
  31   1              read_reg_data[1]=0x0b;
  32   1              read_reg_data[2]=0x0c;
  33   1              read_reg_data[3]=0x0d;
  34   1              read_reg_data[4]=0x0e;
  35   1              read_reg_data[5]=0x0f;
  36   1      
  37   1              if (INTVAL      &       RX_COMPLETE)                            
  38   1              {
  39   2                      Block_Read(command_packet, 8);//8个字节
  40   2      
  41   2                      if((command_packet[0]==0xaa)&&(command_packet[1]==0xbb))
  42   2                      {
  43   3                              if(command_packet[2] == 0x00)//DAB
  44   3                              {       
  45   4                                 switch(command_packet[3])
  46   4                                 {
  47   5                                      case 0x00:// write
  48   5                                                      register_addr=command_packet[4]<<8;//high 8 bit
  49   5                                                      register_addr=register_addr|command_packet[5];
  50   5      
  51   5                                                      register_data=command_packet[6]<<8;
  52   5                                                      register_data=register_data|command_packet[7];
  53   5                              //EX0=0;
  54   5                                                      Dab_Write_Register(register_addr,register_data);
  55   5                                                      //EX0=1;
C51 COMPILER V7.07   USB                                                                   03/24/2008 13:20:22 PAGE 2   

  56   5                                       break;
  57   5      
  58   5                                      case 0x11://read
  59   5                                                      register_addr=command_packet[4]<<8;//high 8 bit
  60   5                                                      register_addr=register_addr|command_packet[5];
  61   5                                                      //EX0=0;
  62   5                                                      Dab_Read_Register(register_addr,&register_data);
  63   5                                                      //EX0=1;
  64   5                                                      read_reg_data[7]= register_data & 0x00ff;
  65   5                                                      read_reg_data[6] = (register_data >> 8) & 0x00ff;
  66   5      
  67   5                                                      Block_Write(read_reg_data, 8);
  68   5                                       break;
  69   5      
  70   5                                      case 0x55://access data stream enable
  71   5                                                      EX0=1;
  72   5                                                      access_data_stream=1;
  73   5                                       break;
  74   5      
  75   5                                      case 0xaa://access data stream disable
  76   5                                                      EX0=0;
  77   5                                                  access_data_stream=0;
  78   5                                       break;
  79   5      
  80   5                                      default:
  81   5                                       break;
  82   5      
  83   5      
  84   5                                 }//end switch
  85   4                              
  86   4      
  87   4                              }//end if "DAB"
  88   3      
  89   3                              if(command_packet[2] == 0x11)//FM
  90   3                              {       
  91   4                                 switch(command_packet[3])
  92   4                                 {
  93   5                                      case 0x00:// write
  94   5                                                      register_addr=command_packet[4]<<8;//high 8 bit
  95   5                                                      register_addr=register_addr|command_packet[5];
  96   5      
  97   5                                                      register_data=command_packet[6]<<8;
  98   5                                                      register_data=register_data|command_packet[7];
  99   5                              //EX0=0;
 100   5                                                      DabFM_Write_Register(register_addr,register_data);
 101   5                                                      //EX0=1;
 102   5                                       break;
 103   5      
 104   5                                      case 0x11://read
 105   5                                                      register_addr=command_packet[4]<<8;//high 8 bit
 106   5                                                      register_addr=register_addr|command_packet[5];
 107   5                                                      //EX0=0;
 108   5                                                      DabFM_Read_Register(register_addr,&register_data);
 109   5                                                      //EX0=1;
 110   5                                                      read_reg_data[7]= register_data & 0x00ff;
 111   5                                                      read_reg_data[6] = (register_data >> 8) & 0x00ff;
 112   5      
 113   5                                                      Block_Write(read_reg_data, 8);
 114   5                                       break;
 115   5      
 116   5                                      default:
 117   5                                       break;
C51 COMPILER V7.07   USB                                                                   03/24/2008 13:20:22 PAGE 3   

 118   5      
 119   5      
 120   5                                 }//end switch
 121   4      
 122   4      
 123   4                                      
 124   4      
 125   4                              }//end if "FM"
 126   3      
 127   3      
 128   3      
 129   3      
 130   3      
 131   3                      }//end if((command_packet[0]==0xaa)&&(command_packet[1]==0xbb))
 132   2      
 133   2      
 134   2              }//end if (INTVAL & RX_COMPLETE)
 135   1      
 136   1      
 137   1      }
 138          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    349    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      12
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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