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

📄 2402main.lst

📁 51单片机实验例程
💻 LST
📖 第 1 页 / 共 4 页
字号:
0101 120000   F      444             LCALL   ?C?ULDIV
0104 7400     F      445             MOV     A,#LOW (Disp_Tab)
0106 2F              446             ADD     A,R7
0107 F582            447             MOV     DPL,A
0109 7400     F      448             MOV     A,#HIGH (Disp_Tab)
010B 3E              449             ADDC    A,R6
010C F583            450             MOV     DPH,A
010E E4              451             CLR     A
010F 93              452             MOVC    A,@A+DPTR
0110 FF              453             MOV     R7,A
0111 E4              454             CLR     A
0112 8F00     F      455             MOV     LedOut+07H,R7
0114 F500     F      456             MOV     LedOut+06H,A
0116 F500     F      457             MOV     LedOut+05H,A
0118 F500     F      458             MOV     LedOut+04H,A
                     459     ;       LedOut[2]=Disp_Tab[LedNumVal%100/10]&0x7f;
                     460                             ; SOURCE LINE # 88
011A 7B64            461             MOV     R3,#064H
011C FA              462             MOV     R2,A
011D F9              463             MOV     R1,A
011E F8              464             MOV     R0,A
011F AF00     F      465             MOV     R7,LedNumVal+03H
0121 AE00     F      466             MOV     R6,LedNumVal+02H
0123 AD00     F      467             MOV     R5,LedNumVal+01H
0125 AC00     F      468             MOV     R4,LedNumVal
0127 120000   F      469             LCALL   ?C?ULDIV
012A AC00            470             MOV     R4,AR0
012C AD01            471             MOV     R5,AR1
012E AE02            472             MOV     R6,AR2
0130 AF03            473             MOV     R7,AR3
0132 E4              474             CLR     A
0133 7B0A            475             MOV     R3,#0AH
0135 FA              476             MOV     R2,A
0136 F9              477             MOV     R1,A
0137 F8              478             MOV     R0,A
0138 120000   F      479             LCALL   ?C?ULDIV
013B 7400     F      480             MOV     A,#LOW (Disp_Tab)
013D 2F              481             ADD     A,R7
013E F582            482             MOV     DPL,A
0140 7400     F      483             MOV     A,#HIGH (Disp_Tab)
0142 3E              484             ADDC    A,R6
0143 F583            485             MOV     DPH,A
0145 E4              486             CLR     A
0146 93              487             MOVC    A,@A+DPTR
0147 547F            488             ANL     A,#07FH
0149 FF              489             MOV     R7,A
014A E4              490             CLR     A
014B 8F00     F      491             MOV     LedOut+0BH,R7
014D F500     F      492             MOV     LedOut+0AH,A
014F F500     F      493             MOV     LedOut+09H,A
0151 F500     F      494             MOV     LedOut+08H,A
                     495     ;       LedOut[3]=Disp_Tab[LedNumVal%10]; 
                     496                             ; SOURCE LINE # 89
0153 7B0A            497             MOV     R3,#0AH
0155 FA              498             MOV     R2,A
0156 F9              499             MOV     R1,A
0157 F8              500             MOV     R0,A
0158 AF00     F      501             MOV     R7,LedNumVal+03H
015A AE00     F      502             MOV     R6,LedNumVal+02H
015C AD00     F      503             MOV     R5,LedNumVal+01H
015E AC00     F      504             MOV     R4,LedNumVal
0160 120000   F      505             LCALL   ?C?ULDIV
0163 7400     F      506             MOV     A,#LOW (Disp_Tab)
A51 MACRO ASSEMBLER  2402MAIN                                                             09/16/2009 23:41:28 PAGE     9

0165 2B              507             ADD     A,R3
0166 F582            508             MOV     DPL,A
0168 7400     F      509             MOV     A,#HIGH (Disp_Tab)
016A 3A              510             ADDC    A,R2
016B F583            511             MOV     DPH,A
016D E4              512             CLR     A
016E 93              513             MOVC    A,@A+DPTR
016F FF              514             MOV     R7,A
0170 E4              515             CLR     A
0171 8F00     F      516             MOV     LedOut+0FH,R7
0173 F500     F      517             MOV     LedOut+0EH,A
0175 F500     F      518             MOV     LedOut+0DH,A
0177 F500     F      519             MOV     LedOut+0CH,A
                     520     ;         
                     521     ;     for(i=0; i<4; i++) 
                     522                             ; SOURCE LINE # 91
0179 F500     F      523             MOV     i?140,A
017B                 524     ?C0012:
017B E500     F      525             MOV     A,i?140
017D C3              526             CLR     C
017E 9404            527             SUBB    A,#04H
0180 4003            528             JC      $ + 5H
0182 020000   F      529             LJMP    ?C0002
                     530     ;         {             
                     531                             ; SOURCE LINE # 92
                     532     ;               
                     533     ;           P0 =  LedOut[i];
                     534                             ; SOURCE LINE # 94
0185 E500     F      535             MOV     A,i?140
0187 25E0            536             ADD     A,ACC
0189 25E0            537             ADD     A,ACC
018B 2400     F      538             ADD     A,#LOW (LedOut)
018D F8              539             MOV     R0,A
018E 120000   F      540             LCALL   ?C?LLDIDATA
0191 8F80            541             MOV     P0,R7
                     542     ;               
                     543     ;               switch(i)                                         
                     544                             ; SOURCE LINE # 96
0193 E500     F      545             MOV     A,i?140
0195 14              546             DEC     A
0196 6011            547             JZ      ?C0017
0198 14              548             DEC     A
0199 6016            549             JZ      ?C0018
019B 14              550             DEC     A
019C 6017            551             JZ      ?C0019
019E 14              552             DEC     A
019F 601C            553             JZ      ?C0020
01A1 2404            554             ADD     A,#04H
01A3 701E            555             JNZ     ?C0015
                     556     ;          {        
                     557                             ; SOURCE LINE # 97
                     558     ;                       case 0:LS138A=0; LS138B=0; LS138C=0; break;         
                     559                             ; SOURCE LINE # 98
01A5                 560     ?C0016:
01A5 C2A2            561             CLR     LS138A
01A7 8002            562             SJMP    ?C0037
                     563     ;             case 1:LS138A=1; LS138B=0; LS138C=0; break;               
                     564                             ; SOURCE LINE # 99
01A9                 565     ?C0017:
01A9 D2A2            566             SETB    LS138A
01AB                 567     ?C0037:
01AB C2A3            568             CLR     LS138B
01AD C2A4            569             CLR     LS138C
01AF 8012            570             SJMP    ?C0015
                     571     ;             case 2:LS138A=0; LS138B=1; LS138C=0; break; 
                     572                             ; SOURCE LINE # 100
A51 MACRO ASSEMBLER  2402MAIN                                                             09/16/2009 23:41:28 PAGE    10

01B1                 573     ?C0018:
01B1 C2A2            574             CLR     LS138A
01B3 8002            575             SJMP    ?C0038
                     576     ;             case 3:LS138A=1; LS138B=1; LS138C=0; break; 
                     577                             ; SOURCE LINE # 101
01B5                 578     ?C0019:
01B5 D2A2            579             SETB    LS138A
01B7                 580     ?C0038:
01B7 D2A3            581             SETB    LS138B
01B9 C2A4            582             CLR     LS138C
01BB 8006            583             SJMP    ?C0015
                     584     ;                       case 4:LS138A=0; LS138B=0; LS138C=1; break;
                     585                             ; SOURCE LINE # 102
01BD                 586     ?C0020:
01BD C2A2            587             CLR     LS138A
01BF C2A3            588             CLR     LS138B
01C1 D2A4            589             SETB    LS138C
                     590     ;          }
                     591                             ; SOURCE LINE # 103
01C3                 592     ?C0015:
                     593     ;                
                     594     ;               delay(100);
                     595                             ; SOURCE LINE # 105
01C3 7F64            596             MOV     R7,#064H
01C5 7E00            597             MOV     R6,#00H
01C7 120000   F      598             LCALL   _delay
                     599     ;         }
                     600                             ; SOURCE LINE # 106
01CA 0500     F      601             INC     i?140
01CC 80AD            602             SJMP    ?C0012
                     603     ; END OF main
                     604     
                     605     ; 
                     606     ;         //  LS138A=1; LS138B=1; LS138C=1;    
                     607     ; 
                     608     ;    }
                     609     ; }
                     610     ; 
                     611     ; 
                     612     ; void delay(unsigned int i)
                     613     
----                 614             RSEG  ?PR?_delay?2402MAIN
0000                 615     _delay:
                     616             USING   0
                     617                             ; SOURCE LINE # 114
                     618     ;---- Variable 'i?242' assigned to Register 'R6/R7' ----
                     619     ; {
                     620                             ; SOURCE LINE # 115
                     621     ;     char j;
                     622     ;     for(i; i > 0; i--)
                     623                             ; SOURCE LINE # 117
0000                 624     ?C0022:
0000 D3              625             SETB    C
0001 EF              626             MOV     A,R7
0002 9400            627             SUBB    A,#00H
0004 EE              628             MOV     A,R6
0005 9400            629             SUBB    A,#00H
0007 4014            630             JC      ?C0028
                     631     ;         for(j = 200; j > 0; j--);
                     632                             ; SOURCE LINE # 118
                     633     ;---- Variable 'j?243' assigned to Register 'R5' ----
0009 7DC8            634             MOV     R5,#0C8H
000B                 635     ?C0025:
000B D3              636             SETB    C
000C ED              637             MOV     A,R5
000D 6480            638             XRL     A,#080H
A51 MACRO ASSEMBLER  2402MAIN                                                             09/16/2009 23:41:28 PAGE    11

000F 9480            639             SUBB    A,#080H
0011 4003            640             JC      ?C0024
0013 1D              641             DEC     R5
0014 80F5            642             SJMP    ?C0025
0016                 643     ?C0024:
0016 EF              644             MOV     A,R7
0017 1F              645             DEC     R7
0018 70E6            646             JNZ     ?C0022
001A 1E              647             DEC     R6
001B                 648     ?C0035:
001B 80E3            649             SJMP    ?C0022
                     650     ; }
                     651                             ; SOURCE LINE # 119
001D                 652     ?C0028:
001D 22              653             RET     
                     654     ; END OF _delay
                     655     
----                 656     CSEG    AT      0001BH
001B 020000   F      657             LJMP    T1zd
                     658     
                     659     ; 
                     660     ; 
                     661     ; /*************************************
                     662     ;  [ t1 (0.5ms)中断] 中断中做 PWM 输出
                     663     ;   ------------1000/(0.02ms*250)=200Hz
                     664     ; *************************************/
                     665     ; void T1zd(void) interrupt 3   //3 为定时器1的中断号  1 定时器0的中断号 0 外部中断1 2 外部
                             中断2  4 串口中断
                     666     
----                 667             RSEG  ?PR?T1zd?2402MAIN
                     668             USING   0
0000                 669     T1zd:
0000 C0E0            670             PUSH    ACC
0002 C0D0            671             PUSH    PSW
0004 75D000          672             MOV     PSW,#00H
0007 C000            673             PUSH    AR0
0009 C006            674             PUSH    AR6
000B C007            675             PUSH    AR7
                     676             USING   0

⌨️ 快捷键说明

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