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

📄 ds3231.lst

📁 MAXIM的DS3231时钟,温度都具备的芯片.驱动IC为AVRmega16或者mega32.全功能.内附全部驱动程序.绝对原创.
💻 LST
📖 第 1 页 / 共 2 页
字号:
 396 0172 01F0      		breq .L56
 397               	.LBB50:
 398               	.LBB51:
 399               	.LM64:
 400 0174 81E0      		ldi r24,lo8(1)
 401 0176 8093 0000 		sts systemerror,r24
 402               	.LM65:
 403 017a 84E9      		ldi r24,lo8(-108)
 404 017c 86BF      		out 86-0x20,r24
 405               	.L56:
 406               	.LBE51:
 407               	.LBE50:
 408               	.LM66:
 409 017e 23B9      		out 35-0x20,r18
 410               	.LM67:
 411 0180 84E8      		ldi r24,lo8(-124)
 412 0182 86BF      		out 86-0x20,r24
 413               	.L58:
 414               	.LM68:
 415 0184 06B6      		in __tmp_reg__,86-0x20
 416 0186 07FE      		sbrs __tmp_reg__,7
 417 0188 00C0      		rjmp .L58
 418               	.LM69:
 419 018a 81B1      		in r24,33-0x20
 420 018c 887F      		andi r24,lo8(-8)
 421 018e 8832      		cpi r24,lo8(40)
 422 0190 01F0      		breq .L60
 423               	.LBB52:
 424               	.LBB53:
 425               	.LM70:
 426 0192 81E0      		ldi r24,lo8(1)
 427 0194 8093 0000 		sts systemerror,r24
 428               	.LM71:
 429 0198 84E9      		ldi r24,lo8(-108)
 430 019a 86BF      		out 86-0x20,r24
 431               	.L60:
 432               	.LBE53:
 433               	.LBE52:
 434               	.LM72:
 435 019c 63B9      		out 35-0x20,r22
 436               	.LM73:
 437 019e 84E8      		ldi r24,lo8(-124)
 438 01a0 86BF      		out 86-0x20,r24
 439               	.L62:
 440               	.LM74:
 441 01a2 06B6      		in __tmp_reg__,86-0x20
 442 01a4 07FE      		sbrs __tmp_reg__,7
 443 01a6 00C0      		rjmp .L62
 444               	.LM75:
 445 01a8 81B1      		in r24,33-0x20
 446 01aa 887F      		andi r24,lo8(-8)
 447 01ac 8832      		cpi r24,lo8(40)
 448 01ae 01F0      		breq .L64
 449               	.LBB54:
 450               	.LBB55:
 451               	.LM76:
 452 01b0 81E0      		ldi r24,lo8(1)
 453 01b2 8093 0000 		sts systemerror,r24
 454               	.LM77:
 455 01b6 84E9      		ldi r24,lo8(-108)
 456 01b8 86BF      		out 86-0x20,r24
 457               	.L64:
 458               	.LBE55:
 459               	.LBE54:
 460               	.LM78:
 461 01ba 84E9      		ldi r24,lo8(-108)
 462 01bc 86BF      		out 86-0x20,r24
 463               	.LBB56:
 464               	.LBB57:
 465               	.LBB58:
 466               	.LBB59:
 467               	.LM79:
 468 01be 80E0      		ldi r24,lo8(13824)
 469 01c0 96E3      		ldi r25,hi8(13824)
 470               	.LVL15:
 471               	/* #APP */
 472 01c2 0197      		1: sbiw r24,1
 473 01c4 01F4      		brne 1b
 474               	/* #NOAPP */
 475               	.LBE59:
 476               	.LBE58:
 477               	.LBE57:
 478               	.LBE56:
 479               	/* epilogue: frame size=0 */
 480 01c6 0895      		ret
 481               	/* epilogue end (size=1) */
 482               	/* function DS3231TWIWrite size 70 (69) */
 483               	.LFE13:
 485               	.global	DS3231Init
 487               	DS3231Init:
 488               	.LFB10:
 489               	.LM80:
 490               	/* prologue: frame size=0 */
 491               	/* prologue end (size=0) */
 492               	.LM81:
 493 01c8 8BE0      		ldi r24,lo8(11)
 494 01ca 80B9      		out 32-0x20,r24
 495               	.LM82:
 496 01cc 11B8      		out 33-0x20,__zero_reg__
 497               	.LM83:
 498 01ce 6CE1      		ldi r22,lo8(28)
 499 01d0 8EE0      		ldi r24,lo8(14)
 500 01d2 90E0      		ldi r25,hi8(14)
 501 01d4 0E94 0000 		call DS3231TWIWrite
 502               	.LM84:
 503 01d8 60E0      		ldi r22,lo8(0)
 504 01da 8FE0      		ldi r24,lo8(15)
 505 01dc 90E0      		ldi r25,hi8(15)
 506 01de 0E94 0000 		call DS3231TWIWrite
 507               	/* epilogue: frame size=0 */
 508 01e2 0895      		ret
 509               	/* epilogue end (size=1) */
 510               	/* function DS3231Init size 14 (13) */
 511               	.LFE10:
 513               	.global	DS3231ReadTime
 515               	DS3231ReadTime:
 516               	.LFB14:
 517               	.LM85:
 518               	/* prologue: frame size=0 */
 519 01e4 1F93      		push r17
 520 01e6 CF93      		push r28
 521 01e8 DF93      		push r29
 522               	/* prologue end (size=3) */
 523 01ea 16E0      		ldi r17,lo8(6)
 524               	.LVL16:
 525 01ec C0E0      		ldi r28,lo8(CURDATE)
 526 01ee D0E0      		ldi r29,hi8(CURDATE)
 527               	.L78:
 528               	.LM86:
 529 01f0 812F      		mov r24,r17
 530 01f2 9927      		clr r25
 531 01f4 1150      		subi r17,lo8(-(-1))
 532 01f6 0E94 0000 		call DS3231TWIRead
 533 01fa 8993      		st Y+,r24
 534 01fc 1F3F      		cpi r17,lo8(-1)
 535 01fe 01F4      		brne .L78
 536               	/* epilogue: frame size=0 */
 537 0200 DF91      		pop r29
 538 0202 CF91      		pop r28
 539 0204 1F91      		pop r17
 540 0206 0895      		ret
 541               	/* epilogue end (size=4) */
 542               	/* function DS3231ReadTime size 18 (11) */
 543               	.LFE14:
 545               	.global	DS3231WriteTime
 547               	DS3231WriteTime:
 548               	.LFB15:
 549               	.LM87:
 550               	/* prologue: frame size=0 */
 551 0208 1F93      		push r17
 552 020a CF93      		push r28
 553 020c DF93      		push r29
 554               	/* prologue end (size=3) */
 555 020e 16E0      		ldi r17,lo8(6)
 556               	.LVL17:
 557 0210 C0E0      		ldi r28,lo8(RealTimeDate)
 558 0212 D0E0      		ldi r29,hi8(RealTimeDate)
 559               	.L84:
 560               	.LM88:
 561 0214 812F      		mov r24,r17
 562 0216 9927      		clr r25
 563 0218 1150      		subi r17,lo8(-(-1))
 564 021a 6991      		ld r22,Y+
 565 021c 0E94 0000 		call DS3231TWIWrite
 566 0220 1F3F      		cpi r17,lo8(-1)
 567 0222 01F4      		brne .L84
 568               	/* epilogue: frame size=0 */
 569 0224 DF91      		pop r29
 570 0226 CF91      		pop r28
 571 0228 1F91      		pop r17
 572 022a 0895      		ret
 573               	/* epilogue end (size=4) */
 574               	/* function DS3231WriteTime size 18 (11) */
 575               	.LFE15:
 577               	.global	ReadDate
 579               	ReadDate:
 580               	.LFB16:
 581               	.LM89:
 582               	/* prologue: frame size=0 */
 583 022c 0F93      		push r16
 584 022e 1F93      		push r17
 585               	/* prologue end (size=2) */
 586               	.LM90:
 587 0230 0E94 0000 		call DS3231ReadTime
 588               	.LM91:
 589 0234 00E0      		ldi r16,lo8(NowDATE+2)
 590 0236 10E0      		ldi r17,hi8(NowDATE+2)
 591 0238 B801      		movw r22,r16
 592 023a 8091 0000 		lds r24,CURDATE
 593 023e 0E94 0000 		call BCDtoASCII
 594               	.LM92:
 595 0242 0C5F      		subi r16,lo8(-(4))
 596 0244 1F4F      		sbci r17,hi8(-(4))
 597 0246 B801      		movw r22,r16
 598 0248 8091 0000 		lds r24,CURDATE+1
 599 024c 0E94 0000 		call BCDtoASCII
 600               	.LM93:
 601 0250 0C5F      		subi r16,lo8(-(4))
 602 0252 1F4F      		sbci r17,hi8(-(4))
 603 0254 B801      		movw r22,r16
 604 0256 8091 0000 		lds r24,CURDATE+2
 605 025a 0E94 0000 		call BCDtoASCII
 606               	.LM94:
 607 025e 0C5F      		subi r16,lo8(-(4))
 608 0260 1F4F      		sbci r17,hi8(-(4))
 609 0262 B801      		movw r22,r16
 610 0264 8091 0000 		lds r24,CURDATE+4
 611 0268 0E94 0000 		call BCDtoASCII
 612               	.LM95:
 613 026c 0C5F      		subi r16,lo8(-(4))
 614 026e 1F4F      		sbci r17,hi8(-(4))
 615 0270 B801      		movw r22,r16
 616 0272 8091 0000 		lds r24,CURDATE+5
 617 0276 0E94 0000 		call BCDtoASCII
 618               	.LM96:
 619 027a 0C5F      		subi r16,lo8(-(4))
 620 027c 1F4F      		sbci r17,hi8(-(4))
 621 027e B801      		movw r22,r16
 622 0280 8091 0000 		lds r24,CURDATE+6
 623 0284 0E94 0000 		call BCDtoASCII
 624               	.LM97:
 625 0288 075F      		subi r16,lo8(-(9))
 626 028a 1F4F      		sbci r17,hi8(-(9))
 627 028c B801      		movw r22,r16
 628 028e 8091 0000 		lds r24,CURDATE+3
 629 0292 0E94 0000 		call decodeWEEK
 630               	/* epilogue: frame size=0 */
 631 0296 1F91      		pop r17
 632 0298 0F91      		pop r16
 633 029a 0895      		ret
 634               	/* epilogue end (size=3) */
 635               	/* function ReadDate size 56 (51) */
 636               	.LFE16:
 638               	.global	DS3231TWIReadTemperature
 640               	DS3231TWIReadTemperature:
 641               	.LFB17:
 642               	.LM98:
 643               	/* prologue: frame size=0 */
 644               	/* prologue end (size=0) */
 645               	.LM99:
 646 029c 8FE0      		ldi r24,lo8(15)
 647 029e 90E0      		ldi r25,hi8(15)
 648 02a0 0E94 0000 		call DS3231TWIRead
 649               	.LM100:
 650 02a4 8B7F      		andi r24,lo8(-5)
 651 02a6 01F0      		breq .L92
 652               	.LM101:
 653 02a8 80E0      		ldi r24,lo8(0)
 654               	.LVL18:
 655 02aa 00C0      		rjmp .L94
 656               	.LVL19:
 657               	.L92:
 658               	.LM102:
 659 02ac 81E1      		ldi r24,lo8(17)
 660 02ae 90E0      		ldi r25,hi8(17)
 661 02b0 0E94 0000 		call DS3231TWIRead
 662               	.LVL20:
 663               	.L94:
 664               	.LM103:
 665 02b4 9927      		clr r25
 666               	.LVL21:
 667               	/* epilogue: frame size=0 */
 668 02b6 0895      		ret
 669               	/* epilogue end (size=1) */
 670               	/* function DS3231TWIReadTemperature size 15 (14) */
 671               	.LFE17:
 673               	.global	ReadTemperature
 675               	ReadTemperature:
 676               	.LFB18:
 677               	.LM104:
 678               	/* prologue: frame size=0 */
 679               	/* prologue end (size=0) */
 680               	.LM105:
 681 02b8 8091 0000 		lds r24,ReadTemperatureflag
 682 02bc 8823      		tst r24
 683 02be 01F0      		breq .L100
 684               	.LM106:
 685 02c0 0E94 0000 		call DS3231TWIReadTemperature
 686 02c4 8093 0000 		sts temperature,r24
 687               	.LM107:
 688 02c8 8823      		tst r24
 689 02ca 01F0      		breq .L100
 690               	.LM108:
 691 02cc 1092 0000 		sts ReadTemperatureflag,__zero_reg__
 692               	.LM109:
 693 02d0 60E0      		ldi r22,lo8(NowTemperature+10)
 694 02d2 70E0      		ldi r23,hi8(NowTemperature+10)
 695 02d4 0E94 0000 		call BCDtoASCII
 696               	.LM110:
 697 02d8 80E0      		ldi r24,lo8(NowTemperature)
 698 02da 90E0      		ldi r25,hi8(NowTemperature)
 699 02dc 0E94 0000 		call UARTSendString
 700               	.L100:
 701 02e0 0895      		ret
 702               	/* epilogue: frame size=0 */
 703               	/* epilogue: noreturn */
 704               	/* epilogue end (size=0) */
 705               	/* function ReadTemperature size 21 (21) */
 706               	.LFE18:
 708               	.global	RealTimeDate
 709               		.data
 712               	RealTimeDate:
 713 0000 08        		.byte	8
 714 0001 12        		.byte	18
 715 0002 28        		.byte	40
 716 0003 07        		.byte	7
 717 0004 23        		.byte	35
 718 0005 54        		.byte	84
 719 0006 50        		.byte	80
 720               	.global	ReadTemperatureflag
 721               	.global	ReadTemperatureflag
 722               		.section .bss
 725               	ReadTemperatureflag:
 726 0000 00        		.skip 1,0
 727               	.global	temperature
 728               	.global	temperature
 731               	temperature:
 732 0001 00        		.skip 1,0
 733               	.global	NowTemperature
 734               		.data
 737               	NowTemperature:
 738 0007 CFD6 D4DA 		.string	"\317\326\324\332\316\302\266\310\312\307xx\241\346"
 738      CEC2 B6C8 
 738      CAC7 7878 
 738      A1E6 00
 739               	.global	NowDATE
 742               	NowDATE:
 743 0016 3230 7878 		.string	"20xx\304\352xx\324\302xx\310\325xx\312\261xx\267\326xx\303\353 \320\307\306\332xx"
 743      C4EA 7878 
 743      D4C2 7878 
 743      C8D5 7878 
 743      CAB1 7878 
 744               	.global	WEEK
 747               	WEEK:
 748 0038 B4ED D2BB 		.string	"\264\355\322\273\266\376\310\375\313\304\316\345\301\371\310\325"
 748      B6FE C8FD 
 748      CBC4 CEE5 
 748      C1F9 C8D5 
 748      00
 869               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 ds3231.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:20     .text:00000000 BCDtoASCII
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:45     .text:00000014 decodeWEEK
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:747    .data:00000038 WEEK
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:80     .text:00000034 BcdToBin
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:106    .text:0000004a BinToBcd
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:137    .text:0000006e ERROR
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:156    .text:0000007a DS3231TWIRead
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:349    .text:00000140 DS3231TWIWrite
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:487    .text:000001c8 DS3231Init
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:515    .text:000001e4 DS3231ReadTime
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:547    .text:00000208 DS3231WriteTime
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:712    .data:00000000 RealTimeDate
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:579    .text:0000022c ReadDate
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:742    .data:00000016 NowDATE
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:640    .text:0000029c DS3231TWIReadTemperature
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:675    .text:000002b8 ReadTemperature
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:725    .bss:00000000 ReadTemperatureflag
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:731    .bss:00000001 temperature
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccnXLf0I.s:737    .data:00000007 NowTemperature

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodqi4
systemerror
CURDATE
UARTSendString

⌨️ 快捷键说明

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