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

📄 ds1302.ls1

📁 DS1302.c 也是自己写的!带有proteus图!!!
💻 LS1
📖 第 1 页 / 共 2 页
字号:
A51 MACRO ASSEMBLER  DS1302                                                               02/17/2009 11:17:05 PAGE     1


MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN ds1302.OBJ
ASSEMBLER INVOKED BY: E:\Proteus_keil\Keil\C51\BIN\A51.EXE ds1302.src PR(.\ds1302.ls1) EP DEBUG

LOC  OBJ            LINE     SOURCE

                       1     ; .\ds1302.SRC generated from: ds1302.c
                       2     ; COMPILER INVOKED BY:
                       3     ;        E:\Proteus_keil\Keil\C51\BIN\C51.EXE ds1302.c BROWSE DEBUG OBJECTEXTEND SRC(.\ds13
                             02.SRC)
                       4     
                       5     $nomod51 
                       6     
                       7     NAME    DS1302
                       8     
  0080                 9     P0      DATA    080H
  0090                10     P1      DATA    090H
  00A0                11     P2      DATA    0A0H
  00B0                12     P3      DATA    0B0H
  00B4                13     T0      BIT     0B0H.4
  00D6                14     AC      BIT     0D0H.6
  00B5                15     T1      BIT     0B0H.5
  00AF                16     EA      BIT     0A8H.7
  00A8                17     IE      DATA    0A8H
  00E0                18     a0      BIT     0E0H.0
  00E1                19     a1      BIT     0E0H.1
  00E2                20     a2      BIT     0E0H.2
  00E3                21     a3      BIT     0E0H.3
  00E4                22     a4      BIT     0E0H.4
  00E5                23     a5      BIT     0E0H.5
  00B7                24     RD      BIT     0B0H.7
  00E6                25     a6      BIT     0E0H.6
  00E7                26     a7      BIT     0E0H.7
  00AC                27     ES      BIT     0A8H.4
  00B8                28     IP      DATA    0B8H
  0098                29     RI      BIT     098H.0
  00B2                30     INT0    BIT     0B0H.2
  00D7                31     CY      BIT     0D0H.7
  0099                32     TI      BIT     098H.1
  00B3                33     INT1    BIT     0B0H.3
  00BC                34     PS      BIT     0B8H.4
  0081                35     SP      DATA    081H
  00D2                36     OV      BIT     0D0H.2
  00B6                37     WR      BIT     0B0H.6
  0099                38     SBUF    DATA    099H
  0087                39     PCON    DATA    087H
  0098                40     SCON    DATA    098H
  0089                41     TMOD    DATA    089H
  0088                42     TCON    DATA    088H
  00A2                43     dat     BIT     0A0H.2
  00A1                44     clk     BIT     0A0H.1
  0089                45     IE0     BIT     088H.1
  008B                46     IE1     BIT     088H.3
  00F0                47     B       DATA    0F0H
  00E0                48     ACC     DATA    0E0H
  00A9                49     ET0     BIT     0A8H.1
  00AB                50     ET1     BIT     0A8H.3
  008D                51     TF0     BIT     088H.5
  008F                52     TF1     BIT     088H.7
  009A                53     RB8     BIT     098H.2
  008C                54     TH0     DATA    08CH
  00A8                55     EX0     BIT     0A8H.0
  0088                56     IT0     BIT     088H.0
  008D                57     TH1     DATA    08DH
A51 MACRO ASSEMBLER  DS1302                                                               02/17/2009 11:17:05 PAGE     2

  009B                58     TB8     BIT     098H.3
  00AA                59     EX1     BIT     0A8H.2
  008A                60     IT1     BIT     088H.2
  00D0                61     P       BIT     0D0H.0
  009F                62     SM0     BIT     098H.7
  008A                63     TL0     DATA    08AH
  009E                64     SM1     BIT     098H.6
  008B                65     TL1     DATA    08BH
  009D                66     SM2     BIT     098H.5
  00B9                67     PT0     BIT     0B8H.1
  00BB                68     PT1     BIT     0B8H.3
  00D3                69     RS0     BIT     0D0H.3
  008C                70     TR0     BIT     088H.4
  00D4                71     RS1     BIT     0D0H.4
  008E                72     TR1     BIT     088H.6
  00B8                73     PX0     BIT     0B8H.0
  00BA                74     PX1     BIT     0B8H.2
  0083                75     DPH     DATA    083H
  0082                76     DPL     DATA    082H
  00A0                77     rs      BIT     0A0H.0
  009C                78     REN     BIT     098H.4
  00B0                79     RXD     BIT     0B0H.0
  00B1                80     TXD     BIT     0B0H.1
  00D5                81     F0      BIT     0D0H.5
  00D0                82     PSW     DATA    0D0H
                      83     ?PR?_delay?DS1302    SEGMENT CODE 
                      84     ?PR?_write_dat?DS1302                    SEGMENT CODE 
                      85     ?PR?read_dat?DS1302  SEGMENT CODE 
                      86     ?PR?_read?DS1302     SEGMENT CODE 
                      87     ?PR?_write?DS1302    SEGMENT CODE 
                      88     ?PR?main?DS1302      SEGMENT CODE 
                      89             EXTRN   CODE (?C_STARTUP)
                      90             PUBLIC  main
                      91             PUBLIC  _write
                      92             PUBLIC  _read
                      93             PUBLIC  read_dat
                      94             PUBLIC  _write_dat
                      95             PUBLIC  _delay
                      96     ; #include<reg51.h>
                      97     ; #include<stdio.h>
                      98     ; #include<absacc.h>
                      99     ; #define uchar unsigned char
                     100     ; sbit rs=P2^0;
                     101     ; sbit clk=P2^1;
                     102     ; sbit dat=P2^2;
                     103     ; sbit a0=ACC^0;
                     104     ; sbit a1=ACC^1;
                     105     ; sbit a2=ACC^2;
                     106     ; sbit a3=ACC^3;
                     107     ; sbit a4=ACC^4;
                     108     ; sbit a5=ACC^5;
                     109     ; sbit a6=ACC^6;
                     110     ; sbit a7=ACC^7;
                     111     ; void delay(uchar count)
                     112     
----                 113             RSEG  ?PR?_delay?DS1302
0000                 114     _delay:
                     115             USING   0
                     116                             ; SOURCE LINE # 16
                     117     ;---- Variable 'count?040' assigned to Register 'R7' ----
                     118     ; {
                     119                             ; SOURCE LINE # 17
                     120     ;       uchar i,j;
                     121     ;       for(i=0;i<count;i++)
                     122                             ; SOURCE LINE # 19
                     123     ;---- Variable 'i?041' assigned to Register 'R6' ----
A51 MACRO ASSEMBLER  DS1302                                                               02/17/2009 11:17:05 PAGE     3

0000 E4              124             CLR     A
0001 FE              125             MOV     R6,A
0002                 126     ?C0001:
0002 EE              127             MOV     A,R6
0003 C3              128             CLR     C
0004 9F              129             SUBB    A,R7
0005 5009            130             JNC     ?C0007
                     131     ;       for(j=0;j<20;j++);
                     132                             ; SOURCE LINE # 20
                     133     ;---- Variable 'j?042' assigned to Register 'R5' ----
0007 E4              134             CLR     A
0008 FD              135             MOV     R5,A
0009                 136     ?C0004:
0009 0D              137             INC     R5
000A BD14FC          138             CJNE    R5,#014H,?C0004
000D                 139     ?C0003:
000D 0E              140             INC     R6
000E 80F2            141             SJMP    ?C0001
                     142     ; }
                     143                             ; SOURCE LINE # 21
0010                 144     ?C0007:
0010 22              145             RET     
                     146     ; END OF _delay
                     147     
                     148     ; 
                     149     ; void write_dat(uchar cmd)      //写时钟一个字节
                     150     
----                 151             RSEG  ?PR?_write_dat?DS1302
0000                 152     L?0020:
                     153             USING   0
0000 C2A0            154             CLR     rs
0002 C2A1            155             CLR     clk
0004 D2A0            156             SETB    rs
0006                 157     _write_dat:
                     158                             ; SOURCE LINE # 23
                     159     ;---- Variable 'cmd?143' assigned to Register 'R7' ----
                     160     ; {
                     161                             ; SOURCE LINE # 24
                     162     ; 
                     163     ;  ACC=cmd;
                     164                             ; SOURCE LINE # 26
0006 EF              165             MOV     A,R7
                     166     ;  P1=0xaa;
                     167                             ; SOURCE LINE # 27
0007 7590AA          168             MOV     P1,#0AAH
000A                 169     ?C0008:
                     170     ;  while(1);
                     171                             ; SOURCE LINE # 28
000A 80FE            172             SJMP    ?C0008
                     173     ; END OF _write_dat
                     174     
                     175     ; dat=a0;clk=1;clk=0;
                     176     ; dat=a1;clk=1;clk=0;
                     177     ; dat=a2;clk=1;clk=0;
                     178     ; dat=a3;clk=1;clk=0;
                     179     ; dat=a4;clk=1;clk=0;
                     180     ; dat=a5;clk=1;clk=0;
                     181     ; dat=a6;clk=1;clk=0;
                     182     ; dat=a7;clk=1;clk=0;
                     183     ; }
                     184     ; 
                     185     ; uchar read_dat(void)          //读时钟一个字节
                     186     
----                 187             RSEG  ?PR?read_dat?DS1302
0000                 188     read_dat:
                     189             USING   0
A51 MACRO ASSEMBLER  DS1302                                                               02/17/2009 11:17:05 PAGE     4

                     190                             ; SOURCE LINE # 39
                     191     ; {
                     192                             ; SOURCE LINE # 40
                     193     ; 
                     194     ; ACC=0;
                     195                             ; SOURCE LINE # 42
0000 E4              196             CLR     A
                     197     ; a0=dat;clk=1;clk=0;
                     198                             ; SOURCE LINE # 43
0001 A2A2            199             MOV     C,dat
0003 92E0            200             MOV     a0,C
0005 D2A1            201             SETB    clk
0007 C2A1            202             CLR     clk
                     203     ; a1=dat;clk=1;clk=0;
                     204                             ; SOURCE LINE # 44
0009 A2A2            205             MOV     C,dat
000B 92E1            206             MOV     a1,C
000D D2A1            207             SETB    clk
000F C2A1            208             CLR     clk
                     209     ; a2=dat;clk=1;clk=0;
                     210                             ; SOURCE LINE # 45
0011 A2A2            211             MOV     C,dat
0013 92E2            212             MOV     a2,C
0015 D2A1            213             SETB    clk
0017 C2A1            214             CLR     clk
                     215     ; a3=dat;clk=1;clk=0;
                     216                             ; SOURCE LINE # 46
0019 A2A2            217             MOV     C,dat
001B 92E3            218             MOV     a3,C
001D D2A1            219             SETB    clk
001F C2A1            220             CLR     clk
                     221     ; a4=dat;clk=1;clk=0;
                     222                             ; SOURCE LINE # 47
0021 A2A2            223             MOV     C,dat
0023 92E4            224             MOV     a4,C
0025 D2A1            225             SETB    clk
0027 C2A1            226             CLR     clk
                     227     ; a5=dat;clk=1;clk=0;
                     228                             ; SOURCE LINE # 48
0029 A2A2            229             MOV     C,dat
002B 92E5            230             MOV     a5,C
002D D2A1            231             SETB    clk
002F C2A1            232             CLR     clk
                     233     ; a6=dat;clk=1;clk=0;
                     234                             ; SOURCE LINE # 49
0031 A2A2            235             MOV     C,dat
0033 92E6            236             MOV     a6,C
0035 D2A1            237             SETB    clk
0037 C2A1            238             CLR     clk
                     239     ; a7=dat;clk=1;clk=0;
                     240                             ; SOURCE LINE # 50
0039 A2A2            241             MOV     C,dat
003B 92E7            242             MOV     a7,C
003D D2A1            243             SETB    clk
003F C2A1            244             CLR     clk
                     245     ; return(ACC);
                     246                             ; SOURCE LINE # 51
0041 FF              247             MOV     R7,A
                     248     ; }
                     249                             ; SOURCE LINE # 52
0042                 250     ?C0011:
0042 22              251             RET     
                     252     ; END OF read_dat
                     253     
                     254     ; 
                     255     ; uchar read(uchar ord1)        //读时钟
A51 MACRO ASSEMBLER  DS1302                                                               02/17/2009 11:17:05 PAGE     5

                     256     
----                 257             RSEG  ?PR?_read?DS1302
0000                 258     _read:
                     259             USING   0
                     260                             ; SOURCE LINE # 54
                     261     ;---- Variable 'ord1?344' assigned to Register 'R7' ----
                     262     ; {
                     263                             ; SOURCE LINE # 55
                     264     ;  uchar dd=0;  
                     265                             ; SOURCE LINE # 56
                     266     ;---- Variable 'dd?345' assigned to Register 'R6' ----
0000 E4              267             CLR     A
0001 FE              268             MOV     R6,A
                     269     ;   rs=0;
                     270                             ; SOURCE LINE # 57

⌨️ 快捷键说明

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