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

📄 int1.lis

📁 实现2个ps/2接口转到1个USB接口功能
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0000              IF ( SYSTEM_LARGE_MEMORY_MODEL )
 0000                 REG_RESTORE MVW_PP
 0000                 REG_RESTORE MVR_PP
 0000                 REG_RESTORE IDX_PP
 0000                 REG_RESTORE CUR_PP
 0000                 REG_RESTORE PRV_PP
 0000              ENDIF
                export  _INT1_MS
                ;-----------------------------------------------
                ;@@variable
                ;-----------------------------------------------
                
                AREA InterruptRAM (RAM,REL,CON)
                
                ;@PSoC_UserCode_INIT@ (Do not change this line.)
                ;---------------------------------------------------
                ; Insert your custom declarations below this banner
                ;---------------------------------------------------
                EXPORT INT1_NEW
 0000            INT1_NEW:                          BLK   1    ;Receive temp when using INT1
                EXPORT INT1_TEMP
 0001            INT1_TEMP:                     BLK   1    ;Receive temp when using INT1
                EXPORT INT1_BITCOUNT
 0002            INT1_BITCOUNT:                 BLK   1    ;Receive bit counter when using INT1
                EXPORT INT1_BYTECOUNT
 0003            INT1_BYTECOUNT:                BLK   1    ;Receive byte counter when using INT1 
                EXPORT INT1_DATA
 0004            INT1_DATA:                             BLK   1    ;Receive byte counter when using INT1 
                EXPORT INT1_BYTE0
 0005            INT1_BYTE0:                        BLK   1    ;Receive data0 when using INT1  
                EXPORT INT1_BYTE1
 0006            INT1_BYTE1:                        BLK   1    ;Receive data1 when using INT1
                EXPORT INT1_BYTE2
 0007            INT1_BYTE2:                        BLK   1    ;Receive data2 when using INT1
                EXPORT INT1_BYTE3
 0008            INT1_BYTE3:                        BLK   1    ;Receive data3 when using INT1
                EXPORT INT1_BYTE4
 0009            INT1_BYTE4:                        BLK   1    ;Receive data4 counter when using INT1
                EXPORT INT1_BYTE5
 000A            INT1_BYTE5:                        BLK   1    ;Receive data5 counter when using INT1
                EXPORT INT1_BYTE6
 000B            INT1_BYTE6:                        BLK   1    ;Receive data6 counter when using INT1
                EXPORT INT1_BYTE7
 000C            INT1_BYTE7:                        BLK   1    ;Receive data7 counter when using INT1
 000D             
 000D           ;------------------------
 000D           ; Includes
 000D           ;------------------------
 000D           
 000D                   
 000D           ;------------------------
 000D           ;  Constant Definitions
 000D           ;------------------------
 000D           
 000D           
 000D           ;------------------------
 000D           ; Variable Allocation
 000D           ;------------------------
 000D           
 000D           
 000D           ;---------------------------------------------------
 000D           ; Insert your custom declarations above this banner
 000D           ;---------------------------------------------------
 000D           ;@PSoC_UserCode_END@ (Do not change this line.)
 000D           
 000D           
                AREA text (ROM, REL)
                
                ;-----------------------------------------------------------------------------
                ;  FUNCTION NAME: _INT1_KB
                ;
                ;  DESCRIPTION: Unless modified, this implements only a null handler stub.
                ;
                ;-----------------------------------------------------------------------------
 0000           _INT1_MS:
 0000           
 0000              ;@PSoC_UserCode_RX@ (Do not change this line.)
 0000              ;---------------------------------------------------
 0000              ; Insert your custom code below this banner
 0000              ;---------------------------------------------------
 0000              ;   NOTE: interrupt service routines must preserve
 0000              ;   the values of the A and X CPU registers.
 0000 70FE          and   F, ~FLAG_GLOBAL_IE
 0002 7602              INC             [INT1_BITCOUNT] 
 0004 7600              INC             [INT1_NEW]
 0006 5D00          MOV         A, REG[P0DATA]                  ; got the data
 0008 5301          MOV         [INT1_TEMP],A
 000A 260102        AND         [INT1_TEMP],02h                 ; only the P0.1 is reserved                             
 000D                   
 000D 3C0202            CMP             [INT1_BITCOUNT],02h
 0010 A02B              JZ              RC_MS_BIT0
 0012 3C0203            CMP             [INT1_BITCOUNT],03h
 0015 A02D              JZ              RC_MS_BIT1                       
 0017 3C0204            CMP             [INT1_BITCOUNT],04h
 001A A02E              JZ              RC_MS_BIT2                       
 001C 3C0205            CMP             [INT1_BITCOUNT],05h
 001F A030              JZ              RC_MS_BIT3                       
 0021 3C0206            CMP             [INT1_BITCOUNT],06h
 0024 A033              JZ              RC_MS_BIT4                       
 0026 3C0207            CMP             [INT1_BITCOUNT],07h
 0029 A037              JZ              RC_MS_BIT5                       
 002B 3C0208            CMP             [INT1_BITCOUNT],08h
 002E A03C              JZ              RC_MS_BIT6                       
 0030 3C0209            CMP             [INT1_BITCOUNT],09h
 0033 A042              JZ              RC_MS_BIT7
 0035 3C020B            CMP             [INT1_BITCOUNT],0Bh
 0038 A049              JZ              RC_MS_BYTE                       
 003A 80A1          JMP         END_RECEIVE
 003C               
 003C           RC_MS_BIT0:
 003C 5101              MOV             A,[INT1_TEMP]
 003E 67                ASR             A       
 003F 2C04              OR              [INT1_DATA],A
 0041 809A              JMP             END_RECEIVE
 0043           RC_MS_BIT1:
 0043 5101              MOV             A,[INT1_TEMP]
 0045 2C04              OR              [INT1_DATA],A
 0047 8094              JMP             END_RECEIVE
 0049           RC_MS_BIT2:
 0049 5101              MOV             A,[INT1_TEMP]
 004B 64                ASL             A
 004C 2C04              OR              [INT1_DATA],A
 004E 808D              JMP             END_RECEIVE
 0050           RC_MS_BIT3:
 0050 5101              MOV             A,[INT1_TEMP]
 0052 64                ASL             A
 0053 64                ASL             A
 0054 2C04              OR              [INT1_DATA],A
 0056 8085              JMP             END_RECEIVE             
 0058           RC_MS_BIT4:
 0058 5101              MOV             A,[INT1_TEMP]
 005A 64                ASL             A
 005B 64                ASL             A
 005C 64                ASL             A
 005D 2C04              OR              [INT1_DATA],A
 005F 807C              JMP             END_RECEIVE     
 0061           RC_MS_BIT5:
 0061 5101              MOV             A,[INT1_TEMP]
 0063 64                ASL             A
 0064 64                ASL             A
 0065 64                ASL             A
 0066 64                ASL             A
 0067 2C04              OR              [INT1_DATA],A
 0069 8072              JMP             END_RECEIVE                     
 006B           RC_MS_BIT6:
 006B 5101              MOV             A,[INT1_TEMP]
 006D 64                ASL             A
 006E 64                ASL             A
 006F 64                ASL             A
 0070 64                ASL             A
 0071 64                ASL             A
 0072 2C04              OR              [INT1_DATA],A
 0074 8067              JMP             END_RECEIVE     
 0076           RC_MS_BIT7:
 0076 5101              MOV             A,[INT1_TEMP]
 0078 64                ASL             A
 0079 64                ASL             A
 007A 64                ASL             A
 007B 64                ASL             A
 007C 64                ASL             A
 007D 64                ASL             A
 007E 2C04              OR              [INT1_DATA],A
 0080 805B              JMP             END_RECEIVE     
 0082           RC_MS_BYTE:
 0082 7603              INC             [INT1_BYTECOUNT]
 0084 550200            MOV             [INT1_BITCOUNT],00h
 0087 3C0301            CMP             [INT1_BYTECOUNT],01h
 008A A026              JZ              RC_MS_BYTE0
 008C 3C0302            CMP             [INT1_BYTECOUNT],02h
 008F A026              JZ              RC_MS_BYTE1
 0091 3C0303            CMP             [INT1_BYTECOUNT],03h
 0094 A026              JZ              RC_MS_BYTE2
 0096 3C0304            CMP             [INT1_BYTECOUNT],04h
 0099 A026              JZ              RC_MS_BYTE3
 009B 3C0305            CMP             [INT1_BYTECOUNT],05h
 009E A026              JZ              RC_MS_BYTE4
 00A0 3C0306            CMP             [INT1_BYTECOUNT],06h
 00A3 A026              JZ              RC_MS_BYTE5
 00A5 3C0307            CMP             [INT1_BYTECOUNT],07h
 00A8 A026              JZ              RC_MS_BYTE6
 00AA 3C0308            CMP             [INT1_BYTECOUNT],08h
 00AD A026              JZ              RC_MS_BYTE7
 00AF 802C              JMP             END_RECEIVE     
 00B1           RC_MS_BYTE0:
 00B1 5F0504            MOV             [INT1_BYTE0],[INT1_DATA]
 00B4 8027              JMP             END_RECEIVE
 00B6           RC_MS_BYTE1:
 00B6 5F0604            MOV             [INT1_BYTE1],[INT1_DATA]
 00B9 8022              JMP             END_RECEIVE
 00BB           RC_MS_BYTE2:
 00BB 5F0704            MOV             [INT1_BYTE2],[INT1_DATA]
 00BE 801D              JMP             END_RECEIVE
 00C0           RC_MS_BYTE3:
 00C0 5F0804            MOV             [INT1_BYTE3],[INT1_DATA]
 00C3 8018              JMP             END_RECEIVE
 00C5           RC_MS_BYTE4:
 00C5 5F0904            MOV             [INT1_BYTE4],[INT1_DATA]
 00C8 8013              JMP             END_RECEIVE
 00CA           RC_MS_BYTE5:
 00CA 5F0A04            MOV             [INT1_BYTE5],[INT1_DATA]
 00CD 800E              JMP             END_RECEIVE
 00CF           RC_MS_BYTE6:
 00CF 5F0B04            MOV             [INT1_BYTE6],[INT1_DATA]
 00D2 8009              JMP             END_RECEIVE
 00D4           RC_MS_BYTE7:
 00D4 5F0C04            MOV             [INT1_BYTE7],[INT1_DATA]
 00D7 550300            MOV             [INT1_BYTECOUNT],00h    
 00DA 8001              JMP             END_RECEIVE     
 00DC                   
 00DC           END_RECEIVE:
 00DC 7101          or    F, FLAG_GLOBAL_IE
 00DE 7E           reti
 00DF              ;---------------------------------------------------
 00DF              ; Insert your custom code above this banner
 00DF              ;---------------------------------------------------
 00DF              ;@PSoC_UserCode_END@ (Do not change this line.)
 00DF           
 00DF           ; end of file INT1.asm

⌨️ 快捷键说明

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