📄 read-ds18b20-lcd1602-c51-avr.lst
字号:
326 00e6 CF91 pop r28
327 00e8 1F91 pop r17
328 00ea 0895 ret
329 /* epilogue end (size=3) */
330 /* function WriteOneChar size 21 (16) */
331 .LFE12:
333 .global Read_RomCord
335 Read_RomCord:
336 .LFB13:
337 .LM66:
338 /* prologue: frame size=0 */
339 00ec 0F93 push r16
340 00ee 1F93 push r17
341 00f0 CF93 push r28
342 /* prologue end (size=3) */
343 .LM67:
344 00f2 B4DF rcall Init_DS18B20
345 .LM68:
346 00f4 83E3 ldi r24,lo8(51)
347 00f6 E6DF rcall WriteOneChar
348 00f8 00E0 ldi r16,lo8(RomCode)
349 00fa 10E0 ldi r17,hi8(RomCode)
350 00fc C7E0 ldi r28,lo8(7)
351 .L43:
352 .LM69:
353 00fe CCDF rcall ReadOneChar
354 0100 F801 movw r30,r16
355 0102 8193 st Z+,r24
356 0104 8F01 movw r16,r30
357 .LM70:
358 0106 88EC ldi r24,lo8(200)
359 0108 90E0 ldi r25,hi8(200)
360 010a 85DF rcall Delay
361 .LM71:
362 010c C150 subi r28,lo8(-(-1))
363 010e C7FF sbrs r28,7
364 0110 F6CF rjmp .L43
365 /* epilogue: frame size=0 */
366 0112 CF91 pop r28
367 0114 1F91 pop r17
368 0116 0F91 pop r16
369 0118 0895 ret
370 /* epilogue end (size=4) */
371 /* function Read_RomCord size 23 (16) */
372 .LFE13:
374 .global CRC8
376 CRC8:
377 .LFB14:
378 .LM72:
379 /* prologue: frame size=0 */
380 /* prologue end (size=0) */
381 .LM73:
382 011a 1092 0000 sts crc,__zero_reg__
383 .LM74:
384 011e 40E0 ldi r20,lo8(0)
385 0120 61E0 ldi r22,lo8(1)
386 0122 70E0 ldi r23,hi8(1)
387 0124 58E1 ldi r21,lo8(24)
388 0126 842F mov r24,r20
389 .L56:
390 .LM75:
391 0128 E42F mov r30,r20
392 012a FF27 clr r31
393 012c E050 subi r30,lo8(-(RomCode))
394 012e F040 sbci r31,hi8(-(RomCode))
395 0130 E081 ld r30,Z
396 0132 282F mov r18,r24
397 0134 37E0 ldi r19,lo8(7)
398 .L55:
399 .LM76:
400 0136 822F mov r24,r18
401 0138 8E27 eor r24,r30
402 013a 9927 clr r25
403 013c 8170 andi r24,lo8(1)
404 013e 9070 andi r25,hi8(1)
405 0140 8617 cp r24,r22
406 0142 9707 cpc r25,r23
407 0144 11F0 breq .L53
408 .LM77:
409 0146 2695 lsr r18
410 0148 03C0 rjmp .L54
411 .L53:
412 .LM78:
413 014a 2527 eor r18,r21
414 .LM79:
415 014c 2695 lsr r18
416 .LM80:
417 014e 2068 ori r18,lo8(-128)
418 .L54:
419 .LM81:
420 0150 E695 lsr r30
421 .LM82:
422 0152 3150 subi r19,lo8(-(-1))
423 0154 37FF sbrs r19,7
424 0156 EFCF rjmp .L55
425 0158 822F mov r24,r18
426 .LM83:
427 015a 4F5F subi r20,lo8(-(1))
428 015c 4830 cpi r20,lo8(8)
429 015e 20F3 brlo .L56
430 0160 2093 0000 sts crc,r18
431 .LM84:
432 0164 822F mov r24,r18
433 0166 9927 clr r25
434 /* epilogue: frame size=0 */
435 0168 0895 ret
436 /* epilogue end (size=1) */
437 /* function CRC8 size 40 (39) */
438 .LFE14:
440 .global lcd_busy
442 lcd_busy:
443 .LFB19:
444 .LM85:
445 /* prologue: frame size=0 */
446 /* prologue end (size=0) */
447 .LM86:
448 016a D798 cbi 58-0x20,7
449 .LM87:
450 016c A898 cbi 53-0x20,0
451 .LM88:
452 016e A99A sbi 53-0x20,1
453 .LM89:
454 0170 AA9A sbi 53-0x20,2
455 .L64:
456 .LM90:
457 0172 CF99 sbic 57-0x20,7
458 0174 FECF rjmp .L64
459 .LM91:
460 0176 AA98 cbi 53-0x20,2
461 .LM92:
462 0178 D79A sbi 58-0x20,7
463 /* epilogue: frame size=0 */
464 017a 0895 ret
465 /* epilogue end (size=1) */
466 /* function lcd_busy size 9 (8) */
467 .LFE19:
469 .global lcd_wdat
471 lcd_wdat:
472 .LFB18:
473 .LM93:
474 /* prologue: frame size=0 */
475 017c 1F93 push r17
476 /* prologue end (size=1) */
477 017e 182F mov r17,r24
478 .LM94:
479 0180 F4DF rcall lcd_busy
480 .LM95:
481 0182 A89A sbi 53-0x20,0
482 .LM96:
483 0184 A998 cbi 53-0x20,1
484 .LM97:
485 0186 AA98 cbi 53-0x20,2
486 .LM98:
487 0188 1BBB out 59-0x20,r17
488 .LM99:
489 018a AA9A sbi 53-0x20,2
490 .LM100:
491 /* #APP */
492 018c 0000 nop
493 .LM101:
494 018e 0000 nop
495 .LM102:
496 /* #NOAPP */
497 0190 AA98 cbi 53-0x20,2
498 /* epilogue: frame size=0 */
499 0192 1F91 pop r17
500 0194 0895 ret
501 /* epilogue end (size=2) */
502 /* function lcd_wdat size 15 (12) */
503 .LFE18:
505 .global lcd_wcmd
507 lcd_wcmd:
508 .LFB17:
509 .LM103:
510 /* prologue: frame size=0 */
511 0196 CF93 push r28
512 /* prologue end (size=1) */
513 0198 C82F mov r28,r24
514 .LM104:
515 019a 6111 cpse r22,__zero_reg__
516 .LM105:
517 019c E6DF rcall lcd_busy
518 .L71:
519 .LM106:
520 019e A898 cbi 53-0x20,0
521 .LM107:
522 01a0 A998 cbi 53-0x20,1
523 .LM108:
524 01a2 AA98 cbi 53-0x20,2
525 .LM109:
526 01a4 CBBB out 59-0x20,r28
527 .LM110:
528 01a6 AA9A sbi 53-0x20,2
529 .LM111:
530 /* #APP */
531 01a8 0000 nop
532 .LM112:
533 01aa 0000 nop
534 .LM113:
535 /* #NOAPP */
536 01ac AA98 cbi 53-0x20,2
537 /* epilogue: frame size=0 */
538 01ae CF91 pop r28
539 01b0 0895 ret
540 /* epilogue end (size=2) */
541 /* function lcd_wcmd size 17 (14) */
542 .LFE17:
544 .global lcd_pos
546 lcd_pos:
547 .LFB20:
548 .LM114:
549 /* prologue: frame size=0 */
550 /* prologue end (size=0) */
551 .LM115:
552 01b2 61E0 ldi r22,lo8(1)
553 01b4 8068 ori r24,lo8(-128)
554 01b6 EFDF rcall lcd_wcmd
555 /* epilogue: frame size=0 */
556 01b8 0895 ret
557 /* epilogue end (size=1) */
558 /* function lcd_pos size 4 (3) */
559 .LFE20:
561 .global Disp_RomCode
563 Disp_RomCode:
564 .LFB15:
565 .LM116:
566 /* prologue: frame size=0 */
567 01ba EF92 push r14
568 01bc FF92 push r15
569 01be 1F93 push r17
570 01c0 CF93 push r28
571 /* prologue end (size=4) */
572 .LM117:
573 01c2 C0E4 ldi r28,lo8(64)
574 01c4 40E0 ldi r20,lo8(RomCode)
575 01c6 E42E mov r14,r20
576 01c8 40E0 ldi r20,hi8(RomCode)
577 01ca F42E mov r15,r20
578 01cc 17E0 ldi r17,lo8(7)
579 .L83:
580 .LM118:
581 01ce F701 movw r30,r14
582 01d0 8191 ld r24,Z+
583 01d2 7F01 movw r14,r30
584 01d4 8093 0000 sts Temp,r24
585 .LM119:
586 01d8 9927 clr r25
587 01da 34E0 ldi r19,4
588 01dc 9695 1: lsr r25
589 01de 8795 ror r24
590 01e0 3A95 dec r19
591 01e2 E1F7 brne 1b
592 01e4 8093 0000 sts display,r24
593 .LM120:
594 01e8 8A30 cpi r24,lo8(10)
595 01ea 10F0 brlo .L79
596 .LM121:
597 01ec 895C subi r24,lo8(-(55))
598 01ee 01C0 rjmp .L86
599 .L79:
600 .LM122:
601 01f0 805D subi r24,lo8(-(48))
602 .L86:
603 01f2 8093 0000 sts display,r24
604 .LM123:
605 01f6 8C2F mov r24,r28
606 01f8 DCDF rcall lcd_pos
607 .LM124:
608 01fa 8091 0000 lds r24,display
609 01fe BEDF rcall lcd_wdat
610 .LM125:
611 0200 CF5F subi r28,lo8(-(1))
612 .LM126:
613 0202 8091 0000 lds r24,Temp
614 0206 8F70 andi r24,lo8(15)
615 0208 8093 0000 sts display+1,r24
616 .LM127:
617 020c 8A30 cpi r24,lo8(10)
618 020e 10F0 brlo .L81
619 .LM128:
620 0210 895C subi r24,lo8(-(55))
621 0212 01C0 rjmp .L87
622 .L81:
623 .LM129:
624 0214 805D subi r24,lo8(-(48))
625 .L87:
626 0216 8093 0000 sts display+1,r24
627 .LM130:
628 021a 8C2F mov r24,r28
629 021c CADF rcall lcd_pos
630 .LM131:
631 021e 8091 0000 lds r24,display+1
632 0222 ACDF rcall lcd_wdat
633 .LM132:
634 0224 CF5F subi r28,lo8(-(1))
635 .LM133:
636 0226 1150 subi r17,lo8(-(-1))
637 0228 17FF sbrs r17,7
638 022a D1CF rjmp .L83
639 /* epilogue: frame size=0 */
640 022c CF91 pop r28
641 022e 1F91 pop r17
642 0230 FF90 pop r15
643 0232 EF90 pop r14
644 0234 0895 ret
645 /* epilogue end (size=5) */
646 /* function Disp_RomCode size 62 (53) */
647 .LFE15:
649 .global lcd_init
651 lcd_init:
652 .LFB16:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -