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

📄 int0.lis

📁 实现2个ps/2接口转到1个USB接口功能
💻 LIS
📖 第 1 页 / 共 3 页
字号:
 0000                 REG_RESTORE CUR_PP
 0000                 REG_RESTORE PRV_PP
 0000              ENDIF
                export  _INT0_KB
                ;-----------------------------------------------
                ;@@variable
                ;-----------------------------------------------
                
                AREA InterruptRAM (RAM,REL,CON)
                
                ;@PSoC_UserCode_INIT@ (Do not change this line.)
                ;---------------------------------------------------
                ; Insert your custom declarations below this banner
                ;---------------------------------------------------
                EXPORT INT0_NEW
 0000            INT0_NEW:                          BLK   1    ;Receive temp when using INT0
                EXPORT INT0_TEMP
 0001            INT0_TEMP:                     BLK   1    ;Receive temp when using INT0
                EXPORT INT0_BITCOUNT
 0002            INT0_BITCOUNT:                 BLK   1    ;Receive bit counter when using INT0
                EXPORT INT0_BYTECOUNT
 0003            INT0_BYTECOUNT:                BLK   1    ;Receive byte counter when using INT0 
                EXPORT INT0_DATA
 0004            INT0_DATA:                             BLK   1    ;Receive byte counter when using INT0 
                EXPORT INT0_BYTE0
 0005            INT0_BYTE0:                        BLK   1    ;Receive data0 when using INT0  
                EXPORT INT0_BYTE1
 0006            INT0_BYTE1:                        BLK   1    ;Receive data1 when using INT0
                EXPORT INT0_BYTE2
 0007            INT0_BYTE2:                        BLK   1    ;Receive data2 when using INT0
                EXPORT INT0_BYTE3
 0008            INT0_BYTE3:                        BLK   1    ;Receive data3 when using INT0
                EXPORT INT0_BYTE4
 0009            INT0_BYTE4:                        BLK   1    ;Receive data4 counter when using INT0
                EXPORT INT0_BYTE5
 000A            INT0_BYTE5:                        BLK   1    ;Receive data5 counter when using INT0
                EXPORT INT0_BYTE6
 000B            INT0_BYTE6:                        BLK   1    ;Receive data6 counter when using INT0
                EXPORT INT0_BYTE7
 000C            INT0_BYTE7:                        BLK   1    ;Receive data7 counter when using INT0
 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: _INT0_KB
                ;
                ;  DESCRIPTION: Unless modified, this implements only a null handler stub.
                ;
                ;-----------------------------------------------------------------------------
 0000           _INT0_KB:
 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             [INT0_BITCOUNT] 
 0004 7600              INC             [INT0_NEW]
 0006 5D00          MOV         A, REG[P0DATA]                  ; got the data
 0008 5301          MOV         [INT0_TEMP],A
 000A 260101        AND         [INT0_TEMP],01h                 ; only the P0.0 is reserved                             
 000D                   
 000D 3C0202            CMP             [INT0_BITCOUNT],02h
 0010 A02B              JZ              RC_KB_BIT0
 0012 3C0203            CMP             [INT0_BITCOUNT],03h
 0015 A02C              JZ              RC_KB_BIT1                       
 0017 3C0204            CMP             [INT0_BITCOUNT],04h
 001A A02E              JZ              RC_KB_BIT2                       
 001C 3C0205            CMP             [INT0_BITCOUNT],05h
 001F A031              JZ              RC_KB_BIT3                       
 0021 3C0206            CMP             [INT0_BITCOUNT],06h
 0024 A035              JZ              RC_KB_BIT4                       
 0026 3C0207            CMP             [INT0_BITCOUNT],07h
 0029 A03A              JZ              RC_KB_BIT5                       
 002B 3C0208            CMP             [INT0_BITCOUNT],08h
 002E A040              JZ              RC_KB_BIT6                       
 0030 3C0209            CMP             [INT0_BITCOUNT],09h
 0033 A047              JZ              RC_KB_BIT7
 0035 3C020B            CMP             [INT0_BITCOUNT],0Bh
 0038 A04F              JZ              RC_KB_BYTE                       
 003A 80A7          JMP         END_RECEIVE
 003C               
 003C           RC_KB_BIT0:
 003C 5101              MOV             A,[INT0_TEMP]
 003E 2C04              OR              [INT0_DATA],A
 0040 80A1              JMP             END_RECEIVE
 0042           RC_KB_BIT1:
 0042 5101              MOV             A,[INT0_TEMP]
 0044 64                ASL             A
 0045 2C04              OR              [INT0_DATA],A
 0047 809A              JMP             END_RECEIVE
 0049           RC_KB_BIT2:
 0049 5101              MOV             A,[INT0_TEMP]
 004B 64                ASL             A
 004C 64                ASL             A
 004D 2C04              OR              [INT0_DATA],A
 004F 8092              JMP             END_RECEIVE
 0051           RC_KB_BIT3:
 0051 5101              MOV             A,[INT0_TEMP]
 0053 64                ASL             A
 0054 64                ASL             A
 0055 64                ASL             A
 0056 2C04              OR              [INT0_DATA],A
 0058 8089              JMP             END_RECEIVE             
 005A           RC_KB_BIT4:
 005A 5101              MOV             A,[INT0_TEMP]
 005C 64                ASL             A
 005D 64                ASL             A
 005E 64                ASL             A
 005F 64                ASL             A
 0060 2C04              OR              [INT0_DATA],A
 0062 807F              JMP             END_RECEIVE     
 0064           RC_KB_BIT5:
 0064 5101              MOV             A,[INT0_TEMP]
 0066 64                ASL             A
 0067 64                ASL             A
 0068 64                ASL             A
 0069 64                ASL             A
 006A 64                ASL             A
 006B 2C04              OR              [INT0_DATA],A
 006D 8074              JMP             END_RECEIVE     
 006F           RC_KB_BIT6:
 006F 5101              MOV             A,[INT0_TEMP]
 0071 64                ASL             A
 0072 64                ASL             A
 0073 64                ASL             A
 0074 64                ASL             A
 0075 64                ASL             A       
 0076 64                ASL             A
 0077 2C04              OR              [INT0_DATA],A
 0079 8068              JMP             END_RECEIVE     
 007B           RC_KB_BIT7:
 007B 5101              MOV             A,[INT0_TEMP]
 007D 64                ASL             A
 007E 64                ASL             A
 007F 64                ASL             A
 0080 64                ASL             A
 0081 64                ASL             A
 0082 64                ASL             A       
 0083 64                ASL             A
 0084 2C04              OR              [INT0_DATA],A
 0086 805B              JMP             END_RECEIVE     
 0088           RC_KB_BYTE:
 0088 7603              INC             [INT0_BYTECOUNT]
 008A 550200            MOV             [INT0_BITCOUNT],00h
 008D 3C0301            CMP             [INT0_BYTECOUNT],01h
 0090 A026              JZ              RC_KB_BYTE0
 0092 3C0302            CMP             [INT0_BYTECOUNT],02h
 0095 A026              JZ              RC_KB_BYTE1
 0097 3C0303            CMP             [INT0_BYTECOUNT],03h
 009A A026              JZ              RC_KB_BYTE2
 009C 3C0304            CMP             [INT0_BYTECOUNT],04h
 009F A026              JZ              RC_KB_BYTE3
 00A1 3C0305            CMP             [INT0_BYTECOUNT],05h
 00A4 A026              JZ              RC_KB_BYTE4
 00A6 3C0306            CMP             [INT0_BYTECOUNT],06h
 00A9 A026              JZ              RC_KB_BYTE5
 00AB 3C0307            CMP             [INT0_BYTECOUNT],07h
 00AE A026              JZ              RC_KB_BYTE6
 00B0 3C0308            CMP             [INT0_BYTECOUNT],08h
 00B3 A026              JZ              RC_KB_BYTE7
 00B5 802C              JMP             END_RECEIVE     
 00B7           RC_KB_BYTE0:
 00B7 5F0504            MOV             [INT0_BYTE0],[INT0_DATA]
 00BA 8027              JMP             END_RECEIVE
 00BC           RC_KB_BYTE1:
 00BC 5F0604            MOV             [INT0_BYTE1],[INT0_DATA]
 00BF 8022              JMP             END_RECEIVE
 00C1           RC_KB_BYTE2:
 00C1 5F0704            MOV             [INT0_BYTE2],[INT0_DATA]
 00C4 801D              JMP             END_RECEIVE
 00C6           RC_KB_BYTE3:
 00C6 5F0804            MOV             [INT0_BYTE3],[INT0_DATA]
 00C9 8018              JMP             END_RECEIVE
 00CB           RC_KB_BYTE4:
 00CB 5F0904            MOV             [INT0_BYTE4],[INT0_DATA]
 00CE 8013              JMP             END_RECEIVE
 00D0           RC_KB_BYTE5:
 00D0 5F0A04            MOV             [INT0_BYTE5],[INT0_DATA]
 00D3 800E              JMP             END_RECEIVE
 00D5           RC_KB_BYTE6:
 00D5 5F0B04            MOV             [INT0_BYTE6],[INT0_DATA]
 00D8 8009              JMP             END_RECEIVE
 00DA           RC_KB_BYTE7:
 00DA 5F0C04            MOV             [INT0_BYTE7],[INT0_DATA]
 00DD 550300            MOV             [INT0_BYTECOUNT],00h    
 00E0 8001              JMP             END_RECEIVE     
 00E2                   
 00E2           END_RECEIVE:
 00E2 7101          or    F, FLAG_GLOBAL_IE
 00E4 7E           reti
 00E5              ;---------------------------------------------------
 00E5              ; Insert your custom code above this banner
 00E5              ;---------------------------------------------------
 00E5              ;@PSoC_UserCode_END@ (Do not change this line.)
 00E5           
 00E5           ; end of file INT0.asm

⌨️ 快捷键说明

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