📄 protozlg.lst
字号:
C51 COMPILER V7.08 PROTOZLG 03/11/2005 10:40:00 PAGE 1
C51 COMPILER V7.08, 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
line level source
1 /*
2 //*************************************************************************
3 //
4 // ZLGMCU
5 // www.zlgmcu.com
6 // File Name: ISR.C
7 // Revision: V0.2(2002-04-08)
8 // Use library: USB51S.LIB
9 // Note: USB51S.LIB不带DMA控制功能
10 //*************************************************************************
11 */
12
13 #include <stdio.h>
14 #include <string.h>
15 #include <reg51.h> /* special function register declarations */
16 #include "isr.h"
17 #include "mainloop.h"
18 #include "protozlg.h"
19 #include "absacc.h"
20 extern CONTROL_XFER ControlData;
21 extern IO_REQUEST idata ioRequest;
22 extern EPPFLAGS bEPPflags;
23 extern unsigned char idata EpBuf[];
24
25 #define D12_COMMAND XBYTE[0x7003] //right
26 #define D12_DATA XBYTE[0x7002]
27
28 void get_firmware_version()
29 {
30 1 unsigned char i;
31 1
32 1 i = 0x30; // firmware version number
33 1 single_transmit((unsigned char *)&i, 1);
34 1 }
35
36 void get_buffer_size()
37 {
38 1 unsigned char i[4];
39 1
40 1 i[0] = EP2_PACKET_SIZE;
41 1 i[1] = 0;
42 1 i[2] = 0;
43 1 i[3] = 0;
44 1 single_transmit((unsigned char *)&i, 4);
45 1 }
46
47 void read_write_register(void)
48 {
49 1 unsigned char i;
50 1 if(ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) {
51 2 if(ControlData.DeviceRequest.wIndex == GET_FIRMWARE_VERSION &&
52 2 ControlData.DeviceRequest.wValue == 0 &&
53 2 ControlData.DeviceRequest.wLength == 1)
54 2 get_firmware_version();
55 2 else
C51 COMPILER V7.08 PROTOZLG 03/11/2005 10:40:00 PAGE 2
56 2 if(ControlData.DeviceRequest.wIndex == GET_BUFFER_SIZE &&
57 2 ControlData.DeviceRequest.wValue == 0 &&
58 2 ControlData.DeviceRequest.wLength == 4)
59 2 get_buffer_size();
60 2 else
61 2 stall_ep0();
62 2
63 2 } // if read register
64 1 else{
65 2 if(ControlData.DeviceRequest.wIndex == SETUP_DMA_REQUEST &&
66 2 ControlData.DeviceRequest.wValue == 0 &&
67 2 ControlData.DeviceRequest.wLength == 6)
68 2 {
69 3 if(ControlData.dataBuffer[5]==0x81)
70 3 {
71 4 D12_COMMAND = 0x05;
72 4 // D12_COMMAND = 0x04;
73 4 // D12_DATA;
74 4 D12_COMMAND = 0xF0;
75 4 D12_DATA = 0;
76 4 D12_DATA = 64;
77 4 for(i=0;i<128;i++) D12_DATA = i;
78 4 D12_COMMAND = 0xFA;
79 4 }
80 3 // D12_WriteEndpoint(5, ControlData.dataBuffer[3], EpBuf);
81 3 single_transmit(0, 0);
82 3 }
83 2 else
84 2 stall_ep0();
85 2 } // if write register
86 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 201 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 6
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 + -