?? ds1302.lst
字號:
011B C294 205 CLR p1302RST
011D 00 206 NOP
011E C292 207 CLR p1302SCLK
0120 00 208 NOP
0121 D294 209 SETB p1302RST
0123 00 210 NOP
0124 7F08 211 MOV R7, #0x08 ;//* 8bits/byte
0126 212 WNextComBit:
0126 13 213 RRC A ;//* command code
0127 9293 214 MOV p1302IO,C
0129 00 215 NOP
012A D292 216 SETB p1302SCLK
012C 00 217 NOP
012D C292 218 CLR p1302SCLK
012F DFF5 219 DJNZ R7, WNextComBit
0131 7F08 220 MOV R7, #0x08 ;//* 8bits/byte
0133 221 RDNextDataBit:
0133 A293 222 MOV C, p1302IO
0135 13 223 RRC A
0136 D292 224 SETB p1302SCLK
0138 00 225 NOP
0139 C292 226 CLR p1302SCLK
013B DFF6 227 DJNZ R7, RDNextDataBit
013D C294 228 CLR p1302RST
013F 22 229 RET
230 ;//* **************************************************************
231 ;//* Function: set info to ds1302 register
232 ;//* Input: A(command code)
233 ;//* B(data byte)
234 ;//* Register: A,B,R7
0140 235 WInfoToDS1302:
0140 C294 236 CLR p1302RST
0142 00 237 NOP
0143 C292 238 CLR p1302SCLK
0145 00 239 NOP
0146 D294 240 SETB p1302RST
0148 00 241 NOP
0149 7F08 242 MOV R7, #0x08
014B 243 WrNextComBit:
014B 13 244 RRC A ;//* command code
014C 9293 245 MOV p1302IO,C
014E 00 246 NOP
014F D292 247 SETB p1302SCLK
0151 00 248 NOP
0152 C292 249 CLR p1302SCLK
0154 DFF5 250 DJNZ R7, WrNextComBit
A51 MACRO ASSEMBLER DS1302 11/04/2008 14:17:15 PAGE 5
0156 E5F0 251 MOV A, B
0158 7F08 252 MOV R7, #0x08
015A 253 WNextDataBit:
015A 13 254 RRC A ;//* data byte
015B 9293 255 MOV p1302IO,C
015D 00 256 NOP
015E D292 257 SETB p1302SCLK
0160 00 258 NOP
0161 C292 259 CLR p1302SCLK
0163 DFF5 260 DJNZ R7, WNextDataBit
0165 C294 261 CLR p1302RST
0167 22 262 RET
263
264 ;//* **************************************************************
265 ;//* Function: initialization DS1302, set initial time
266 ;//*
0168 267 INITDS1302:
268 ;//* COMMAND BYTE
269 ;//* The command byte is shown in Figure 1. Each data transfer is
270 ;//* initiated by a command byte. The MSB(Bit 7) must be a logic 1.
271 ;//* If it is 0, writes to the DS1302 will be disabled. Bit 6 specifies
272 ;//* clock/calendar data if logic 0 or RAM data if logic 1. Bits 1
273 ;//* through 5 specify the designated registers to be input or output,
274 ;//* and the LSB (bit 0) specifies a write operation (input) if logic
275 ;//* 0 or read operation (output) if logic 1. The command byte is always
276 ;//* input starting with the LSB (bit 0).
277 ;//* ADDRESS/COMMAND BYTE Figure 1
278 ;//* --------------------------------------------------
279 ;//* | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
280 ;//* --------------------------------------------------
281 ;//* | | RAM / | | | | | | RD /|
282 ;//* | 1 | / | A4 | A3 | A2 | A1 | A0 | / |
283 ;//* | | / CK | | | | | |/ W |
284 ;//* --------------------------------------------------
0168 7481 285 MOV A, #SecondRDCom
016A 12011B 286 LCALL RDInfoFromDS1302
016D 30E738 287 JNB ACC.7, DisableWrite
288 ;//*
0170 748C 289 MOV A, #YearWCom
0172 75F000 290 MOV B, #0x00 ;//* 2000 year
0175 120140 291 LCALL WInfoToDS1302
292 ;//*
0178 7488 293 MOV A, #MonthWCom
017A 75F007 294 MOV B, #0x07 ;//* 7 month
017D 120140 295 LCALL WInfoToDS1302
296 ;//*
0180 7486 297 MOV A, #DateWCom
0182 75F001 298 MOV B, #0x01 ;//* 1 day
0185 120140 299 LCALL WInfoToDS1302
300 ;//*
0188 7484 301 MOV A, #HourWCom
018A 75F012 302 MOV B, #0x12 ;//* 12 hour
018D 120140 303 LCALL WInfoToDS1302
304 ;//*
0190 7482 305 MOV A, #MinuteWCom
0192 75F000 306 MOV B, #0x00 ;//* 0 minute
0195 120140 307 LCALL WInfoToDS1302
308 ;//*
0198 7480 309 MOV A, #SecondWCom
019A 75F000 310 MOV B, #0x00 ;//* 0 second
019D 120140 311 LCALL WInfoToDS1302
312 ;//*
01A0 748A 313 MOV A, #DayWCom
01A2 75F007 314 MOV B, #0x07 ;//* sunday
01A5 120140 315 LCALL WInfoToDS1302
01A8 316 DisableWrite:
A51 MACRO ASSEMBLER DS1302 11/04/2008 14:17:15 PAGE 6
01A8 7481 317 MOV A, #SecondRDCom
01AA 12011B 318 LCALL RDInfoFromDS1302
01AD F536 319 MOV vSecondBuf, A
01AF 22 320 RET
321
01B0 322 Delay1s:
01B0 7F0A 323 MOV R7, #10
01B2 324 Delay:
01B2 7E00 325 MOV R6, #0
01B4 326 Dela:
01B4 7D00 327 MOV R5, #0
01B6 DDFE 328 DJNZ R5, $
01B8 DEFA 329 DJNZ R6, Dela
01BA DFF6 330 DJNZ R7, Delay
01BC 22 331 RET
332
333 END
A51 MACRO ASSEMBLER DS1302 11/04/2008 14:17:15 PAGE 7
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
AAAA . . . . . . . C ADDR 004BH A
ACC. . . . . . . . D ADDR 00E0H A
B. . . . . . . . . D ADDR 00F0H A
CBURSTRDCOM. . . . N NUMB 00BFH A
CBURSTWCOM . . . . N NUMB 00BEH A
CLEARRAM . . . . . C ADDR 0035H A
CONTROLWCOM. . . . N NUMB 008EH A
CONTRORDCOM. . . . N NUMB 008FH A
DATERDCOM. . . . . N NUMB 0087H A
DATEWCOM . . . . . N NUMB 0086H A
DAYRDCOM . . . . . N NUMB 008BH A
DAYWCOM. . . . . . N NUMB 008AH A
DEL. . . . . . . . C ADDR 00A3H A
DELA . . . . . . . C ADDR 01B4H A
DELAY. . . . . . . C ADDR 01B2H A
DELAY1S. . . . . . C ADDR 01B0H A
DISABLEWRITE . . . C ADDR 01A8H A
DSBUFBURRDC. . . . N NUMB 00FFH A
DSBUFBURWC . . . . N NUMB 00FEH A
DSBUFRDCOM0. . . . N NUMB 00C1H A
DSBUFWCOM0 . . . . N NUMB 00C0H A
DSBUFWCOM30. . . . N NUMB 00FCH A
DSBURDCOM30. . . . N NUMB 00FDH A
HOURRDCOM. . . . . N NUMB 0085H A
HOURWCOM . . . . . N NUMB 0084H A
INITDS1302 . . . . C ADDR 0168H A
LOOP . . . . . . . C ADDR 0065H A
MINUTERDCOM. . . . N NUMB 0083H A
MINUTEWCOM . . . . N NUMB 0082H A
MONTHRDCOM . . . . N NUMB 0089H A
MONTHWCOM. . . . . N NUMB 0088H A
P1 . . . . . . . . D ADDR 0090H A
P1302IO. . . . . . B ADDR 0090H.3 A
P1302RST . . . . . B ADDR 0090H.4 A
P1302SCLK. . . . . B ADDR 0090H.2 A
RDINFOFROMDS1302 . C ADDR 011BH A
RDNEXTDATABIT. . . C ADDR 0133H A
READTIME . . . . . C ADDR 00B0H A
SBUF . . . . . . . D ADDR 0099H A
SCON . . . . . . . D ADDR 0098H A
SECONDRDCOM. . . . N NUMB 0081H A
SECONDWCOM . . . . N NUMB 0080H A
SP . . . . . . . . D ADDR 0081H A
START. . . . . . . C ADDR 0030H A
TH1. . . . . . . . D ADDR 008DH A
TI . . . . . . . . B ADDR 0098H.1 A
TL1. . . . . . . . D ADDR 008BH A
TMOD . . . . . . . D ADDR 0089H A
TR1. . . . . . . . B ADDR 0088H.6 A
TRCHARDCOM . . . . N NUMB 0091H A
TRCHAWCOM. . . . . N NUMB 0090H A
VDATEBUF . . . . . N NUMB 0032H A
VDAYBUF. . . . . . N NUMB 0033H A
VHOURBUF . . . . . N NUMB 0034H A
VMINUTEBUF . . . . N NUMB 0035H A
VMONTHBUF. . . . . N NUMB 0031H A
VSECONDBUF . . . . N NUMB 0036H A
VYEARBUF . . . . . N NUMB 0030H A
WINFOTODS1302. . . C ADDR 0140H A
WNEXTCOMBIT. . . . C ADDR 0126H A
A51 MACRO ASSEMBLER DS1302 11/04/2008 14:17:15 PAGE 8
WNEXTDATABIT . . . C ADDR 015AH A
WRITETIME. . . . . C ADDR 00E2H A
WRNEXTCOMBIT . . . C ADDR 014BH A
YEARRDCOM. . . . . N NUMB 008DH A
YEARWCOM . . . . . N NUMB 008CH A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -