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

📄 mainloop.ls1

📁 Comlete files for fullfile the slave USB function!
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     628                             ; SOURCE LINE # 156
0017 C293            629             CLR     MCU_LED1
                     630     ;                       loop_delay(100);
                     631                             ; SOURCE LINE # 157
0019 7F64            632             MOV     R7,#064H
001B 7E00            633             MOV     R6,#00H
001D 120000   F      634             LCALL   _loop_delay
                     635     ;                       MCU_LED1 = 1;
                     636                             ; SOURCE LINE # 158
0020 D293            637             SETB    MCU_LED1
                     638     ;                       loop_delay(100);
                     639                             ; SOURCE LINE # 159
0022                 640     ?C0056:
0022 7F64            641             MOV     R7,#064H
0024 7E00            642             MOV     R6,#00H
0026 120000   F      643             LCALL   _loop_delay
                     644     ;                       
                     645     ;                }
                     646                             ; SOURCE LINE # 161
                     647     ;    }
                     648                             ; SOURCE LINE # 162
0029                 649     ?C0003:
0029 0500     F      650             INC     i?041+01H
002B E500     F      651             MOV     A,i?041+01H
002D 7002            652             JNZ     ?C0053
002F 0500     F      653             INC     i?041
0031                 654     ?C0053:
0031 C3              655             CLR     C
0032 9403            656             SUBB    A,#03H
0034 E500     F      657             MOV     A,i?041
0036 9400            658             SUBB    A,#00H
0038 40CD            659             JC      ?C0001
                     660     ; }
                     661                             ; SOURCE LINE # 163
003A                 662     ?C0006:
003A 22              663             RET     
                     664     ; END OF _blinkLED
                     665     
                     666     ; /* Configure Timer 0
                     667     ;    - Mode                  = 1
                     668     ;    - Interrupt             = ENABLED
                     669     ;    - Clock Source          = INTERNAL
                     670     ;    - Enable Gating Control = DISABLED
                     671     ; */
                     672     ; void init_timer0(void)
A51 MACRO ASSEMBLER  MAINLOOP                                                             03/23/2005 21:15:56 PAGE    12

                     673     
----                 674             RSEG  ?PR?init_timer0?MAINLOOP
0000                 675     init_timer0:
                     676                             ; SOURCE LINE # 170
                     677     ; {
                     678                             ; SOURCE LINE # 171
                     679     ;     /* Configure Timer 0 as a 16 bit timer */
                     680     ;       TMOD &= 0XF0;  /* clear Timer 0, timer 1 left unchanged  */
                     681                             ; SOURCE LINE # 173
0000 5389F0          682             ANL     TMOD,#0F0H
                     683     ;       TMOD  |= 0X1;  /* set timer working mode 1 */
                     684                             ; SOURCE LINE # 174
0003 438901          685             ORL     TMOD,#01H
                     686     ; 
                     687     ;       /* load the timer registers with the initial timer value */
                     688     ;       TL0 = 0X0;     /* value set by user  */
                     689                             ; SOURCE LINE # 177
0006 E4              690             CLR     A
0007 F58A            691             MOV     TL0,A
                     692     ;       TH0 = 0X0;     /* value set by user  */
                     693                             ; SOURCE LINE # 178
0009 F58C            694             MOV     TH0,A
                     695     ; 
                     696     ;       ET0 = 1;       /* Allow timer 0 interrupt */
                     697                             ; SOURCE LINE # 180
000B D2A9            698             SETB    ET0
                     699     ;       TR0 = 1;       /* Start timer 0 */
                     700                             ; SOURCE LINE # 181
000D D28C            701             SETB    TR0
                     702     ;       PT0 = 1;       /* Set timer 0 interrupt high priority */
                     703                             ; SOURCE LINE # 182
000F D2B9            704             SETB    PT0
                     705     ; 
                     706     ;       EA = 1;
                     707                             ; SOURCE LINE # 184
0011 D2AF            708             SETB    EA
                     709     ; }
                     710                             ; SOURCE LINE # 185
0013 22              711             RET     
                     712     ; END OF init_timer0
                     713     
                     714     ; 
                     715     ; void init_special_interrupts(void)
                     716     
----                 717             RSEG  ?PR?init_special_interrupts?MAINLOOP
0000                 718     init_special_interrupts:
                     719                             ; SOURCE LINE # 187
                     720     ; {
                     721                             ; SOURCE LINE # 188
                     722     ;       IT0 = 0;
                     723                             ; SOURCE LINE # 189
0000 C288            724             CLR     IT0
                     725     ;       EX0 = 1;        // allow external INT0 interrupt
                     726                             ; SOURCE LINE # 190
0002 D2A8            727             SETB    EX0
                     728     ;       PX0 = 0;        // set INT0 low interrupt priority
                     729                             ; SOURCE LINE # 191
0004 C2B8            730             CLR     PX0
                     731     ; }
                     732                             ; SOURCE LINE # 192
0006 22              733             RET     
                     734     ; END OF init_special_interrupts
                     735     
                     736     ; 
                     737     ; void init_port()
                     738     
A51 MACRO ASSEMBLER  MAINLOOP                                                             03/23/2005 21:15:56 PAGE    13

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

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

⌨️ 快捷键说明

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