📄 usb_9602.lst
字号:
C51 COMPILER V5.50, USB_9602 02/12/99 16:05:13 PAGE 1
DOS C51 COMPILER V5.50, COMPILATION OF MODULE USB_9602
OBJECT MODULE PLACED IN USB_9602.OBJ
COMPILER INVOKED BY: C:\C51\BIN\C51.EXE USB_9602.C DEBUG OE SB CODE RF(USB_9602.REG)
stmt level source
1 /************************************************************************/
2 /* PSI 1999 St醔l Robert */
3 /* */
4 /* ADuC812 12MHz */
5 /* USB_9602.c (Ovladace pro USBN9602 ) 19.10.1999 */
6 /************************************************************************/
7
8 /* !!! Pozor Predpoklada se adresace typu int Hi Lo pro promenne !!! */
9
10 #pragma CODE DEBUG SYMBOLS LISTINCLUDE
11 #pragma REGISTERBANK (0)
12
13 #include <stdio.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 STDIO.H
3 =1
4 =1 Prototypes for standard I/O functions.
5 =1 Copyright (c) 1988-1997 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 #ifndef EOF
10 =1 #define EOF -1
11 =1 #endif
12 =1
13 =1 #ifndef NULL
14 =1 #define NULL ((void *) 0)
15 =1 #endif
16 =1
17 =1 #ifndef _SIZE_T
18 =1 #define _SIZE_T
19 =1 typedef unsigned int size_t;
20 =1 #endif
21 =1
22 =1 #pragma SAVE
23 =1 #pragma REGPARMS
24 =1 //extern char _getkey (void);
25 =1 //extern char getchar (void);
26 =1 extern char ungetchar (char);
27 =1 extern char putchar (char);
28 =1 //extern int printf (const char *, ...);
29 =1 extern int sprintf (char *, const char *, ...);
30 =1 extern int vprintf (const char *, char *);
31 =1 extern int vsprintf (char *, const char *, char *);
32 =1 extern char *gets (char *, int n);
33 =1 extern int scanf (const char *, ...);
34 =1 extern int sscanf (char *, const char *, ...);
35 =1 extern int puts (const char *);
36 =1
37 =1 #pragma RESTORE
14 #include <absacc.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 ABSACC.H
3 =1
4 =1 Direct access to 8051 memory areas.
5 =1 Copyright (c) 1988-1997 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
C51 COMPILER V5.50, USB_9602 02/12/99 16:05:13 PAGE 2
9 =1 #define CBYTE ((unsigned char volatile code *) 0)
10 =1 #define DBYTE ((unsigned char volatile data *) 0)
11 =1 #define PBYTE ((unsigned char volatile pdata *) 0)
12 =1 #define XBYTE ((unsigned char volatile xdata *) 0)
13 =1
14 =1 #define CWORD ((unsigned int volatile code *) 0)
15 =1 #define DWORD ((unsigned int volatile data *) 0)
16 =1 #define PWORD ((unsigned int volatile pdata *) 0)
17 =1 #define XWORD ((unsigned int volatile xdata *) 0)
15 #include <reg52.h>
1 =1 /*--------------------------------------------------------------------------
2 =1 REG52.H
3 =1
4 =1 Header file for 8052.
5 =1 Copyright (c) 1988-1997 Keil Elektronik GmbH and Keil Software, Inc.
6 =1 All rights reserved.
7 =1 --------------------------------------------------------------------------*/
8 =1
9 =1 /* BYTE Registers */
10 =1 sfr P0 = 0x80;
11 =1 sfr P1 = 0x90;
12 =1 sfr P2 = 0xA0;
13 =1 sfr P3 = 0xB0;
14 =1 sfr PSW = 0xD0;
15 =1 sfr ACC = 0xE0;
16 =1 sfr B = 0xF0;
17 =1 sfr SP = 0x81;
18 =1 sfr DPL = 0x82;
19 =1 sfr DPH = 0x83;
20 =1 sfr PCON = 0x87;
21 =1 sfr TCON = 0x88;
22 =1 sfr TMOD = 0x89;
23 =1 sfr TL0 = 0x8A;
24 =1 sfr TL1 = 0x8B;
25 =1 sfr TH0 = 0x8C;
26 =1 sfr TH1 = 0x8D;
27 =1 sfr IE = 0xA8;
28 =1 sfr IP = 0xB8;
29 =1 sfr SCON = 0x98;
30 =1 sfr SBUF = 0x99;
31 =1
32 =1 /* 8052 Extensions */
33 =1 sfr T2CON = 0xC8;
34 =1 sfr RCAP2L = 0xCA;
35 =1 sfr RCAP2H = 0xCB;
36 =1 sfr TL2 = 0xCC;
37 =1 sfr TH2 = 0xCD;
38 =1
39 =1
40 =1 /* BIT Registers */
41 =1 /* PSW */
42 =1 sbit CY = 0xD7;
43 =1 sbit AC = 0xD6;
44 =1 sbit F0 = 0xD5;
45 =1 sbit RS1 = 0xD4;
46 =1 sbit RS0 = 0xD3;
47 =1 sbit OV = 0xD2;
48 =1 sbit P = 0xD0;
49 =1
50 =1 /* TCON */
51 =1 sbit TF1 = 0x8F;
52 =1 sbit TR1 = 0x8E;
53 =1 sbit TF0 = 0x8D;
54 =1 sbit TR0 = 0x8C;
55 =1 sbit IE1 = 0x8B;
56 =1 sbit IT1 = 0x8A;
C51 COMPILER V5.50, USB_9602 02/12/99 16:05:13 PAGE 3
57 =1 sbit IE0 = 0x89;
58 =1 sbit IT0 = 0x88;
59 =1
60 =1 /* IE */
61 =1 sbit EA = 0xAF;
62 =1 sbit ES = 0xAC;
63 =1 sbit ET1 = 0xAB;
64 =1 sbit EX1 = 0xAA;
65 =1 sbit ET0 = 0xA9;
66 =1 sbit EX0 = 0xA8;
67 =1
68 =1 /* IP */
69 =1 sbit PS = 0xBC;
70 =1 sbit PT1 = 0xBB;
71 =1 sbit PX1 = 0xBA;
72 =1 sbit PT0 = 0xB9;
73 =1 sbit PX0 = 0xB8;
74 =1
75 =1 /* P3 */
76 =1 sbit RD = 0xB7;
77 =1 sbit WR = 0xB6;
78 =1 sbit T1 = 0xB5;
79 =1 sbit T0 = 0xB4;
80 =1 sbit INT1 = 0xB3;
81 =1 sbit INT0 = 0xB2;
82 =1 sbit TXD = 0xB1;
83 =1 sbit RXD = 0xB0;
84 =1
85 =1 /* SCON */
86 =1 sbit SM0 = 0x9F;
87 =1 sbit SM1 = 0x9E;
88 =1 sbit SM2 = 0x9D;
89 =1 sbit REN = 0x9C;
90 =1 sbit TB8 = 0x9B;
91 =1 sbit RB8 = 0x9A;
92 =1 sbit TI = 0x99;
93 =1 sbit RI = 0x98;
94 =1
95 =1 /* 8052 Extensions */
96 =1 /* IE */
97 =1 sbit ET2 = 0xAD;
98 =1
99 =1 /* IP */
100 =1 sbit PT2 = 0xBD;
101 =1
102 =1 /* P1 */
103 =1 sbit T2EX = 0x91;
104 =1 sbit T2 = 0x90;
105 =1
106 =1 /* T2CON */
107 =1 sbit TF2 = 0xCF;
108 =1 sbit EXF2 = 0xCE;
109 =1 sbit RCLK = 0xCD;
110 =1 sbit TCLK = 0xCC;
111 =1 sbit EXEN2 = 0xCB;
112 =1 sbit TR2 = 0xCA;
113 =1 sbit C_T2 = 0xC9;
114 =1 sbit CP_RL2= 0xC8;
16 #include "defusb.h" /*include USB defines */
1 =1
2 =1 #define USB_DEFAULT 0x00 /* No descriptor read*/
3 =1 #define USB_DESCRIPTOR_READ 0x01 /* Descriptor read, Addr not assigned*/
4 =1 #define USB_ADDRESS_ASSIGNED 0x02 /* Descriptor Read, Addr assigned*/
5 =1 #define USB_CONFIGURED 0x03
6 =1
7 =1 /*GLOBAL STATUS VALUES*/
C51 COMPILER V5.50, USB_9602 02/12/99 16:05:13 PAGE 4
8 =1 #define STD_COMMAND 0x00
9 =1 #define SETUP_COMMAND_PHASE 0x40
10 =1 #define FUNCTION_ERROR 0x7F /* Used when we are stalling the function EP0 */
11 =1 #define HUB_ERROR 0xFF /* Used when we are stalling the HUB EP0 */
12 =1
13 =1 /*1.0 Request Values*/
14 =1 #define GET_STATUS 0x00
15 =1 #define CLEAR_FEATURE 0x01
16 =1 #define SET_FEATURE 0x03
17 =1 #define SET_ADDRESS 0x05
18 =1 #define GET_DESCRIPTOR 0x06
19 =1 #define SET_DESCRIPTOR 0x07
20 =1 #define GET_CONFIGURATION 0x08
21 =1 #define SET_CONFIGURATION 0x09
22 =1 #define GET_INTERFACE 0x0A
23 =1 #define SET_INTERFACE 0x0B
24 =1 #define SYNCH_FRAME 0x0C
25 =1
26 =1 /*HID Request Values*/
27 =1 #define GET_REPORT 0x01
28 =1 #define GET_IDLE 0x02
29 =1 #define GET_PROTOCOL 0x03
30 =1 #define SET_REPORT 0x09
31 =1 #define SET_IDLE 0x0A
32 =1 #define SET_PROTOCOL 0x0B
33 =1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -