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

📄 usb_descr.lis

📁 Cypress cy7c63318 鼠标开发板的源代码
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0000           ;        Register bank 1.
 0000           ;------------------------------------------------------
 00E0           OSC_CR0:                   equ E0h  ; System Oscillator Control Register 0     (RW)
 0020           OSC_CR0_NO_BUZZ:           equ 20h    ; MASK: Bandgap always powered/BUZZ bandgap
 0018           OSC_CR0_SLEEP:             equ 18h    ; MASK: Set Sleep timer freq/period
 0000           OSC_CR0_SLEEP_512Hz:       equ 00h    ;     Set sleep bits for 1.95ms period
 0008           OSC_CR0_SLEEP_64Hz:        equ 08h    ;     Set sleep bits for 15.6ms period
 0010           OSC_CR0_SLEEP_8Hz:         equ 10h    ;     Set sleep bits for 125ms period
 0018           OSC_CR0_SLEEP_1Hz:         equ 18h    ;     Set sleep bits for 1 sec period
 0000           
 0007           OSC_CR0_CPU:               equ 07h    ; MASK: Set CPU Frequency
 0000           OSC_CR0_CPU_3MHz:          equ 00h    ;     set CPU Freq bits for 3MHz Operation
 0001           OSC_CR0_CPU_6MHz:          equ 01h    ;     set CPU Freq bits for 6MHz Operation
 0002           OSC_CR0_CPU_12MHz:         equ 02h    ;     set CPU Freq bits for 12MHz Operation
 0003           OSC_CR0_CPU_24MHz:         equ 03h    ;     set CPU Freq bits for 24MHz Operation
 0004           OSC_CR0_CPU_1d5MHz:        equ 04h    ;     set CPU Freq bits for 1.5MHz Operation
 0005           OSC_CR0_CPU_750kHz:        equ 05h    ;     set CPU Freq bits for 750kHz Operation
 0006           OSC_CR0_CPU_187d5kHz:      equ 06h    ;     set CPU Freq bits for 187.5kHz Operation
 0000           
 0000           ;------------------------------------------------------
 0000           ;  Note: The following registers are mapped into both
 0000           ;        register bank 0 AND register bank 1.
 0000           ;------------------------------------------------------
 00F7           CPU_F:        equ F7h          ; CPU Flag Register Access                 (RO)
 0000                                              ; Use FLAG_ masks defined at top of file
 00FF           CPU_SCR:     equ FFh          ; CPU Status and Control Register          (#)
 0080           CPU_SCR_GIE_MASK:      equ 80h    ; MASK: Global Interrupt Enable shadow
 0020           CPU_SCR_WDRS_MASK:     equ 20h    ; MASK: Watch Dog Timer Reset
 0010           CPU_SCR_PORS_MASK:     equ 10h    ; MASK: power-on reset bit PORS
 0008           CPU_SCR_SLEEP_MASK:    equ 08h    ; MASK: Enable Sleep
 0001           CPU_SCR_STOP_MASK:     equ 01h    ; MASK: Halt CPU bit
 0000           
 0000           ;;=============================================================================
 0000           ;;      Register Space, Bank 1
 0000           ;;=============================================================================
 0000           
 0000           ;------------------------------------------------
 0000           ;  Clock and System Control Registers
 0000           ;------------------------------------------------
 0000           
 0000           ;;=============================================================================
 0000           ;;      M8C System Macros
 0000           ;;  These macros should be used when their functions are needed.
 0000           ;;=============================================================================
 0000           
 0000           ;----------------------------------------------------
 0000           ;  Swapping Register Banks
 0000           ;----------------------------------------------------
 0000               macro M8C_SetBank0
 0000               and   F, ~FLAG_XIO_MASK
 0000               macro M8C_SetBank1
 0000               or    F, FLAG_XIO_MASK
 0000               macro M8C_EnableGInt
 0000               or    F, FLAG_GLOBAL_IE
 0000               macro M8C_DisableGInt
 0000               and   F, ~FLAG_GLOBAL_IE
 0000               macro M8C_DisableIntMask
 0000               and   reg[@0], ~@1              ; disable specified interrupt enable bit
 0000               macro M8C_EnableIntMask
 0000               or    reg[@0], @1               ; enable specified interrupt enable bit
 0000               macro M8C_ClearIntFlag
 0000               mov   reg[@0], ~@1              ; clear specified interrupt enable bit
 0000               macro M8C_EnableWatchDog
 0000               and   reg[CPU_SCR], ~CPU_SCR_PORS_MASK
 0000               macro M8C_ClearWDT
 0000               mov   reg[RES_WDT], 00h
 0000               macro M8C_ClearWDTAndSleep
 0000               mov   reg[RES_WDT], 38h
 0000               macro M8C_Sleep
 0000               or    reg[CPU_SCR], CPU_SCR_SLEEP_MASK
 0000               ; The next instruction to be executed depends on the state of the
 0000               ; various interrupt enable bits. If some interrupts are enabled
 0000               ; and the global interrupts are disabled, the next instruction will
 0000               ; be the one that follows the invocation of this macro. If global
 0000               ; interrupts are also enabled then the next instruction will be
 0000               ; from the interrupt vector table. If no interrupts are enabled
 0000               ; then the CPU sleeps forever.
 0000               macro M8C_Stop
 0000               ; In general, you probably don't want to do this, but here's how:
 0000               or    reg[CPU_SCR], CPU_SCR_STOP_MASK
 0000               ; Next instruction to be executed is located in the interrupt
 0000               ; vector table entry for Power-On Reset.
 0000               macro M8C_Reset
 0000               ; Restore CPU to the power-on reset state.
 0000               mov A, 0
 0000               SSC
 0000               ; Next non-supervisor instruction will be at interrupt vector 0.
 0000               macro Suspend_CodeCompressor
 0000               or   F, 0
 0000               macro Resume_CodeCompressor
 0000               add  SP, 0
 0002           USB_bNumStringDescrs: EQU    2
 0000           
 0003           USB_NUM_ENDPOINTS:                          EQU 3 
 0002           USB_MAX_EP_NUMBER:                          EQU (USB_NUM_ENDPOINTS - 1) 
 0000           
 0000           ;--------------------------------------------------
 0000           ; Registers for USB API's.
 0000           ;--------------------------------------------------
 0074           USB_USBXCR:    EQU    USBXCR
 0040           USB_ADDR:      EQU    USBCR
 0041           USB_EP0CNT:    EQU    EP0CNT
 0042           USB_EP1CNT:    EQU    (EP0CNT + 1)
 0043           USB_EP2CNT:    EQU    (EP0CNT + 2)
 0044           USB_EP0MODE:   EQU    EP0MODE
 0045           USB_EP1MODE:   EQU    (EP0MODE + 1)
 0046           USB_EP2MODE:   EQU    (EP0MODE + 2)
 0050           USB_EP0DATA:   EQU    EP0DATA
 0058           USB_EP1DATA:   EQU    (EP0DATA + 8)
 0060           USB_EP2DATA:   EQU    (EP0DATA + 16)
 0000           
 0000           ;--------------------------------------------------
 0000           ; Endpoint 0 offsets (Table 9-2)
 0000           ;--------------------------------------------------
 0000           bmRequestType:                              EQU     0
 0001           bRequest:                                   EQU     1
 0002           wValue:                                     EQU     2
 0003           wValueHi:                                   EQU     3
 0002           wValueLo:                                   EQU     2
 0004           wIndex:                                     EQU     4
 0005           wIndexHi:                                   EQU     5
 0004           wIndexLo:                                   EQU     4
 0006           wLength:                                    EQU     6
 0007           wLengthHi:                                  EQU     7
 0006           wLengthLo:                                  EQU     6
 0000           
 0000           ;--------------------------------------------------
 0000           ; Request Types (Table 9-4)
 0000           ;--------------------------------------------------
 0000           USB_GET_STATUS:                             EQU    0x00
 0001           USB_CLEAR_FEATURE:                          EQU    0x01
 0003           USB_SET_FEATURE:                            EQU    0x03
 0005           USB_SET_ADDRESS:                            EQU    0x05
 0006           USB_GET_DESCRIPTOR:                         EQU    0x06
 0007           USB_SET_DESCRIPTOR:                         EQU    0x07
 0008           USB_GET_CONFIGURATION:                      EQU    0x08
 0009           USB_SET_CONFIGURATION:                      EQU    0x09
 000A           USB_GET_INTERFACE:                          EQU    0x0A
 000B           USB_SET_INTERFACE:                          EQU    0x0B
 000C           USB_SYNCH_FRAME:                            EQU    0x0C
 0000           
 0000           ;--------------------------------------------------
 0000           ; Descriptor Types (Table 9-5)
 0000           ;--------------------------------------------------
 0001           DESCR_TYPE_DEVICE:                          EQU     1
 0002           DESCR_TYPE_CONFIG:                          EQU     2
 0003           DESCR_TYPE_STRING:                          EQU     3
 0004           DESCR_TYPE_INTERFACE:                       EQU     4
 0005           DESCR_TYPE_ENDPOINT:                        EQU     5
 0006           DESCR_TYPE_DEVICE_QUALIFIER:                EQU     6
 0007           DESCR_TYPE_OTHER_SPEED:                     EQU     7
 0008           DESCR_TYPE_INTERFACE_POWER:                 EQU     8
 0000           
 0000           ;--------------------------------------------------
 0000           ; Feature Selectors (Table 9-6)
 0000           ;--------------------------------------------------
 0001           USB_DEVICE_REMOTE_WAKEUP:                   EQU    0x01
 0000           USB_ENDPOINT_HALT:                          EQU    0x00
 0002           USB_TEST_MODE:                              EQU    0x02
 0000           
 0000           ;--------------------------------------------------
 0000           ; USB Device Status (Figure 9-4)
 0000           ;--------------------------------------------------
 0000           USB_DEVICE_STATUS_BUS_POWERED:              EQU   0x00
 0001           USB_DEVICE_STATUS_SELF_POWERED:             EQU   0x01
 0002           USB_DEVICE_STATUS_REMOTE_WAKEUP:            EQU   0x02
 0000           
 0000           ;--------------------------------------------------
 0000           ; USB Endpoint Status (Figure 9-4)
 0000           ;--------------------------------------------------
 0001           USB_ENDPOINT_STATUS_HALT:                   EQU    0x01
 0000           
 0000           ;--------------------------------------------------
 0000           ; USB Endpoint Directions
 0000           ;--------------------------------------------------
 0080           USB_DIR_IN:                                 EQU    0x80
 0000           USB_DIR_OUT:                                EQU    0x00
 007F           USB_DIR_UNUSED:                             EQU    0x7F
 0000           
 0000           ;--------------------------------------------------
 0000           ; USB Endpoint Address Symbols 
 0000           ;--------------------------------------------------
 0000           EP0:                                        EQU    0x00
 0001           EP1:                                        EQU    0x01
 0002           EP2:                                        EQU    0x02
 0000           
 0000           ;--------------------------------------------------
 0000           ; Control Endpoint States--These act as JACC jump values
 0000           ;--------------------------------------------------
 0000           USB_TRANS_STATE_IDLE:                       EQU     0x00
 0002           USB_TRANS_STATE_CONTROL_READ:               EQU     0x02
 0004           USB_TRANS_STATE_CONTROL_WRITE:              EQU     0x04
 0006           USB_TRANS_STATE_NO_DATA_CONTROL:            EQU     0x06
 0000           
 0000           ;--------------------------------------------------
 0000           ; Control Write flag values to indicate pending data changes
 0000           ;--------------------------------------------------
 0001           USB_ADDRESS_CHANGE_PENDING:     EQU     0x01
 0000           
 0000           ;--------------------------------------------------
 0000           ; Register Constants for USB
 0000           ;--------------------------------------------------
 0080           USB_ADDR_ENABLE:                             EQU 0x80
 0040           USB_CNT_VALID:                               EQU 0x40
 0080           USB_CNT_TOGGLE:                             EQU 0x80

⌨️ 快捷键说明

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