📄 main.lss
字号:
display_buffer[5]=0x40;//-
622: 80 e4 ldi r24, 0x40 ; 64
624: 80 93 65 00 sts 0x0065, r24
//minute
temp=(timer_minute&0xf0)>>4;
628: 84 2f mov r24, r20
62a: 99 27 eor r25, r25
62c: f4 e0 ldi r31, 0x04 ; 4
62e: 96 95 lsr r25
630: 87 95 ror r24
632: fa 95 dec r31
634: e1 f7 brne .-8 ; 0x62e
display_buffer[6]=pgm_read_byte(display_code+temp);
636: e8 2f mov r30, r24
638: ff 27 eor r31, r31
63a: ea 5d subi r30, 0xDA ; 218
63c: ff 4f sbci r31, 0xFF ; 255
63e: 84 91 lpm r24, Z
640: 80 93 66 00 sts 0x0066, r24
temp=timer_minute&0x0f;
644: 3f 70 andi r19, 0x0F ; 15
display_buffer[7]=pgm_read_byte(display_code+temp);
646: e3 2f mov r30, r19
648: ff 27 eor r31, r31
64a: ea 5d subi r30, 0xDA ; 218
64c: ff 4f sbci r31, 0xFF ; 255
64e: 84 91 lpm r24, Z
650: 80 93 67 00 sts 0x0067, r24
654: 08 95 ret
00000656 <check_timer>:
}
void check_timer(void)
{
if(timer0_hour) flag|=1<<timer0_available;
656: e0 91 75 00 lds r30, 0x0075
65a: ee 23 and r30, r30
65c: 31 f0 breq .+12 ; 0x66a
65e: 80 91 78 00 lds r24, 0x0078
662: 84 60 ori r24, 0x04 ; 4
664: 80 93 78 00 sts 0x0078, r24
668: 0b c0 rjmp .+22 ; 0x680
else if(timer0_minute) flag|=1<<timer0_available;
66a: 80 91 74 00 lds r24, 0x0074
66e: 90 91 78 00 lds r25, 0x0078
672: 88 23 and r24, r24
674: 11 f0 breq .+4 ; 0x67a
676: 94 60 ori r25, 0x04 ; 4
678: 01 c0 rjmp .+2 ; 0x67c
else flag&=~(1<<timer0_available);
67a: 9b 7f andi r25, 0xFB ; 251
67c: 90 93 78 00 sts 0x0078, r25
if(timer1_hour) flag|=1<<timer1_available;
680: 70 91 73 00 lds r23, 0x0073
684: 77 23 and r23, r23
686: 31 f0 breq .+12 ; 0x694
688: 80 91 78 00 lds r24, 0x0078
68c: 88 60 ori r24, 0x08 ; 8
68e: 80 93 78 00 sts 0x0078, r24
692: 0b c0 rjmp .+22 ; 0x6aa
else if(timer1_minute) flag|=1<<timer1_available;
694: 80 91 72 00 lds r24, 0x0072
698: 90 91 78 00 lds r25, 0x0078
69c: 88 23 and r24, r24
69e: 11 f0 breq .+4 ; 0x6a4
6a0: 98 60 ori r25, 0x08 ; 8
6a2: 01 c0 rjmp .+2 ; 0x6a6
else flag&=~(1<<timer1_available);
6a4: 97 7f andi r25, 0xF7 ; 247
6a6: 90 93 78 00 sts 0x0078, r25
if(timer2_hour) flag|=1<<timer2_available;
6aa: 60 91 71 00 lds r22, 0x0071
6ae: 66 23 and r22, r22
6b0: 31 f0 breq .+12 ; 0x6be
6b2: 80 91 78 00 lds r24, 0x0078
6b6: 80 61 ori r24, 0x10 ; 16
6b8: 80 93 78 00 sts 0x0078, r24
6bc: 0b c0 rjmp .+22 ; 0x6d4
else if(timer2_minute) flag|=1<<timer2_available;
6be: 80 91 70 00 lds r24, 0x0070
6c2: 90 91 78 00 lds r25, 0x0078
6c6: 88 23 and r24, r24
6c8: 11 f0 breq .+4 ; 0x6ce
6ca: 90 61 ori r25, 0x10 ; 16
6cc: 01 c0 rjmp .+2 ; 0x6d0
else flag&=~(1<<timer2_available);
6ce: 9f 7e andi r25, 0xEF ; 239
6d0: 90 93 78 00 sts 0x0078, r25
if(timer3_hour) flag|=1<<timer3_available;
6d4: 50 91 6f 00 lds r21, 0x006F
6d8: 55 23 and r21, r21
6da: 31 f0 breq .+12 ; 0x6e8
6dc: 80 91 78 00 lds r24, 0x0078
6e0: 80 62 ori r24, 0x20 ; 32
6e2: 80 93 78 00 sts 0x0078, r24
6e6: 0b c0 rjmp .+22 ; 0x6fe
else if(timer3_minute) flag|=1<<timer3_available;
6e8: 80 91 6e 00 lds r24, 0x006E
6ec: 90 91 78 00 lds r25, 0x0078
6f0: 88 23 and r24, r24
6f2: 11 f0 breq .+4 ; 0x6f8
6f4: 90 62 ori r25, 0x20 ; 32
6f6: 01 c0 rjmp .+2 ; 0x6fa
else flag&=~(1<<timer3_available);
6f8: 9f 7d andi r25, 0xDF ; 223
6fa: 90 93 78 00 sts 0x0078, r25
if(timer4_hour) flag|=1<<timer4_available;
6fe: 40 91 6d 00 lds r20, 0x006D
702: 44 23 and r20, r20
704: 31 f0 breq .+12 ; 0x712
706: 80 91 78 00 lds r24, 0x0078
70a: 80 64 ori r24, 0x40 ; 64
70c: 80 93 78 00 sts 0x0078, r24
710: 0b c0 rjmp .+22 ; 0x728
else if(timer4_minute) flag|=1<<timer4_available;
712: 80 91 6c 00 lds r24, 0x006C
716: 90 91 78 00 lds r25, 0x0078
71a: 88 23 and r24, r24
71c: 11 f0 breq .+4 ; 0x722
71e: 90 64 ori r25, 0x40 ; 64
720: 01 c0 rjmp .+2 ; 0x724
else flag&=~(1<<timer4_available);
722: 9f 7b andi r25, 0xBF ; 191
724: 90 93 78 00 sts 0x0078, r25
if(timer5_hour) flag|=1<<timer5_available;
728: 30 91 6b 00 lds r19, 0x006B
72c: 33 23 and r19, r19
72e: 31 f0 breq .+12 ; 0x73c
730: 80 91 78 00 lds r24, 0x0078
734: 80 68 ori r24, 0x80 ; 128
736: 80 93 78 00 sts 0x0078, r24
73a: 0b c0 rjmp .+22 ; 0x752
else if(timer5_minute) flag|=1<<timer5_available;
73c: 80 91 6a 00 lds r24, 0x006A
740: 90 91 78 00 lds r25, 0x0078
744: 88 23 and r24, r24
746: 11 f0 breq .+4 ; 0x74c
748: 90 68 ori r25, 0x80 ; 128
74a: 01 c0 rjmp .+2 ; 0x74e
else flag&=~(1<<timer5_available);
74c: 9f 77 andi r25, 0x7F ; 127
74e: 90 93 78 00 sts 0x0078, r25
if(flag&(1<<timer0_available))
752: 20 91 78 00 lds r18, 0x0078
756: 22 ff sbrs r18, 2
758: 0d c0 rjmp .+26 ; 0x774
{
if(timer0_hour==hour)
75a: 80 91 7d 00 lds r24, 0x007D
75e: e8 17 cp r30, r24
760: 49 f4 brne .+18 ; 0x774
{
if(timer0_minute==minute) flag|=1<<buzzer_flag;
762: 90 91 74 00 lds r25, 0x0074
766: 80 91 7c 00 lds r24, 0x007C
76a: 98 17 cp r25, r24
76c: 19 f4 brne .+6 ; 0x774
76e: 22 60 ori r18, 0x02 ; 2
770: 20 93 78 00 sts 0x0078, r18
}
}
if(flag&(1<<timer1_available))
774: 20 91 78 00 lds r18, 0x0078
778: 23 ff sbrs r18, 3
77a: 0d c0 rjmp .+26 ; 0x796
{
if(timer1_hour==hour)
77c: 80 91 7d 00 lds r24, 0x007D
780: 78 17 cp r23, r24
782: 49 f4 brne .+18 ; 0x796
{
if(timer1_minute==minute) flag|=1<<buzzer_flag;
784: 90 91 72 00 lds r25, 0x0072
788: 80 91 7c 00 lds r24, 0x007C
78c: 98 17 cp r25, r24
78e: 19 f4 brne .+6 ; 0x796
790: 22 60 ori r18, 0x02 ; 2
792: 20 93 78 00 sts 0x0078, r18
}
}
if(flag&(1<<timer2_available))
796: 20 91 78 00 lds r18, 0x0078
79a: 24 ff sbrs r18, 4
79c: 0d c0 rjmp .+26 ; 0x7b8
{
if(timer2_hour==hour)
79e: 80 91 7d 00 lds r24, 0x007D
7a2: 68 17 cp r22, r24
7a4: 49 f4 brne .+18 ; 0x7b8
{
if(timer2_minute==minute) flag|=1<<buzzer_flag;
7a6: 90 91 70 00 lds r25, 0x0070
7aa: 80 91 7c 00 lds r24, 0x007C
7ae: 98 17 cp r25, r24
7b0: 19 f4 brne .+6 ; 0x7b8
7b2: 22 60 ori r18, 0x02 ; 2
7b4: 20 93 78 00 sts 0x0078, r18
}
}
if(flag&(1<<timer3_available))
7b8: 20 91 78 00 lds r18, 0x0078
7bc: 25 ff sbrs r18, 5
7be: 0d c0 rjmp .+26 ; 0x7da
{
if(timer3_hour==hour)
7c0: 80 91 7d 00 lds r24, 0x007D
7c4: 58 17 cp r21, r24
7c6: 49 f4 brne .+18 ; 0x7da
{
if(timer3_minute==minute) flag|=1<<buzzer_flag;
7c8: 90 91 6e 00 lds r25, 0x006E
7cc: 80 91 7c 00 lds r24, 0x007C
7d0: 98 17 cp r25, r24
7d2: 19 f4 brne .+6 ; 0x7da
7d4: 22 60 ori r18, 0x02 ; 2
7d6: 20 93 78 00 sts 0x0078, r18
}
}
if(flag&(1<<timer4_available))
7da: 20 91 78 00 lds r18, 0x0078
7de: 26 ff sbrs r18, 6
7e0: 0d c0 rjmp .+26 ; 0x7fc
{
if(timer4_hour==hour)
7e2: 80 91 7d 00 lds r24, 0x007D
7e6: 48 17 cp r20, r24
7e8: 49 f4 brne .+18 ; 0x7fc
{
if(timer4_minute==minute) flag|=1<<buzzer_flag;
7ea: 90 91 6c 00 lds r25, 0x006C
7ee: 80 91 7c 00 lds r24, 0x007C
7f2: 98 17 cp r25, r24
7f4: 19 f4 brne .+6 ; 0x7fc
7f6: 22 60 ori r18, 0x02 ; 2
7f8: 20 93 78 00 sts 0x0078, r18
}
}
if(flag&(1<<timer5_available))
7fc: 20 91 78 00 lds r18, 0x0078
800: 27 ff sbrs r18, 7
802: 0d c0 rjmp .+26 ; 0x81e
{
if(timer5_hour==hour)
804: 80 91 7d 00 lds r24, 0x007D
808: 38 17 cp r19, r24
80a: 49 f4 brne .+18 ; 0x81e
{
if(timer5_minute==minute) flag|=1<<buzzer_flag;
80c: 90 91 6a 00 lds r25, 0x006A
810: 80 91 7c 00 lds r24, 0x007C
814: 98 17 cp r25, r24
816: 19 f4 brne .+6 ; 0x81e
818: 22 60 ori r18, 0x02 ; 2
81a: 20 93 78 00 sts 0x0078, r18
81e: 08 95 ret
820: 08 95 ret
00000822 <key_delay>:
}
}
void key_delay(void)
{
uint i=0;
822: 80 e0 ldi r24, 0x00 ; 0
824: 90 e0 ldi r25, 0x00 ; 0
826: 27 e7 ldi r18, 0x77 ; 119
uchar j=0;
for(i=0;i<0xffff;i++) for(j=0;j<0x78;j++);
828: 2c 53 subi r18, 0x3C ; 60
82a: 27 ff sbrs r18, 7
82c: fd cf rjmp .-6 ; 0x828
82e: 01 96 adiw r24, 0x01 ; 1
830: 2f ef ldi r18, 0xFF ; 255
832: 8f 3f cpi r24, 0xFF ; 255
834: 92 07 cpc r25, r18
836: b9 f7 brne .-18 ; 0x826
838: 08 95 ret
0000083a <key_scan>:
83a: cf 93 push r28
83c: df 93 push r29
83e: 80 b3 in r24, 0x10 ; 16
840: 99 27 eor r25, r25
842: 75 e0 ldi r23, 0x05 ; 5
844: 96 95 lsr r25
846: 87 95 ror r24
848: 7a 95 dec r23
84a: e1 f7 brne .-8 ; 0x844
84c: 21 e0 ldi r18, 0x01 ; 1
84e: 30 e0 ldi r19, 0x00 ; 0
850: 82 23 and r24, r18
852: 93 23 and r25, r19
854: 82 17 cp r24, r18
856: 93 07 cpc r25, r19
858: 09 f0 breq .+2 ; 0x85c
85a: 65 c0 rjmp .+202 ; 0x926
85c: 80 b3 in r24, 0x10 ; 16
85e: 99 27 eor r25, r25
860: 66 e0 ldi r22, 0x06 ; 6
862: 96 95 lsr r25
864: 87 95 ror r24
866: 6a 95 dec r22
868: e1 f7 brne .-8 ; 0x862
86a: 81 70 andi r24, 0x01 ; 1
86c: 90 70 andi r25, 0x00 ; 0
86e: 82 17 cp r24, r18
870: 93 07 cpc r25, r19
872: 09 f0 breq .+2 ; 0x876
874: 54 c0 rjmp .+168 ; 0x91e
876: 87 99 sbic 0x10, 7 ; 16
878: 4e c0 rjmp .+156 ; 0x916
87a: 81 e0 ldi r24, 0x01 ; 1
87c: 80 93 77 00 sts 0x0077, r24
880: 40 91 74 00 lds r20, 0x0074
884: 60 91 75 00 lds r22, 0x0075
888: a8 de rcall .-688 ; 0x5da
88a: 82 9b sbis 0x10, 2 ; 16
88c: ca df rcall .-108 ; 0x822
88e: 82 99 sbic 0x10, 2 ; 16
890: f4 cf rjmp .-24 ; 0x87a
892: 81 e0 ldi r24, 0x01 ; 1
894: 80 93 77 00 sts 0x0077, r24
898: 40 91 72 00 lds r20, 0x0072
89c: 60 91 73 00 lds r22, 0x0073
8a0: 82 e0 ldi r24, 0x02 ; 2
8a2: 9b de rcall .-714 ; 0x5da
8a4: 82 9b sbis 0x10, 2 ; 16
8a6: bd df rcall .-134 ; 0x822
8a8: 82 99 sbic 0x10, 2 ; 16
8aa: f3 cf rjmp .-26 ; 0x892
8ac: 81 e0 ldi r24, 0x01 ; 1
8ae: 80 93 77 00 sts 0x0077, r24
8b2: 40 91 70 00 lds r20, 0x0070
8b6: 60 91 71 00 lds r22, 0x0071
8ba: 83 e0 ldi r24, 0x03 ; 3
8bc: 8e de rcall .-740 ; 0x5da
8be: 82 9b sbis 0x10, 2 ; 16
8c0: b0 df rcall .-160 ; 0x822
8c2: 82 99 sbic 0x10, 2 ; 16
8c4: f3 cf rjmp .-26 ; 0x8ac
8c6: 81 e0 ldi r24, 0x01 ; 1
8c8: 80 93 77 00 sts 0x0077, r24
8cc: 40 91 6e 00 lds r20, 0x006E
8d0: 60 91 6f 00 lds r22, 0x006F
8d4: 84 e0 ldi r24, 0x04 ; 4
8d6: 81 de rcall .-766 ; 0x5da
8d8: 82 9b sbis 0x10, 2 ; 16
8da: a3 df rcall .-186 ; 0x822
8dc: 82 99 sbic 0x10, 2 ; 16
8de: f3 cf rjmp .-26 ; 0x8c6
8e0: 81 e0 ldi r24, 0x01 ; 1
8e2: 80 93 77 00 sts 0x0077, r24
8e6: 40 91 6c 00 lds r20, 0x006C
8ea: 60 91 6d 00 lds r22, 0x006D
8ee: 85 e0 ldi r24, 0x05 ; 5
8f0: 74 de rcall .-792 ; 0x5da
8f2: 82 9b sbis 0x10, 2 ; 16
8f4: 96 df rcall .-212 ; 0x822
8f6: 82 99 sbic 0x10, 2 ; 16
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -