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

📄 d12ci.lst

📁 单片机控制飞利蒲PDIUSBD12芯片与PC机实现USB1.1通信。
💻 LST
字号:
C51 COMPILER V7.06   D12CI                                                                 08/17/2005 16:07:25 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE D12CI
OBJECT MODULE PLACED IN D12ci.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE D12ci.c OPTIMIZE(2,SPEED) DEBUG OBJECTEXTEND

stmt level    source

   1          /*
   2             //*************************************************************************
   3             //
   4             //                           ZLGMCU
   5             //                           www.zlgmcu.com
   6             // File Name:        D12ci.C
   7             // Revision:         0.2(2002-04-08)
   8             // Author:           Liu Ying Bin
   9             // Use library:      USB51S.LIB
  10             // Note:                     USB51S.LIB不带DMA控制功能
  11             //*************************************************************************
  12             */
  13          #include <reg51.h>                /* special function register declarations   */
  14          
  15          #include "mainloop.h"
  16          #include "isr.h"
  17          #include "d12ci.h"
  18          #include "absacc.h"
  19          
  20          extern EPPFLAGS bEPPflags;
  21          
  22          #define D12_COMMAND             XBYTE[0x7003]   //right
  23          #define D12_DATA                XBYTE[0x7002]
  24          
  25          //test for cpld
  26          //#define D12_COMMAND           XBYTE[0x4001]
  27          //#define D12_DATA              XBYTE[0x4000]
  28          
  29          
  30          void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable)
  31          {
  32   1              if(bEPPflags.bits.in_isr == 0)
  33   1                      DISABLE;
  34   1      
  35   1              D12_COMMAND = 0xD0;
  36   1              
  37   1              if(bEnable)
  38   1                      bAddress |= 0x80;
  39   1              D12_DATA = bAddress;
  40   1      
  41   1              if(bEPPflags.bits.in_isr == 0)
  42   1                      ENABLE;
  43   1      }
  44          
  45          void D12_SetEndpointEnable(unsigned char bEnable)
  46          {
  47   1              if(bEPPflags.bits.in_isr == 0)
  48   1                      DISABLE;
  49   1      
  50   1              D12_COMMAND = 0xD8;
  51   1              if(bEnable)
  52   1                      D12_DATA = 1;
  53   1              else
  54   1                      D12_DATA = 0;
  55   1      
C51 COMPILER V7.06   D12CI                                                                 08/17/2005 16:07:25 PAGE 2   

  56   1              if(bEPPflags.bits.in_isr == 0)
  57   1                      ENABLE;
  58   1      }
  59          
  60          void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv)
  61          {
  62   1              if(bEPPflags.bits.in_isr == 0)
  63   1                      DISABLE;
  64   1      
  65   1              D12_COMMAND = 0xF3;
  66   1              D12_DATA = bConfig;
  67   1              D12_DATA = bClkDiv;
  68   1      
  69   1              if(bEPPflags.bits.in_isr == 0)
  70   1                      ENABLE;
  71   1      }
  72          
  73          void D12_SetDMA(unsigned char bMode)
  74          {
  75   1              if(bEPPflags.bits.in_isr == 0)
  76   1                      DISABLE;
  77   1      
  78   1              D12_COMMAND = 0xFB;
  79   1              D12_DATA = bMode;
  80   1      
  81   1              if(bEPPflags.bits.in_isr == 0)
  82   1                      ENABLE;
  83   1      }
  84          
  85          unsigned short D12_ReadInterruptRegister(void)
  86          {
  87   1              unsigned char b1;
  88   1              unsigned int j;
  89   1      
  90   1              D12_COMMAND = 0xF4;
  91   1              b1 = D12_DATA;
  92   1              j = D12_DATA;
  93   1      
  94   1              j <<= 8;
  95   1              j += b1;
  96   1      
  97   1              return j;
  98   1      }
  99          
 100          unsigned char D12_SelectEndpoint(unsigned char bEndp)
 101          {
 102   1              unsigned char c;
 103   1      
 104   1              if(bEPPflags.bits.in_isr == 0)
 105   1                      DISABLE;
 106   1      
 107   1              D12_COMMAND = bEndp;
 108   1              c = D12_DATA;
 109   1      
 110   1              if(bEPPflags.bits.in_isr == 0)
 111   1                      ENABLE;
 112   1      
 113   1              return c;
 114   1      }
 115          
 116          unsigned char D12_ReadLastTransactionStatus(unsigned char bEndp)
 117          {
C51 COMPILER V7.06   D12CI                                                                 08/17/2005 16:07:25 PAGE 3   

 118   1              D12_COMMAND = 0x40 + bEndp;
 119   1              return D12_DATA;
 120   1      }
 121          
 122          /*
 123          unsigned char D12_ReadEndpointStatus(unsigned char bEndp)
 124          {
 125                  unsigned char c;
 126          
 127                  if(bEPPflags.bits.in_isr == 0)
 128                          DISABLE;
 129          
 130                  D12_COMMAND = 0x40 + bEndp;
 131                  c = D12_DATA;
 132          
 133                  if(bEPPflags.bits.in_isr == 0)
 134                          ENABLE;
 135          
 136                  return c;
 137          }
 138          */
 139          
 140          void D12_SetEndpointStatus(unsigned char bEndp, unsigned char bStalled)
 141          {
 142   1              if(bEPPflags.bits.in_isr == 0)
 143   1                      DISABLE;
 144   1      
 145   1              D12_COMMAND = 0x40 + bEndp;
 146   1              D12_DATA = bStalled;
 147   1      
 148   1              if(bEPPflags.bits.in_isr == 0)
 149   1                      ENABLE;
 150   1      }
 151          
 152          void D12_SendResume(void)
 153          {
 154   1              D12_COMMAND = 0xF6;
 155   1      }
 156          
 157          unsigned short D12_ReadCurrentFrameNumber(void)
 158          {
 159   1              unsigned short i,j;
 160   1      
 161   1              if(bEPPflags.bits.in_isr == 0)
 162   1                      DISABLE;
 163   1      
 164   1              D12_COMMAND = 0xF5;
 165   1              i = D12_DATA;
 166   1              j = D12_DATA;
 167   1      
 168   1              i += (j<<8);
 169   1      
 170   1              if(bEPPflags.bits.in_isr == 0)
 171   1                      ENABLE;
 172   1      
 173   1              return i;
 174   1      }
 175          
 176          /*
 177          unsigned short D12_ReadChipID(void)
 178          {
 179                  unsigned short i,j;
C51 COMPILER V7.06   D12CI                                                                 08/17/2005 16:07:25 PAGE 4   

 180          
 181                  if(bEPPflags.bits.in_isr == 0)
 182                          DISABLE;
 183          
 184                  outportb(portbase+D12_COMMAND, 0xFD);
 185                  i=inportb(portbase+D12_DATA);
 186                  j=inportb(portbase+D12_DATA);
 187                  i += (j<<8);
 188          
 189                  if(bEPPflags.bits.in_isr == 0)
 190                          ENABLE;
 191          
 192                  return i;
 193          }
 194          */
 195          
 196          unsigned char D12_ReadEndpoint(unsigned char endp, unsigned char len, unsigned char * buf)
 197          {
 198   1              unsigned char i, j;
 199   1      
 200   1              if(bEPPflags.bits.in_isr == 0)
 201   1                      DISABLE;
 202   1      
 203   1              D12_COMMAND = endp;
 204   1              i=D12_DATA;
 205   1              if((i & D12_FULLEMPTY) == 0) {
 206   2                      if(bEPPflags.bits.in_isr == 0)
 207   2                              ENABLE;
 208   2                      return 0;
 209   2              }
 210   1      
 211   1              D12_COMMAND = 0xF0;
 212   1              j = D12_DATA;
 213   1              j = D12_DATA;
 214   1      
 215   1              if(j > len)
 216   1                      j = len;
 217   1      
 218   1              for(i=0; i<j; i++)
 219   1                      *(buf+i) = D12_DATA;
 220   1      
 221   1              D12_COMMAND = 0xF2;
 222   1              
 223   1              if(bEPPflags.bits.in_isr == 0)
 224   1                      ENABLE;
 225   1      
 226   1              return j;
 227   1      }
 228          
 229          unsigned char D12_WriteEndpoint(unsigned char endp, unsigned char len, unsigned char * buf)
 230          {
 231   1              unsigned char i;
 232   1      
 233   1              if(bEPPflags.bits.in_isr == 0)
 234   1                      DISABLE;
 235   1      
 236   1              D12_COMMAND = endp;
 237   1              D12_DATA;
 238   1      
 239   1              D12_COMMAND = 0xF0;
 240   1              D12_DATA = 0;
 241   1              D12_DATA = len;
C51 COMPILER V7.06   D12CI                                                                 08/17/2005 16:07:25 PAGE 5   

 242   1      
 243   1              for(i=0; i<len; i++)
 244   1                      D12_DATA = *(buf+i);
 245   1      
 246   1              D12_COMMAND = 0xFA;
 247   1      
 248   1              if(bEPPflags.bits.in_isr == 0)
 249   1                      ENABLE;
 250   1      
 251   1              return len;
 252   1      }
 253          
 254          void D12_AcknowledgeEndpoint(unsigned char endp)
 255          {
 256   1              D12_COMMAND = endp;
 257   1              D12_COMMAND = 0xF1;
 258   1              if(endp == 0)
 259   1                      D12_COMMAND = 0xF2;
 260   1      }
 261          
 262          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    730    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      32
   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 + -