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

📄 isr.ls1

📁 Comlete files for fullfile the slave USB function!
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     199     ;       ClockTicks++;
                     200                             ; SOURCE LINE # 53
000B E500     F      201             MOV     A,ClockTicks+03H
000D 2401            202             ADD     A,#01H
000F F500     F      203             MOV     ClockTicks+03H,A
0011 E4              204             CLR     A
0012 3500     F      205             ADDC    A,ClockTicks+02H
0014 F500     F      206             MOV     ClockTicks+02H,A
0016 E4              207             CLR     A
0017 3500     F      208             ADDC    A,ClockTicks+01H
0019 F500     F      209             MOV     ClockTicks+01H,A
001B E4              210             CLR     A
001C 3500     F      211             ADDC    A,ClockTicks
001E F500     F      212             MOV     ClockTicks,A
                     213     ;       bEPPflags.bits.timer = 1;
                     214                             ; SOURCE LINE # 54
0020 AF00     F      215             MOV     R7,bEPPflags
0022 EF              216             MOV     A,R7
0023 4401            217             ORL     A,#01H
0025 F500     F      218             MOV     bEPPflags,A
                     219     ;       ENABLE;
                     220                             ; SOURCE LINE # 55
0027 D2AF            221             SETB    EA
                     222     ; }
                     223                             ; SOURCE LINE # 56
0029 D007            224             POP     AR7
002B D0D0            225             POP     PSW
002D D0E0            226             POP     ACC
002F 32              227             RETI    
                     228     ; END OF timer_isr
                     229     
----                 230     CSEG    AT      00003H
0003 020000   F      231             LJMP    usb_isr
                     232     
                     233     ; 
                     234     ; usb_isr() interrupt INTERRUPT_INT0_Overflow
                     235     
----                 236             RSEG  ?PR?usb_isr?ISR
                     237             USING   0
0000                 238     usb_isr:
0000 C0E0            239             PUSH    ACC
0002 C0F0            240             PUSH    B
0004 C083            241             PUSH    DPH
0006 C082            242             PUSH    DPL
0008 C0D0            243             PUSH    PSW
000A 75D000          244             MOV     PSW,#00H
000D C000            245             PUSH    AR0
000F C001            246             PUSH    AR1
0011 C002            247             PUSH    AR2
0013 C003            248             PUSH    AR3
0015 C004            249             PUSH    AR4
0017 C005            250             PUSH    AR5
0019 C006            251             PUSH    AR6
001B C007            252             PUSH    AR7
                     253             USING   0
                     254                             ; SOURCE LINE # 58
                     255     ; {
                     256     ;       DISABLE;
A51 MACRO ASSEMBLER  ISR                                                                  04/22/2005 11:54:50 PAGE     5

                     257                             ; SOURCE LINE # 60
001D C2AF            258             CLR     EA
                     259     ;       fn_usb_isr();
                     260                             ; SOURCE LINE # 61
001F 120000   F      261             LCALL   fn_usb_isr
                     262     ;       ENABLE;
                     263                             ; SOURCE LINE # 62
0022 D2AF            264             SETB    EA
                     265     ; }
                     266                             ; SOURCE LINE # 63
0024 D007            267             POP     AR7
0026 D006            268             POP     AR6
0028 D005            269             POP     AR5
002A D004            270             POP     AR4
002C D003            271             POP     AR3
002E D002            272             POP     AR2
0030 D001            273             POP     AR1
0032 D000            274             POP     AR0
0034 D0D0            275             POP     PSW
0036 D082            276             POP     DPL
0038 D083            277             POP     DPH
003A D0F0            278             POP     B
003C D0E0            279             POP     ACC
003E 32              280             RETI    
                     281     ; END OF usb_isr
                     282     
                     283     ; 
                     284     ; /* Interrupt service subroutine */
                     285     ; void fn_usb_isr()
                     286     
----                 287             RSEG  ?PR?fn_usb_isr?ISR
0000                 288     fn_usb_isr:
                     289             USING   0
                     290                             ; SOURCE LINE # 66
                     291     ; {
                     292                             ; SOURCE LINE # 67
                     293     ;       unsigned int i_st;
                     294     ; 
                     295     ;       bEPPflags.bits.in_isr = 1;
                     296                             ; SOURCE LINE # 70
0000 AF00     F      297             MOV     R7,bEPPflags
0002 EF              298             MOV     A,R7
0003 4420            299             ORL     A,#020H
0005 F500     F      300             MOV     bEPPflags,A
                     301     ; 
                     302     ;       i_st = D12_ReadInterruptRegister();
                     303                             ; SOURCE LINE # 72
0007 120000   F      304             LCALL   D12_ReadInterruptRegister
000A 8E00     F      305             MOV     i_st?241,R6
000C 8F00     F      306             MOV     i_st?241+01H,R7
                     307     ; 
                     308     ;       if(i_st != 0) {
                     309                             ; SOURCE LINE # 74
000E E500     F      310             MOV     A,i_st?241+01H
0010 4500     F      311             ORL     A,i_st?241
0012 6061            312             JZ      ?C0003
                     313     ;               if(i_st & D12_INT_BUSRESET) {
                     314                             ; SOURCE LINE # 75
0014 E500     F      315             MOV     A,i_st?241+01H
0016 30E60A          316             JNB     ACC.6,?C0004
                     317     ;                       bus_reset();
                     318                             ; SOURCE LINE # 76
0019 120000   F      319             LCALL   bus_reset
                     320     ;                       bEPPflags.bits.bus_reset = 1;
                     321                             ; SOURCE LINE # 77
001C AF00     F      322             MOV     R7,bEPPflags
A51 MACRO ASSEMBLER  ISR                                                                  04/22/2005 11:54:50 PAGE     6

001E EF              323             MOV     A,R7
001F 4402            324             ORL     A,#02H
0021 F500     F      325             MOV     bEPPflags,A
                     326     ;               }
                     327                             ; SOURCE LINE # 78
0023                 328     ?C0004:
                     329     ;               if(i_st & D12_INT_EOT)
                     330                             ; SOURCE LINE # 79
0023                 331     ?C0005:
                     332     ;                       ;
                     333     ;               if(i_st & D12_INT_SUSPENDCHANGE)
                     334                             ; SOURCE LINE # 81
0023 E500     F      335             MOV     A,i_st?241+01H
0025 30E707          336             JNB     ACC.7,?C0006
                     337     ;                       bEPPflags.bits.suspend = 1;
                     338                             ; SOURCE LINE # 82
0028 AF00     F      339             MOV     R7,bEPPflags
002A EF              340             MOV     A,R7
002B 4404            341             ORL     A,#04H
002D F500     F      342             MOV     bEPPflags,A
002F                 343     ?C0006:
                     344     ; 
                     345     ;               if(i_st & D12_INT_ENDP0IN)
                     346                             ; SOURCE LINE # 84
002F E500     F      347             MOV     A,i_st?241+01H
0031 30E103          348             JNB     ACC.1,?C0007
                     349     ;                       /* Control Endpoint IN Interrupt */
                     350     ;                       ProcessCtrlInEP();
                     351                             ; SOURCE LINE # 86
0034 120000   F      352             LCALL   ProcessCtrlInEP
0037                 353     ?C0007:
                     354     ;               if(i_st & D12_INT_ENDP0OUT) 
                     355                             ; SOURCE LINE # 87
0037 E500     F      356             MOV     A,i_st?241+01H
0039 30E003          357             JNB     ACC.0,?C0008
                     358     ;                       /* Control Endpoint OUT Interrupt */
                     359     ;                       ProcessCtrlOutEP();
                     360                             ; SOURCE LINE # 89
003C 120000   F      361             LCALL   ProcessCtrlOutEP
003F                 362     ?C0008:
                     363     ;               if(i_st & D12_INT_ENDP1IN) {
                     364                             ; SOURCE LINE # 90
003F E500     F      365             MOV     A,i_st?241+01H
0041 30E30C          366             JNB     ACC.3,?C0009
                     367     ;                       /* Endpoint 1 IN Interrupt (generic input) */
                     368     ;                       D12_ReadLastTransactionStatus(3); /* Clear interrupt flag */
                     369                             ; SOURCE LINE # 92
0044 7F03            370             MOV     R7,#03H
0046 120000   F      371             LCALL   _D12_ReadLastTransactionStatus
                     372     ;                       /* send data back to host */
                     373     ;                       bEPPflags.bits.ep1_sxdone = 1;  //host request to send data
                     374                             ; SOURCE LINE # 94
0049 AF00     F      375             MOV     R7,bEPPflags+01H
004B EF              376             MOV     A,R7
004C 4408            377             ORL     A,#08H
004E F500     F      378             MOV     bEPPflags+01H,A
                     379     ;               }
                     380                             ; SOURCE LINE # 95
0050                 381     ?C0009:
                     382     ;               if(i_st & D12_INT_ENDP1OUT)
                     383                             ; SOURCE LINE # 96
0050 E500     F      384             MOV     A,i_st?241+01H
0052 30E220          385             JNB     ACC.2,?C0003
                     386     ;               {   /* Endpoint 1 OUT Interrupt (generic output) */
                     387                             ; SOURCE LINE # 97
                     388     ;                       unsigned char len;
A51 MACRO ASSEMBLER  ISR                                                                  04/22/2005 11:54:50 PAGE     7

                     389     ; 
                     390     ;                       D12_ReadLastTransactionStatus(2); /* Clear interrupt flag */
                     391                             ; SOURCE LINE # 100
0055 7F02            392             MOV     R7,#02H
0057 120000   F      393             LCALL   _D12_ReadLastTransactionStatus
                     394     ;                       len = D12_ReadEndpoint(2, GenEpBuf, sizeof(GenEpBuf));
                     395                             ; SOURCE LINE # 101
005A 7B00            396             MOV     R3,#00H
005C 7A00     F      397             MOV     R2,#HIGH (GenEpBuf)
005E 7900     F      398             MOV     R1,#LOW (GenEpBuf)
0060 750010   F      399             MOV     ?_D12_ReadEndpoint?BYTE+04H,#010H
0063 7F02            400             MOV     R7,#02H
0065 120000   F      401             LCALL   _D12_ReadEndpoint
0068 8F00     F      402             MOV     len?240,R7
                     403     ;                       if(len != 0)
                     404                             ; SOURCE LINE # 102
006A E500     F      405             MOV     A,len?240

⌨️ 快捷键说明

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