📄 main.lss
字号:
ds1302_write(ds1302_sec_reg,0x80); //暂停
35a: 60 e8 ldi r22, 0x80 ; 128
35c: 86 2f mov r24, r22
35e: 65 df rcall .-310 ; 0x22a <ds1302_write>
ds1302_write(ds1302_charger_reg,0xa9); //涓流充电
360: 69 ea ldi r22, 0xA9 ; 169
362: 80 e9 ldi r24, 0x90 ; 144
364: 62 df rcall .-316 ; 0x22a <ds1302_write>
ds1302_write(ds1302_year_reg,year); //年
366: 60 91 81 00 lds r22, 0x0081
36a: 8c e8 ldi r24, 0x8C ; 140
36c: 5e df rcall .-324 ; 0x22a <ds1302_write>
ds1302_write(ds1302_month_reg,month); //月
36e: 60 91 80 00 lds r22, 0x0080
372: 88 e8 ldi r24, 0x88 ; 136
374: 5a df rcall .-332 ; 0x22a <ds1302_write>
ds1302_write(ds1302_date_reg,day); //日
376: 60 91 7f 00 lds r22, 0x007F
37a: 86 e8 ldi r24, 0x86 ; 134
37c: 56 df rcall .-340 ; 0x22a <ds1302_write>
ds1302_write(ds1302_day_reg,week); //周
37e: 60 91 7e 00 lds r22, 0x007E
382: 8a e8 ldi r24, 0x8A ; 138
384: 52 df rcall .-348 ; 0x22a <ds1302_write>
ds1302_write(ds1302_hr_reg,hour); //时
386: 60 91 7d 00 lds r22, 0x007D
38a: 84 e8 ldi r24, 0x84 ; 132
38c: 4e df rcall .-356 ; 0x22a <ds1302_write>
ds1302_write(ds1302_min_reg,minute); //分
38e: 60 91 7c 00 lds r22, 0x007C
392: 82 e8 ldi r24, 0x82 ; 130
394: 4a df rcall .-364 ; 0x22a <ds1302_write>
ds1302_write(ds1302_sec_reg,second); //秒
396: 60 91 7b 00 lds r22, 0x007B
39a: 80 e8 ldi r24, 0x80 ; 128
39c: 46 df rcall .-372 ; 0x22a <ds1302_write>
ds1302_write(ds1302_control_reg,0x80); //打开写保护
39e: 60 e8 ldi r22, 0x80 ; 128
3a0: 8e e8 ldi r24, 0x8E ; 142
3a2: 43 df rcall .-378 ; 0x22a <ds1302_write>
3a4: 08 95 ret
000003a6 <__vector_8>:
}
SIGNAL (SIG_OVERFLOW1)
{
3a6: 1f 92 push r1
3a8: 0f 92 push r0
3aa: 0f b6 in r0, 0x3f ; 63
3ac: 0f 92 push r0
3ae: 11 24 eor r1, r1
3b0: 2f 93 push r18
3b2: 3f 93 push r19
3b4: 8f 93 push r24
3b6: 9f 93 push r25
TCNT1=t1_tcnt;
3b8: 8e ee ldi r24, 0xEE ; 238
3ba: 91 ef ldi r25, 0xF1 ; 241
3bc: 9d bd out 0x2d, r25 ; 45
3be: 8c bd out 0x2c, r24 ; 44
half_second++;
3c0: 20 91 7a 00 lds r18, 0x007A
3c4: 2f 5f subi r18, 0xFF ; 255
3c6: 20 93 7a 00 sts 0x007A, r18
flash_var^=flash_control;
3ca: 80 91 76 00 lds r24, 0x0076
3ce: 90 91 77 00 lds r25, 0x0077
3d2: 89 27 eor r24, r25
3d4: 80 93 76 00 sts 0x0076, r24
if(2==half_second)
3d8: 22 30 cpi r18, 0x02 ; 2
3da: 09 f0 breq .+2 ; 0x3de <__vector_8+0x38>
3dc: 48 c0 rjmp .+144 ; 0x46e <__stack+0xf>
{
half_second=0;
3de: 10 92 7a 00 sts 0x007A, r1
second++;
3e2: 80 91 7b 00 lds r24, 0x007B
3e6: 8f 5f subi r24, 0xFF ; 255
3e8: 80 93 7b 00 sts 0x007B, r24
second_flag=1;
3ec: 81 e0 ldi r24, 0x01 ; 1
3ee: 80 93 82 00 sts 0x0082, r24
if(flag&(1<<buzzer_flag)) flash_buzzer();
3f2: 30 91 78 00 lds r19, 0x0078
3f6: 31 ff sbrs r19, 1
3f8: 05 c0 rjmp .+10 ; 0x404 <__vector_8+0x5e>
3fa: 85 b3 in r24, 0x15 ; 21
3fc: 90 e1 ldi r25, 0x10 ; 16
3fe: 89 27 eor r24, r25
400: 85 bb out 0x15, r24 ; 21
402: 01 c0 rjmp .+2 ; 0x406 <__vector_8+0x60>
else set_buzzer();
404: ac 9a sbi 0x15, 4 ; 21
if((second&0x0f)>=0x0a)
406: 20 91 7b 00 lds r18, 0x007B
40a: 82 2f mov r24, r18
40c: 99 27 eor r25, r25
40e: 8f 70 andi r24, 0x0F ; 15
410: 90 70 andi r25, 0x00 ; 0
412: 0a 97 sbiw r24, 0x0a ; 10
414: 64 f1 brlt .+88 ; 0x46e <__stack+0xf>
{
second&=0xf0;
416: 82 2f mov r24, r18
418: 80 7f andi r24, 0xF0 ; 240
second+=0x10;
41a: 80 5f subi r24, 0xF0 ; 240
41c: 80 93 7b 00 sts 0x007B, r24
if((second&0xf0)>=0x60)
420: 99 27 eor r25, r25
422: 80 36 cpi r24, 0x60 ; 96
424: 91 05 cpc r25, r1
426: 1c f1 brlt .+70 ; 0x46e <__stack+0xf>
{
second=0;
428: 10 92 7b 00 sts 0x007B, r1
minute++;
42c: 20 91 7c 00 lds r18, 0x007C
430: 2f 5f subi r18, 0xFF ; 255
432: 20 93 7c 00 sts 0x007C, r18
flag&=~(1<<buzzer_flag);
436: 3d 7f andi r19, 0xFD ; 253
438: 30 93 78 00 sts 0x0078, r19
if((minute&0x0f)>=0x0a)
43c: 82 2f mov r24, r18
43e: 99 27 eor r25, r25
440: 8f 70 andi r24, 0x0F ; 15
442: 90 70 andi r25, 0x00 ; 0
444: 0a 97 sbiw r24, 0x0a ; 10
446: 9c f0 brlt .+38 ; 0x46e <__stack+0xf>
{
minute&=0xf0;
448: 82 2f mov r24, r18
44a: 80 7f andi r24, 0xF0 ; 240
minute+=0x10;
44c: 80 5f subi r24, 0xF0 ; 240
44e: 80 93 7c 00 sts 0x007C, r24
if((minute&0xf0)>=0x60)
452: 99 27 eor r25, r25
454: 80 36 cpi r24, 0x60 ; 96
456: 91 05 cpc r25, r1
458: 54 f0 brlt .+20 ; 0x46e <__stack+0xf>
{
minute=0;
45a: 10 92 7c 00 sts 0x007C, r1
hour++;
45e: 80 91 7d 00 lds r24, 0x007D
462: 8f 5f subi r24, 0xFF ; 255
464: 80 93 7d 00 sts 0x007D, r24
flag|=1<<hour_flag;
468: 31 60 ori r19, 0x01 ; 1
46a: 30 93 78 00 sts 0x0078, r19
46e: 9f 91 pop r25
470: 8f 91 pop r24
472: 3f 91 pop r19
474: 2f 91 pop r18
476: 0f 90 pop r0
478: 0f be out 0x3f, r0 ; 63
47a: 0f 90 pop r0
47c: 1f 90 pop r1
47e: 18 95 reti
00000480 <display_time>:
}
}
}
}
}
}
void display_time(void)
{
uchar temp=0;
temp=(hour&0xf0)>>4;
480: 20 91 7d 00 lds r18, 0x007D
484: 82 2f mov r24, r18
486: 99 27 eor r25, r25
488: 54 e0 ldi r21, 0x04 ; 4
48a: 96 95 lsr r25
48c: 87 95 ror r24
48e: 5a 95 dec r21
490: e1 f7 brne .-8 ; 0x48a <display_time+0xa>
display_buffer[0]=pgm_read_byte(display_code+temp);
492: e8 2f mov r30, r24
494: ff 27 eor r31, r31
496: ea 5d subi r30, 0xDA ; 218
498: ff 4f sbci r31, 0xFF ; 255
49a: 84 91 lpm r24, Z
49c: 80 93 60 00 sts 0x0060, r24
temp=hour&0x0f;
4a0: 2f 70 andi r18, 0x0F ; 15
display_buffer[1]=pgm_read_byte(display_code+temp);
4a2: e2 2f mov r30, r18
4a4: ff 27 eor r31, r31
4a6: ea 5d subi r30, 0xDA ; 218
4a8: ff 4f sbci r31, 0xFF ; 255
4aa: 84 91 lpm r24, Z
4ac: 80 93 61 00 sts 0x0061, r24
display_buffer[2]=0x40;//-
4b0: 30 e4 ldi r19, 0x40 ; 64
4b2: 30 93 62 00 sts 0x0062, r19
temp=(minute&0xf0)>>4;
4b6: 20 91 7c 00 lds r18, 0x007C
4ba: 82 2f mov r24, r18
4bc: 99 27 eor r25, r25
4be: 44 e0 ldi r20, 0x04 ; 4
4c0: 96 95 lsr r25
4c2: 87 95 ror r24
4c4: 4a 95 dec r20
4c6: e1 f7 brne .-8 ; 0x4c0 <display_time+0x40>
display_buffer[3]=pgm_read_byte(display_code+temp);
4c8: e8 2f mov r30, r24
4ca: ff 27 eor r31, r31
4cc: ea 5d subi r30, 0xDA ; 218
4ce: ff 4f sbci r31, 0xFF ; 255
4d0: 84 91 lpm r24, Z
4d2: 80 93 63 00 sts 0x0063, r24
temp=minute&0x0f;
4d6: 2f 70 andi r18, 0x0F ; 15
display_buffer[4]=pgm_read_byte(display_code+temp);
4d8: e2 2f mov r30, r18
4da: ff 27 eor r31, r31
4dc: ea 5d subi r30, 0xDA ; 218
4de: ff 4f sbci r31, 0xFF ; 255
4e0: 84 91 lpm r24, Z
4e2: 80 93 64 00 sts 0x0064, r24
display_buffer[5]=0x40;//-
4e6: 30 93 65 00 sts 0x0065, r19
temp=(second&0xf0)>>4;
4ea: 20 91 7b 00 lds r18, 0x007B
4ee: 82 2f mov r24, r18
4f0: 99 27 eor r25, r25
4f2: 34 e0 ldi r19, 0x04 ; 4
4f4: 96 95 lsr r25
4f6: 87 95 ror r24
4f8: 3a 95 dec r19
4fa: e1 f7 brne .-8 ; 0x4f4 <display_time+0x74>
display_buffer[6]=pgm_read_byte(display_code+temp);
4fc: e8 2f mov r30, r24
4fe: ff 27 eor r31, r31
500: ea 5d subi r30, 0xDA ; 218
502: ff 4f sbci r31, 0xFF ; 255
504: 84 91 lpm r24, Z
506: 80 93 66 00 sts 0x0066, r24
temp=second&0x0f;
50a: 2f 70 andi r18, 0x0F ; 15
display_buffer[7]=pgm_read_byte(display_code+temp);
50c: e2 2f mov r30, r18
50e: ff 27 eor r31, r31
510: ea 5d subi r30, 0xDA ; 218
512: ff 4f sbci r31, 0xFF ; 255
514: 84 91 lpm r24, Z
516: 80 93 67 00 sts 0x0067, r24
51a: 08 95 ret
0000051c <display_date>:
}
void display_date(void)
{
uchar temp=0;
//月
temp=(month&0xf0)>>4;
51c: 20 91 80 00 lds r18, 0x0080
520: 82 2f mov r24, r18
522: 99 27 eor r25, r25
524: 74 e0 ldi r23, 0x04 ; 4
526: 96 95 lsr r25
528: 87 95 ror r24
52a: 7a 95 dec r23
52c: e1 f7 brne .-8 ; 0x526 <display_date+0xa>
display_buffer[0]=pgm_read_byte(display_code+temp);
52e: e8 2f mov r30, r24
530: ff 27 eor r31, r31
532: ea 5d subi r30, 0xDA ; 218
534: ff 4f sbci r31, 0xFF ; 255
536: 84 91 lpm r24, Z
538: 80 93 60 00 sts 0x0060, r24
temp=month&0x0f;
53c: 2f 70 andi r18, 0x0F ; 15
display_buffer[1]=pgm_read_byte(display_code+temp);
53e: e2 2f mov r30, r18
540: ff 27 eor r31, r31
542: ea 5d subi r30, 0xDA ; 218
544: ff 4f sbci r31, 0xFF ; 255
546: 84 91 lpm r24, Z
548: 80 93 61 00 sts 0x0061, r24
display_buffer[2]=0x08;//-
54c: 88 e0 ldi r24, 0x08 ; 8
54e: 80 93 62 00 sts 0x0062, r24
//日
temp=(day&0xf0)>>4;
552: 20 91 7f 00 lds r18, 0x007F
556: 82 2f mov r24, r18
558: 99 27 eor r25, r25
55a: 64 e0 ldi r22, 0x04 ; 4
55c: 96 95 lsr r25
55e: 87 95 ror r24
560: 6a 95 dec r22
562: e1 f7 brne .-8 ; 0x55c <display_date+0x40>
display_buffer[3]=pgm_read_byte(display_code+temp);
564: e8 2f mov r30, r24
566: ff 27 eor r31, r31
568: ea 5d subi r30, 0xDA ; 218
56a: ff 4f sbci r31, 0xFF ; 255
56c: 84 91 lpm r24, Z
56e: 80 93 63 00 sts 0x0063, r24
temp=day&0x0f;
572: 2f 70 andi r18, 0x0F ; 15
display_buffer[4]=pgm_read_byte(display_code+temp);
574: e2 2f mov r30, r18
576: ff 27 eor r31, r31
578: ea 5d subi r30, 0xDA ; 218
57a: ff 4f sbci r31, 0xFF ; 255
57c: 84 91 lpm r24, Z
57e: 80 93 64 00 sts 0x0064, r24
display_buffer[5]=0x00;//.
582: 10 92 65 00 sts 0x0065, r1
display_buffer[6]=0x00;//.
586: 10 92 66 00 sts 0x0066, r1
//周
temp=week&0x0f;
58a: 80 91 7e 00 lds r24, 0x007E
58e: 8f 70 andi r24, 0x0F ; 15
display_buffer[7]=pgm_read_byte(display_code+temp);
590: e8 2f mov r30, r24
592: ff 27 eor r31, r31
594: ea 5d subi r30, 0xDA ; 218
596: ff 4f sbci r31, 0xFF ; 255
598: 84 91 lpm r24, Z
59a: 80 93 67 00 sts 0x0067, r24
59e: 08 95 ret
000005a0 <display_year>:
}
void display_year(void)
{
uchar temp=0;
5a0: 80 e0 ldi r24, 0x00 ; 0
display_buffer[0]=0;//空
5a2: 80 93 60 00 sts 0x0060, r24
display_buffer[1]=0;//空
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -