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

📄 chap9.lst

📁 at89c51+isp1581控制程序(c语言源代码).包含快速模式和高速模式
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V6.20c  CHAP9                                                                 05/19/2003 01:05:08 PAGE 1   


C51 COMPILER V6.20c, COMPILATION OF MODULE CHAP9
OBJECT MODULE PLACED IN CHAP9.OBJ
COMPILER INVOKED BY: E:\WIN98\HARDWARE\KEILC\C51\BIN\C51.EXE CHAP9.C DB OE SMALL ROM(LARGE) 

stmt level    source

   1          
   2          #include "HAL.H"
   3          //#include "USBD12.H"
   4          #include "SMPro.H"
   5          #include "USB200.H"
   6          #include "USB.H"
   7          #include "CHAP9.H"
   8          #include "Isp1581.h"
   9          
  10          #define NUM_ENDPOINTS	6
  11          
  12          #define CONFIG_DESCRIPTOR_LENGTH    sizeof(USB_CONFIGURATION_DESCRIPTOR) \
  13          	       				+ sizeof(USB_INTERFACE_DESCRIPTOR) \
  14          					+ (NUM_ENDPOINTS * sizeof(USB_ENDPOINT_DESCRIPTOR))
  15          
  16          
  17          extern CONTROL_XFER		ControlData;
  18          extern ZBOARDFLAGS bZBoardFlags;
  19          extern IO_REQUEST idata ioRequest;
  20          
  21          code USB_DEVICE_DESCRIPTOR DeviceDescr =
  22          {
  23          	sizeof(USB_DEVICE_DESCRIPTOR),		// bLength
  24          	USB_DEVICE_DESCRIPTOR_TYPE,			// bDescriptorType
  25          	SWAP(0x0110),						// bcdUSB
  26          	USB_CLASS_CODE_TEST_CLASS_DEVICE,								// bDeviceClass
  27          	0,								// bDeviceSubClass
  28          	0,								// bDeviceProtocol
  29          	EP0_PACKET_SIZE,					// bMaxPacketSize
  30          	SWAP(0x0471),						// idVendor
  31          	SWAP(0x2001),						// idProduct
  32          	SWAP(0x0010),						// bcdDevice
  33          	1,									// iManufacturer
  34          	2,									// iProduct
  35          	3,									// iSerialNumber
  36          	1									// bNumConfigurations
  37          };
  38          
  39          code USB_CONFIGURATION_DESCRIPTOR ConfigDescr =
  40          {
  41          	sizeof(USB_CONFIGURATION_DESCRIPTOR),	// bLength
  42          	USB_CONFIGURATION_DESCRIPTOR_TYPE,		// bDescriptorType
  43          	SWAP(CONFIG_DESCRIPTOR_LENGTH),			// wTotalLength
  44          	1,						// bNumInterfaces
  45          	1,						// bConfigurationValue
  46          	4,						// iConfiguration
  47          	0x80,						// bmAttributes
  48          	0x40						// MaxPower
  49          };
  50          
  51          code USB_INTERFACE_DESCRIPTOR InterfaceDescr =
  52          {
  53          	sizeof(USB_INTERFACE_DESCRIPTOR),		// bLength
  54          	USB_INTERFACE_DESCRIPTOR_TYPE,			// bDescriptorLength
  55          	0,						// bInterfaceNumber
C51 COMPILER V6.20c  CHAP9                                                                 05/19/2003 01:05:08 PAGE 2   

  56          	0,						// bAlternateSetting
  57          	NUM_ENDPOINTS,					// bNumEndpoints
  58          	USB_CLASS_CODE_TEST_CLASS_DEVICE,		// bInterfaceClass
  59          	USB_SUBCLASS_CODE_TEST_CLASS,		// bInterfaceSubClass
  60          	USB_PROTOCOL_CODE_TEST_CLASS,		// bInterfaceProtocol
  61          	5						// iInterface
  62          };
  63          
  64          code USB_ENDPOINT_DESCRIPTOR EP1_TXDescr =
  65          {
  66          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
  67          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
  68          	0x81,						// bEndpointAddress
  69          	USB_ENDPOINT_TYPE_BULK,				// bmAttributes
  70          	SWAP(EP1_PACKET_SIZE),				// wMaxPacketSize
  71          	//SWAP(maxepsize_FS),
  72          	10						// bInterval
  73          };
  74          
  75          code USB_ENDPOINT_DESCRIPTOR EP1_RXDescr =
  76          {
  77          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
  78          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
  79          	0x1,						// bEndpointAddress
  80          	USB_ENDPOINT_TYPE_BULK,				// bmAttributes
  81          	SWAP(EP1_PACKET_SIZE),				// wMaxPacketSize
  82          	//SWAP(maxepsize_FS),
  83          	10						// bInterval
  84          };
  85          
  86          code USB_ENDPOINT_DESCRIPTOR EP2_TXDescr =
  87          {
  88          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
  89          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
  90          	0x82,									// bEndpointAddress
  91          	USB_ENDPOINT_TYPE_BULK,					// bmAttributes
  92          	SWAP(maxepsize_FS),					// wMaxPacketSize
  93          	10										// bInterval
  94          };
  95          
  96          code USB_ENDPOINT_DESCRIPTOR EP2_RXDescr =
  97          {
  98          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
  99          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 100          	0x2,									// bEndpointAddress
 101          	USB_ENDPOINT_TYPE_BULK,					// bmAttributes
 102          	SWAP(maxepsize_FS),					// wMaxPacketSize
 103          	10										// bInterval
 104          };
 105          /*
 106          code USB_ENDPOINT_DESCRIPTOR EP3_TXDescr =
 107          {
 108          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 109          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 110          	0x83,									// bEndpointAddress
 111          	USB_ENDPOINT_TYPE_ISOCHRONOUS,					// bmAttributes
 112          	SWAP(maxepsize_256),					// wMaxPacketSize
 113          	1										// bInterval
 114          };
 115          
 116          code USB_ENDPOINT_DESCRIPTOR EP3_RXDescr =
 117          {
C51 COMPILER V6.20c  CHAP9                                                                 05/19/2003 01:05:08 PAGE 3   

 118          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 119          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 120          	0x3,									// bEndpointAddress
 121          	USB_ENDPOINT_TYPE_ISOCHRONOUS,					// bmAttributes
 122          	SWAP(maxepsize_256),					// wMaxPacketSize
 123          	1										// bInterval
 124          };
 125          */
 126          code USB_ENDPOINT_DESCRIPTOR EP4_TXDescr =
 127          {
 128          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 129          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 130          	0x84,						// bEndpointAddress
 131          	USB_ENDPOINT_TYPE_INTERRUPT,				// bmAttributes
 132          	SWAP(maxepsize_16),				// wMaxPacketSize
 133          	//SWAP(maxepsize_FS),
 134          	10						// bInterval
 135          };
 136          
 137          code USB_ENDPOINT_DESCRIPTOR EP4_RXDescr =
 138          {
 139          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 140          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 141          	0x4,						// bEndpointAddress
 142          	USB_ENDPOINT_TYPE_BULK,				// bmAttributes
 143          	SWAP(maxepsize_16),				// wMaxPacketSize
 144          	//SWAP(maxepsize_FS),
 145          	10						// bInterval
 146          };
 147          /////////////////////////////////////////////////////////////////////////
 148          code USB_DEVICE_DESCRIPTOR DeviceDescr_H =
 149          {
 150          	sizeof(USB_DEVICE_DESCRIPTOR),		// bLength
 151          	USB_DEVICE_DESCRIPTOR_TYPE,			// bDescriptorType
 152          	SWAP(0x0200),						// bcdUSB
 153          	USB_CLASS_CODE_TEST_CLASS_DEVICE,								// bDeviceClass
 154          	0,								// bDeviceSubClass
 155          	0,								// bDeviceProtocol
 156          	EP0_PACKET_SIZE,					// bMaxPacketSize
 157          	SWAP(0x0471),						// idVendor
 158          	SWAP(0x2001),						// idProduct
 159          	SWAP(0x0010),						// bcdDevice
 160          	1,									// iManufacturer
 161          	2,									// iProduct
 162          	3,									// iSerialNumber
 163          	1									// bNumConfigurations
 164          };
 165          
 166          code USB_CONFIGURATION_DESCRIPTOR ConfigDescr_H =
 167          {
 168          	sizeof(USB_CONFIGURATION_DESCRIPTOR),	// bLength
 169          	USB_CONFIGURATION_DESCRIPTOR_TYPE,		// bDescriptorType
 170          	SWAP(CONFIG_DESCRIPTOR_LENGTH),			// wTotalLength
 171          	1,						// bNumInterfaces
 172          	1,						// bConfigurationValue
 173          	4,						// iConfiguration
 174          	0x80,						// bmAttributes
 175          	0x40						// MaxPower
 176          };
 177          
 178          code USB_INTERFACE_DESCRIPTOR InterfaceDescr_H =
 179          {
C51 COMPILER V6.20c  CHAP9                                                                 05/19/2003 01:05:08 PAGE 4   

 180          	sizeof(USB_INTERFACE_DESCRIPTOR),		// bLength
 181          	USB_INTERFACE_DESCRIPTOR_TYPE,			// bDescriptorLength
 182          	0,						// bInterfaceNumber
 183          	0,						// bAlternateSetting
 184          	NUM_ENDPOINTS,					// bNumEndpoints
 185          	USB_CLASS_CODE_TEST_CLASS_DEVICE,		// bInterfaceClass
 186          	USB_SUBCLASS_CODE_TEST_CLASS,		// bInterfaceSubClass
 187          	USB_PROTOCOL_CODE_TEST_CLASS,		// bInterfaceProtocol
 188          	5						// iInterface
 189          };
 190          
 191          code USB_ENDPOINT_DESCRIPTOR EP1_TXDescr_H =
 192          {
 193          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 194          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 195          	0x81,						// bEndpointAddress
 196          	USB_ENDPOINT_TYPE_BULK,				// bmAttributes
 197          	SWAP(maxepsize_HS),				// wMaxPacketSize
 198          	//SWAP(maxepsize_FS),
 199          	10						// bInterval
 200          };
 201          
 202          code USB_ENDPOINT_DESCRIPTOR EP1_RXDescr_H =
 203          {
 204          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 205          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 206          	0x1,						// bEndpointAddress
 207          	USB_ENDPOINT_TYPE_BULK,				// bmAttributes
 208          	SWAP(maxepsize_HS),				// wMaxPacketSize
 209          	//SWAP(maxepsize_FS),
 210          	10						// bInterval
 211          };
 212          
 213          code USB_ENDPOINT_DESCRIPTOR EP2_TXDescr_H =
 214          {
 215          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 216          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 217          	0x82,									// bEndpointAddress
 218          	USB_ENDPOINT_TYPE_BULK,					// bmAttributes
 219          	SWAP(maxepsize_HS),					// wMaxPacketSize
 220          	10										// bInterval
 221          };
 222          
 223          code USB_ENDPOINT_DESCRIPTOR EP2_RXDescr_H =
 224          {
 225          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 226          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 227          	0x2,									// bEndpointAddress
 228          	USB_ENDPOINT_TYPE_BULK,					// bmAttributes
 229          	SWAP(maxepsize_HS),					// wMaxPacketSize
 230          	10										// bInterval
 231          };
 232          /*
 233          code USB_ENDPOINT_DESCRIPTOR EP3_TXDescr_H =
 234          {
 235          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 236          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 237          	0x83,									// bEndpointAddress
 238          	USB_ENDPOINT_TYPE_ISOCHRONOUS,					// bmAttributes
 239          	SWAP(maxepsize_256),					// wMaxPacketSize
 240          	1										// bInterval
 241          };
C51 COMPILER V6.20c  CHAP9                                                                 05/19/2003 01:05:08 PAGE 5   

 242          
 243          code USB_ENDPOINT_DESCRIPTOR EP3_RXDescr_H =
 244          {
 245          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 246          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 247          	0x3,									// bEndpointAddress
 248          	USB_ENDPOINT_TYPE_ISOCHRONOUS,					// bmAttributes
 249          	SWAP(maxepsize_256),					// wMaxPacketSize
 250          	1										// bInterval
 251          };
 252          */
 253          code USB_ENDPOINT_DESCRIPTOR EP4_TXDescr_H =
 254          {
 255          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 256          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 257          	0x84,						// bEndpointAddress
 258          	USB_ENDPOINT_TYPE_INTERRUPT,				// bmAttributes
 259          	SWAP(maxepsize_16),				// wMaxPacketSize
 260          	//SWAP(maxepsize_FS),
 261          	10						// bInterval
 262          };
 263          
 264          code USB_ENDPOINT_DESCRIPTOR EP4_RXDescr_H =
 265          {
 266          	sizeof(USB_ENDPOINT_DESCRIPTOR),		// bLength
 267          	USB_ENDPOINT_DESCRIPTOR_TYPE,			// bDescriptorType
 268          	0x4,						// bEndpointAddress
 269          	USB_ENDPOINT_TYPE_BULK,				// bmAttributes
 270          	SWAP(maxepsize_HS),				// wMaxPacketSize
 271          	//SWAP(maxepsize_FS),
 272          	10						// bInterval
 273          };
 274          
 275          USB_DEVICEQUALIFIER_DESCRIPTOR DeviceQualifierDescr_H =
 276          {
 277          	sizeof(USB_DEVICEQUALIFIER_DESCRIPTOR),
 278          	USB_DEVICEQUALIFIER_DESCRIPTOR_TYPE,
 279          	0x0200, // USB spec version number, 2.0
 280          	USB_CLASS_CODE_TEST_CLASS_DEVICE,
 281          	USB_SUBCLASS_CODE_TEST_CLASS,
 282          	USB_PROTOCOL_CODE_TEST_CLASS,
 283          	0x40,//max packet size(endpoint 0) for other speed configuration(high speed, 64)
 284          	0x1, // number of other speed configuratons
 285          	0x0 //reserved, must be 0
 286          };
 287          
 288          USB_CONFIGURATION_DESCRIPTOR Otherspeed_ConfigDescr_H=
 289          {
 290          	sizeof(USB_CONFIGURATION_DESCRIPTOR),
 291          	USB_OTEHRSPEEDCONFIGURATION_DESCRIPTOR_TYPE,
 292          	SWAP(CONFIG_DESCRIPTOR_LENGTH),
 293          	1,
 294          	1, // value to select this configuration;
 295          	4,//STRING_EN * STR_INDEX_CONFIGURATION,
 296          	0x80,//USB_Configureation_bmAttributes, // set-to-one, self-power, remote wakeup,;
 297          	0x40//0x1
 298          };
 299          
 300          //////////////////////////////////////////////////////////////////////////
 301          code unsigned char StringLANGID[] = 
 302          {
 303          	4,										// bLength
C51 COMPILER V6.20c  CHAP9                                                                 05/19/2003 01:05:08 PAGE 6   

 304          	USB_STRING_DESCRIPTOR_TYPE,				// bDescriptorType
 305          	0x09, 0x04//SWAP(0x0409)							// wLANGID
 306          };
 307          
 308          
 309          code unsigned char szManufacturer[] =

⌨️ 快捷键说明

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