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

📄 xxgd12ci.lst

📁 200元买来的D12开发资料,包括上位机驱动和应用程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.02b   XXGD12CI                                                             03/17/2005 23:11:51 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE XXGD12CI
OBJECT MODULE PLACED IN J:\D12\FW\XXGD12CI.OBJ
COMPILER INVOKED BY: C:\keil\c51\bin\C51.EXE J:\D12\FW\XXGD12CI.C DB SB OE

stmt level    source

   1          #include "xxgd12ci.h"
   2          #include "xxgmain.h"
   3          #include "xxghal.h"
   4          
   5          extern EPPFLAGS bEPPflags;
   6          
   7          //---------------------------------
   8          void outportcmd(unsigned char value)
   9          {
  10   1      
  11   1       //              unsigned char xdata *ext_address;
  12   1              //     ext_address=D12_COMMAND;
  13   1              //     *ext_address = value;              //   write cycle
  14   1      //  *((INT8 xdata *)D12_command) = val;
  15   1      //*/
  16   1      //unsigned char xdata *exAddress;
  17   1      //      exAddress = nPort;
  18   1      //      *exAddress = nVal;
  19   1      
  20   1              *((unsigned char xdata *)D12_COMMAND)=value;    
  21   1      }
  22          void outportdata(unsigned char value)
  23          {
  24   1      
  25   1       //              unsigned char xdata *ext_address;
  26   1              //     ext_address=D12_DATA;
  27   1              //     *ext_address = value;     
  28   1         *((unsigned char xdata *)D12_DATA)=value;    
  29   1      }
  30          
  31          unsigned char inportb(void)
  32          {
  33   1      
  34   1       //          unsigned char c;
  35   1       //        unsigned char xdata *ext_address;
  36   1       //        ext_address=(D12_DATA&0xff00);
  37   1       //        c = *ext_address ;              //   read cycle
  38   1       //              return c;
  39   1       //return *((INT8 xdata *)D12_data);
  40   1       //*/
  41   1      
  42   1       //              unsigned char xdata *ext_address;
  43   1              //     ext_address=D12_DATA;
  44   1              //     *ext_address = value;     
  45   1       return *((unsigned xdata *)D12_DATA);
  46   1      }
  47          //--------------------------
  48          void D12_SetAddressEnable(unsigned char bAddress, unsigned char bEnable)
  49          {
  50   1              if(bEPPflags.bits.in_isr == 0)
  51   1                      DISABLE;
  52   1      
  53   1              outportcmd(0xD0);
  54   1              if(bEnable)
  55   1                      bAddress |= 0x80;
C51 COMPILER V7.02b   XXGD12CI                                                             03/17/2005 23:11:51 PAGE 2   

  56   1              outportdata(bAddress);
  57   1      
  58   1              if(bEPPflags.bits.in_isr == 0)
  59   1                      ENABLE;
  60   1      }
  61          
  62          void D12_SetEndpointEnable(unsigned char bEnable)
  63          {
  64   1              if(bEPPflags.bits.in_isr == 0)
  65   1                      DISABLE;
  66   1      
  67   1              outportcmd(0xD8);
  68   1              if(bEnable)
  69   1                      outportdata(1);
  70   1              else
  71   1                      outportdata(0);
  72   1      
  73   1              if(bEPPflags.bits.in_isr == 0)
  74   1                      ENABLE;
  75   1      }
  76          
  77          void D12_SetMode(unsigned char bConfig, unsigned char bClkDiv)
  78          {
  79   1              if(bEPPflags.bits.in_isr == 0)
  80   1                      DISABLE;
  81   1              outportcmd(0xF3);
  82   1              outportdata(bConfig);
  83   1              outportdata(bClkDiv);
  84   1              if(bEPPflags.bits.in_isr == 0)
  85   1                      ENABLE;
  86   1      
  87   1      }
  88          
  89          void D12_SetDMA(unsigned char bMode)
  90          {
  91   1      
  92   1              if(bEPPflags.bits.in_isr == 0)
  93   1                      DISABLE;
  94   1              outportcmd(0xFB);
  95   1              outportdata(bMode);
  96   1              if(bEPPflags.bits.in_isr == 0)
  97   1                      ENABLE;
  98   1      
  99   1      }
 100          
 101          //unsigned char D12_GetDMA(void)
 102          //{
 103          // outportcmd(0xFB);
 104          // return(inportb());
 105          //}
 106          /*
 107          unsigned char D12_ReadEndpointStatus(unsigned char bEndp)
 108          {
 109                  unsigned char c;
 110          
 111                  if(bEPPflags.bits.in_isr == 0)
 112                          DISABLE;
 113          
 114                  outportcmd(0x80 + bEndp);
 115                  c = inportb();
 116          
 117                  if(bEPPflags.bits.in_isr == 0)
C51 COMPILER V7.02b   XXGD12CI                                                             03/17/2005 23:11:51 PAGE 3   

 118                          ENABLE;
 119          
 120                  return c;
 121          }
 122          */
 123          void D12_SetEndpointStatus(unsigned char bEndp, unsigned char bStalled)
 124          {
 125   1              if(bEPPflags.bits.in_isr == 0)
 126   1                      DISABLE;
 127   1      
 128   1              outportcmd(0x40 + bEndp);
 129   1              outportdata(bStalled);
 130   1      
 131   1              if(bEPPflags.bits.in_isr == 0)
 132   1                      ENABLE;
 133   1      }
 134          
 135          
 136          
 137          //void D12_SendResume(void)
 138          //{
 139          // outportcmd(0xF6);
 140          //}
 141          
 142          
 143          unsigned char D12_WriteEndpoint(unsigned char endp, unsigned char len, unsigned char * buf)
 144          {
 145   1              unsigned char i;
 146   1      
 147   1              if(bEPPflags.bits.in_isr == 0)
 148   1                      DISABLE;
 149   1              //---------------------
 150   1              outportcmd(endp);       //选择端点
 151   1              inportb();              //读入满/空状态
 152   1      
 153   1              outportcmd(0xF0);       //写缓冲区命令
 154   1              outportdata(0);
 155   1              outportdata(len);
 156   1      
 157   1              for(i=0; i<len; i++)
 158   1                      outportdata(*(buf+i));
 159   1      
 160   1              outportcmd(0xFA);       //驶购冲区有效
 161   1              
 162   1              //--------------------------------
 163   1              if(bEPPflags.bits.in_isr == 0)
 164   1                      ENABLE;
 165   1      
 166   1              return len;
 167   1      }
 168          void D12_AcknowledgeEndpoint(unsigned char endp)
 169          {
 170   1              outportcmd( endp);      //选择端点
 171   1              outportcmd(0xF1);       //应答设置
 172   1              if(endp == 0)
 173   1                      outportcmd(0xF2);       //缓冲区清零
 174   1      }
 175          unsigned char D12_ReadInterruptRegister(void)
 176          {
 177   1              unsigned char b1;
 178   1              unsigned int j;
 179   1              j=0;
C51 COMPILER V7.02b   XXGD12CI                                                             03/17/2005 23:11:51 PAGE 4   

 180   1              //outportb(D12_COMMAND, 0xF4);

⌨️ 快捷键说明

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