📄 main.lss
字号:
wr_data_lcd(0x3f);
458: 8f e3 ldi r24, 0x3F ; 63
45a: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
wr_data_lcd(0x77);
45e: 87 e7 ldi r24, 0x77 ; 119
460: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
464: 81 e0 ldi r24, 0x01 ; 1
466: 90 e0 ldi r25, 0x00 ; 0
468: ec 01 movw r28, r24
for(int i=1;i<32;i++)
{
wr_comm_lcd(0x80|i);
46a: 9e 01 movw r18, r28
46c: 20 68 ori r18, 0x80 ; 128
46e: 82 2f mov r24, r18
470: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
wr_comm_lcd(0x80);
474: 80 e8 ldi r24, 0x80 ; 128
476: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
if(i%10==0)
47a: ce 01 movw r24, r28
47c: 6a e0 ldi r22, 0x0A ; 10
47e: 70 e0 ldi r23, 0x00 ; 0
480: 0e 94 3a 04 call 0x874 ; 0x874 <__divmodhi4>
484: 89 2b or r24, r25
486: 11 f4 brne .+4 ; 0x48c <__stack+0x2d>
{
wr_data_lcd(0x23);
488: 83 e2 ldi r24, 0x23 ; 35
48a: 01 c0 rjmp .+2 ; 0x48e <__stack+0x2f>
}
else
wr_data_lcd(0x22);
48c: 82 e2 ldi r24, 0x22 ; 34
48e: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
switch(i)
492: cd 30 cpi r28, 0x0D ; 13
494: d1 05 cpc r29, r1
496: e9 f1 breq .+122 ; 0x512 <__stack+0xb3>
498: ce 30 cpi r28, 0x0E ; 14
49a: d1 05 cpc r29, r1
49c: dc f4 brge .+54 ; 0x4d4 <__stack+0x75>
49e: c4 30 cpi r28, 0x04 ; 4
4a0: d1 05 cpc r29, r1
4a2: 09 f4 brne .+2 ; 0x4a6 <__stack+0x47>
4a4: 43 c0 rjmp .+134 ; 0x52c <__stack+0xcd>
4a6: c5 30 cpi r28, 0x05 ; 5
4a8: d1 05 cpc r29, r1
4aa: 54 f4 brge .+20 ; 0x4c0 <__stack+0x61>
4ac: c2 30 cpi r28, 0x02 ; 2
4ae: d1 05 cpc r29, r1
4b0: b1 f1 breq .+108 ; 0x51e <__stack+0xbf>
4b2: c3 30 cpi r28, 0x03 ; 3
4b4: d1 05 cpc r29, r1
4b6: 8c f5 brge .+98 ; 0x51a <__stack+0xbb>
4b8: c1 30 cpi r28, 0x01 ; 1
4ba: d1 05 cpc r29, r1
4bc: e9 f5 brne .+122 ; 0x538 <__stack+0xd9>
4be: 27 c0 rjmp .+78 ; 0x50e <__stack+0xaf>
4c0: cb 30 cpi r28, 0x0B ; 11
4c2: d1 05 cpc r29, r1
4c4: 21 f1 breq .+72 ; 0x50e <__stack+0xaf>
4c6: cc 30 cpi r28, 0x0C ; 12
4c8: d1 05 cpc r29, r1
4ca: 4c f5 brge .+82 ; 0x51e <__stack+0xbf>
4cc: ca 30 cpi r28, 0x0A ; 10
4ce: d1 05 cpc r29, r1
4d0: 99 f5 brne .+102 ; 0x538 <__stack+0xd9>
4d2: 2c c0 rjmp .+88 ; 0x52c <__stack+0xcd>
4d4: c6 31 cpi r28, 0x16 ; 22
4d6: d1 05 cpc r29, r1
4d8: 01 f1 breq .+64 ; 0x51a <__stack+0xbb>
4da: c7 31 cpi r28, 0x17 ; 23
4dc: d1 05 cpc r29, r1
4de: 54 f4 brge .+20 ; 0x4f4 <__stack+0x95>
4e0: c4 31 cpi r28, 0x14 ; 20
4e2: d1 05 cpc r29, r1
4e4: c1 f0 breq .+48 ; 0x516 <__stack+0xb7>
4e6: c5 31 cpi r28, 0x15 ; 21
4e8: d1 05 cpc r29, r1
4ea: bc f4 brge .+46 ; 0x51a <__stack+0xbb>
4ec: ce 30 cpi r28, 0x0E ; 14
4ee: d1 05 cpc r29, r1
4f0: 19 f5 brne .+70 ; 0x538 <__stack+0xd9>
4f2: 1c c0 rjmp .+56 ; 0x52c <__stack+0xcd>
4f4: c8 31 cpi r28, 0x18 ; 24
4f6: d1 05 cpc r29, r1
4f8: a1 f0 breq .+40 ; 0x522 <__stack+0xc3>
4fa: c8 31 cpi r28, 0x18 ; 24
4fc: d1 05 cpc r29, r1
4fe: 7c f0 brlt .+30 ; 0x51e <__stack+0xbf>
500: ce 31 cpi r28, 0x1E ; 30
502: d1 05 cpc r29, r1
504: 99 f0 breq .+38 ; 0x52c <__stack+0xcd>
506: cf 31 cpi r28, 0x1F ; 31
508: d1 05 cpc r29, r1
50a: b1 f4 brne .+44 ; 0x538 <__stack+0xd9>
50c: 11 c0 rjmp .+34 ; 0x530 <__stack+0xd1>
{
case 1: wr_data_lcd(0x45);break;
case 2: wr_data_lcd(0x75);break;
case 3: wr_data_lcd(0x55);break;
case 4: wr_data_lcd(0x77);break;
case 10: wr_data_lcd(0x77);break;
case 11: wr_data_lcd(0x45);break;
50e: 85 e4 ldi r24, 0x45 ; 69
510: 09 c0 rjmp .+18 ; 0x524 <__stack+0xc5>
case 12: wr_data_lcd(0x75);break;
case 13: wr_data_lcd(0x15);break;
512: 85 e1 ldi r24, 0x15 ; 21
514: 07 c0 rjmp .+14 ; 0x524 <__stack+0xc5>
case 14: wr_data_lcd(0x77);break;
case 20: wr_data_lcd(0x57);break;
516: 87 e5 ldi r24, 0x57 ; 87
518: 05 c0 rjmp .+10 ; 0x524 <__stack+0xc5>
case 21: wr_data_lcd(0x55);break;
case 22: wr_data_lcd(0x55);break;
51a: 85 e5 ldi r24, 0x55 ; 85
51c: 03 c0 rjmp .+6 ; 0x524 <__stack+0xc5>
case 23: wr_data_lcd(0x75);break;
51e: 85 e7 ldi r24, 0x75 ; 117
520: 01 c0 rjmp .+2 ; 0x524 <__stack+0xc5>
case 24: wr_data_lcd(0x17);break;
522: 87 e1 ldi r24, 0x17 ; 23
524: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
528: 21 96 adiw r28, 0x01 ; 1
52a: 9f cf rjmp .-194 ; 0x46a <__stack+0xb>
case 30: wr_data_lcd(0x77);break;
52c: 87 e7 ldi r24, 0x77 ; 119
52e: fa cf rjmp .-12 ; 0x524 <__stack+0xc5>
case 31: wr_data_lcd(0x15);break;
530: 85 e1 ldi r24, 0x15 ; 21
532: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
536: 06 c0 rjmp .+12 ; 0x544 <__stack+0xe5>
538: ce 01 movw r24, r28
53a: 01 96 adiw r24, 0x01 ; 1
53c: 80 32 cpi r24, 0x20 ; 32
53e: 91 05 cpc r25, r1
540: 0c f4 brge .+2 ; 0x544 <__stack+0xe5>
542: 92 cf rjmp .-220 ; 0x468 <__stack+0x9>
544: 00 e0 ldi r16, 0x00 ; 0
546: 10 e0 ldi r17, 0x00 ; 0
default: break;
}
}
for(int i=0;i<31;i++)
{
wr_comm_lcd(0x80|i);
548: 80 2f mov r24, r16
54a: 80 68 ori r24, 0x80 ; 128
54c: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
wr_comm_lcd(0x88);
550: 88 e8 ldi r24, 0x88 ; 136
552: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
if((i+1)%10==0)
556: e8 01 movw r28, r16
558: 21 96 adiw r28, 0x01 ; 1
55a: ce 01 movw r24, r28
55c: 6a e0 ldi r22, 0x0A ; 10
55e: 70 e0 ldi r23, 0x00 ; 0
560: 0e 94 3a 04 call 0x874 ; 0x874 <__divmodhi4>
564: 89 2b or r24, r25
566: 11 f4 brne .+4 ; 0x56c <__stack+0x10d>
wr_data_lcd(0x23);
568: 83 e2 ldi r24, 0x23 ; 35
56a: 08 c0 rjmp .+16 ; 0x57c <__stack+0x11d>
else if(i>29) wr_data_lcd(0x3e);
56c: cf 31 cpi r28, 0x1F ; 31
56e: d1 05 cpc r29, r1
570: 21 f4 brne .+8 ; 0x57a <__stack+0x11b>
572: 8e e3 ldi r24, 0x3E ; 62
574: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
578: 1b c0 rjmp .+54 ; 0x5b0 <__stack+0x151>
else
wr_data_lcd(0x22);
57a: 82 e2 ldi r24, 0x22 ; 34
57c: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
switch(i)
580: f8 01 movw r30, r16
582: 0f 31 cpi r16, 0x1F ; 31
584: 11 05 cpc r17, r1
586: b8 f4 brcc .+46 ; 0x5b6 <__stack+0x157>
588: e6 5d subi r30, 0xD6 ; 214
58a: ff 4f sbci r31, 0xFF ; 255
58c: ee 0f add r30, r30
58e: ff 1f adc r31, r31
590: 05 90 lpm r0, Z+
592: f4 91 lpm r31, Z
594: e0 2d mov r30, r0
596: 09 94 ijmp
{
case 0: wr_data_lcd(0x75);break;
case 1: wr_data_lcd(0x15);break;
case 2: wr_data_lcd(0x77);break;
case 8: wr_data_lcd(0x77);break;
case 9: wr_data_lcd(0x15);break;
case 10: wr_data_lcd(0x75);break;
598: 85 e7 ldi r24, 0x75 ; 117
59a: 0b c0 rjmp .+22 ; 0x5b2 <__stack+0x153>
case 11: wr_data_lcd(0x45);break;
59c: 85 e4 ldi r24, 0x45 ; 69
59e: 09 c0 rjmp .+18 ; 0x5b2 <__stack+0x153>
case 12: wr_data_lcd(0x77);break;
5a0: 87 e7 ldi r24, 0x77 ; 119
5a2: 07 c0 rjmp .+14 ; 0x5b2 <__stack+0x153>
case 18: wr_data_lcd(0x17);break;
case 19: wr_data_lcd(0x15);break;
case 20: wr_data_lcd(0x15);break;
case 21: wr_data_lcd(0x15);break;
5a4: 85 e1 ldi r24, 0x15 ; 21
5a6: 05 c0 rjmp .+10 ; 0x5b2 <__stack+0x153>
case 22: wr_data_lcd(0x17);break;
5a8: 87 e1 ldi r24, 0x17 ; 23
5aa: 03 c0 rjmp .+6 ; 0x5b2 <__stack+0x153>
case 27: wr_data_lcd(0x07);break;
5ac: 87 e0 ldi r24, 0x07 ; 7
5ae: 01 c0 rjmp .+2 ; 0x5b2 <__stack+0x153>
case 28: wr_data_lcd(0x05);break;
case 29: wr_data_lcd(0x05);break;
case 30: wr_data_lcd(0x05);break;
5b0: 85 e0 ldi r24, 0x05 ; 5
5b2: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
5b6: cf 31 cpi r28, 0x1F ; 31
5b8: d1 05 cpc r29, r1
5ba: 11 f0 breq .+4 ; 0x5c0 <__stack+0x161>
5bc: 8e 01 movw r16, r28
5be: c4 cf rjmp .-120 ; 0x548 <__stack+0xe9>
default: break;
}
}
wr_comm_lcd(0x80|31);
5c0: 8f e9 ldi r24, 0x9F ; 159
5c2: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
wr_comm_lcd(0x88);
5c6: 88 e8 ldi r24, 0x88 ; 136
5c8: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
wr_data_lcd(0x3e);
5cc: 8e e3 ldi r24, 0x3E ; 62
5ce: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
wr_data_lcd(0x07);
5d2: 87 e0 ldi r24, 0x07 ; 7
5d4: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
wr_comm_lcd(0x32);
5d8: 82 e3 ldi r24, 0x32 ; 50
5da: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
wr_comm_lcd(0x36);
5de: 86 e3 ldi r24, 0x36 ; 54
5e0: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
5e4: df 91 pop r29
5e6: cf 91 pop r28
5e8: 1f 91 pop r17
5ea: 0f 91 pop r16
5ec: 08 95 ret
000005ee <write_Int>:
}
void write_Int(unsigned char t)
{
5ee: 1f 93 push r17
5f0: 18 2f mov r17, r24
if(t/10!=0)
5f2: 8a 30 cpi r24, 0x0A ; 10
5f4: 30 f0 brcs .+12 ; 0x602 <write_Int+0x14>
wr_data_lcd(t/10+48);
5f6: 6a e0 ldi r22, 0x0A ; 10
5f8: 0e 94 2e 04 call 0x85c ; 0x85c <__udivmodqi4>
5fc: 80 5d subi r24, 0xD0 ; 208
5fe: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
wr_data_lcd(t%10+48);
602: 81 2f mov r24, r17
604: 6a e0 ldi r22, 0x0A ; 10
606: 0e 94 2e 04 call 0x85c ; 0x85c <__udivmodqi4>
60a: 89 2f mov r24, r25
60c: 80 5d subi r24, 0xD0 ; 208
60e: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
612: 1f 91 pop r17
614: 08 95 ret
00000616 <disp_lcd>:
}
void disp_lcd()
{ int j;
616: 1f 93 push r17
618: cf 93 push r28
61a: df 93 push r29
pixy(); //
61c: 0e 94 1c 02 call 0x438 ; 0x438 <pixy>
wr_comm_lcd(0x02);
620: 82 e0 ldi r24, 0x02 ; 2
622: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
if(templetrue<=29)
626: 80 91 7c 00 lds r24, 0x007C
62a: 8e 31 cpi r24, 0x1E ; 30
62c: a0 f4 brcc .+40 ; 0x656 <disp_lcd+0x40>
62e: cd e1 ldi r28, 0x1D ; 29
630: d0 e0 ldi r29, 0x00 ; 0
632: 07 c0 rjmp .+14 ; 0x642 <disp_lcd+0x2c>
{
for(j=29;j>=29-templetrue;j--)
{
draw_point(0,j+32);
634: ce 01 movw r24, r28
636: 80 5e subi r24, 0xE0 ; 224
638: 68 2f mov r22, r24
63a: 80 e0 ldi r24, 0x00 ; 0
63c: 0e 94 ef 01 call 0x3de ; 0x3de <draw_point>
640: 21 97 sbiw r28, 0x01 ; 1
642: 20 91 7c 00 lds r18, 0x007C
646: 8d e1 ldi r24, 0x1D ; 29
648: 90 e0 ldi r25, 0x00 ; 0
64a: 82 1b sub r24, r18
64c: 91 09 sbc r25, r1
64e: c8 17 cp r28, r24
650: d9 07 cpc r29, r25
652: 84 f7 brge .-32 ; 0x634 <disp_lcd+0x1e>
654: 19 c0 rjmp .+50 ; 0x688 <disp_lcd+0x72>
656: 1d e3 ldi r17, 0x3D ; 61
}
}
else
{
for(j=29;j>=0;j--)
{
draw_point(0,j+32);
658: 61 2f mov r22, r17
65a: 80 e0 ldi r24, 0x00 ; 0
65c: 0e 94 ef 01 call 0x3de ; 0x3de <draw_point>
660: 11 50 subi r17, 0x01 ; 1
662: 1f 31 cpi r17, 0x1F ; 31
664: c9 f7 brne .-14 ; 0x658 <disp_lcd+0x42>
666: cf e1 ldi r28, 0x1F ; 31
668: d0 e0 ldi r29, 0x00 ; 0
66a: 05 c0 rjmp .+10 ; 0x676 <disp_lcd+0x60>
}
for(j=31;j>=29-templetrue+31;j--)
{
draw_point(0,j);
66c: 6c 2f mov r22, r28
66e: 80 e0 ldi r24, 0x00 ; 0
670: 0e 94 ef 01 call 0x3de ; 0x3de <draw_point>
674: 21 97 sbiw r28, 0x01 ; 1
676: 20 91 7c 00 lds r18, 0x007C
67a: 8c e3 ldi r24, 0x3C ; 60
67c: 90 e0 ldi r25, 0x00 ; 0
67e: 82 1b sub r24, r18
680: 91 09 sbc r25, r1
682: c8 17 cp r28, r24
684: d9 07 cpc r29, r25
686: 94 f7 brge .-28 ; 0x66c <disp_lcd+0x56>
}
}
wr_comm_lcd(0x30);
688: 80 e3 ldi r24, 0x30 ; 48
68a: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
w_strword(2,0,"单位:摄氏度");
68e: 40 e6 ldi r20, 0x60 ; 96
690: 50 e0 ldi r21, 0x00 ; 0
692: 60 e0 ldi r22, 0x00 ; 0
694: 70 e0 ldi r23, 0x00 ; 0
696: 82 e0 ldi r24, 0x02 ; 2
698: 90 e0 ldi r25, 0x00 ; 0
69a: 0e 94 66 01 call 0x2cc ; 0x2cc <w_strword>
w_strword(2,1,"版本号");
69e: 4d e6 ldi r20, 0x6D ; 109
6a0: 50 e0 ldi r21, 0x00 ; 0
6a2: 61 e0 ldi r22, 0x01 ; 1
6a4: 70 e0 ldi r23, 0x00 ; 0
6a6: 82 e0 ldi r24, 0x02 ; 2
6a8: 90 e0 ldi r25, 0x00 ; 0
6aa: 0e 94 66 01 call 0x2cc ; 0x2cc <w_strword>
wr_data_lcd(':');
6ae: 8a e3 ldi r24, 0x3A ; 58
6b0: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
wr_data_lcd('1');
6b4: 81 e3 ldi r24, 0x31 ; 49
6b6: 0e 94 dc 00 call 0x1b8 ; 0x1b8 <wr_data_lcd>
w_strword(2,3,"温度");
6ba: 44 e7 ldi r20, 0x74 ; 116
6bc: 50 e0 ldi r21, 0x00 ; 0
6be: 63 e0 ldi r22, 0x03 ; 3
6c0: 70 e0 ldi r23, 0x00 ; 0
6c2: 82 e0 ldi r24, 0x02 ; 2
6c4: 90 e0 ldi r25, 0x00 ; 0
6c6: 0e 94 66 01 call 0x2cc ; 0x2cc <w_strword>
write_Int(templetrue);
6ca: 80 91 7c 00 lds r24, 0x007C
6ce: 0e 94 f7 02 call 0x5ee ; 0x5ee <write_Int>
wr_comm_lcd(0x36);
6d2: 86 e3 ldi r24, 0x36 ; 54
6d4: 0e 94 cc 00 call 0x198 ; 0x198 <wr_comm_lcd>
6d8: df 91 pop r29
6da: cf 91 pop r28
6dc: 1f 91 pop r17
6de: 08 95 ret
000006e0 <delay_11ms>:
#include<avr/io.h>
//#include "delay.h"
void delay_11ms(void) //1ms延时函数
{
6e0: 08 95 ret
000006e2 <sound>:
unsigned int i;
for (i=0;i<500;i++);
}
void sound()
{
6e2: a7 9a sbi 0x14, 7 ; 20
6e4: 80 e0 ldi r24, 0x00 ; 0
DDRC|=0x80;
char i;
for(i=0;i<20;i++)
{
PORTC|=0x80;
6e6: af 9a sbi 0x15, 7 ; 21
delay_11ms();
PORTC&=0x7f;
6e8: af 98 cbi 0x15, 7 ; 21
6ea: 8f 5f subi r24, 0xFF ; 255
6ec: 84 31 cpi r24, 0x14 ; 20
6ee: d9 f7 brne .-10 ; 0x6e6 <sound+0x4>
6f0: 08 95 ret
000006f2 <delay_1us>:
延时函数
系统时钟:8M
********************************************************/
void delay_1us(void) //1us延时函数
{
6f2: 00 00 nop
6f4: 08 95 ret
000006f6 <delay_nus>:
asm("nop");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -