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

📄 usbkeyboard.m51

📁 EDN USB学习板之实战第一个USB程序: USB键盘
💻 M51
📖 第 1 页 / 共 5 页
字号:
BL51 BANKED LINKER/LOCATER V6.00                                                        12/12/2007  21:37:18  PAGE 1


BL51 BANKED LINKER/LOCATER V6.00, INVOKED BY:
C:\KEIL\C51\BIN\BL51.EXE UsbKeyBoard.obj, UART.obj, Key.obj TO UsbKeyBoard RAMSIZE (256)


MEMORY MODEL: SMALL


INPUT MODULES INCLUDED:
  UsbKeyBoard.obj (USBKEYBOARD)
  UART.obj (UART)
  Key.obj (KEY)
  C:\KEIL\C51\LIB\C51S.LIB (?C_STARTUP)
  C:\KEIL\C51\LIB\C51S.LIB (?C?CLDPTR)
  C:\KEIL\C51\LIB\C51S.LIB (?C?CLDOPTR)
  C:\KEIL\C51\LIB\C51S.LIB (?C?CSTOPTR)
  C:\KEIL\C51\LIB\C51S.LIB (?C?ULDIV)


LINK MAP OF MODULE:  UsbKeyBoard (USBKEYBOARD)


            TYPE    BASE      LENGTH    RELOCATION   SEGMENT NAME
            -----------------------------------------------------

            * * * * * * *   D A T A   M E M O R Y   * * * * * * *
            REG     0000H     0008H     ABSOLUTE     "REG BANK 0"
            DATA    0008H     0029H     UNIT         ?DT?USBKEYBOARD
            DATA    0031H     0011H     UNIT         _DATA_GROUP_
            DATA    0042H     0001H     UNIT         ?DT?UART
            DATA    0043H     0001H     UNIT         ?DT?KEY
            IDATA   0044H     0080H     UNIT         ?ID?USBKEYBOARD
            IDATA   00C4H     0007H     UNIT         ?ID?KEY
            IDATA   00CBH     0001H     UNIT         ?STACK

            * * * * * * *   C O D E   M E M O R Y   * * * * * * *
            CODE    0000H     0003H     ABSOLUTE     
            CODE    0003H     0008H     UNIT         ?PR?_ACK_SETUP?USBKEYBOARD
            CODE    000BH     0003H     ABSOLUTE     
            CODE    000EH     0013H     UNIT         ?PR?_SET_ENDPOINT_STATUS?USBKEYBOARD
                    0021H     0002H                  *** GAP ***
            CODE    0023H     0003H     ABSOLUTE     
            CODE    0026H     09D4H     UNIT         ?CO?USBKEYBOARD
            CODE    09FAH     01CDH     UNIT         ?PR?GET_DESCRIPTOR?USBKEYBOARD
            CODE    0BC7H     01BDH     UNIT         ?PR?ENDP0_IN?USBKEYBOARD
            CODE    0D84H     0136H     UNIT         ?C?LIB_CODE
            CODE    0EBAH     00EEH     UNIT         ?PR?GET_DESCRIPTOR_INTERFACE?USBKEYBOARD
            CODE    0FA8H     00C8H     UNIT         ?PR?ENDP0_OUT?USBKEYBOARD
            CODE    1070H     00C6H     UNIT         ?PR?ENDP2_IN?USBKEYBOARD
            CODE    1136H     00ACH     UNIT         ?PR?MAIN?USBKEYBOARD
            CODE    11E2H     0076H     UNIT         ?PR?_PRINTLONGINT?UART
            CODE    1258H     0068H     UNIT         ?PR?_READ_ENDPOINT_BUFF?USBKEYBOARD
            CODE    12C0H     0060H     UNIT         ?PR?TIMER0ISR?KEY
            CODE    1320H     0056H     UNIT         ?PR?ENDP2_OUT?USBKEYBOARD
            CODE    1376H     0051H     UNIT         ?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD
            CODE    13C7H     0033H     UNIT         ?PR?_SET_USB_ADDR?USBKEYBOARD
            CODE    13FAH     0030H     UNIT         ?PR?SET_USB_ADDRESS?USBKEYBOARD
            CODE    142AH     002EH     UNIT         ?PR?_GET_STATUS?USBKEYBOARD
            CODE    1458H     0027H     UNIT         ?PR?SET_IDLE?USBKEYBOARD
BL51 BANKED LINKER/LOCATER V6.00                                                      12/12/2007  21:37:18  PAGE 2


            CODE    147FH     0027H     UNIT         ?PR?SET_PROTOCOL?USBKEYBOARD
            CODE    14A6H     0025H     UNIT         ?PR?_PRINTHEX?UART
            CODE    14CBH     0022H     UNIT         ?PR?_CLEAR_FEATURE?USBKEYBOARD
            CODE    14EDH     0022H     UNIT         ?PR?_SET_FEATURE?USBKEYBOARD
            CODE    150FH     0021H     UNIT         ?PR?GET_CONFIGURATION?USBKEYBOARD
            CODE    1530H     0021H     UNIT         ?PR?GET_INTERFACE?USBKEYBOARD
            CODE    1551H     0020H     UNIT         ?PR?_DELAY?USBKEYBOARD
            CODE    1571H     0020H     UNIT         ?PR?INITUART?UART
            CODE    1591H     001FH     UNIT         ?PR?DISCONNECT_USB?USBKEYBOARD
            CODE    15B0H     001EH     UNIT         ?PR?GET_IDLE?USBKEYBOARD
            CODE    15CEH     001EH     UNIT         ?PR?GET_PROTOCOL?USBKEYBOARD
            CODE    15ECH     001EH     UNIT         ?PR?INITKEYBOARD?KEY
            CODE    160AH     001BH     UNIT         ?PR?SET_CONFIGURATION?USBKEYBOARD
            CODE    1625H     001BH     UNIT         ?PR?SET_INTERFACE?USBKEYBOARD
            CODE    1640H     0018H     UNIT         ?PR?CONNECT_USB?USBKEYBOARD
            CODE    1658H     0018H     UNIT         ?PR?SET_DESCRIPTOR?USBKEYBOARD
            CODE    1670H     0013H     UNIT         ?PR?_PRINTS?UART
            CODE    1683H     0011H     UNIT         ?PR?INIT_USB?USBKEYBOARD
            CODE    1694H     0011H     UNIT         ?PR?USB_BUS_RESET?USBKEYBOARD
            CODE    16A5H     0010H     UNIT         ?PR?READ_INTERRUPT_REGISTER?USBKEYBOARD
            CODE    16B5H     0010H     UNIT         ?CO?UART
            CODE    16C5H     000EH     UNIT         ?PR?INITTIMER0?KEY
            CODE    16D3H     000DH     UNIT         ?PR?READ_A_USB_DATA?USBKEYBOARD
            CODE    16E0H     000CH     UNIT         ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
            CODE    16ECH     000CH     UNIT         ?PR?_WRITE_A_USB_DATA?USBKEYBOARD
            CODE    16F8H     000CH     UNIT         ?PR?UARTISR?UART
            CODE    1704H     000CH     UNIT         ?C_C51STARTUP
            CODE    1710H     000AH     UNIT         ?PR?SET_ENDPOINT_ENABLE?USBKEYBOARD
            CODE    171AH     000AH     UNIT         ?PR?_UARTPUTCHAR?UART
            CODE    1724H     000AH     UNIT         ?PR?_PRINTC?UART
            CODE    172EH     0009H     UNIT         ?PR?_ERROR?USBKEYBOARD
            CODE    1737H     0009H     UNIT         ?PR?USB_BUS_SUSPEND?USBKEYBOARD
            CODE    1740H     0009H     UNIT         ?PR?GET_REPORT?USBKEYBOARD
            CODE    1749H     0009H     UNIT         ?PR?SET_REPORT?USBKEYBOARD
            CODE    1752H     0007H     UNIT         ?PR?_SELECT_ENDPOINT?USBKEYBOARD
            CODE    1759H     0007H     UNIT         ?PR?_READ_LAST_STATUS?USBKEYBOARD
            CODE    1760H     0007H     UNIT         ?PR?_READ_ENDPOINT_STATUS?USBKEYBOARD
            CODE    1767H     0005H     UNIT         ?PR?CLEAR_BUFFER?USBKEYBOARD
            CODE    176CH     0005H     UNIT         ?PR?VALIDATE_BUFFER?USBKEYBOARD



OVERLAY MAP OF MODULE:   UsbKeyBoard (USBKEYBOARD)


SEGMENT                                            DATA_GROUP 
  +--> CALLED SEGMENT                            START    LENGTH
----------------------------------------------------------------
?C_C51STARTUP                                    -----    -----
  +--> ?PR?MAIN?USBKEYBOARD

?PR?MAIN?USBKEYBOARD                             0031H    0001H
  +--> ?PR?INITUART?UART
  +--> ?PR?_PRINTC?UART
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?DISCONNECT_USB?USBKEYBOARD
BL51 BANKED LINKER/LOCATER V6.00                                                      12/12/2007  21:37:18  PAGE 3


  +--> ?PR?_DELAY?USBKEYBOARD
  +--> ?PR?INIT_USB?USBKEYBOARD
  +--> ?PR?CONNECT_USB?USBKEYBOARD
  +--> ?PR?INITKEYBOARD?KEY
  +--> ?PR?READ_INTERRUPT_REGISTER?USBKEYBOARD
  +--> ?PR?USB_BUS_RESET?USBKEYBOARD
  +--> ?PR?USB_BUS_SUSPEND?USBKEYBOARD
  +--> ?PR?ENDP0_OUT?USBKEYBOARD
  +--> ?PR?ENDP0_IN?USBKEYBOARD
  +--> ?PR?ENDP2_OUT?USBKEYBOARD
  +--> ?PR?ENDP2_IN?USBKEYBOARD

?PR?_PRINTS?UART                                 -----    -----
  +--> ?PR?_UARTPUTCHAR?UART

?PR?DISCONNECT_USB?USBKEYBOARD                   -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
  +--> ?PR?_WRITE_A_USB_DATA?USBKEYBOARD
  +--> ?PR?_DELAY?USBKEYBOARD

?PR?INIT_USB?USBKEYBOARD                         -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_SET_USB_ADDR?USBKEYBOARD
  +--> ?PR?SET_ENDPOINT_ENABLE?USBKEYBOARD

?PR?_SET_USB_ADDR?USBKEYBOARD                    0032H    0001H
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
  +--> ?PR?_WRITE_A_USB_DATA?USBKEYBOARD
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_PRINTLONGINT?UART

?PR?_PRINTLONGINT?UART                           0033H    000FH
  +--> ?PR?_UARTPUTCHAR?UART

?PR?SET_ENDPOINT_ENABLE?USBKEYBOARD              -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
  +--> ?PR?_WRITE_A_USB_DATA?USBKEYBOARD

?PR?CONNECT_USB?USBKEYBOARD                      -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
  +--> ?PR?_WRITE_A_USB_DATA?USBKEYBOARD

?PR?INITKEYBOARD?KEY                             -----    -----
  +--> ?PR?INITTIMER0?KEY

?PR?READ_INTERRUPT_REGISTER?USBKEYBOARD          -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
  +--> ?PR?READ_A_USB_DATA?USBKEYBOARD

?PR?READ_A_USB_DATA?USBKEYBOARD                  -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
BL51 BANKED LINKER/LOCATER V6.00                                                      12/12/2007  21:37:18  PAGE 4



?PR?USB_BUS_RESET?USBKEYBOARD                    -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?SET_ENDPOINT_ENABLE?USBKEYBOARD

?PR?USB_BUS_SUSPEND?USBKEYBOARD                  -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART

?PR?ENDP0_OUT?USBKEYBOARD                        -----    -----
  +--> ?PR?_READ_LAST_STATUS?USBKEYBOARD
  +--> ?PR?_READ_ENDPOINT_BUFF?USBKEYBOARD
  +--> ?PR?_SET_ENDPOINT_STATUS?USBKEYBOARD
  +--> ?PR?_ACK_SETUP?USBKEYBOARD
  +--> ?PR?_SELECT_ENDPOINT?USBKEYBOARD
  +--> ?PR?CLEAR_BUFFER?USBKEYBOARD

?PR?_READ_LAST_STATUS?USBKEYBOARD                -----    -----
  +--> ?PR?READ_A_USB_DATA?USBKEYBOARD

?PR?_READ_ENDPOINT_BUFF?USBKEYBOARD              0034H    0005H
  +--> ?PR?_READ_LAST_STATUS?USBKEYBOARD
  +--> ?PR?_SELECT_ENDPOINT?USBKEYBOARD
  +--> ?PR?_ERROR?USBKEYBOARD
  +--> ?PR?_READ_ENDPOINT_STATUS?USBKEYBOARD
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
  +--> ?PR?READ_A_USB_DATA?USBKEYBOARD
  +--> ?PR?CLEAR_BUFFER?USBKEYBOARD

?PR?_SELECT_ENDPOINT?USBKEYBOARD                 -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
  +--> ?PR?READ_A_USB_DATA?USBKEYBOARD

?PR?_ERROR?USBKEYBOARD                           -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART

?PR?_READ_ENDPOINT_STATUS?USBKEYBOARD            -----    -----
  +--> ?PR?READ_A_USB_DATA?USBKEYBOARD

?PR?CLEAR_BUFFER?USBKEYBOARD                     -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD

?PR?_SET_ENDPOINT_STATUS?USBKEYBOARD             -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
  +--> ?PR?_WRITE_A_USB_DATA?USBKEYBOARD

?PR?_ACK_SETUP?USBKEYBOARD                       -----    -----
  +--> ?PR?_SELECT_ENDPOINT?USBKEYBOARD
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD

?PR?ENDP0_IN?USBKEYBOARD                         -----    -----
  +--> ?PR?_READ_LAST_STATUS?USBKEYBOARD
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?GET_DESCRIPTOR?USBKEYBOARD
BL51 BANKED LINKER/LOCATER V6.00                                                      12/12/2007  21:37:18  PAGE 5


  +--> ?PR?GET_CONFIGURATION?USBKEYBOARD
  +--> ?PR?GET_DESCRIPTOR_INTERFACE?USBKEYBOARD
  +--> ?PR?GET_INTERFACE?USBKEYBOARD
  +--> ?PR?_GET_STATUS?USBKEYBOARD
  +--> ?PR?GET_REPORT?USBKEYBOARD
  +--> ?PR?GET_IDLE?USBKEYBOARD
  +--> ?PR?GET_PROTOCOL?USBKEYBOARD
  +--> ?PR?SET_USB_ADDRESS?USBKEYBOARD
  +--> ?PR?SET_DESCRIPTOR?USBKEYBOARD
  +--> ?PR?SET_CONFIGURATION?USBKEYBOARD
  +--> ?PR?SET_INTERFACE?USBKEYBOARD
  +--> ?PR?_CLEAR_FEATURE?USBKEYBOARD
  +--> ?PR?_SET_FEATURE?USBKEYBOARD
  +--> ?PR?SET_REPORT?USBKEYBOARD
  +--> ?PR?SET_IDLE?USBKEYBOARD
  +--> ?PR?SET_PROTOCOL?USBKEYBOARD

?PR?GET_DESCRIPTOR?USBKEYBOARD                   -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_PRINTLONGINT?UART
  +--> ?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD

?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD             0034H    0003H
  +--> ?PR?_READ_LAST_STATUS?USBKEYBOARD
  +--> ?PR?_SELECT_ENDPOINT?USBKEYBOARD
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD
  +--> ?PR?_WRITE_A_USB_DATA?USBKEYBOARD
  +--> ?PR?VALIDATE_BUFFER?USBKEYBOARD

?PR?VALIDATE_BUFFER?USBKEYBOARD                  -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBKEYBOARD

?PR?GET_CONFIGURATION?USBKEYBOARD                0032H    0001H
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD

?PR?GET_DESCRIPTOR_INTERFACE?USBKEYBOARD         -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_PRINTLONGINT?UART
  +--> ?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD

?PR?GET_INTERFACE?USBKEYBOARD                    0032H    0001H
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD

?PR?_GET_STATUS?USBKEYBOARD                      0032H    0002H
  +--> ?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD

?PR?GET_REPORT?USBKEYBOARD                       -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART

?PR?GET_IDLE?USBKEYBOARD                         -----    -----
BL51 BANKED LINKER/LOCATER V6.00                                                      12/12/2007  21:37:18  PAGE 6


  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD

?PR?GET_PROTOCOL?USBKEYBOARD                     -----    -----
  +--> ?CO?USBKEYBOARD
  +--> ?PR?_PRINTS?UART
  +--> ?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD

?PR?SET_USB_ADDRESS?USBKEYBOARD                  -----    -----
  +--> ?PR?_SET_USB_ADDR?USBKEYBOARD
  +--> ?PR?_SELECT_ENDPOINT?USBKEYBOARD
  +--> ?PR?_WRITE_ENDPOINT_BUFF?USBKEYBOARD

⌨️ 快捷键说明

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