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

📄 hello.ls1

📁 定时器设置
💻 LS1
📖 第 1 页 / 共 3 页
字号:
                     175     ; 
                     176     ; }
A51 MACRO ASSEMBLER  HELLO                                                                02/27/2006 22:19:18 PAGE     4

                     177                             ; SOURCE LINE # 36
0004 22              178             RET     
                     179     ; END OF _delay
                     180     
                     181     ; 
                     182     ; // //串口中断
                     183     ; //void comisp(void) interrupt 4
                     184     ; //{
                     185     ; //
                     186     ; //if(RI)               //处理接收中断
                     187     ; //    {
                     188     ; //            RI=0;
                     189     ; //    }
                     190     ; //if(TI)              //处理发送中断
                     191     ; //    {
                     192     ; //            TI=0;
                     193     ; //    }
                     194     ; //
                     195     ; //}
                     196     ; 
                     197     ; 
                     198     ; /*------------------------------------------------
                     199     ; The main C function.  Program execution starts
                     200     ; here after stack initialization.
                     201     ; ------------------------------------------------*/
                     202     ; void main (void) {
                     203     
----                 204             RSEG  ?PR?main?HELLO
0000                 205     main:
                     206             USING   0
                     207                             ; SOURCE LINE # 58
                     208     ; 
                     209     ;       unsigned int i;  
                     210     ;       unsigned char xdata *xdp;
                     211     ; 
                     212     ; 
                     213     ; #ifndef MONITOR51
                     214     ;       SCON  = 0x50;                   /* SCON: mode 1, 8-bit UART, enable rcvr  101 0000 
                                */
                     215                             ; SOURCE LINE # 65
0000 759850          216             MOV     SCON,#050H
                     217     ;       RCAP2H = 0xFF;
                     218                             ; SOURCE LINE # 66
0003 75CBFF          219             MOV     RCAP2H,#0FFH
                     220     ;       TH2   = 0xff;                
                     221                             ; SOURCE LINE # 67
0006 75CDFF          222             MOV     TH2,#0FFH
                     223     ;       RCAP2L =0xBF;
                     224                             ; SOURCE LINE # 68
0009 75CABF          225             MOV     RCAP2L,#0BFH
                     226     ;       TL2  =  0xFB;
                     227                             ; SOURCE LINE # 69
000C 75CCFB          228             MOV     TL2,#0FBH
                     229     ;       T2CON = 0x34;                       //0011 0100
                     230                             ; SOURCE LINE # 70
000F 75C834          231             MOV     T2CON,#034H
                     232     ;       //TR1   = 1;                  /* TR1:  timer 1 run                          */
                     233     ;       TI    = 1;                  /* TI:   set TI to send first char of UART    */
                     234                             ; SOURCE LINE # 72
0012 D299            235             SETB    TI
                     236     ;       ES  =0;
                     237                             ; SOURCE LINE # 73
0014 C2AC            238             CLR     ES
                     239     ;       EA =1;
                     240                             ; SOURCE LINE # 74
0016 D2AF            241             SETB    EA
A51 MACRO ASSEMBLER  HELLO                                                                02/27/2006 22:19:18 PAGE     5

                     242     ; #endif
                     243     ; 
                     244     ; 
                     245     ;       /*------------------------------------------------
                     246     ;       Note that an embedded program never exits (because
                     247     ;       there is no operating system to return to).  It
                     248     ;       must loop and execute forever.
                     249     ;       ------------------------------------------------*/
                     250     ; 
                     251     ;       //设置
                     252     ;       K1=1;
                     253                             ; SOURCE LINE # 85
0018 D2B4            254             SETB    K1
                     255     ;       K2=1;
                     256                             ; SOURCE LINE # 86
001A D2B5            257             SETB    K2
                     258     ;       LED =1;
                     259                             ; SOURCE LINE # 87
001C D290            260             SETB    LED
001E                 261     ?C0002:
                     262     ; 
                     263     ; 
                     264     ; 
                     265     ;       while(1)
                     266                             ; SOURCE LINE # 91
                     267     ;       {
                     268                             ; SOURCE LINE # 92
                     269     ; 
                     270     ;       //K2按下测试内存
                     271     ;       if(K2==0)
                     272                             ; SOURCE LINE # 95
001E 30B503          273             JNB     K2,$ + 6H
0021 020000   F      274             LJMP    ?C0004
                     275     ;       {
                     276                             ; SOURCE LINE # 96
                     277     ;               LED =0;
                     278                             ; SOURCE LINE # 97
0024 C290            279             CLR     LED
                     280     ;               printf("K2==0");
                     281                             ; SOURCE LINE # 98
0026 7BFF            282             MOV     R3,#0FFH
0028 7A00     F      283             MOV     R2,#HIGH (?SC_0)
002A 7900     F      284             MOV     R1,#LOW (?SC_0)
002C 120000   F      285             LCALL   _printf
                     286     ; 
                     287     ;               xdp =0x0;
                     288                             ; SOURCE LINE # 100
002F E4              289             CLR     A
0030 F500     F      290             MOV     xdp?142,A
0032 F500     F      291             MOV     xdp?142+01H,A
                     292     ; 
                     293     ;               for(i=0;i<0x8000;i++)      //测试内存32K
                     294                             ; SOURCE LINE # 102
0034 F500     F      295             MOV     i?141,A
0036 F500     F      296             MOV     i?141+01H,A
0038                 297     ?C0005:
                     298     ;               {
                     299                             ; SOURCE LINE # 103
                     300     ;                       *xdp=(i%256);                   //只斌0-256的值
                     301                             ; SOURCE LINE # 104
0038 850082   F      302             MOV     DPL,xdp?142+01H
003B 850083   F      303             MOV     DPH,xdp?142
003E E500     F      304             MOV     A,i?141+01H
0040 F0              305             MOVX    @DPTR,A
                     306     ;                       xdp++;
                     307                             ; SOURCE LINE # 105
A51 MACRO ASSEMBLER  HELLO                                                                02/27/2006 22:19:18 PAGE     6

0041 0500     F      308             INC     xdp?142+01H
0043 E500     F      309             MOV     A,xdp?142+01H
0045 7002            310             JNZ     ?C0013
0047 0500     F      311             INC     xdp?142
0049                 312     ?C0013:
                     313     ;                       //printf("%u\n",i);
                     314     ;               }
                     315                             ; SOURCE LINE # 107
0049 0500     F      316             INC     i?141+01H
004B E500     F      317             MOV     A,i?141+01H
004D 7002            318             JNZ     ?C0014
004F 0500     F      319             INC     i?141
0051                 320     ?C0014:
0051 B400E4          321             CJNE    A,#00H,?C0005
0054 E500     F      322             MOV     A,i?141
0056 B480DF          323             CJNE    A,#080H,?C0005
0059                 324     ?C0006:
                     325     ; 
                     326     ;               xdp =0x0;
                     327                             ; SOURCE LINE # 109
0059 E4              328             CLR     A
005A F500     F      329             MOV     xdp?142,A
005C F500     F      330             MOV     xdp?142+01H,A
                     331     ; 
                     332     ;               for(i=0;i<0x8005;i++)      //测试内存
                     333                             ; SOURCE LINE # 111
005E F500     F      334             MOV     i?141,A
0060 F500     F      335             MOV     i?141+01H,A
0062                 336     ?C0008:
                     337     ;               {
                     338                             ; SOURCE LINE # 112
                     339     ;                       if(*xdp!=(i%256)) 
                     340                             ; SOURCE LINE # 113
0062 850082   F      341             MOV     DPL,xdp?142+01H
0065 850083   F      342             MOV     DPH,xdp?142
0068 E0              343             MOVX    A,@DPTR
0069 6500     F      344             XRL     A,i?141+01H
006B 7001            345             JNZ     ?C0016
006D E4              346             CLR     A
006E                 347     ?C0016:
006E 6023            348             JZ      ?C0011
                     349     ;                       {
                     350                             ; SOURCE LINE # 114
                     351     ;                               LED=0;
                     352                             ; SOURCE LINE # 115
0070 C290            353             CLR     LED
                     354     ;                               printf("test memory error!");
                     355                             ; SOURCE LINE # 116
0072 7BFF            356             MOV     R3,#0FFH
0074 7A00     F      357             MOV     R2,#HIGH (?SC_6)
0076 7900     F      358             MOV     R1,#LOW (?SC_6)
0078 120000   F      359             LCALL   _printf
                     360     ;                               printf("i=%u xdp=%p\n",i,xdp);
                     361                             ; SOURCE LINE # 117
007B 850000   F      362             MOV     ?_printf?BYTE+03H,i?141
007E 850000   F      363             MOV     ?_printf?BYTE+04H,i?141+01H
0081 750001   F      364             MOV     ?_printf?BYTE+05H,#01H
0084 850000   F      365             MOV     ?_printf?BYTE+06H,xdp?142
0087 850000   F      366             MOV     ?_printf?BYTE+07H,xdp?142+01H
008A 7BFF            367             MOV     R3,#0FFH
008C 7A00     F      368             MOV     R2,#HIGH (?SC_25)

⌨️ 快捷键说明

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