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

📄 chap_9.lst

📁 PDIUSBD12 USB1.1 C51源代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
0042 04            INC     A
0043 FF            MOV     R7,A
0044 7D01          MOV     R5,#01H
0046 120000  E     LCALL   _D12_SetEndpointStatus
0049 800A          SJMP    ?C0026
004B         ?C0025:
                                           ; SOURCE LINE # 214
004B E500    R     MOV     A,endp
004D 25E0          ADD     A,ACC
004F FF            MOV     R7,A
C51 COMPILER V4.01,  CHAP_9                                                                07/07/01  13:16:08  PAGE 10  

0050 7D01          MOV     R5,#01H
0052 120000  E     LCALL   _D12_SetEndpointStatus
0055         ?C0026:
                                           ; SOURCE LINE # 215
0055 7B00          MOV     R3,#00H
0057 7A00          MOV     R2,#00H
0059 7900          MOV     R1,#00H
005B E4            CLR     A
005C FD            MOV     R5,A
005D 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 216
0060 22            RET     
0061         ?C0024:
                                           ; SOURCE LINE # 217
0061 120000  E     LCALL   stall_ep0
                                           ; SOURCE LINE # 218
0064         ?C0028:
0064 22            RET     
             ; FUNCTION set_feature (END)

             ; FUNCTION set_address (BEGIN)
                                           ; SOURCE LINE # 220
                                           ; SOURCE LINE # 221
                                           ; SOURCE LINE # 222
0000 E500    E     MOV     A,ControlData+03H
0002 547F          ANL     A,#07FH
0004 FF            MOV     R7,A
0005 7D01          MOV     R5,#01H
0007 120000  E     LCALL   _D12_SetAddressEnable
                                           ; SOURCE LINE # 224
000A 7B00          MOV     R3,#00H
000C 7A00          MOV     R2,#00H
000E 7900          MOV     R1,#00H
0010 E4            CLR     A
0011 FD            MOV     R5,A
0012 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 225
0015 22            RET     
             ; FUNCTION set_address (END)

             ; FUNCTION get_descriptor (BEGIN)
                                           ; SOURCE LINE # 227
                                           ; SOURCE LINE # 228
                                           ; SOURCE LINE # 229
0000 E500    E     MOV     A,ControlData+02H
0002 F500    R     MOV     bDescriptor,A
                                           ; SOURCE LINE # 231
0004 E500    R     MOV     A,bDescriptor
0006 B4010C        CJNE    A,#01H,?C0030
                                           ; SOURCE LINE # 232
0009 7E00    R     MOV     R6,#HIGH DeviceDescr
000B 7F00    R     MOV     R7,#LOW DeviceDescr
000D 7D12          MOV     R5,#012H
000F 7C00          MOV     R4,#00H
0011 120000  E     LCALL   _code_transmit
                                           ; SOURCE LINE # 233
0014 22            RET     
0015         ?C0030:
0015 E500    R     MOV     A,bDescriptor
0017 B4020C        CJNE    A,#02H,?C0032
                                           ; SOURCE LINE # 234
001A 7E00    R     MOV     R6,#HIGH ConfigDescr
001C 7F00    R     MOV     R7,#LOW ConfigDescr
001E 7D2E          MOV     R5,#02EH
0020 7C00          MOV     R4,#00H
0022 120000  E     LCALL   _code_transmit
C51 COMPILER V4.01,  CHAP_9                                                                07/07/01  13:16:08  PAGE 11  

                                           ; SOURCE LINE # 235
0025 22            RET     
0026         ?C0032:
                                           ; SOURCE LINE # 236
0026 120000  E     LCALL   stall_ep0
                                           ; SOURCE LINE # 237
0029         ?C0034:
0029 22            RET     
             ; FUNCTION get_descriptor (END)

             ; FUNCTION get_configuration (BEGIN)
                                           ; SOURCE LINE # 239
                                           ; SOURCE LINE # 240
                                           ; SOURCE LINE # 241
0000 AF00    E     MOV     R7,bEPPflags+01H
0002 EF            MOV     A,R7
0003 5401          ANL     A,#01H
0005 F500    R     MOV     c,A
                                           ; SOURCE LINE # 243
0007 7B04          MOV     R3,#04H
0009 7A00    R     MOV     R2,#HIGH c
000B 7900    R     MOV     R1,#LOW c
000D 7D01          MOV     R5,#01H
000F 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 244
0012 22            RET     
             ; FUNCTION get_configuration (END)

             ; FUNCTION set_configuration (BEGIN)
                                           ; SOURCE LINE # 246
                                           ; SOURCE LINE # 247
                                           ; SOURCE LINE # 248
0000 E500    E     MOV     A,ControlData+03H
0002 4500    E     ORL     A,ControlData+02H
0004 7016          JNZ     ?C0036
                                           ; SOURCE LINE # 250
0006 FB            MOV     R3,A
0007 FA            MOV     R2,A
0008 F9            MOV     R1,A
0009 FD            MOV     R5,A
000A 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 251
000D C2AF          CLR     EA
                                           ; SOURCE LINE # 252
000F AF00    E     MOV     R7,bEPPflags+01H
0011 EF            MOV     A,R7
0012 54FE          ANL     A,#0FEH
0014 F500    E     MOV     bEPPflags+01H,A
                                           ; SOURCE LINE # 253
0016 D2AF          SETB    EA
                                           ; SOURCE LINE # 254
0018 120000  E     LCALL   init_unconfig
                                           ; SOURCE LINE # 255
001B 22            RET     
001C         ?C0036:
001C E500    E     MOV     A,ControlData+03H
001E 6401          XRL     A,#01H
0020 4500    E     ORL     A,ControlData+02H
0022 7019          JNZ     ?C0038
                                           ; SOURCE LINE # 257
0024 FB            MOV     R3,A
0025 FA            MOV     R2,A
0026 F9            MOV     R1,A
0027 FD            MOV     R5,A
0028 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 259
C51 COMPILER V4.01,  CHAP_9                                                                07/07/01  13:16:08  PAGE 12  

002B 120000  E     LCALL   init_unconfig
                                           ; SOURCE LINE # 260
002E 120000  E     LCALL   init_config
                                           ; SOURCE LINE # 262
0031 C2AF          CLR     EA
                                           ; SOURCE LINE # 263
0033 AF00    E     MOV     R7,bEPPflags+01H
0035 EF            MOV     A,R7
0036 4401          ORL     A,#01H
0038 F500    E     MOV     bEPPflags+01H,A
                                           ; SOURCE LINE # 264
003A D2AF          SETB    EA
                                           ; SOURCE LINE # 265
003C 22            RET     
003D         ?C0038:
                                           ; SOURCE LINE # 266
003D 120000  E     LCALL   stall_ep0
                                           ; SOURCE LINE # 267
0040         ?C0040:
0040 22            RET     
             ; FUNCTION set_configuration (END)

             ; FUNCTION get_interface (BEGIN)
                                           ; SOURCE LINE # 269
                                           ; SOURCE LINE # 270
                                           ; SOURCE LINE # 271
0000 E4            CLR     A
0001 F500    R     MOV     txdat,A
                                           ; SOURCE LINE # 272
0003 7B04          MOV     R3,#04H
0005 7A00    R     MOV     R2,#HIGH txdat
0007 7900    R     MOV     R1,#LOW txdat
0009 7D01          MOV     R5,#01H
000B 120000  E     LCALL   _single_transmit
                                           ; SOURCE LINE # 273
000E 22            RET     
             ; FUNCTION get_interface (END)

             ; FUNCTION set_interface (BEGIN)
                                           ; SOURCE LINE # 275
                                           ; SOURCE LINE # 276
                                           ; SOURCE LINE # 277
0000 E500    E     MOV     A,ControlData+03H
0002 4500    E     ORL     A,ControlData+02H
0004 700E          JNZ     ?C0042
0006 E500    E     MOV     A,ControlData+05H
0008 4500    E     ORL     A,ControlData+04H
000A 7008          JNZ     ?C0042
                                           ; SOURCE LINE # 278
000C FB            MOV     R3,A
000D FA            MOV     R2,A
000E F9            MOV     R1,A
000F FD            MOV     R5,A
0010 120000  E     LCALL   _single_transmit
0013 22            RET     
0014         ?C0042:
                                           ; SOURCE LINE # 280
0014 120000  E     LCALL   stall_ep0
                                           ; SOURCE LINE # 281
0017         ?C0044:
0017 22            RET     
             ; FUNCTION set_interface (END)

C51 COMPILER V4.01,  CHAP_9                                                                07/07/01  13:16:08  PAGE 13  

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
_IO_REQUEST. . . . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  6
  uAddressL. . . . . . . . . . . . . .  MEMBER   -----  U_INT    0000H  2
  bAddressH. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  uSize. . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0003H  2
  bCommand . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
MCU_D12CS. . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
PTWAIN_FILEINFO. . . . . . . . . . . .  TYPEDEF  -----  PTR      -----  3
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
ULONG. . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_LONG   -----  4
USB_STRING_DESCRIPTOR. . . . . . . . .  TYPEDEF  -----  STRUCT   -----  3
  bLength. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  bDescriptorType. . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  bString. . . . . . . . . . . . . . .  MEMBER   -----  ARRAY    0002H  1
stall_ep0. . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
InterfaceDescr . . . . . . . . . . . .  PUBLIC   CODE   STRUCT   001BH  9
USB_CONFIGURATION_DESCRIPTOR . . . . .  TYPEDEF  -----  STRUCT   -----  9
  bLength. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  bDescriptorType. . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  wTotalLength . . . . . . . . . . . .  MEMBER   -----  U_INT    0002H  2
  bNumInterfaces . . . . . . . . . . .  MEMBER   -----  U_CHAR   0004H  1
  bConfigurationValue. . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  iConfiguration . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  bmAttributes . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0007H  1
  MaxPower . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0008H  1
USB_HUB_DESCRIPTOR . . . . . . . . . .  TYPEDEF  -----  STRUCT   -----  71
  bDescriptorLength. . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  bDescriptorType. . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  bNumberOfPorts . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  wHubCharacteristics. . . . . . . . .  MEMBER   -----  U_INT    0003H  2
  bPowerOnToPowerGood. . . . . . . . .  MEMBER   -----  U_CHAR   0005H  1
  bHubControlCurrent . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
  bRemoveAndPowerMask. . . . . . . . .  MEMBER   -----  ARRAY    0007H  64
PUSB_POWER_DESCRIPTOR. . . . . . . . .  TYPEDEF  -----  PTR      -----  3
init_config. . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
size_t . . . . . . . . . . . . . . . .  TYPEDEF  -----  U_INT    -----  2
_D12_SelectEndpoint. . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
USB_ENDPOINT_DESCRIPTOR. . . . . . . .  TYPEDEF  -----  STRUCT   -----  7
  bLength. . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  bDescriptorType. . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  bEndpointAddress . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
  bmAttributes . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0003H  1
  wMaxPacketSize . . . . . . . . . . .  MEMBER   -----  U_INT    0004H  2
  bInterval. . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0006H  1
_TWAIN_FILEINFO. . . . . . . . . . . .  * TAG *  -----  STRUCT   -----  3
  bPage. . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0000H  1
  uSizeH . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0001H  1
  uSizeL . . . . . . . . . . . . . . .  MEMBER   -----  U_CHAR   0002H  1
PUSB_INTERFACE_DESCRIPTOR. . . . . . .  TYPEDEF  -----  PTR      -----  3
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
_epp_flags . . . . . . . . . . . . . .  * TAG *  -----  UNION    -----  2
  bits . . . . . . . . . . . . . . . .  MEMBER   -----  STRUCT   0000H  2
  value. . . . . . . . . . . . . . . .  MEMBER   -----  U_INT    0000H  2
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
set_address. . . . . . . . . . . . . .  PUBLIC   CODE   PROC     -----  -----
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
C51 COMPILER V4.01,  CHAP_9                                                                07/07/01  13:16:08  PAGE 14  

⌨️ 快捷键说明

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