📄 main.lst
字号:
406 00f4 60E0 ldi r22,lo8(0)
407 00f6 70E0 ldi r23,hi8(0)
408 00f8 81E0 ldi r24,lo8(1)
409 00fa 90E0 ldi r25,hi8(1)
410 00fc 0E94 0000 call LCD_write_char
411 /* epilogue: frame size=0 */
412 0100 DF91 pop r29
413 0102 CF91 pop r28
414 0104 0895 ret
415 /* epilogue end (size=3) */
416 /* function LCD_init size 52 (47) */
433 .Lscope3:
436 .global LCD_putc
438 LCD_putc:
91:./LCD1602.h **** }
92:./LCD1602.h **** }
93:./LCD1602.h ****
94:./LCD1602.h **** int LCD_putc(unsigned char c)//标准输入流
95:./LCD1602.h **** {
440 .LM41:
441 /* prologue: frame size=0 */
442 0106 CF93 push r28
443 /* prologue end (size=1) */
444 0108 C82F mov r28,r24
96:./LCD1602.h **** if (c=='\n') //换行
446 .LM42:
447 010a 8A30 cpi r24,lo8(10)
448 010c 49F4 brne .L63
97:./LCD1602.h **** {Y^=1;
450 .LM43:
451 010e 8091 0000 lds r24,Y
452 0112 91E0 ldi r25,lo8(1)
453 0114 8927 eor r24,r25
454 0116 8093 0000 sts Y,r24
98:./LCD1602.h **** X=0;
456 .LM44:
457 011a 1092 0000 sts X,__zero_reg__
458 011e 13C0 rjmp .L69
459 .L63:
99:./LCD1602.h **** }
100:./LCD1602.h **** else if (c=='\t') Y^=1;//下移一格
461 .LM45:
462 0120 8930 cpi r24,lo8(9)
463 0122 39F4 brne .L65
464 0124 8091 0000 lds r24,Y
465 0128 91E0 ldi r25,lo8(1)
466 012a 8927 eor r24,r25
467 012c 8093 0000 sts Y,r24
468 0130 0AC0 rjmp .L69
469 .L65:
101:./LCD1602.h **** else if(c=='\v') X++;//左移一格
471 .LM46:
472 0132 8B30 cpi r24,lo8(11)
473 0134 31F4 brne .L64
474 0136 8091 0000 lds r24,X
475 013a 8F5F subi r24,lo8(-(1))
476 013c 8093 0000 sts X,r24
477 0140 02C0 rjmp .L69
478 .L64:
102:./LCD1602.h **** if (c<32) return 1;
480 .LM47:
481 0142 8032 cpi r24,lo8(32)
482 0144 18F4 brsh .L68
483 .L69:
484 0146 81E0 ldi r24,lo8(1)
485 0148 90E0 ldi r25,hi8(1)
486 014a 14C0 rjmp .L62
487 .L68:
103:./LCD1602.h **** LCD_set_xy(X,Y);
489 .LM48:
490 014c 6091 0000 lds r22,Y
491 0150 8091 0000 lds r24,X
492 0154 0E94 0000 call LCD_set_xy
104:./LCD1602.h **** LCD_write_char(0,c);
494 .LM49:
495 0158 8C2F mov r24,r28
496 015a 9927 clr r25
497 015c BC01 movw r22,r24
498 015e 80E0 ldi r24,lo8(0)
499 0160 90E0 ldi r25,hi8(0)
500 0162 0E94 0000 call LCD_write_char
105:./LCD1602.h **** X++;//左移一格
502 .LM50:
503 0166 8091 0000 lds r24,X
504 016a 8F5F subi r24,lo8(-(1))
505 016c 8093 0000 sts X,r24
106:./LCD1602.h **** return 0;
507 .LM51:
508 0170 80E0 ldi r24,lo8(0)
509 0172 90E0 ldi r25,hi8(0)
510 .L62:
511 /* epilogue: frame size=0 */
512 0174 CF91 pop r28
513 0176 0895 ret
514 /* epilogue end (size=2) */
515 /* function LCD_putc size 57 (54) */
517 .Lscope4:
519 .global init_timer1_icp
521 init_timer1_icp:
523 .Ltext12:
1:main.c **** #include <avr/io.h>
2:main.c **** #include <avr/signal.h>
3:main.c **** #include <avr/delay.h>
4:main.c **** #include <stdio.h>
5:main.c **** #include <math.h>
6:main.c **** #include <LCD1602.h>
7:main.c ****
8:main.c **** int once_time;
9:main.c ****
10:main.c **** void init_timer1_icp(void)
11:main.c **** {
525 .LM52:
526 /* prologue: frame size=0 */
527 /* prologue end (size=0) */
12:main.c **** TCCR1B|=(1<<CS11)|(1<<CS10)|(1<<ICNC1); //分频比64,可调
529 .LM53:
530 0178 8EB5 in r24,78-0x20
531 017a 8368 ori r24,lo8(-125)
532 017c 8EBD out 78-0x20,r24
13:main.c **** TIFR=1<<ICF1; //清除没有执行的中断
534 .LM54:
535 017e 80E2 ldi r24,lo8(32)
536 0180 88BF out 88-0x20,r24
14:main.c **** TIMSK=1<<TICIE1;
538 .LM55:
539 0182 89BF out 89-0x20,r24
15:main.c **** DDRB=0xFF;
541 .LM56:
542 0184 8FEF ldi r24,lo8(-1)
543 0186 87BB out 55-0x20,r24
16:main.c **** DDRD&=~(1<<PD6);
545 .LM57:
546 0188 8E98 cbi 49-0x20,6
17:main.c **** PORTD|=1<<PD6;
548 .LM58:
549 018a 969A sbi 50-0x20,6
550 /* epilogue: frame size=0 */
551 018c 0895 ret
552 /* epilogue end (size=1) */
553 /* function init_timer1_icp size 11 (10) */
555 .Lscope5:
556 .data
557 .LC0:
558 0000 0A0B 0B25 .string "\n\013\013%5d\n"
558 3564 0A00
559 .text
561 .global __vector_5
563 __vector_5:
18:main.c **** }
19:main.c **** SIGNAL(SIG_INPUT_CAPTURE1)
20:main.c **** {
565 .LM59:
566 /* prologue: frame size=0 */
567 018e 1F92 push __zero_reg__
568 0190 0F92 push __tmp_reg__
569 0192 0FB6 in __tmp_reg__,__SREG__
570 0194 0F92 push __tmp_reg__
571 0196 1124 clr __zero_reg__
572 0198 2F93 push r18
573 019a 3F93 push r19
574 019c 4F93 push r20
575 019e 5F93 push r21
576 01a0 6F93 push r22
577 01a2 7F93 push r23
578 01a4 8F93 push r24
579 01a6 9F93 push r25
580 01a8 AF93 push r26
581 01aa BF93 push r27
582 01ac EF93 push r30
583 01ae FF93 push r31
584 /* prologue end (size=17) */
21:main.c **** once_time=ICR1/16;
586 .LM60:
587 01b0 86B5 in r24,70-0x20
588 01b2 97B5 in r25,(70)+1-0x20
589 01b4 9295 swap r25
590 01b6 8295 swap r24
591 01b8 8F70 andi r24,0x0f
592 01ba 8927 eor r24,r25
593 01bc 9F70 andi r25,0x0f
594 01be 8927 eor r24,r25
595 01c0 9093 0000 sts (once_time)+1,r25
596 01c4 8093 0000 sts once_time,r24
22:main.c **** TCNT1=0;
598 .LM61:
599 01c8 1DBC out (76)+1-0x20,__zero_reg__
600 01ca 1CBC out 76-0x20,__zero_reg__
23:main.c **** printf("\n\v\v%5d\n",once_time*8);
602 .LM62:
603 01cc 880F lsl r24
604 01ce 991F rol r25
605 01d0 880F lsl r24
606 01d2 991F rol r25
607 01d4 880F lsl r24
608 01d6 991F rol r25
609 01d8 9F93 push r25
610 01da 8F93 push r24
611 01dc 80E0 ldi r24,lo8(.LC0)
612 01de 90E0 ldi r25,hi8(.LC0)
613 01e0 9F93 push r25
614 01e2 8F93 push r24
615 01e4 0E94 0000 call printf
616 01e8 0F90 pop __tmp_reg__
617 01ea 0F90 pop __tmp_reg__
618 01ec 0F90 pop __tmp_reg__
619 01ee 0F90 pop __tmp_reg__
620 /* epilogue: frame size=0 */
621 01f0 FF91 pop r31
622 01f2 EF91 pop r30
623 01f4 BF91 pop r27
624 01f6 AF91 pop r26
625 01f8 9F91 pop r25
626 01fa 8F91 pop r24
627 01fc 7F91 pop r23
628 01fe 6F91 pop r22
629 0200 5F91 pop r21
630 0202 4F91 pop r20
631 0204 3F91 pop r19
632 0206 2F91 pop r18
633 0208 0F90 pop __tmp_reg__
634 020a 0FBE out __SREG__,__tmp_reg__
635 020c 0F90 pop __tmp_reg__
636 020e 1F90 pop __zero_reg__
637 0210 1895 reti
638 /* epilogue end (size=17) */
639 /* function __vector_5 size 66 (32) */
641 .Lscope6:
642 .data
643 .LC1:
644 0008 5765 6C6C .string "Wellcome"
644 636F 6D65
644 00
645 .LC2:
646 0011 7777 772E .string "www.OURAVR.com!"
646 4F55 5241
646 5652 2E63
646 6F6D 2100
647 .LC3:
648 0021 4861 7070 .string "Happy every day!"
648 7920 6576
648 6572 7920
648 6461 7921
648 00
649 .LC4:
650 0032 466F 7265 .string "Forever friend! "
650 7665 7220
650 6672 6965
650 6E64 2120
650 00
651 .LC5:
652 0043 5265 6473 .string "Redstone:Support"
652 746F 6E65
652 3A53 7570
652 706F 7274
652 00
653 .LC6:
654 0054 4F55 5241 .string "OURAVR Forever! "
654 5652 2046
654 6F72 6576
654 6572 2120
654 00
655 .LC7:
656 0065 5468 6520 .string "The Cycle Is: "
656 4379 636C
656 6520 4973
656 3A20 2020
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -