📄 lcd.lss
字号:
3b8: 63 e0 ldi r22, 0x03 ; 3
3ba: 8a e6 ldi r24, 0x6A ; 106
3bc: 90 e0 ldi r25, 0x00 ; 0
3be: f8 de rcall .-528 ; 0x1b0 <CopyStringtoLCD>
3c0: 20 e0 ldi r18, 0x00 ; 0
3c2: 40 e2 ldi r20, 0x20 ; 32
3c4: 5e e4 ldi r21, 0x4E ; 78
3c6: ca 01 movw r24, r20
3c8: 01 97 sbiw r24, 0x01 ; 1
3ca: f1 f7 brne .-4 ; 0x3c8 <progress+0x14>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
3cc: 2f 5f subi r18, 0xFF ; 255
3ce: 24 36 cpi r18, 0x64 ; 100
3d0: d1 f7 brne .-12 ; 0x3c6 <progress+0x12>
{
_delay_ms(10);
LCDGotoXY(0, 1);
LCDprogressBar(i, 255, 16);
}*/
}
3d2: 08 95 ret
000003d4 <demoanimation>:
//demonstration of animation
void demoanimation(void)
{
3d4: 1f 93 push r17
3d6: cf 93 push r28
3d8: df 93 push r29
LCDclr();
3da: c2 de rcall .-636 ; 0x160 <LCDclr>
LCDdefinechar(backslash,0);
3dc: 60 e0 ldi r22, 0x00 ; 0
3de: 84 ea ldi r24, 0xA4 ; 164
3e0: 90 e0 ldi r25, 0x00 ; 0
3e2: fb de rcall .-522 ; 0x1da <LCDdefinechar>
CopyStringtoLCD(LCDanimation, 0, 0);
3e4: 40 e0 ldi r20, 0x00 ; 0
3e6: 60 e0 ldi r22, 0x00 ; 0
3e8: 81 e8 ldi r24, 0x81 ; 129
3ea: 90 e0 ldi r25, 0x00 ; 0
3ec: e1 de rcall .-574 ; 0x1b0 <CopyStringtoLCD>
3ee: 10 e0 ldi r17, 0x00 ; 0
3f0: c0 e2 ldi r28, 0x20 ; 32
3f2: de e4 ldi r29, 0x4E ; 78
for(uint8_t i=0;i<3;i++)
{
LCDGotoXY(8, 1);
3f4: 61 e0 ldi r22, 0x01 ; 1
3f6: 88 e0 ldi r24, 0x08 ; 8
3f8: cd de rcall .-614 ; 0x194 <LCDGotoXY>
LCDsendChar(0);
3fa: 80 e0 ldi r24, 0x00 ; 0
3fc: 73 de rcall .-794 ; 0xe4 <LCDsendChar>
3fe: 20 e0 ldi r18, 0x00 ; 0
400: ce 01 movw r24, r28
402: 01 97 sbiw r24, 0x01 ; 1
404: f1 f7 brne .-4 ; 0x402 <demoanimation+0x2e>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
406: 2f 5f subi r18, 0xFF ; 255
408: 24 36 cpi r18, 0x64 ; 100
40a: d1 f7 brne .-12 ; 0x400 <demoanimation+0x2c>
for(uint8_t i=0;i<3;i++)
{
LCDGotoXY(8, 1);
LCDsendChar(0);
delay1s();
LCDGotoXY(8, 1);
40c: 61 e0 ldi r22, 0x01 ; 1
40e: 88 e0 ldi r24, 0x08 ; 8
410: c1 de rcall .-638 ; 0x194 <LCDGotoXY>
LCDsendChar('-');
412: 8d e2 ldi r24, 0x2D ; 45
414: 67 de rcall .-818 ; 0xe4 <LCDsendChar>
416: 20 e0 ldi r18, 0x00 ; 0
418: ce 01 movw r24, r28
41a: 01 97 sbiw r24, 0x01 ; 1
41c: f1 f7 brne .-4 ; 0x41a <demoanimation+0x46>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
41e: 2f 5f subi r18, 0xFF ; 255
420: 24 36 cpi r18, 0x64 ; 100
422: d1 f7 brne .-12 ; 0x418 <demoanimation+0x44>
LCDsendChar(0);
delay1s();
LCDGotoXY(8, 1);
LCDsendChar('-');
delay1s();
LCDGotoXY(8, 1);
424: 61 e0 ldi r22, 0x01 ; 1
426: 88 e0 ldi r24, 0x08 ; 8
428: b5 de rcall .-662 ; 0x194 <LCDGotoXY>
LCDsendChar('/');
42a: 8f e2 ldi r24, 0x2F ; 47
42c: 5b de rcall .-842 ; 0xe4 <LCDsendChar>
42e: 20 e0 ldi r18, 0x00 ; 0
430: ce 01 movw r24, r28
432: 01 97 sbiw r24, 0x01 ; 1
434: f1 f7 brne .-4 ; 0x432 <demoanimation+0x5e>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
436: 2f 5f subi r18, 0xFF ; 255
438: 24 36 cpi r18, 0x64 ; 100
43a: d1 f7 brne .-12 ; 0x430 <demoanimation+0x5c>
LCDsendChar('-');
delay1s();
LCDGotoXY(8, 1);
LCDsendChar('/');
delay1s();
LCDGotoXY(8, 1);
43c: 61 e0 ldi r22, 0x01 ; 1
43e: 88 e0 ldi r24, 0x08 ; 8
440: a9 de rcall .-686 ; 0x194 <LCDGotoXY>
LCDsendChar('|');
442: 8c e7 ldi r24, 0x7C ; 124
444: 4f de rcall .-866 ; 0xe4 <LCDsendChar>
446: 20 e0 ldi r18, 0x00 ; 0
448: ce 01 movw r24, r28
44a: 01 97 sbiw r24, 0x01 ; 1
44c: f1 f7 brne .-4 ; 0x44a <demoanimation+0x76>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
44e: 2f 5f subi r18, 0xFF ; 255
450: 24 36 cpi r18, 0x64 ; 100
452: d1 f7 brne .-12 ; 0x448 <demoanimation+0x74>
LCDsendChar('/');
delay1s();
LCDGotoXY(8, 1);
LCDsendChar('|');
delay1s();
LCDGotoXY(8, 1);
454: 61 e0 ldi r22, 0x01 ; 1
456: 88 e0 ldi r24, 0x08 ; 8
458: 9d de rcall .-710 ; 0x194 <LCDGotoXY>
LCDsendChar(8);//backslash
45a: 88 e0 ldi r24, 0x08 ; 8
45c: 43 de rcall .-890 ; 0xe4 <LCDsendChar>
45e: 20 e0 ldi r18, 0x00 ; 0
460: ce 01 movw r24, r28
462: 01 97 sbiw r24, 0x01 ; 1
464: f1 f7 brne .-4 ; 0x462 <demoanimation+0x8e>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
466: 2f 5f subi r18, 0xFF ; 255
468: 24 36 cpi r18, 0x64 ; 100
46a: d1 f7 brne .-12 ; 0x460 <demoanimation+0x8c>
LCDsendChar('|');
delay1s();
LCDGotoXY(8, 1);
LCDsendChar(8);//backslash
delay1s();
LCDGotoXY(8, 1);
46c: 61 e0 ldi r22, 0x01 ; 1
46e: 88 e0 ldi r24, 0x08 ; 8
470: 91 de rcall .-734 ; 0x194 <LCDGotoXY>
LCDsendChar('-');
472: 8d e2 ldi r24, 0x2D ; 45
474: 37 de rcall .-914 ; 0xe4 <LCDsendChar>
476: 20 e0 ldi r18, 0x00 ; 0
478: ce 01 movw r24, r28
47a: 01 97 sbiw r24, 0x01 ; 1
47c: f1 f7 brne .-4 ; 0x47a <demoanimation+0xa6>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
47e: 2f 5f subi r18, 0xFF ; 255
480: 24 36 cpi r18, 0x64 ; 100
482: d1 f7 brne .-12 ; 0x478 <demoanimation+0xa4>
LCDsendChar(8);//backslash
delay1s();
LCDGotoXY(8, 1);
LCDsendChar('-');
delay1s();
LCDGotoXY(8, 1);
484: 61 e0 ldi r22, 0x01 ; 1
486: 88 e0 ldi r24, 0x08 ; 8
488: 85 de rcall .-758 ; 0x194 <LCDGotoXY>
LCDsendChar('/');
48a: 8f e2 ldi r24, 0x2F ; 47
48c: 2b de rcall .-938 ; 0xe4 <LCDsendChar>
48e: 20 e0 ldi r18, 0x00 ; 0
490: ce 01 movw r24, r28
492: 01 97 sbiw r24, 0x01 ; 1
494: f1 f7 brne .-4 ; 0x492 <demoanimation+0xbe>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
496: 2f 5f subi r18, 0xFF ; 255
498: 24 36 cpi r18, 0x64 ; 100
49a: d1 f7 brne .-12 ; 0x490 <demoanimation+0xbc>
LCDsendChar('-');
delay1s();
LCDGotoXY(8, 1);
LCDsendChar('/');
delay1s();
LCDGotoXY(8, 1);
49c: 61 e0 ldi r22, 0x01 ; 1
49e: 88 e0 ldi r24, 0x08 ; 8
4a0: 79 de rcall .-782 ; 0x194 <LCDGotoXY>
LCDsendChar('|');
4a2: 8c e7 ldi r24, 0x7C ; 124
4a4: 1f de rcall .-962 ; 0xe4 <LCDsendChar>
4a6: 20 e0 ldi r18, 0x00 ; 0
4a8: ce 01 movw r24, r28
4aa: 01 97 sbiw r24, 0x01 ; 1
4ac: f1 f7 brne .-4 ; 0x4aa <demoanimation+0xd6>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
4ae: 2f 5f subi r18, 0xFF ; 255
4b0: 24 36 cpi r18, 0x64 ; 100
4b2: d1 f7 brne .-12 ; 0x4a8 <demoanimation+0xd4>
void demoanimation(void)
{
LCDclr();
LCDdefinechar(backslash,0);
CopyStringtoLCD(LCDanimation, 0, 0);
for(uint8_t i=0;i<3;i++)
4b4: 1f 5f subi r17, 0xFF ; 255
4b6: 13 30 cpi r17, 0x03 ; 3
4b8: 09 f0 breq .+2 ; 0x4bc <demoanimation+0xe8>
4ba: 9c cf rjmp .-200 ; 0x3f4 <demoanimation+0x20>
delay1s();
LCDGotoXY(8, 1);
LCDsendChar('|');
delay1s();
}
}
4bc: df 91 pop r29
4be: cf 91 pop r28
4c0: 1f 91 pop r17
4c2: 08 95 ret
000004c4 <character>:
void character (void)
{
4c4: 4d de rcall .-870 ; 0x160 <LCDclr>
LCDclr();
LCDdefinechar(backslash,0);
4c6: 60 e0 ldi r22, 0x00 ; 0
4c8: 84 ea ldi r24, 0xA4 ; 164
4ca: 90 e0 ldi r25, 0x00 ; 0
4cc: 86 de rcall .-756 ; 0x1da <LCDdefinechar>
CopyStringtoLCD(LCDwelcomeln1, 4, 0);
4ce: 40 e0 ldi r20, 0x00 ; 0
4d0: 64 e0 ldi r22, 0x04 ; 4
4d2: 8a e6 ldi r24, 0x6A ; 106
4d4: 90 e0 ldi r25, 0x00 ; 0
4d6: 6c de rcall .-808 ; 0x1b0 <CopyStringtoLCD>
4d8: 20 e0 ldi r18, 0x00 ; 0
4da: 40 e2 ldi r20, 0x20 ; 32
4dc: 5e e4 ldi r21, 0x4E ; 78
4de: ca 01 movw r24, r20
4e0: 01 97 sbiw r24, 0x01 ; 1
4e2: f1 f7 brne .-4 ; 0x4e0 <character+0x1c>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
4e4: 2f 5f subi r18, 0xFF ; 255
4e6: 24 36 cpi r18, 0x64 ; 100
4e8: d1 f7 brne .-12 ; 0x4de <character+0x1a>
{
LCDclr();
LCDdefinechar(backslash,0);
CopyStringtoLCD(LCDwelcomeln1, 4, 0);
delay1s();
CopyStringtoLCD(LCDname, 0, 1);
4ea: 41 e0 ldi r20, 0x01 ; 1
4ec: 60 e0 ldi r22, 0x00 ; 0
4ee: 82 e9 ldi r24, 0x92 ; 146
4f0: 90 e0 ldi r25, 0x00 ; 0
4f2: 5e de rcall .-836 ; 0x1b0 <CopyStringtoLCD>
4f4: 20 e0 ldi r18, 0x00 ; 0
4f6: 40 e2 ldi r20, 0x20 ; 32
4f8: 5e e4 ldi r21, 0x4E ; 78
4fa: ca 01 movw r24, r20
4fc: 01 97 sbiw r24, 0x01 ; 1
4fe: f1 f7 brne .-4 ; 0x4fc <character+0x38>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
500: 2f 5f subi r18, 0xFF ; 255
502: 24 36 cpi r18, 0x64 ; 100
504: d1 f7 brne .-12 ; 0x4fa <character+0x36>
CopyStringtoLCD(LCDwelcomeln1, 4, 0);
delay1s();
CopyStringtoLCD(LCDname, 0, 1);
delay1s();
}
506: 08 95 ret
00000508 <main>:
int main(void)
{
508: cf 93 push r28
50a: df 93 push r29
LCDinit();//init LCD bit, dual line, cursor right
50c: 88 de rcall .-752 ; 0x21e <LCDinit>
LCDclr();//clears LCD
50e: 28 de rcall .-944 ; 0x160 <LCDclr>
510: c0 e2 ldi r28, 0x20 ; 32
512: de e4 ldi r29, 0x4E ; 78
while(1)
{
character();
514: d7 df rcall .-82 ; 0x4c4 <character>
516: 20 e0 ldi r18, 0x00 ; 0
518: ce 01 movw r24, r28
51a: 01 97 sbiw r24, 0x01 ; 1
51c: f1 f7 brne .-4 ; 0x51a <main+0x12>
//delay 1s
void delay1s(void)
{
uint8_t i;
for(i=0;i<100;i++)
51e: 2f 5f subi r18, 0xFF ; 255
520: 24 36 cpi r18, 0x64 ; 100
522: d1 f7 brne .-12 ; 0x518 <main+0x10>
524: f7 cf rjmp .-18 ; 0x514 <main+0xc>
00000526 <__udivmodhi4>:
526: aa 1b sub r26, r26
528: bb 1b sub r27, r27
52a: 51 e1 ldi r21, 0x11 ; 17
52c: 07 c0 rjmp .+14 ; 0x53c <__udivmodhi4_ep>
0000052e <__udivmodhi4_loop>:
52e: aa 1f adc r26, r26
530: bb 1f adc r27, r27
532: a6 17 cp r26, r22
534: b7 07 cpc r27, r23
536: 10 f0 brcs .+4 ; 0x53c <__udivmodhi4_ep>
538: a6 1b sub r26, r22
53a: b7 0b sbc r27, r23
0000053c <__udivmodhi4_ep>:
53c: 88 1f adc r24, r24
53e: 99 1f adc r25, r25
540: 5a 95 dec r21
542: a9 f7 brne .-22 ; 0x52e <__udivmodhi4_loop>
544: 80 95 com r24
546: 90 95 com r25
548: bc 01 movw r22, r24
54a: cd 01 movw r24, r26
54c: 08 95 ret
0000054e <__divmodhi4>:
54e: 97 fb bst r25, 7
550: 09 2e mov r0, r25
552: 07 26 eor r0, r23
554: 0a d0 rcall .+20 ; 0x56a <__divmodhi4_neg1>
556: 77 fd sbrc r23, 7
558: 04 d0 rcall .+8 ; 0x562 <__divmodhi4_neg2>
55a: e5 df rcall .-54 ; 0x526 <__udivmodhi4>
55c: 06 d0 rcall .+12 ; 0x56a <__divmodhi4_neg1>
55e: 00 20 and r0, r0
560: 1a f4 brpl .+6 ; 0x568 <__divmodhi4_exit>
00000562 <__divmodhi4_neg2>:
562: 70 95 com r23
564: 61 95 neg r22
566: 7f 4f sbci r23, 0xFF ; 255
00000568 <__divmodhi4_exit>:
568: 08 95 ret
0000056a <__divmodhi4_neg1>:
56a: f6 f7 brtc .-4 ; 0x568 <__divmodhi4_exit>
56c: 90 95 com r25
56e: 81 95 neg r24
570: 9f 4f sbci r25, 0xFF ; 255
572: 08 95 ret
00000574 <_exit>:
574: f8 94 cli
00000576 <__stop_program>:
576: ff cf rjmp .-2 ; 0x576 <__stop_program>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -