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

📄 hidtherm.lst

📁 Cypress USB HID code
💻 LST
📖 第 1 页 / 共 5 页
字号:
0031=           button_machine:                         equ     31h             ; buttons/optics state machine
0033=           temp:                                           equ     33h             ; temporary register
0034=           event_machine:                          equ     34h
0035=           pending_data:                           equ     35h
0036=           last_button_state:                      equ     36h                                                     
003B=           int_temp:                                       equ     3Bh
003C=           led_brightness:                         equ     3Ch             ; LED brightness value
003D=           led_count:                                      equ     3Dh             ; LED PWM counter
003E=           eeprom_flag:                            equ     3Eh
003F=           eeprom_addr:                            equ     3Fh
0041=           eeprom_data:                            equ     41h
0042=           temp_addr:                                      equ     42h
0043=           temp_data:                                      equ     43h
0044=           ep0_transtype:                          equ     44h
                
                        ;**********************************
                        ; STATE MACHINE CONSTANTS
                        ; EP0 IN TRANSACTIONS
                
0000=           TRANS_NONE:                                             equ     00h
0002=           TRANS_CONTROL_READ:                             equ     02h
0004=           TRANS_CONTROL_WRITE:                    equ     04h
0006=           TRANS_NO_DATA_CONTROL:                  equ     06h
                
                
                        ;**********************************
                        ; FLAG CONSTANTS
                        ; EP0 NO-DATA CONTROL FLAGS
                
0000=           ADDRESS_CHANGE_PENDING:         equ     00h
0002=           NO_CHANGE_PENDING:                      equ     02h
                
                
                        ;**********************************
                        ; RESPONSE SIZES
                
0002=           DEVICE_STATUS_LENGTH:           equ     2
0001=           DEVICE_CONFIG_LENGTH:           equ     1
0002=           ENDPOINT_STALL_LENGTH:          equ 2
0002=           INTERFACE_STATUS_LENGTH:        equ 2
0001=           INTERFACE_ALTERNATE_LENGTH:     equ     1
                
                
                        ;**********************************
                        ; INTERFACE CONSTANTS
                
0000=           RF_PORT:                                        equ     port0
0001=           RFIN:                                           equ     01h
0004=           RFOUT:                                          equ     04h
                
0000=           TEMP_PORT:                                      equ     port0
0010=           TEMP_SS:                                        equ     10h
0020=           TEMP_SI:                                        equ     20h
0040=           TEMP_SO:                                        equ     40h
0080=           TEMP_SCK:                                       equ     80h
                
0000=           EE_PORT:                                        equ     port0
0008=           EE_SS:                                          equ     08h
0020=           EE_SI:                                          equ     20h
0040=           EE_SO:                                          equ     40h
0080=           EE_SCK:                                         equ     80h
                
0001=           BUTTON_PORT:                            equ     port1
0008=           SWITCH5:                                        equ     08h
0020=           SWITCH4:                                        equ     20h
0080=           SWITCH3:                                        equ     80h
                
0001=           LED_PORT:                                       equ     port1
0040=           ACTIVE:                                         equ     40h
0010=           ENUM:                                           equ     10h
0004=           AUX01:                                          equ     04h
0001=           AUX02:                                          equ     01h
                
0002=           NC:                                                     equ     02h
                
                
                        ;**********************************
                        ; Endpoint 1 data fields
                
00F0=           TEMP_INTDATA:                           equ     ep1_dmabuff0
00F1=           TEMP_FRACDATA:                          equ     ep1_dmabuff1
00F2=           BUTTON_DATA:                            equ     ep1_dmabuff2
00F3=           PORT0_DATA:                                     equ     ep1_dmabuff3
00F4=           PORT1_DATA:                                     equ     ep1_dmabuff4
00F5=           EP0_INTCOUNT:                           equ     ep1_dmabuff5
00F6=           EP1_INTCOUNT:                           equ     ep1_dmabuff6
00F7=           GPIO_INTCOUNT:                          equ     ep1_dmabuff7
                
                
                        ;**********************************
                        ; button machine states
                
000F=           BUTTON_DEBOUNCE:                        equ 15
000A=           BUTTON_ON:                                      equ     10
0005=           BUTTON_OFF:                                     equ     5
                
0000=           NO_BUTTON_DATA_PENDING:         equ     00h
0002=           BUTTON_DATA_PENDING:            equ     02h
                
0000=           NO_OPTIC_DATA_PENDING:          equ     00h
0002=           OPTIC_DATA_PENDING:                     equ     02h
                
0000=           NO_REPORT_PENDING:                      equ     00h
0002=           REPORT_PENDING:                         equ     02h
                
                
                        ;**********************************
                        ; SPI EEPROM constants
0000=           NO_EEPROM_DATA_AVAILABLE:       equ     00h
0002=           EEPROM_DATA_AVAILABLE:          equ     02h
                
0002=           EEPROM_WRITE:                           equ     02h
0003=           EEPROM_READ:                            equ     03h
0004=           EEPROM_WRDI:                            equ 04h
0006=           EEPROM_WREN:                            equ     06h
0005=           EEPROM_RDSR:                            equ     05h
0001=           EEPROM_WRSR:                            equ     01h
0008=           BP1:                                            equ     08h
0004=           BP0:                                            equ     04h
0002=           WEL:                                            equ     02h
0001=           WIP:                                            equ     01h
                
                
                        ;**********************************
                        ; SPI Temperature Sensor constants
0000=           TEMP_CTRL:                                      equ     00h
0001=           TEMP_FRAC:                                      equ     01h
0002=           TEMP_INT:                                       equ     02h
0010=           1SHOT:                                          equ     10h
0008=           R2:                                                     equ     08h
0004=           R1:                                                     equ     04h
0002=           R0:                                                     equ     02h
0001=           SD:                                                     equ     01h
                
                
                ;*************** interrupt vector table ****************
                
0000            ORG 00h                 
                
0000 80 1B [05] jmp     Main                            ; reset vector          
                
0002 81 28 [05] jmp     Bus_reset                       ; USB Bus Reset / PS2 interrupt
                
0004 81 39 [05] jmp     128us_timer                     ; 128us interrupt
                
0006 81 54 [05] jmp     1ms_timer                       ; 1.024ms interrupt
                
0008 81 C1 [05] jmp     Endpoint0                       ; endpoint 0 interrupt
                
000A 84 27 [05] jmp     Endpoint1                       ; endpoint 1 interrupt
                
000C 80 1A [05] jmp     Error                           ; endpoint 2 interrupt
                
000E 80 1A [05] jmp     Error                           ; SPI interrupt
                
0010 80 1A [05] jmp     Error                           ; Capture timer A interrupt
                
0012 80 1A [05] jmp     Error                           ; Capture timer B interrupt
                
0014 80 1A [05] jmp     Error                           ; GPIO interrupt
                
0016 84 44 [05] jmp Wakeup                              ; Wake-up interrupt
                
                
                ;************** program listing ************************
                
001A            ORG  1Ah
001A 00    [07] Error: halt
                
                
                ;*******************************************************
                ;
                ;       Interrupt handler: reset
                ;       Purpose: The program jumps to this routine when
                ;                the microcontroller has a power on reset.
                ;
                ;*******************************************************
                
001B            Main:
                        ;**********************************
                        ; set wakeup timer interval and disable XTALOUT 
001B 19 52 [04]         mov             A, WAKEUP_ADJUST2 | WAKEUP_ADJUST0 | INTERNAL_CLK 
001D 2A F8 [05]         iowr    clock_config
                
                        ;**********************************
                        ; setup data memory stack pointer
001F 19 68 [04]         mov             A, 68h
0021 30    [05]         swap    A, dsp          
                
                        ;**********************************
                        ; clear variables
0022 19 00 [04]         mov             A, 00h          
0024 31 21 [05]         mov             [ep0_in_machine], A
0026 31 23 [05]         mov             [configuration], A
0028 31 25 [05]         mov             [ep1_stall], A
002A 31 15 [05]         mov             [suspend_count], A
002C 31 28 [05]         mov             [debounce_count], A
002E 31 F0 [05]         mov             [ep1_dmabuff0], A
0030 31 F1 [05]         mov             [ep1_dmabuff1], A
0032 31 F2 [05]         mov             [ep1_dmabuff2], A
0034 31 F3 [05]         mov             [ep1_dmabuff3], A
0036 31 F4 [05]         mov             [ep1_dmabuff4], A
0038 31 F5 [05]         mov             [ep1_dmabuff5], A
003A 31 F6 [05]         mov             [ep1_dmabuff6], A
003C 31 F7 [05]         mov             [ep1_dmabuff7], A
003E 31 31 [05]         mov             [button_machine], A
0040 31 3B [05]         mov             [int_temp], A
0042 31 34 [05]         mov             [event_machine], A
0044 31 3C [05]         mov             [led_brightness], A
0046 31 3D [05]         mov             [led_count], A
0048 31 44 [05]         mov             [ep0_transtype], A
                
004A 19 08 [04]         mov             A, SWITCH5
004C 31 2C [05]         mov             [current_button_state], A
004E 31 36 [05]         mov             [last_button_state], A
                
0050 19 FF [04]         mov             A, FFh
0052 31 24 [05]         mov             [remote_wakeup], A
                
                

⌨️ 快捷键说明

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