📄 ds1302.ls1
字号:
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 + -