?? ds1302.ls1
字號(hào):
215 ; SYSTEMTIME time1;
216 ;
217 ; sbit d1=P1^0;
218 ; sbit d2=P1^1;
219 ; sbit d3=P1^2;
220 ; sbit d4=P1^3;
221 ; sbit d5=P1^4;
222 ; sbit d6=P1^5;
223 ; sbit d7=P1^6;
224 ; sbit d8=P1^7;
225 ;
226 ; //0--9 位碼,0X00:清顯示。
227 ; unsigned char code dispcode[13]={
228 ;
229 ; 0X3F,/*0*/
230 ; 0X06,/*1*/
231 ; 0X5B,/*2*/
232 ; 0X4F,/*3*/
233 ; 0X66,/*4*/
234 ; 0X6D,/*5*/
235
---- 236 RSEG ?PR?_DS1302InputByte?DS1302
0000 237 _DS1302InputByte:
238 USING 0
239 ; SOURCE LINE # 38
240 ;---- Variable 'd?040' assigned to Register 'R7' ----
241 ; 0X7D,/*6*/
242 ; SOURCE LINE # 39
243 ; 0X07,/*7*/
244 ; 0X7F,/*8*/
245 ; SOURCE LINE # 41
0000 EF 246 MOV A,R7
247 ; 0X6F,/*9*/
248 ; SOURCE LINE # 42
249 ;---- Variable 'i?041' assigned to Register 'R7' ----
0001 7F08 250 MOV R7,#08H
0003 251 ?C0001:
252 ; 0X40,/*-*/
253 ; SOURCE LINE # 43
A51 MACRO ASSEMBLER DS1302 09/20/2008 10:13:46 PAGE 5
254 ; 0XBF,/*0.*/
255 ; SOURCE LINE # 44
0003 A2E0 256 MOV C,ACC0
0005 92B7 257 MOV DS1302_IO,C
258 ; 0X00,/*NULL*/ };
259 ; SOURCE LINE # 45
0007 D2B6 260 SETB DS1302_CLK
261 ;
262 ; SOURCE LINE # 46
0009 C2B6 263 CLR DS1302_CLK
264 ;
265 ; SOURCE LINE # 47
000B C3 266 CLR C
000C 13 267 RRC A
268 ; void delay1ms()
269 ; SOURCE LINE # 48
000D DFF4 270 DJNZ R7,?C0001
271 ; {
272 ; SOURCE LINE # 49
000F 273 ?C0004:
000F 22 274 RET
275 ; END OF _DS1302InputByte
276
277 ; /* unsigned int i,j;
278 ; for(i=0;i<c;i++)
279
---- 280 RSEG ?PR?DS1302OutputByte?DS1302
0000 281 DS1302OutputByte:
282 USING 0
283 ; SOURCE LINE # 51
284 ; for(j=0;j<100;j++);
285 ; SOURCE LINE # 52
286 ; unsigned int c */
287 ;
288 ; SOURCE LINE # 54
289 ;---- Variable 'i?142' assigned to Register 'R7' ----
0000 7F08 290 MOV R7,#08H
0002 291 ?C0005:
292 ; #pragma asm
293 ; SOURCE LINE # 55
294 ; MOV R4,#5
295 ; SOURCE LINE # 56
0002 C3 296 CLR C
0003 13 297 RRC A
298 ; MOV R6,#100
299 ; SOURCE LINE # 57
0004 A2B7 300 MOV C,DS1302_IO
0006 92E7 301 MOV ACC7,C
302 ; MOV R7, #250
303 ; SOURCE LINE # 58
0008 D2B6 304 SETB DS1302_CLK
305 ; DJNZ R7,$
306 ; SOURCE LINE # 59
000A C2B6 307 CLR DS1302_CLK
308 ; DJNZ R6, $
309 ; SOURCE LINE # 60
000C DFF4 310 DJNZ R7,?C0005
000E 311 ?C0006:
312 ; DJNZ R4, $
313 ; SOURCE LINE # 61
000E FF 314 MOV R7,A
315 ; #pragma endasm
316 ; SOURCE LINE # 62
000F 317 ?C0008:
000F 22 318 RET
319 ; END OF DS1302OutputByte
A51 MACRO ASSEMBLER DS1302 09/20/2008 10:13:46 PAGE 6
320
321 ; }
322 ;
323
---- 324 RSEG ?PR?_Write1302?DS1302
0000 325 _Write1302:
326 USING 0
327 ; SOURCE LINE # 64
328 ;---- Variable 'ucDa?244' assigned to Register 'R6' ----
0000 AE05 329 MOV R6,AR5
330 ;---- Variable 'ucAddr?243' assigned to Register 'R7' ----
331 ; void main()
332 ; SOURCE LINE # 65
333 ; {
334 ; SOURCE LINE # 66
0002 C2B5 335 CLR DS1302_RST
336 ; while(1)
337 ; SOURCE LINE # 67
0004 C2B6 338 CLR DS1302_CLK
339 ; { DS1302_GetTime(&time1);
340 ; SOURCE LINE # 68
0006 D2B5 341 SETB DS1302_RST
342 ;
343 ; SOURCE LINE # 69
0008 120000 F 344 LCALL _DS1302InputByte
345 ; buf[7]=(time1.Second)%10;
346 ; SOURCE LINE # 70
000B AF06 347 MOV R7,AR6
000D 120000 F 348 LCALL _DS1302InputByte
349 ; buf[6]=(time1.Second)/10;
350 ; SOURCE LINE # 71
0010 D2B6 351 SETB DS1302_CLK
352 ; buf[4]=(time1.Minute)%10;
353 ; SOURCE LINE # 72
0012 C2B5 354 CLR DS1302_RST
355 ; buf[3]=(time1.Minute)/10;
356 ; SOURCE LINE # 73
0014 22 357 RET
358 ; END OF _Write1302
359
360 ; buf[1]=(time1.Hour)%10;
361 ; buf[0]=(time1.Hour)/10;
362
---- 363 RSEG ?PR?_Read1302?DS1302
0000 364 _Read1302:
365 USING 0
366 ; SOURCE LINE # 75
367 ;---- Variable 'ucAddr?345' assigned to Register 'R7' ----
368 ;
369 ; SOURCE LINE # 76
370 ; d1=0;
371 ; P2= dispcode[buf[0]]; //顯示時(shí)的十位數(shù)
372 ; SOURCE LINE # 78
0000 C2B5 373 CLR DS1302_RST
374 ; delay1ms();
375 ; SOURCE LINE # 79
0002 C2B6 376 CLR DS1302_CLK
377 ; d1=1;
378 ; SOURCE LINE # 80
0004 D2B5 379 SETB DS1302_RST
380 ;
381 ; SOURCE LINE # 81
0006 EF 382 MOV A,R7
0007 4401 383 ORL A,#01H
0009 FF 384 MOV R7,A
000A 120000 F 385 LCALL _DS1302InputByte
A51 MACRO ASSEMBLER DS1302 09/20/2008 10:13:46 PAGE 7
386 ; d2=0;
387 ; SOURCE LINE # 82
000D 120000 F 388 LCALL DS1302OutputByte
389 ;---- Variable 'ucData?346' assigned to Register 'R7' ----
390 ; P2= dispcode[buf[1]]; //顯示時(shí)的個(gè)位數(shù)
391 ; SOURCE LINE # 83
0010 D2B6 392 SETB DS1302_CLK
393 ; delay1ms();
394 ; SOURCE LINE # 84
0012 C2B5 395 CLR DS1302_RST
396 ; d2=1;
397 ; SOURCE LINE # 85
398 ;
399 ; SOURCE LINE # 86
0014 400 ?C0010:
0014 22 401 RET
402 ; END OF _Read1302
403
404 ; d3=0;
405 ; P2= dispcode[10]; //顯示“-”
406
---- 407 RSEG ?PR?DS1302_SetProtect?DS1302
0000 408 DS1302_SetProtect:
409 USING 0
410 ; SOURCE LINE # 88
411 ; delay1ms();
412 ; SOURCE LINE # 89
413 ; d3=1;
414 ; SOURCE LINE # 90
0000 300004 F 415 JNB flag?447,?C0011
416 ;
417 ; SOURCE LINE # 91
0003 7D10 418 MOV R5,#010H
0005 8002 419 SJMP ?C0024
0007 420 ?C0011:
421 ; d4=0;
422 ; P2= dispcode[buf[3]];
423 ; SOURCE LINE # 93
0007 E4 424 CLR A
0008 FD 425 MOV R5,A
0009 426 ?C0024:
0009 7F8E 427 MOV R7,#08EH
000B 120000 F 428 LCALL _Write1302
429 ; delay1ms();
430 ; SOURCE LINE # 94
000E 431 ?C0013:
000E 22 432 RET
433 ; END OF DS1302_SetProtect
434
435 ; d4=1; //分的十位數(shù)
436 ;
437
---- 438 RSEG ?PR?_DS1302_SetTime?DS1302
0000 439 _DS1302_SetTime:
440 USING 0
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -