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

📄 protozlg.lst

📁 c51系列源码范例
💻 LST
字号:
C51 COMPILER V7.02b   PROTOZLG                                                             08/03/2003 09:19:00 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE PROTOZLG
OBJECT MODULE PLACED IN Protozlg.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Protozlg.c OPTIMIZE(2,SPEED) DEBUG OBJECTEXTEND

stmt level    source

   1          /*
   2             //*************************************************************************
   3             //
   4             //                           ZLGMCU
   5             //                           www.zlgmcu.com
   6             // File Name:        protozlg.C
   7             // Revision:         0.4(2002-07-08)
   8             // Author:           Liu Ying Bin
   9             // Use library:  USB51S.LIB
  10             // Note:                     USB51S.LIB不带DMA控制功能
  11             //*************************************************************************
  12             */
  13          
  14          
  15          #include <stdio.h>
  16          #include <string.h>
  17          
  18          #include <reg51.h>                /* special function register declarations   */
  19          #include "isr.h"
  20          #include "mainloop.h"
  21          #include "protozlg.h"
  22          
  23          extern CONTROL_XFER ControlData;
  24          extern IO_REQUEST idata ioRequest;
  25          extern EPPFLAGS bEPPflags;
  26          extern unsigned char idata EpBuf[];
  27          byte_count byte_cnt;
  28          
  29          
  30          void get_firmware_version()
  31          {
  32   1              unsigned char i;
  33   1      
  34   1              i = 0x30; // firmware version number
  35   1              single_transmit((unsigned char *)&i, 1);
  36   1      }
  37          
  38          void get_buffer_size()
  39          {
  40   1              unsigned char i[4];
  41   1      
  42   1              i[0] = EP2_PACKET_SIZE;
  43   1              i[1] = 0;
  44   1              i[2] = 0;
  45   1              i[3] = 0;
  46   1              single_transmit((unsigned char *)&i, 4);
  47   1      }
  48          /*
  49          void read_write_register(void)
  50          {
  51          //      unsigned char i;
  52          
  53                  if(ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) {
  54                          if(ControlData.DeviceRequest.wIndex == GET_FIRMWARE_VERSION &&
  55                                  ControlData.DeviceRequest.wValue == 0 &&
C51 COMPILER V7.02b   PROTOZLG                                                             08/03/2003 09:19:00 PAGE 2   

  56                                  ControlData.DeviceRequest.wLength == 1)
  57                                  get_firmware_version();
  58                          else
  59                          if(ControlData.DeviceRequest.wIndex == GET_BUFFER_SIZE &&
  60                                  ControlData.DeviceRequest.wValue == 0 &&
  61                                  ControlData.DeviceRequest.wLength == 4)
  62                                  get_buffer_size();
  63                          else
  64                                  stall_ep0();
  65          
  66                  }       // if read register
  67                  else{
  68                          if(ControlData.DeviceRequest.wIndex == SETUP_DMA_REQUEST &&
  69                                  ControlData.DeviceRequest.wValue == 0 &&
  70                                  ControlData.DeviceRequest.wLength == 6)
  71                                  {
  72                                          if(ControlData.dataBuffer[5]==0x81)
  73                                          {
  74                                                  byte_cnt.byte.high = ControlData.dataBuffer[4];
  75                                                  byte_cnt.byte.low = ControlData.dataBuffer[3];
  76                                                  if(byte_cnt.word<64)
  77                                                  {
  78                                                          D12_WriteEndpoint(5, byte_cnt.byte.low, EpBuf);
  79                                                          byte_cnt.word=0;
  80                                                  }
  81                                                  else
  82                                                  {
  83                                                          byte_cnt.word=byte_cnt.word-64;
  84                                                          D12_WriteEndpoint(5, 64, EpBuf);
  85                                                  }
  86                                          }
  87                                          if(ControlData.dataBuffer[5]==0x82)
  88                                          {
  89          //                                      i = D12_ReadEndpoint(4, 64, EpBuf);//读空端点2数据
  90          //                                      i = D12_ReadEndpoint(4, 64, EpBuf);
  91                                          }
  92                                          single_transmit(0, 0);
  93                                  }
  94                          else
  95                                  stall_ep0();
  96                  }       // if write register
  97          }*/


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