📄 ds18b20-lcd1602-c51-avr.lst
字号:
334 .LM58:
335 00cc 9398 cbi 50-0x20,3
336 .LM59:
337 00ce C0FF sbrs r28,0
338 00d0 02C0 rjmp .L34
339 .LM60:
340 00d2 939A sbi 50-0x20,3
341 00d4 01C0 rjmp .L35
342 .L34:
343 .LM61:
344 00d6 9398 cbi 50-0x20,3
345 .L35:
346 .LM62:
347 00d8 86E4 ldi r24,lo8(70)
348 00da 90E0 ldi r25,hi8(70)
349 00dc 9CDF rcall Delay
350 .LM63:
351 00de 939A sbi 50-0x20,3
352 .LM64:
353 00e0 C695 lsr r28
354 .LM65:
355 00e2 1150 subi r17,lo8(-(-1))
356 00e4 99F7 brne .L36
357 /* epilogue: frame size=0 */
358 00e6 CF91 pop r28
359 00e8 1F91 pop r17
360 00ea 0895 ret
361 /* epilogue end (size=3) */
362 /* function WriteOneChar size 21 (16) */
363 .LFE12:
365 .global Read_Temperature
367 Read_Temperature:
368 .LFB13:
369 .LM66:
370 /* prologue: frame size=0 */
371 /* prologue end (size=0) */
372 .LM67:
373 00ec B7DF rcall Init_DS18B20
374 .LM68:
375 00ee 8091 0000 lds r24,presence
376 00f2 8130 cpi r24,lo8(1)
377 00f4 11F4 brne .L40
378 .LM69:
379 00f6 94DF rcall beep
380 00f8 0895 ret
381 .L40:
382 .LM70:
383 00fa 8CEC ldi r24,lo8(-52)
384 00fc E3DF rcall WriteOneChar
385 .LM71:
386 00fe 84E4 ldi r24,lo8(68)
387 0100 E1DF rcall WriteOneChar
388 .LM72:
389 0102 ACDF rcall Init_DS18B20
390 .LM73:
391 0104 8CEC ldi r24,lo8(-52)
392 0106 DEDF rcall WriteOneChar
393 .LM74:
394 0108 8EEB ldi r24,lo8(-66)
395 010a DCDF rcall WriteOneChar
396 .LM75:
397 010c C5DF rcall ReadOneChar
398 010e 8093 0000 sts temp_data,r24
399 .LM76:
400 0112 C2DF rcall ReadOneChar
401 0114 8093 0000 sts temp_data+1,r24
402 0118 0895 ret
403 /* epilogue: frame size=0 */
404 011a 0895 ret
405 /* epilogue end (size=1) */
406 /* function Read_Temperature size 24 (23) */
407 .LFE13:
409 .global lcd_busy
411 lcd_busy:
412 .LFB17:
413 .LM77:
414 /* prologue: frame size=0 */
415 /* prologue end (size=0) */
416 .LM78:
417 011c D798 cbi 58-0x20,7
418 .LM79:
419 011e A898 cbi 53-0x20,0
420 .LM80:
421 0120 A99A sbi 53-0x20,1
422 .LM81:
423 0122 AA9A sbi 53-0x20,2
424 .L43:
425 .LM82:
426 0124 CF99 sbic 57-0x20,7
427 0126 FECF rjmp .L43
428 .LM83:
429 0128 AA98 cbi 53-0x20,2
430 .LM84:
431 012a D79A sbi 58-0x20,7
432 /* epilogue: frame size=0 */
433 012c 0895 ret
434 /* epilogue end (size=1) */
435 /* function lcd_busy size 9 (8) */
436 .LFE17:
438 .global lcd_wcmd
440 lcd_wcmd:
441 .LFB15:
442 .LM85:
443 /* prologue: frame size=0 */
444 012e CF93 push r28
445 /* prologue end (size=1) */
446 0130 C82F mov r28,r24
447 .LM86:
448 0132 6111 cpse r22,__zero_reg__
449 .LM87:
450 0134 F3DF rcall lcd_busy
451 .L47:
452 .LM88:
453 0136 A898 cbi 53-0x20,0
454 .LM89:
455 0138 A998 cbi 53-0x20,1
456 .LM90:
457 013a AA98 cbi 53-0x20,2
458 .LM91:
459 013c CBBB out 59-0x20,r28
460 .LM92:
461 013e AA9A sbi 53-0x20,2
462 .LM93:
463 /* #APP */
464 0140 0000 nop
465 .LM94:
466 0142 0000 nop
467 .LM95:
468 /* #NOAPP */
469 0144 AA98 cbi 53-0x20,2
470 /* epilogue: frame size=0 */
471 0146 CF91 pop r28
472 0148 0895 ret
473 /* epilogue end (size=2) */
474 /* function lcd_wcmd size 17 (14) */
475 .LFE15:
477 .global lcd_init
479 lcd_init:
480 .LFB14:
481 .LM96:
482 /* prologue: frame size=0 */
483 /* prologue end (size=0) */
484 .LM97:
485 014a 8FEF ldi r24,lo8(-1)
486 014c 8ABB out 58-0x20,r24
487 .LM98:
488 014e 8BBB out 59-0x20,r24
489 .LM99:
490 0150 84BB out 52-0x20,r24
491 .LM100:
492 0152 85BB out 53-0x20,r24
493 .LM101:
494 0154 8EE1 ldi r24,lo8(30)
495 0156 90E0 ldi r25,hi8(30)
496 0158 53DF rcall delay_nms
497 .LM102:
498 015a 60E0 ldi r22,lo8(0)
499 015c 88E3 ldi r24,lo8(56)
500 015e E7DF rcall lcd_wcmd
501 .LM103:
502 0160 85E0 ldi r24,lo8(5)
503 0162 90E0 ldi r25,hi8(5)
504 0164 4DDF rcall delay_nms
505 .LM104:
506 0166 60E0 ldi r22,lo8(0)
507 0168 88E3 ldi r24,lo8(56)
508 016a E1DF rcall lcd_wcmd
509 .LM105:
510 016c 85E0 ldi r24,lo8(5)
511 016e 90E0 ldi r25,hi8(5)
512 0170 47DF rcall delay_nms
513 .LM106:
514 0172 60E0 ldi r22,lo8(0)
515 0174 88E3 ldi r24,lo8(56)
516 0176 DBDF rcall lcd_wcmd
517 .LM107:
518 0178 85E0 ldi r24,lo8(5)
519 017a 90E0 ldi r25,hi8(5)
520 017c 41DF rcall delay_nms
521 .LM108:
522 017e 61E0 ldi r22,lo8(1)
523 0180 8CE0 ldi r24,lo8(12)
524 0182 D5DF rcall lcd_wcmd
525 .LM109:
526 0184 85E0 ldi r24,lo8(5)
527 0186 90E0 ldi r25,hi8(5)
528 0188 3BDF rcall delay_nms
529 .LM110:
530 018a 61E0 ldi r22,lo8(1)
531 018c 86E0 ldi r24,lo8(6)
532 018e CFDF rcall lcd_wcmd
533 .LM111:
534 0190 85E0 ldi r24,lo8(5)
535 0192 90E0 ldi r25,hi8(5)
536 0194 35DF rcall delay_nms
537 .LM112:
538 0196 61E0 ldi r22,lo8(1)
539 0198 862F mov r24,r22
540 019a C9DF rcall lcd_wcmd
541 .LM113:
542 019c 85E0 ldi r24,lo8(5)
543 019e 90E0 ldi r25,hi8(5)
544 01a0 2FDF rcall delay_nms
545 /* epilogue: frame size=0 */
546 01a2 0895 ret
547 /* epilogue end (size=1) */
548 /* function lcd_init size 45 (44) */
549 .LFE14:
551 .global lcd_wdat
553 lcd_wdat:
554 .LFB16:
555 .LM114:
556 /* prologue: frame size=0 */
557 01a4 1F93 push r17
558 /* prologue end (size=1) */
559 01a6 182F mov r17,r24
560 .LM115:
561 01a8 B9DF rcall lcd_busy
562 .LM116:
563 01aa A89A sbi 53-0x20,0
564 .LM117:
565 01ac A998 cbi 53-0x20,1
566 .LM118:
567 01ae AA98 cbi 53-0x20,2
568 .LM119:
569 01b0 1BBB out 59-0x20,r17
570 .LM120:
571 01b2 AA9A sbi 53-0x20,2
572 .LM121:
573 /* #APP */
574 01b4 0000 nop
575 .LM122:
576 01b6 0000 nop
577 .LM123:
578 /* #NOAPP */
579 01b8 AA98 cbi 53-0x20,2
580 /* epilogue: frame size=0 */
581 01ba 1F91 pop r17
582 01bc 0895 ret
583 /* epilogue end (size=2) */
584 /* function lcd_wdat size 15 (12) */
585 .LFE16:
587 .global lcd_pos
589 lcd_pos:
590 .LFB18:
591 .LM124:
592 /* prologue: frame size=0 */
593 /* prologue end (size=0) */
594 .LM125:
595 01be 61E0 ldi r22,lo8(1)
596 01c0 8068 ori r24,lo8(-128)
597 01c2 B5DF rcall lcd_wcmd
598 /* epilogue: frame size=0 */
599 01c4 0895 ret
600 /* epilogue end (size=1) */
601 /* function lcd_pos size 4 (3) */
602 .LFE18:
604 .global writetab
606 writetab:
607 .LFB19:
608 .LM126:
609 /* prologue: frame size=0 */
610 01c6 0F93 push r16
611 01c8 1F93 push r17
612 01ca CF93 push r28
613 /* prologue end (size=3) */
614 .LM127:
615 01cc 61E0 ldi r22,lo8(1)
616 01ce 80E4 ldi r24,lo8(64)
617 01d0 AEDF rcall lcd_wcmd
618 01d2 00E0 ldi r16,lo8(mytab)
619 01d4 10E0 ldi r17,hi8(mytab)
620 01d6 C7E0 ldi r28,lo8(7)
621 .L59:
622 .LM128:
623 01d8 F801 movw r30,r16
624 01da 8191 ld r24,Z+
625 01dc 8F01 movw r16,r30
626 01de E2DF rcall lcd_wdat
627 .LM129:
628 01e0 C150 subi r28,lo8(-(-1))
629 01e2 C7FF sbrs r28,7
630 01e4 F9CF rjmp .L59
631 /* epilogue: frame size=0 */
632 01e6 CF91 pop r28
633 01e8 1F91 pop r17
634 01ea 0F91 pop r16
635 01ec 0895 ret
636 /* epilogue end (size=4) */
637 /* function writetab size 20 (13) */
638 .LFE19:
640 .global Ok_Menu
642 Ok_Menu:
643 .LFB20:
644 .LM130:
645 /* prologue: frame size=0 */
646 01ee CF93 push r28
647 /* prologue end (size=1) */
648 .LM131:
649 01f0 ACDF rcall lcd_init
650 .LM132:
651 01f2 80E0 ldi r24,lo8(0)
652 01f4 E4DF rcall lcd_pos
653 .LM133:
654 01f6 C0E0 ldi r28,lo8(0)
655 .LM134:
656 01f8 8091 0000 lds r24,cdis1
657 .L73:
658 .LM135:
659 01fc 8823 tst r24
660 01fe 69F0 breq .L70
661 .LM136:
662 0200 EC2F mov r30,r28
663 0202 FF27 clr r31
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -