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

📄 usbmouse.m51

📁 EDN USB学习板之实战第三个USB程序: USB鼠标
💻 M51
📖 第 1 页 / 共 5 页
字号:
BL51 BANKED LINKER/LOCATER V5.03                                                        12/10/2007  14:20:45  PAGE 1


BL51 BANKED LINKER/LOCATER V5.03, INVOKED BY:
D:\KEIL\C51\BIN\BL51.EXE UsbMouse.obj, Key.obj, UART.obj TO UsbMouse RAMSIZE (256)


MEMORY MODEL: SMALL


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


LINK MAP OF MODULE:  UsbMouse (USBMOUSE)


            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?USBMOUSE
            DATA    0031H     0011H     UNIT         _DATA_GROUP_
            DATA    0042H     0001H     UNIT         ?DT?KEY
            DATA    0043H     0001H     UNIT         ?DT?UART
            IDATA   0044H     0080H     UNIT         ?ID?USBMOUSE
            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?USBMOUSE
            CODE    000BH     0003H     ABSOLUTE     
            CODE    000EH     0013H     UNIT         ?PR?_SET_ENDPOINT_STATUS?USBMOUSE
                    0021H     0002H                  *** GAP ***
            CODE    0023H     0003H     ABSOLUTE     
            CODE    0026H     0992H     UNIT         ?CO?USBMOUSE
            CODE    09B8H     01BDH     UNIT         ?PR?ENDP0_IN?USBMOUSE
            CODE    0B75H     0196H     UNIT         ?PR?GET_DESCRIPTOR?USBMOUSE
            CODE    0D0BH     0136H     UNIT         ?C?LIB_CODE
            CODE    0E41H     00EEH     UNIT         ?PR?GET_DESCRIPTOR_INTERFACE?USBMOUSE
            CODE    0F2FH     00C8H     UNIT         ?PR?ENDP0_OUT?USBMOUSE
            CODE    0FF7H     00B5H     UNIT         ?PR?MAIN?USBMOUSE
            CODE    10ACH     008DH     UNIT         ?PR?ENDP2_IN?USBMOUSE
            CODE    1139H     0076H     UNIT         ?PR?_PRINTLONGINT?UART
            CODE    11AFH     0068H     UNIT         ?PR?_READ_ENDPOINT_BUFF?USBMOUSE
            CODE    1217H     0060H     UNIT         ?PR?TIMER0ISR?KEY
            CODE    1277H     0056H     UNIT         ?PR?ENDP2_OUT?USBMOUSE
            CODE    12CDH     0051H     UNIT         ?PR?_WRITE_ENDPOINT_BUFF?USBMOUSE
            CODE    131EH     0033H     UNIT         ?PR?_SET_USB_ADDR?USBMOUSE
            CODE    1351H     0030H     UNIT         ?PR?SET_USB_ADDRESS?USBMOUSE
            CODE    1381H     002EH     UNIT         ?PR?_GET_STATUS?USBMOUSE
            CODE    13AFH     0027H     UNIT         ?PR?SET_IDLE?USBMOUSE
BL51 BANKED LINKER/LOCATER V5.03                                                      12/10/2007  14:20:45  PAGE 2


            CODE    13D6H     0027H     UNIT         ?PR?SET_PROTOCOL?USBMOUSE
            CODE    13FDH     0025H     UNIT         ?PR?_PRINTHEX?UART
            CODE    1422H     0022H     UNIT         ?PR?_CLEAR_FEATURE?USBMOUSE
            CODE    1444H     0022H     UNIT         ?PR?_SET_FEATURE?USBMOUSE
            CODE    1466H     0021H     UNIT         ?PR?GET_CONFIGURATION?USBMOUSE
            CODE    1487H     0021H     UNIT         ?PR?GET_INTERFACE?USBMOUSE
            CODE    14A8H     0020H     UNIT         ?PR?_DELAY?USBMOUSE
            CODE    14C8H     0020H     UNIT         ?PR?INITUART?UART
            CODE    14E8H     001FH     UNIT         ?PR?DISCONNECT_USB?USBMOUSE
            CODE    1507H     001EH     UNIT         ?PR?GET_IDLE?USBMOUSE
            CODE    1525H     001EH     UNIT         ?PR?GET_PROTOCOL?USBMOUSE
            CODE    1543H     001EH     UNIT         ?PR?INITKEYBOARD?KEY
            CODE    1561H     001BH     UNIT         ?PR?SET_CONFIGURATION?USBMOUSE
            CODE    157CH     001BH     UNIT         ?PR?SET_INTERFACE?USBMOUSE
            CODE    1597H     0018H     UNIT         ?PR?CONNECT_USB?USBMOUSE
            CODE    15AFH     0018H     UNIT         ?PR?SET_DESCRIPTOR?USBMOUSE
            CODE    15C7H     0013H     UNIT         ?PR?_PRINTS?UART
            CODE    15DAH     0011H     UNIT         ?PR?INIT_USB?USBMOUSE
            CODE    15EBH     0011H     UNIT         ?PR?USB_BUS_RESET?USBMOUSE
            CODE    15FCH     0010H     UNIT         ?PR?READ_INTERRUPT_REGISTER?USBMOUSE
            CODE    160CH     0010H     UNIT         ?CO?UART
            CODE    161CH     000EH     UNIT         ?PR?INITTIMER0?KEY
            CODE    162AH     000DH     UNIT         ?PR?READ_A_USB_DATA?USBMOUSE
            CODE    1637H     000CH     UNIT         ?PR?_WRITE_USB_COMMAND?USBMOUSE
            CODE    1643H     000CH     UNIT         ?PR?_WRITE_A_USB_DATA?USBMOUSE
            CODE    164FH     000CH     UNIT         ?PR?UARTISR?UART
            CODE    165BH     000CH     UNIT         ?C_C51STARTUP
            CODE    1667H     000AH     UNIT         ?PR?SET_ENDPOINT_ENABLE?USBMOUSE
            CODE    1671H     000AH     UNIT         ?PR?_UARTPUTCHAR?UART
            CODE    167BH     000AH     UNIT         ?PR?_PRINTC?UART
            CODE    1685H     0009H     UNIT         ?PR?_ERROR?USBMOUSE
            CODE    168EH     0009H     UNIT         ?PR?USB_BUS_SUSPEND?USBMOUSE
            CODE    1697H     0009H     UNIT         ?PR?GET_REPORT?USBMOUSE
            CODE    16A0H     0009H     UNIT         ?PR?SET_REPORT?USBMOUSE
            CODE    16A9H     0007H     UNIT         ?PR?_SELECT_ENDPOINT?USBMOUSE
            CODE    16B0H     0007H     UNIT         ?PR?_READ_LAST_STATUS?USBMOUSE
            CODE    16B7H     0007H     UNIT         ?PR?_READ_ENDPOINT_STATUS?USBMOUSE
            CODE    16BEH     0005H     UNIT         ?PR?CLEAR_BUFFER?USBMOUSE
            CODE    16C3H     0005H     UNIT         ?PR?VALIDATE_BUFFER?USBMOUSE



OVERLAY MAP OF MODULE:   UsbMouse (USBMOUSE)


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

?PR?MAIN?USBMOUSE                             0031H    0001H
  +--> ?PR?INITUART?UART
  +--> ?PR?_PRINTC?UART
  +--> ?CO?USBMOUSE
  +--> ?PR?_PRINTS?UART
  +--> ?PR?DISCONNECT_USB?USBMOUSE
BL51 BANKED LINKER/LOCATER V5.03                                                      12/10/2007  14:20:45  PAGE 3


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

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

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

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

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

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

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

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

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

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

?PR?READ_A_USB_DATA?USBMOUSE                  -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBMOUSE
BL51 BANKED LINKER/LOCATER V5.03                                                      12/10/2007  14:20:45  PAGE 4



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

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

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

?PR?_READ_LAST_STATUS?USBMOUSE                -----    -----
  +--> ?PR?READ_A_USB_DATA?USBMOUSE

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

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

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

?PR?_READ_ENDPOINT_STATUS?USBMOUSE            -----    -----
  +--> ?PR?READ_A_USB_DATA?USBMOUSE

?PR?CLEAR_BUFFER?USBMOUSE                     -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBMOUSE

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

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

?PR?ENDP0_IN?USBMOUSE                         -----    -----
  +--> ?PR?_READ_LAST_STATUS?USBMOUSE
  +--> ?CO?USBMOUSE
  +--> ?PR?_PRINTS?UART
  +--> ?PR?GET_DESCRIPTOR?USBMOUSE
BL51 BANKED LINKER/LOCATER V5.03                                                      12/10/2007  14:20:45  PAGE 5


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

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

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

?PR?VALIDATE_BUFFER?USBMOUSE                  -----    -----
  +--> ?PR?_WRITE_USB_COMMAND?USBMOUSE

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

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

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

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

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

?PR?GET_IDLE?USBMOUSE                         -----    -----
BL51 BANKED LINKER/LOCATER V5.03                                                      12/10/2007  14:20:45  PAGE 6


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

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

?PR?SET_USB_ADDRESS?USBMOUSE                  -----    -----
  +--> ?PR?_SET_USB_ADDR?USBMOUSE
  +--> ?PR?_SELECT_ENDPOINT?USBMOUSE

⌨️ 快捷键说明

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