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

📄 t.ls1

📁 at89c51 读取写入24c64的C源代码
💻 LS1
📖 第 1 页 / 共 5 页
字号:
                     228     ; #define KEY_LINE2 P3_1
                     229     ; #define KEY_LINE3 P3_7
                     230     ; 
                     231     ; //T0 T1
                     232     ; #define SCL P3_4
                     233     ; #define SDA P3_5
                     234     ; void delay(unsigned int n)
                     235     
----                 236             RSEG  ?PR?_delay?T
0000                 237     _delay:
                     238             USING   0
                     239                             ; SOURCE LINE # 30
                     240     ;---- Variable 'n?040' assigned to Register 'R6/R7' ----
                     241     ; {
                     242                             ; SOURCE LINE # 31
                     243     ;       unsigned int i,j;
                     244     ;       for(j=0;j<100;j++)
                     245                             ; SOURCE LINE # 33
                     246     ;---- Variable 'j?042' assigned to Register 'R4/R5' ----
0000 E4              247             CLR     A
0001 FD              248             MOV     R5,A
0002 FC              249             MOV     R4,A
0003                 250     ?C0001:
                     251     ;       for(i=0;i<n;i++);
                     252                             ; SOURCE LINE # 34
                     253     ;---- Variable 'i?041' assigned to Register 'R2/R3' ----
0003 E4              254             CLR     A
A51 MACRO ASSEMBLER  T                                                                    06/27/2008 14:06:20 PAGE     5

0004 FB              255             MOV     R3,A
0005 FA              256             MOV     R2,A
0006                 257     ?C0004:
0006 C3              258             CLR     C
0007 EB              259             MOV     A,R3
0008 9F              260             SUBB    A,R7
0009 EA              261             MOV     A,R2
000A 9E              262             SUBB    A,R6
000B 5007            263             JNC     ?C0003
000D 0B              264             INC     R3
000E BB0001          265             CJNE    R3,#00H,?C0072
0011 0A              266             INC     R2
0012                 267     ?C0072:
0012 80F2            268             SJMP    ?C0004
0014                 269     ?C0003:
0014 0D              270             INC     R5
0015 BD0001          271             CJNE    R5,#00H,?C0073
0018 0C              272             INC     R4
0019                 273     ?C0073:
0019 ED              274             MOV     A,R5
001A 6464            275             XRL     A,#064H
001C 4C              276             ORL     A,R4
001D 70E4            277             JNZ     ?C0001
                     278     ; }
                     279                             ; SOURCE LINE # 35
001F                 280     ?C0007:
001F 22              281             RET     
                     282     ; END OF _delay
                     283     
                     284     ; unsigned char wdat[10]={0xF0,0x0F,0xA0,0x0A,0xAA,0x99,0x3C,0xC3,0x81,0x18};
                     285     ; unsigned char rdat[10]={0};
                     286     ; void main()
                     287     
----                 288             RSEG  ?PR?main?T
0000                 289     main:
                     290                             ; SOURCE LINE # 38
                     291     ; {
                     292                             ; SOURCE LINE # 39
                     293     ;       EX0=0;//enable int 1
                     294                             ; SOURCE LINE # 40
0000 C2A8            295             CLR     EX0
                     296     ;       EX1=1;//
                     297                             ; SOURCE LINE # 41
0002 D2AA            298             SETB    EX1
                     299     ;       ET0  = 0;//disable 2 timer
                     300                             ; SOURCE LINE # 42
0004 C2A9            301             CLR     ET0
                     302     ;       ET1  = 0;//
                     303                             ; SOURCE LINE # 43
0006 C2AB            304             CLR     ET1
                     305     ;       IT0=0;//
                     306                             ; SOURCE LINE # 44
0008 C288            307             CLR     IT0
                     308     ;       IT1=1;//edge trigger
                     309                             ; SOURCE LINE # 45
000A D28A            310             SETB    IT1
                     311     ; 
                     312     ;       EA=1;
                     313                             ; SOURCE LINE # 47
000C D2AF            314             SETB    EA
                     315     ;       P1=~0x00;
                     316                             ; SOURCE LINE # 48
000E 7590FF          317             MOV     P1,#0FFH
                     318     ; 
                     319     ;       for(;;);
                     320                             ; SOURCE LINE # 50
A51 MACRO ASSEMBLER  T                                                                    06/27/2008 14:06:20 PAGE     6

0011                 321     ?C0008:
0011 80FE            322             SJMP    ?C0008
                     323     ; END OF main
                     324     
----                 325     CSEG    AT      00013H
0013 020000   F      326             LJMP    interrupt_func1
                     327     
                     328     ; 
                     329     ; }
                     330     ; unsigned char func,pw,pr;
                     331     ; void interrupt_func1() interrupt 2
                     332     
----                 333             RSEG  ?PR?interrupt_func1?T
                     334             USING   0
0000                 335     interrupt_func1:
0000 C0E0            336             PUSH    ACC
0002 C0F0            337             PUSH    B
0004 C083            338             PUSH    DPH
0006 C082            339             PUSH    DPL
0008 C0D0            340             PUSH    PSW
000A 75D000          341             MOV     PSW,#00H
000D C000            342             PUSH    AR0
000F C001            343             PUSH    AR1
0011 C002            344             PUSH    AR2
0013 C003            345             PUSH    AR3
0015 C004            346             PUSH    AR4
0017 C005            347             PUSH    AR5
0019 C006            348             PUSH    AR6
001B C007            349             PUSH    AR7
                     350             USING   0
                     351                             ; SOURCE LINE # 54
                     352     ; {
                     353     ;       unsigned char k1,k2,k3;
                     354     ;       delay(1);
                     355                             ; SOURCE LINE # 57
001D 7F01            356             MOV     R7,#01H
001F 7E00            357             MOV     R6,#00H
0021 120000   F      358             LCALL   _delay
                     359     ;       k1=KEY_LINE1;
                     360                             ; SOURCE LINE # 58
0024 A2B0            361             MOV     C,P3_0
0026 E4              362             CLR     A
0027 33              363             RLC     A
0028 FF              364             MOV     R7,A
                     365     ;---- Variable 'k1?245' assigned to Register 'R7' ----
                     366     ;       k2=KEY_LINE2;
                     367                             ; SOURCE LINE # 59
0029 A2B1            368             MOV     C,P3_1
002B E4              369             CLR     A
002C 33              370             RLC     A
002D FE              371             MOV     R6,A
                     372     ;---- Variable 'k2?246' assigned to Register 'R6' ----
                     373     ;       k3=KEY_LINE3;
                     374                             ; SOURCE LINE # 60
002E A2B7            375             MOV     C,P3_7
0030 E4              376             CLR     A
0031 33              377             RLC     A
0032 F500     F      378             MOV     k3?247,A
                     379     ; 
                     380     ; 
                     381     ;       if(k1==0)
                     382                             ; SOURCE LINE # 63
0034 EF              383             MOV     A,R7
0035 701A            384             JNZ     ?C0011
                     385     ;       {
                     386                             ; SOURCE LINE # 64
A51 MACRO ASSEMBLER  T                                                                    06/27/2008 14:06:20 PAGE     7

                     387     ;               func=(func+1)%4;
                     388                             ; SOURCE LINE # 65
0037 E500     F      389             MOV     A,func
0039 04              390             INC     A
003A 5403            391             ANL     A,#03H
003C F500     F      392             MOV     func,A
                     393     ; 
                     394     ;               if(func==0) pw=0;
                     395                             ; SOURCE LINE # 67
003E 7004            396             JNZ     ?C0012
0040 F500     F      397             MOV     pw,A
0042 8008            398             SJMP    ?C0013
0044                 399     ?C0012:
                     400     ;               else if(func==1) pr=0;
                     401                             ; SOURCE LINE # 68
0044 E500     F      402             MOV     A,func
0046 B40103          403             CJNE    A,#01H,?C0013
0049 750000   F      404             MOV     pr,#00H
004C                 405     ?C0013:
                     406     ; 
                     407     ;               P1=~func;
                     408                             ; SOURCE LINE # 70
004C E500     F      409             MOV     A,func
004E F4              410             CPL     A
004F F590            411             MOV     P1,A
                     412     ;       }
                     413                             ; SOURCE LINE # 71
0051                 414     ?C0011:
                     415     ; 
                     416     ; 
                     417     ;       if(func==0)//pw display
                     418                             ; SOURCE LINE # 74
0051 E500     F      419             MOV     A,func
0053 7048            420             JNZ     ?C0015
                     421     ;       {
                     422                             ; SOURCE LINE # 75
                     423     ;               if(k2==0)       {unsigned int i;for(i=0;i<10;i++)rdat[i]=0; P1=~0xA0;}//cle
                             ar rdat to 0
                     424                             ; SOURCE LINE # 76
0055 EE              425             MOV     A,R6
0056 701F            426             JNZ     ?C0016
0058 F500     F      427             MOV     i?243,A
005A F500     F      428             MOV     i?243+01H,A
005C                 429     ?C0017:
005C 7400     F      430             MOV     A,#LOW (rdat)
005E 2500     F      431             ADD     A,i?243+01H
0060 F8              432             MOV     R0,A
0061 7600            433             MOV     @R0,#00H
0063 0500     F      434             INC     i?243+01H
0065 E500     F      435             MOV     A,i?243+01H
0067 7002            436             JNZ     ?C0074
0069 0500     F      437             INC     i?243
006B                 438     ?C0074:
006B 640A            439             XRL     A,#0AH
006D 4500     F      440             ORL     A,i?243
006F 70EB            441             JNZ     ?C0017
0071                 442     ?C0018:
0071 75905F          443             MOV     P1,#05FH
0074 020000   F      444             LJMP    ?C0040
0077                 445     ?C0016:
                     446     ;               else if(k3==0)  {unsigned int i;for(i=0;i<10;i++)wdat[i]=0xAA; P1=~0xAA;}//
                             set wdat to 0xAA
                     447                             ; SOURCE LINE # 77
0077 E500     F      448             MOV     A,k3?247
0079 6003            449             JZ      $ + 5H
007B 020000   F      450             LJMP    ?C0040
A51 MACRO ASSEMBLER  T                                                                    06/27/2008 14:06:20 PAGE     8

007E F500     F      451             MOV     i?244,A
0080 F500     F      452             MOV     i?244+01H,A
0082                 453     ?C0022:
0082 7400     F      454             MOV     A,#LOW (wdat)
0084 2500     F      455             ADD     A,i?244+01H
0086 F8              456             MOV     R0,A
0087 76AA            457             MOV     @R0,#0AAH
0089 0500     F      458             INC     i?244+01H
008B E500     F      459             MOV     A,i?244+01H
008D 7002            460             JNZ     ?C0075
008F 0500     F      461             INC     i?244

⌨️ 快捷键说明

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