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

📄 mainloop.ls1

📁 Comlete files for fullfile the slave USB function!
💻 LS1
📖 第 1 页 / 共 5 页
字号:
0022                 628     ?C0056:
0022 7F64            629             MOV     R7,#064H
0024 7E00            630             MOV     R6,#00H
0026 120000   F      631             LCALL   _loop_delay
                     632     ;                       
                     633     ;                }
                     634                             ; SOURCE LINE # 161
                     635     ;    }
                     636                             ; SOURCE LINE # 162
0029                 637     ?C0003:
0029 0500     F      638             INC     i?041+01H
002B E500     F      639             MOV     A,i?041+01H
002D 7002            640             JNZ     ?C0053
002F 0500     F      641             INC     i?041
0031                 642     ?C0053:
0031 C3              643             CLR     C
0032 9403            644             SUBB    A,#03H
0034 E500     F      645             MOV     A,i?041
0036 9400            646             SUBB    A,#00H
0038 40CD            647             JC      ?C0001
                     648     ; }
                     649                             ; SOURCE LINE # 163
003A                 650     ?C0006:
003A 22              651             RET     
                     652     ; END OF _blinkLED
                     653     
                     654     ; /* Configure Timer 0
                     655     ;    - Mode                  = 1
                     656     ;    - Interrupt             = ENABLED
                     657     ;    - Clock Source          = INTERNAL
                     658     ;    - Enable Gating Control = DISABLED
                     659     ; */
                     660     ; void init_timer0(void)
                     661     
----                 662             RSEG  ?PR?init_timer0?MAINLOOP
0000                 663     init_timer0:
                     664                             ; SOURCE LINE # 170
                     665     ; {
                     666                             ; SOURCE LINE # 171
                     667     ;     /* Configure Timer 0 as a 16 bit timer */
                     668     ;       TMOD &= 0XF0;  /* clear Timer 0, timer 1 left unchanged  */
                     669                             ; SOURCE LINE # 173
0000 5389F0          670             ANL     TMOD,#0F0H
                     671     ;       TMOD  |= 0X1;  /* set timer working mode 1 */
                     672                             ; SOURCE LINE # 174
A51 MACRO ASSEMBLER  MAINLOOP                                                             04/22/2005 11:54:48 PAGE    12

0003 438901          673             ORL     TMOD,#01H
                     674     ; 
                     675     ;       /* load the timer registers with the initial timer value */
                     676     ;       TL0 = 0X0;     /* value set by user  */
                     677                             ; SOURCE LINE # 177
0006 E4              678             CLR     A
0007 F58A            679             MOV     TL0,A
                     680     ;       TH0 = 0X0;     /* value set by user  */
                     681                             ; SOURCE LINE # 178
0009 F58C            682             MOV     TH0,A
                     683     ; 
                     684     ;       ET0 = 1;       /* Allow timer 0 interrupt */
                     685                             ; SOURCE LINE # 180
000B D2A9            686             SETB    ET0
                     687     ;       TR0 = 1;       /* Start timer 0 */
                     688                             ; SOURCE LINE # 181
000D D28C            689             SETB    TR0
                     690     ;       PT0 = 1;       /* Set timer 0 interrupt high priority */
                     691                             ; SOURCE LINE # 182
000F D2B9            692             SETB    PT0
                     693     ; 
                     694     ;       EA = 1;
                     695                             ; SOURCE LINE # 184
0011 D2AF            696             SETB    EA
                     697     ; }
                     698                             ; SOURCE LINE # 185
0013 22              699             RET     
                     700     ; END OF init_timer0
                     701     
                     702     ; 
                     703     ; void init_special_interrupts(void)
                     704     
----                 705             RSEG  ?PR?init_special_interrupts?MAINLOOP
0000                 706     init_special_interrupts:
                     707                             ; SOURCE LINE # 187
                     708     ; {
                     709                             ; SOURCE LINE # 188
                     710     ;       IT0 = 0;
                     711                             ; SOURCE LINE # 189
0000 C288            712             CLR     IT0
                     713     ;       EX0 = 1;        // allow external INT0 interrupt
                     714                             ; SOURCE LINE # 190
0002 D2A8            715             SETB    EX0
                     716     ;       PX0 = 0;        // set INT0 low interrupt priority
                     717                             ; SOURCE LINE # 191
0004 C2B8            718             CLR     PX0
                     719     ; }
                     720                             ; SOURCE LINE # 192
0006 22              721             RET     
                     722     ; END OF init_special_interrupts
                     723     
                     724     ; 
                     725     ; void init_port()
                     726     
----                 727             RSEG  ?PR?init_port?MAINLOOP
0000                 728     init_port:
                     729                             ; SOURCE LINE # 194
                     730     ; {
                     731                             ; SOURCE LINE # 195
                     732     ;       P0 = 0xFF;
                     733                             ; SOURCE LINE # 196
0000 7580FF          734             MOV     P0,#0FFH
                     735     ;       P1 = 0xFF;
                     736                             ; SOURCE LINE # 197
0003 7590FF          737             MOV     P1,#0FFH
                     738     ;       P2 = 0xFF;
A51 MACRO ASSEMBLER  MAINLOOP                                                             04/22/2005 11:54:48 PAGE    13

                     739                             ; SOURCE LINE # 198
0006 75A0FF          740             MOV     P2,#0FFH
                     741     ; 
                     742     ;       D12SUSPD = 0;   /* Prevents D12 to go into Suspend state */
                     743                             ; SOURCE LINE # 200
0009 C2B3            744             CLR     D12SUSPD
                     745     ; }
                     746                             ; SOURCE LINE # 201
000B 22              747             RET     
                     748     ; END OF init_port
                     749     
                     750     ; 
                     751     ; void main(void)
                     752     
----                 753             RSEG  ?PR?main?MAINLOOP
0000                 754     main:
                     755             USING   0
                     756                             ; SOURCE LINE # 203
                     757     ; {
                     758                             ; SOURCE LINE # 204
                     759     ;       BOOL in_loop = TRUE;
                     760                             ; SOURCE LINE # 205
0000 750001   F      761             MOV     in_loop?442,#01H
                     762     ; //    unsigned char key, i;
                     763     ; 
                     764     ;       init_port();
                     765                             ; SOURCE LINE # 208
0003 120000   F      766             LCALL   init_port
                     767     ; 
                     768     ;       init_timer0();
                     769                             ; SOURCE LINE # 210
0006 120000   F      770             LCALL   init_timer0
                     771     ; 
                     772     ;       init_special_interrupts();
                     773                             ; SOURCE LINE # 212
0009 120000   F      774             LCALL   init_special_interrupts
                     775     ; 
                     776     ;       bEPPflags.value = 0;    /* clear flags of bEPPflags */
                     777                             ; SOURCE LINE # 214
000C E4              778             CLR     A
000D F500     F      779             MOV     bEPPflags,A
000F F500     F      780             MOV     bEPPflags+01H,A
                     781     ;       
                     782     ;       /* Power on reset, lightup LEDs for 1 sec,
                     783     ;          disconnect and reconnect Soft-Connect */
                     784     ;       reconnect_USB();
                     785                             ; SOURCE LINE # 218
0011 120000   F      786             LCALL   reconnect_USB
0014                 787     ?C0010:
                     788     ; 
                     789     ;       /* Main program loop */
                     790     ;       while( in_loop ) {
                     791                             ; SOURCE LINE # 221
0014 E500     F      792             MOV     A,in_loop?442
0016 605D            793             JZ      ?C0017
                     794     ; 
                     795     ;               /* timer 0 overflow */
                     796     ;               if (bEPPflags.bits.timer) {
                     797                             ; SOURCE LINE # 224
0018 AF00     F      798             MOV     R7,bEPPflags
001A EF              799             MOV     A,R7
001B 30E014          800             JNB     ACC.0,?C0012
                     801     ;                       DISABLE;
                     802                             ; SOURCE LINE # 225
001E C2AF            803             CLR     EA
                     804     ;                       bEPPflags.bits.timer = 0;
A51 MACRO ASSEMBLER  MAINLOOP                                                             04/22/2005 11:54:48 PAGE    14

                     805                             ; SOURCE LINE # 226
0020 AF00     F      806             MOV     R7,bEPPflags
0022 EF              807             MOV     A,R7
0023 54FE            808             ANL     A,#0FEH
0025 F500     F      809             MOV     bEPPflags,A
                     810     ;                       ENABLE;
                     811                             ; SOURCE LINE # 227
0027 D2AF            812             SETB    EA
                     813     ;                       if(bEPPflags.bits.configuration)
                     814                             ; SOURCE LINE # 228
0029 AF00     F      815             MOV     R7,bEPPflags+01H
002B EF              816             MOV     A,R7
002C 30E003          817             JNB     ACC.0,?C0012
                     818     ;                               check_key_LED();
                     819                             ; SOURCE LINE # 229
002F 120000   F      820             LCALL   check_key_LED
                     821     ;               }
                     822                             ; SOURCE LINE # 230
0032                 823     ?C0012:
                     824     ; 
                     825     ;               if (bEPPflags.bits.bus_reset) {
                     826                             ; SOURCE LINE # 232
0032 AF00     F      827             MOV     R7,bEPPflags
0034 EF              828             MOV     A,R7
0035 C3              829             CLR     C
0036 13              830             RRC     A
0037 30E00B          831             JNB     ACC.0,?C0014
                     832     ;                       DISABLE;
                     833                             ; SOURCE LINE # 233
003A C2AF            834             CLR     EA
                     835     ;                       bEPPflags.bits.bus_reset = 0;
                     836                             ; SOURCE LINE # 234
003C AF00     F      837             MOV     R7,bEPPflags
003E EF              838             MOV     A,R7
003F 54FD            839             ANL     A,#0FDH
0041 F500     F      840             MOV     bEPPflags,A
                     841     ;                       ENABLE;
                     842                             ; SOURCE LINE # 235
0043 D2AF            843             SETB    EA
                     844     ;                       //D12SUSPD = 1; /* release D12 suspend control */
                     845     ;               } // if bus reset
                     846                             ; SOURCE LINE # 237
0045                 847     ?C0014:
                     848     ; 
                     849     ;               if (bEPPflags.bits.suspend) {
                     850                             ; SOURCE LINE # 239
0045 AF00     F      851             MOV     R7,bEPPflags
0047 EF              852             MOV     A,R7
0048 13              853             RRC     A
0049 13              854             RRC     A
004A 543F            855             ANL     A,#03FH

⌨️ 快捷键说明

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