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

📄 2402main.lst

📁 51单片机实验例程
💻 LST
📖 第 1 页 / 共 4 页
字号:
                     212                             ; SOURCE LINE # 45
0000 438911          213             ORL     TMOD,#011H
                     214     ;     TH1 = 0xfe; //11.0592
                     215                             ; SOURCE LINE # 46
0003 758DFE          216             MOV     TH1,#0FEH
                     217     ;       TL1 = 0x33;
                     218                             ; SOURCE LINE # 47
0006 758B33          219             MOV     TL1,#033H
                     220     ;       TR1  = 1; 
                     221                             ; SOURCE LINE # 48
0009 D28E            222             SETB    TR1
                     223     ;     IE =0x8A;
                     224                             ; SOURCE LINE # 49
000B 75A88A          225             MOV     IE,#08AH
                     226     ; 
                     227     ; }
                     228                             ; SOURCE LINE # 51
000E 22              229             RET     
                     230     ; END OF system_ini
                     231     
                     232     ; 
                     233     ;  main()
                     234     
----                 235             RSEG  ?PR?main?2402MAIN
0000                 236     main:
                     237             USING   0
                     238                             ; SOURCE LINE # 53
                     239     ;  {    unsigned char i;
                     240                             ; SOURCE LINE # 54
                     241     ;       unsigned char pDat[8];
                     242     ; 
A51 MACRO ASSEMBLER  2402MAIN                                                             09/16/2009 23:41:28 PAGE     5

                     243     ;    system_ini();
                     244                             ; SOURCE LINE # 57
0000 120000   F      245             LCALL   system_ini
0003                 246     ?C0002:
                     247     ;    while(1)
                     248                             ; SOURCE LINE # 58
                     249     ;    {
                     250                             ; SOURCE LINE # 59
                     251     ;                //========================IIC 读取
                     252     ;       if(K2 == 0)        //第二个按钮读取数据
                     253                             ; SOURCE LINE # 61
0003 209144          254             JB      K2,?C0004
                     255     ;       { 
                     256                             ; SOURCE LINE # 62
                     257     ;         IRcvStr(AT24C02, 0 , &pDat[0], 8); 
                     258                             ; SOURCE LINE # 63
0006 7B00            259             MOV     R3,#00H
0008 7A00     F      260             MOV     R2,#HIGH (pDat?141)
000A 7900     F      261             MOV     R1,#LOW (pDat?141)
000C 750008   F      262             MOV     ?_IRcvStr?BYTE+05H,#08H
000F E4              263             CLR     A
0010 FD              264             MOV     R5,A
0011 7FA0            265             MOV     R7,#0A0H
0013 120000   F      266             LCALL   _IRcvStr
                     267     ;         for (i=0; i<4; i++)
                     268                             ; SOURCE LINE # 64
0016 E4              269             CLR     A
0017 F500     F      270             MOV     i?140,A
0019                 271     ?C0005:
                     272     ;         {
                     273                             ; SOURCE LINE # 65
                     274     ;               D[14+i]=pDat[i*2+0]+pDat[i*2+1]*0x100;
                     275                             ; SOURCE LINE # 66
0019 E500     F      276             MOV     A,i?140
001B 25E0            277             ADD     A,ACC
001D 2400     F      278             ADD     A,#LOW (pDat?141+01H)
001F F8              279             MOV     R0,A
0020 E6              280             MOV     A,@R0
0021 FE              281             MOV     R6,A
0022 E500     F      282             MOV     A,i?140
0024 25E0            283             ADD     A,ACC
0026 2400     F      284             ADD     A,#LOW (pDat?141)
0028 F8              285             MOV     R0,A
0029 E6              286             MOV     A,@R0
002A 7C00            287             MOV     R4,#00H
002C 2400            288             ADD     A,#00H
002E FF              289             MOV     R7,A
002F EC              290             MOV     A,R4
0030 3E              291             ADDC    A,R6
0031 FE              292             MOV     R6,A
0032 E4              293             CLR     A
0033 FD              294             MOV     R5,A
0034 E500     F      295             MOV     A,i?140
0036 25E0            296             ADD     A,ACC
0038 25E0            297             ADD     A,ACC
003A 2400     F      298             ADD     A,#LOW (D+038H)
003C F8              299             MOV     R0,A
003D 120000   F      300             LCALL   ?C?LSTIDATA
                     301     ;               Count1 = D[14];
                     302                             ; SOURCE LINE # 67
0040 850000   F      303             MOV     Count1,D+03BH
                     304     ;          }         
                     305                             ; SOURCE LINE # 68
0043 0500     F      306             INC     i?140
0045 E500     F      307             MOV     A,i?140
0047 B404CF          308             CJNE    A,#04H,?C0005
A51 MACRO ASSEMBLER  2402MAIN                                                             09/16/2009 23:41:28 PAGE     6

                     309     ;        }
                     310                             ; SOURCE LINE # 69
004A                 311     ?C0004:
                     312     ; 
                     313     ;          //========================IIC 保存
                     314     ;          if(K1 == 0)    //第一个按钮保存数据
                     315                             ; SOURCE LINE # 72
004A 209052          316             JB      K1,?C0008
                     317     ;          { 
                     318                             ; SOURCE LINE # 73
                     319     ;             D[14]= Count1;
                     320                             ; SOURCE LINE # 74
004D E4              321             CLR     A
004E 850000   F      322             MOV     D+03BH,Count1
0051 F500     F      323             MOV     D+03AH,A
0053 F500     F      324             MOV     D+039H,A
0055 F500     F      325             MOV     D+038H,A
                     326     ;                for (i=0; i<4; i++)
                     327                             ; SOURCE LINE # 75
0057 F500     F      328             MOV     i?140,A
0059                 329     ?C0009:
                     330     ;            {
                     331                             ; SOURCE LINE # 76
                     332     ;                  pDat[i*2+0]=D[14+i];
                     333                             ; SOURCE LINE # 77
0059 E500     F      334             MOV     A,i?140
005B 25E0            335             ADD     A,ACC
005D 25E0            336             ADD     A,ACC
005F 2400     F      337             ADD     A,#LOW (D+038H)
0061 F8              338             MOV     R0,A
0062 120000   F      339             LCALL   ?C?LLDIDATA
0065 E500     F      340             MOV     A,i?140
0067 25E0            341             ADD     A,ACC
0069 2400     F      342             ADD     A,#LOW (pDat?141)
006B F8              343             MOV     R0,A
006C A607            344             MOV     @R0,AR7
                     345     ;                  pDat[i*2+1]=D[14+i]>>8;
                     346                             ; SOURCE LINE # 78
006E E500     F      347             MOV     A,i?140
0070 25E0            348             ADD     A,ACC
0072 25E0            349             ADD     A,ACC
0074 2400     F      350             ADD     A,#LOW (D+038H)
0076 F8              351             MOV     R0,A
0077 120000   F      352             LCALL   ?C?LLDIDATA
007A 7808            353             MOV     R0,#08H
007C 120000   F      354             LCALL   ?C?ULSHR
007F E500     F      355             MOV     A,i?140
0081 25E0            356             ADD     A,ACC
0083 2400     F      357             ADD     A,#LOW (pDat?141+01H)
0085 F8              358             MOV     R0,A
0086 A607            359             MOV     @R0,AR7
                     360     ;                }
                     361                             ; SOURCE LINE # 79
0088 0500     F      362             INC     i?140
008A E500     F      363             MOV     A,i?140
008C B404CA          364             CJNE    A,#04H,?C0009
008F                 365     ?C0010:
                     366     ;            ISendStr(AT24C02, 0 , &pDat[0], 8); 
                     367                             ; SOURCE LINE # 80
008F 7B00            368             MOV     R3,#00H
0091 7A00     F      369             MOV     R2,#HIGH (pDat?141)
0093 7900     F      370             MOV     R1,#LOW (pDat?141)
0095 750008   F      371             MOV     ?_ISendStr?BYTE+05H,#08H
0098 E4              372             CLR     A
0099 FD              373             MOV     R5,A
009A 7FA0            374             MOV     R7,#0A0H
A51 MACRO ASSEMBLER  2402MAIN                                                             09/16/2009 23:41:28 PAGE     7

009C 120000   F      375             LCALL   _ISendStr
                     376     ;        }
                     377                             ; SOURCE LINE # 81
009F                 378     ?C0008:
                     379     ; 
                     380     ; 
                     381     ;         /********以下将2402中保存的数据送到LED数码管显示*************/
                     382     ;         LedNumVal=Count1;
                     383                             ; SOURCE LINE # 85
009F E4              384             CLR     A
00A0 850000   F      385             MOV     LedNumVal+03H,Count1
00A3 F500     F      386             MOV     LedNumVal+02H,A
00A5 F500     F      387             MOV     LedNumVal+01H,A
00A7 F500     F      388             MOV     LedNumVal,A
                     389     ;         LedOut[0]=Disp_Tab[LedNumVal%10000/1000];
                     390                             ; SOURCE LINE # 86
00A9 7B10            391             MOV     R3,#010H
00AB 7A27            392             MOV     R2,#027H
00AD F9              393             MOV     R1,A
00AE F8              394             MOV     R0,A
00AF AF00     F      395             MOV     R7,LedNumVal+03H
00B1 AE00     F      396             MOV     R6,LedNumVal+02H
00B3 AD00     F      397             MOV     R5,LedNumVal+01H
00B5 AC00     F      398             MOV     R4,LedNumVal
00B7 120000   F      399             LCALL   ?C?ULDIV
00BA AC00            400             MOV     R4,AR0
00BC AD01            401             MOV     R5,AR1
00BE AE02            402             MOV     R6,AR2
00C0 AF03            403             MOV     R7,AR3
00C2 E4              404             CLR     A
00C3 7BE8            405             MOV     R3,#0E8H
00C5 7A03            406             MOV     R2,#03H
00C7 F9              407             MOV     R1,A
00C8 F8              408             MOV     R0,A
00C9 120000   F      409             LCALL   ?C?ULDIV
00CC 7400     F      410             MOV     A,#LOW (Disp_Tab)
00CE 2F              411             ADD     A,R7
00CF F582            412             MOV     DPL,A
00D1 7400     F      413             MOV     A,#HIGH (Disp_Tab)
00D3 3E              414             ADDC    A,R6
00D4 F583            415             MOV     DPH,A
00D6 E4              416             CLR     A
00D7 93              417             MOVC    A,@A+DPTR
00D8 FF              418             MOV     R7,A
00D9 E4              419             CLR     A
00DA 8F00     F      420             MOV     LedOut+03H,R7
00DC F500     F      421             MOV     LedOut+02H,A
00DE F500     F      422             MOV     LedOut+01H,A
00E0 F500     F      423             MOV     LedOut,A
                     424     ;       LedOut[1]=Disp_Tab[LedNumVal%1000/100];
                     425                             ; SOURCE LINE # 87
00E2 7BE8            426             MOV     R3,#0E8H
00E4 7A03            427             MOV     R2,#03H
00E6 F9              428             MOV     R1,A
00E7 F8              429             MOV     R0,A
00E8 AF00     F      430             MOV     R7,LedNumVal+03H
00EA AE00     F      431             MOV     R6,LedNumVal+02H
00EC AD00     F      432             MOV     R5,LedNumVal+01H
00EE AC00     F      433             MOV     R4,LedNumVal
00F0 120000   F      434             LCALL   ?C?ULDIV
00F3 AC00            435             MOV     R4,AR0
00F5 AD01            436             MOV     R5,AR1
00F7 AE02            437             MOV     R6,AR2
00F9 AF03            438             MOV     R7,AR3
00FB E4              439             CLR     A
00FC 7B64            440             MOV     R3,#064H
A51 MACRO ASSEMBLER  2402MAIN                                                             09/16/2009 23:41:28 PAGE     8

00FE FA              441             MOV     R2,A
00FF F9              442             MOV     R1,A
0100 F8              443             MOV     R0,A

⌨️ 快捷键说明

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