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

📄 mainloop.ls1

📁 Comlete files for fullfile the slave USB function!
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     856     ;                       //D12SUSPD = 1; /* release D12 suspend control */
                     857     ;               } // if bus reset
                     858                             ; SOURCE LINE # 237
0045                 859     ?C0014:
                     860     ; 
                     861     ;               if (bEPPflags.bits.suspend) {
                     862                             ; SOURCE LINE # 239
0045 AF00     F      863             MOV     R7,bEPPflags
0047 EF              864             MOV     A,R7
0048 13              865             RRC     A
0049 13              866             RRC     A
004A 543F            867             ANL     A,#03FH
004C 30E00B          868             JNB     ACC.0,?C0015
                     869     ;                       DISABLE;
                     870                             ; SOURCE LINE # 240
A51 MACRO ASSEMBLER  MAINLOOP                                                             03/23/2005 21:15:56 PAGE    15

004F C2AF            871             CLR     EA
                     872     ;                       bEPPflags.bits.suspend= 0;
                     873                             ; SOURCE LINE # 241
0051 AF00     F      874             MOV     R7,bEPPflags
0053 EF              875             MOV     A,R7
0054 54FB            876             ANL     A,#0FBH
0056 F500     F      877             MOV     bEPPflags,A
                     878     ;                       ENABLE;
                     879                             ; SOURCE LINE # 242
0058 D2AF            880             SETB    EA
                     881     ;                       //suspend_change();
                     882     ;               } // if suspend change
                     883                             ; SOURCE LINE # 244
005A                 884     ?C0015:
                     885     ; 
                     886     ;               if (bEPPflags.bits.setup_packet){
                     887                             ; SOURCE LINE # 246
005A AF00     F      888             MOV     R7,bEPPflags
005C EF              889             MOV     A,R7
005D 13              890             RRC     A
005E 13              891             RRC     A
005F 13              892             RRC     A
0060 541F            893             ANL     A,#01FH
0062 30E0AF          894             JNB     ACC.0,?C0010
                     895     ;                       DISABLE;
                     896                             ; SOURCE LINE # 247
0065 C2AF            897             CLR     EA
                     898     ;                       bEPPflags.bits.setup_packet = 0;
                     899                             ; SOURCE LINE # 248
0067 AF00     F      900             MOV     R7,bEPPflags
0069 EF              901             MOV     A,R7
006A 54F7            902             ANL     A,#0F7H
006C F500     F      903             MOV     bEPPflags,A
                     904     ;                       ENABLE;
                     905                             ; SOURCE LINE # 249
006E D2AF            906             SETB    EA
                     907     ;                       control_handler();
                     908                             ; SOURCE LINE # 250
0070 120000   F      909             LCALL   control_handler
                     910     ;               } // if setup_packet
                     911                             ; SOURCE LINE # 251
                     912     ; 
                     913     ;       } // Main Loop
                     914                             ; SOURCE LINE # 253
0073 809F            915             SJMP    ?C0010
                     916     ; 
                     917     ; }
                     918                             ; SOURCE LINE # 255
0075                 919     ?C0017:
0075 22              920             RET     
                     921     ; END OF main
                     922     
                     923     ; 
                     924     ; /* wakeup D12, make MCU into low power mode, then suspend D12 again */
                     925     ; void suspend_change(void)
                     926     
----                 927             RSEG  ?PR?suspend_change?MAINLOOP
0000                 928     suspend_change:
                     929                             ; SOURCE LINE # 258
                     930     ; {
                     931                             ; SOURCE LINE # 259
                     932     ;       if (D12SUSPD == 1)
                     933                             ; SOURCE LINE # 260
0000 30B302          934             JNB     D12SUSPD,?C0018
                     935     ;               D12SUSPD = 0;
                     936                             ; SOURCE LINE # 261
A51 MACRO ASSEMBLER  MAINLOOP                                                             03/23/2005 21:15:56 PAGE    16

0003 C2B3            937             CLR     D12SUSPD
0005                 938     ?C0018:
                     939     ;       
                     940     ;               P0 = 0xFF;
                     941                             ; SOURCE LINE # 263
0005 7580FF          942             MOV     P0,#0FFH
                     943     ;               P1 = 0xFF;
                     944                             ; SOURCE LINE # 264
0008 7590FF          945             MOV     P1,#0FFH
                     946     ;               P2 = 0xFF;
                     947                             ; SOURCE LINE # 265
000B 75A0FF          948             MOV     P2,#0FFH
                     949     ;               P3 = 0xFF;
                     950                             ; SOURCE LINE # 266
000E 75B0FF          951             MOV     P3,#0FFH
                     952     ;               D12SUSPD = 1;   /* suspend D12 */
                     953                             ; SOURCE LINE # 267
0011 D2B3            954             SETB    D12SUSPD
                     955     ;               PCON |= 0x02;   /* into low power mode */
                     956                             ; SOURCE LINE # 268
0013 438702          957             ORL     PCON,#02H
0016                 958     ?C0019:
                     959     ;               while (1) ;             /* hangup, only reset could wake up MCU */
                     960                             ; SOURCE LINE # 269
0016 80FE            961             SJMP    ?C0019
                     962     ; END OF suspend_change
                     963     
                     964     ; }
                     965     ; 
                     966     ; /* Stall Enpoints */
                     967     ; void stall_ep0(void)
                     968     
----                 969             RSEG  ?PR?stall_ep0?MAINLOOP
0000                 970     stall_ep0:
                     971             USING   0
                     972                             ; SOURCE LINE # 273
                     973     ; {
                     974                             ; SOURCE LINE # 274
                     975     ;       D12_SetEndpointStatus(0, 1);
                     976                             ; SOURCE LINE # 275
0000 7D01            977             MOV     R5,#01H
0002 E4              978             CLR     A
0003 FF              979             MOV     R7,A
0004 120000   F      980             LCALL   _D12_SetEndpointStatus
                     981     ;       D12_SetEndpointStatus(1, 1);
                     982                             ; SOURCE LINE # 276
0007 7D01            983             MOV     R5,#01H
0009 7F01            984             MOV     R7,#01H
000B 020000   F      985             LJMP    _D12_SetEndpointStatus
                     986     ; END OF stall_ep0
                     987     
                     988     ; }
                     989     ; 
                     990     ; void disconnect_USB(void)
                     991     
----                 992             RSEG  ?PR?disconnect_USB?MAINLOOP
0000                 993     disconnect_USB:
                     994             USING   0
                     995                             ; SOURCE LINE # 279
                     996     ; {
                     997                             ; SOURCE LINE # 280
                     998     ;       //D12_SetMode(D12_NOLAZYCLOCK|D12_CLOCKRUNNING, D12_SETTOONE | D12_CLOCK_12M);
                     999     ;       /* Clear Soft_Connect bit, disconnect pull-up resistor */
                    1000     ;       D12_SetMode(0x00, 0x00);
                    1001                             ; SOURCE LINE # 283
0000 E4             1002             CLR     A
A51 MACRO ASSEMBLER  MAINLOOP                                                             03/23/2005 21:15:56 PAGE    17

0001 FD             1003             MOV     R5,A
0002 FF             1004             MOV     R7,A
0003 020000   F     1005             LJMP    _D12_SetMode
                    1006     ; END OF disconnect_USB
                    1007     
                    1008     ; }
                    1009     ; 
                    1010     ; void connect_USB(void)
                    1011     
----                1012             RSEG  ?PR?connect_USB?MAINLOOP
0000                1013     connect_USB:
                    1014             USING   0
                    1015                             ; SOURCE LINE # 286
                    1016     ; {
                    1017                             ; SOURCE LINE # 287
                    1018     ;       unsigned int i;
                    1019     ;       // reset event flags
                    1020     ;       DISABLE;
                    1021                             ; SOURCE LINE # 290
0000 C2AF           1022             CLR     EA
                    1023     ;       bEPPflags.value = 0;    //for (i=0; i<11; i++)  bEPPflags.c_value[i] = 0;
                    1024                             ; SOURCE LINE # 291
0002 E4             1025             CLR     A
0003 F500     F     1026             MOV     bEPPflags,A
0005 F500     F     1027             MOV     bEPPflags+01H,A
                    1028     ;       ENABLE;
                    1029                             ; SOURCE LINE # 292
0007 D2AF           1030             SETB    EA
                    1031     ; 
                    1032     ;       // disable normal+sof interrupt
                    1033     ;       D12_SetDMA(0x00);
                    1034                             ; SOURCE LINE # 295
0009 FF             1035             MOV     R7,A
000A 120000   F     1036             LCALL   _D12_SetDMA
                    1037     ;       
                    1038     ;       // Initialize D12 working mode
                    1039     ;       D12_SetMode(D12_NOLAZYCLOCK|D12_CLOCKRUNNING|D12_SOFTCONNECT, D12_SETTOONE | D12_CL
                             OCK_12M);
                    1040                             ; SOURCE LINE # 298
000D 7D43           1041             MOV     R5,#043H
000F 7F16           1042             MOV     R7,#016H
0011 020000   F     1043             LJMP    _D12_SetMode
                    1044     ; END OF connect_USB
                    1045     
                    1046     ;       //D12_SetMode(D12_SOFTCONNECT, 0x00);   /* Enable softconnect */
                    1047     ; }
                    1048     ; 
                    1049     ; 
                    1050     ; void reconnect_USB(void)
                    1051     
----                1052             RSEG  ?PR?reconnect_USB?MAINLOOP
0000                1053     reconnect_USB:
                    1054             USING   0
                    1055                             ; SOURCE LINE # 303
                    1056     ; {
                    1057                             ; SOURCE LINE # 304
                    1058     ;       unsigned long clk_cnt;
                    1059     ; 
                    1060     ;       //Turn on LEDs
                    1061     ;       MCU_LED0 = 0; 
                    1062                             ; SOURCE LINE # 308
0000 C292           1063             CLR     MCU_LED0
                    1064     ;       MCU_LED1 = 0;
                    1065                             ; SOURCE LINE # 309
0002 C293           1066             CLR     MCU_LED1
                    1067     ; 
A51 MACRO ASSEMBLER  MAINLOOP                                                             03/23/2005 21:15:56 PAGE    18

                    1068     ;       //D12SUSPD = 0; /* wakeup D12 */
                    1069     ;       disconnect_USB();
                    1070                             ; SOURCE LINE # 312
0004 120000   F     1071             LCALL   disconnect_USB
                    1072     ; 
                    1073     ;       clk_cnt = ClockTicks;
                    1074                             ; SOURCE LINE # 314
0007 850000   F     1075             MOV     clk_cnt?946+03H,ClockTicks+03H
000A 850000   F     1076             MOV     clk_cnt?946+02H,ClockTicks+02H
000D 850000   F     1077             MOV     clk_cnt?946+01H,ClockTic

⌨️ 快捷键说明

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