⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 led.lis

📁 一个关于AVR单片机的例程
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0386 3184              ldd R3,z+9
 0388 4284              ldd R4,z+10
 038A 5384              ldd R5,z+11
 038C 5A92              st -y,R5
 038E 4A92              st -y,R4
 0390 3A92              st -y,R3
 0392 2A92              st -y,R2
 0394 00E0              ldi R16,<L29
 0396 10E0              ldi R17,>L29
 0398 0E940000          xcall lpm32
 039C 3A93              st -y,R19
 039E 2A93              st -y,R18
 03A0 1A93              st -y,R17
 03A2 0A93              st -y,R16
 03A4 0E940000          xcall sub32f
 03A8 0E940000          xcall fp2int
 03AC C801              movw R24,R16
 03AE 8050              subi R24,0  ; offset = 32768
 03B0 9048              sbci R25,128
 03B2 5C01              movw R10,R24
 03B4 08C0              xjmp L34
 03B6           L33:
 03B6 FE01              movw R30,R28
 03B8 0085              ldd R16,z+8
 03BA 1185              ldd R17,z+9
 03BC 2285              ldd R18,z+10
 03BE 3385              ldd R19,z+11
 03C0 0E940000          xcall fp2int
 03C4 5801              movw R10,R16
 03C6           L34:
 03C6 B501              movw R22,R10
 03C8                   .dbline 145
 03C8           ;   temp=temp2%10; // 0.123*100%10 = 3
 03C8 2AE0              ldi R18,10
 03CA 30E0              ldi R19,0
 03CC 8B01              movw R16,R22
 03CE 0E940000          xcall mod16u
 03D2 402F              mov R20,R16
 03D4                   .dbline 146
 03D4           ;   display_one(0,temp);
 03D4 242F              mov R18,R20
 03D6 0027              clr R16
 03D8 19DE              xcall _display_one
 03DA                   .dbline 147
 03DA           ;   delay_ms(6);
 03DA 06E0              ldi R16,6
 03DC 10E0              ldi R17,0
 03DE 0E940000          xcall _delay_ms
 03E2                   .dbline 148
 03E2           ;   led_contrl_port &=~ (1<<0);
 03E2 C098              cbi 0x18,0
 03E4                   .dbline 149
 03E4           ;  }
 03E4 3CC4              xjmp L24
 03E6           L23:
 03E6                   .dbline 150
 03E6           ;  else if(data<10)  //比如1.234
 03E6 FE01              movw R30,R28
 03E8 2688              ldd R2,z+22
 03EA 3788              ldd R3,z+23
 03EC 408C              ldd R4,z+24
 03EE 518C              ldd R5,z+25
 03F0 5A92              st -y,R5
 03F2 4A92              st -y,R4
 03F4 3A92              st -y,R3
 03F6 2A92              st -y,R2
 03F8 00E0              ldi R16,<L28
 03FA 10E0              ldi R17,>L28
 03FC 0E940000          xcall lpm32
 0400 3A93              st -y,R19
 0402 2A93              st -y,R18
 0404 1A93              st -y,R17
 0406 0A93              st -y,R16
 0408 0E940000          xcall cmp32f
 040C 0CF0              brlt X1
 040E 70C1              xjmp L35
 0410           X1:
 0410                   .dbline 151
 0410           ;  {
 0410                   .dbline 152
 0410           ;   temp=(data/1);   // 1.234/1 = 1
 0410 FE01              movw R30,R28
 0412 2688              ldd R2,z+22
 0414 3788              ldd R3,z+23
 0416 408C              ldd R4,z+24
 0418 518C              ldd R5,z+25
 041A 5A92              st -y,R5
 041C 4A92              st -y,R4
 041E 3A92              st -y,R3
 0420 2A92              st -y,R2
 0422 00E0              ldi R16,<L25
 0424 10E0              ldi R17,>L25
 0426 0E940000          xcall lpm32
 042A 3A93              st -y,R19
 042C 2A93              st -y,R18
 042E 1A93              st -y,R17
 0430 0A93              st -y,R16
 0432 0E940000          xcall div32f
 0436 FE01              movw R30,R28
 0438 0083              std z+0,R16
 043A 1183              std z+1,R17
 043C 2283              std z+2,R18
 043E 3383              std z+3,R19
 0440 FE01              movw R30,R28
 0442 2080              ldd R2,z+0
 0444 3180              ldd R3,z+1
 0446 4280              ldd R4,z+2
 0448 5380              ldd R5,z+3
 044A 5A92              st -y,R5
 044C 4A92              st -y,R4
 044E 3A92              st -y,R3
 0450 2A92              st -y,R2
 0452 00E0              ldi R16,<L29
 0454 10E0              ldi R17,>L29
 0456 0E940000          xcall lpm32
 045A 3A93              st -y,R19
 045C 2A93              st -y,R18
 045E 1A93              st -y,R17
 0460 0A93              st -y,R16
 0462 0E940000          xcall cmp32f
 0466 D4F0              brlt L37
 0468 FE01              movw R30,R28
 046A 2080              ldd R2,z+0
 046C 3180              ldd R3,z+1
 046E 4280              ldd R4,z+2
 0470 5380              ldd R5,z+3
 0472 5A92              st -y,R5
 0474 4A92              st -y,R4
 0476 3A92              st -y,R3
 0478 2A92              st -y,R2
 047A 00E0              ldi R16,<L29
 047C 10E0              ldi R17,>L29
 047E 0E940000          xcall lpm32
 0482 3A93              st -y,R19
 0484 2A93              st -y,R18
 0486 1A93              st -y,R17
 0488 0A93              st -y,R16
 048A 0E940000          xcall sub32f
 048E 0E940000          xcall fp2int
 0492 C801              movw R24,R16
 0494 8050              subi R24,0  ; offset = 32768
 0496 9048              sbci R25,128
 0498 5C01              movw R10,R24
 049A 08C0              xjmp L38
 049C           L37:
 049C FE01              movw R30,R28
 049E 0081              ldd R16,z+0
 04A0 1181              ldd R17,z+1
 04A2 2281              ldd R18,z+2
 04A4 3381              ldd R19,z+3
 04A6 0E940000          xcall fp2int
 04AA 5801              movw R10,R16
 04AC           L38:
 04AC 4A2D              mov R20,R10
 04AE                   .dbline 153
 04AE           ;   display_one(3,temp);
 04AE 242F              mov R18,R20
 04B0 03E0              ldi R16,3
 04B2 ACDD              xcall _display_one
 04B4                   .dbline 154
 04B4           ;   led_port |= 0x80; //点亮对应小数点
 04B4 DF9A              sbi 0x1b,7
 04B6                   .dbline 155
 04B6           ;   delay_ms(6);
 04B6 06E0              ldi R16,6
 04B8 10E0              ldi R17,0
 04BA 0E940000          xcall _delay_ms
 04BE                   .dbline 156
 04BE           ;   led_contrl_port &=~ (1<<3);
 04BE C398              cbi 0x18,3
 04C0                   .dbline 158
 04C0           ;   //第一位小数
 04C0           ;   temp2=(data*10);
 04C0 00E0              ldi R16,<L28
 04C2 10E0              ldi R17,>L28
 04C4 0E940000          xcall lpm32
 04C8 3A93              st -y,R19
 04CA 2A93              st -y,R18
 04CC 1A93              st -y,R17
 04CE 0A93              st -y,R16
 04D0 FE01              movw R30,R28
 04D2            ; stack offset 4
 04D2 228C              ldd R2,z+26
 04D4 338C              ldd R3,z+27
 04D6 448C              ldd R4,z+28
 04D8 558C              ldd R5,z+29
 04DA 5A92              st -y,R5
 04DC 4A92              st -y,R4
 04DE 3A92              st -y,R3
 04E0 2A92              st -y,R2
 04E2 0E940000          xcall empy32f
 04E6 FE01              movw R30,R28
 04E8 0483              std z+4,R16
 04EA 1583              std z+5,R17
 04EC 2683              std z+6,R18
 04EE 3783              std z+7,R19
 04F0 FE01              movw R30,R28
 04F2 2480              ldd R2,z+4
 04F4 3580              ldd R3,z+5
 04F6 4680              ldd R4,z+6
 04F8 5780              ldd R5,z+7
 04FA 5A92              st -y,R5
 04FC 4A92              st -y,R4
 04FE 3A92              st -y,R3
 0500 2A92              st -y,R2
 0502 00E0              ldi R16,<L29
 0504 10E0              ldi R17,>L29
 0506 0E940000          xcall lpm32
 050A 3A93              st -y,R19
 050C 2A93              st -y,R18
 050E 1A93              st -y,R17
 0510 0A93              st -y,R16
 0512 0E940000          xcall cmp32f
 0516 D4F0              brlt L39
 0518 FE01              movw R30,R28
 051A 2480              ldd R2,z+4
 051C 3580              ldd R3,z+5
 051E 4680              ldd R4,z+6
 0520 5780              ldd R5,z+7
 0522 5A92              st -y,R5
 0524 4A92              st -y,R4
 0526 3A92              st -y,R3
 0528 2A92              st -y,R2
 052A 00E0              ldi R16,<L29
 052C 10E0              ldi R17,>L29
 052E 0E940000          xcall lpm32
 0532 3A93              st -y,R19
 0534 2A93              st -y,R18
 0536 1A93              st -y,R17
 0538 0A93              st -y,R16
 053A 0E940000          xcall sub32f
 053E 0E940000          xcall fp2int
 0542 C801              movw R24,R16
 0544 8050              subi R24,0  ; offset = 32768
 0546 9048              sbci R25,128
 0548 5C01              movw R10,R24
 054A 08C0              xjmp L40
 054C           L39:
 054C FE01              movw R30,R28
 054E 0481              ldd R16,z+4
 0550 1581              ldd R17,z+5
 0552 2681              ldd R18,z+6
 0554 3781              ldd R19,z+7
 0556 0E940000          xcall fp2int
 055A 5801              movw R10,R16
 055C           L40:
 055C B501              movw R22,R10
 055E                   .dbline 159
 055E           ;   temp=temp2%10; // 1.234*10%10 = 2
 055E 2AE0              ldi R18,10
 0560 30E0              ldi R19,0
 0562 8B01              movw R16,R22
 0564 0E940000          xcall mod16u
 0568 402F              mov R20,R16
 056A                   .dbline 160
 056A           ;   display_one(2,temp);
 056A 242F              mov R18,R20
 056C 02E0              ldi R16,2
 056E 4EDD              xcall _display_one
 0570                   .dbline 161
 0570           ;   delay_ms(6);
 0570 06E0              ldi R16,6
 0572 10E0              ldi R17,0
 0574 0E940000          xcall _delay_ms
 0578                   .dbline 162
 0578           ;   led_contrl_port &=~ (1<<2);
 0578 C298              cbi 0x18,2
 057A                   .dbline 164
 057A           ;   //第二位小数
 057A           ;   temp2=(data*100);
 057A 00E0              ldi R16,<L32
 057C 10E0              ldi R17,>L32
 057E 0E940000          xcall lpm32
 0582 3A93              st -y,R19
 0584 2A93              st -y,R18
 0586 1A93              st -y,R17
 0588 0A93              st -y,R16
 058A FE01              movw R30,R28
 058C            ; stack offset 4
 058C 228C              ldd R2,z+26
 058E 338C              ldd R3,z+27
 0590 448C              ldd R4,z+28
 0592 558C              ldd R5,z+29
 0594 5A92              st -y,R5
 0596 4A92              st -y,R4
 0598 3A92              st -y,R3
 059A 2A92              st -y,R2
 059C 0E940000          xcall empy32f
 05A0 FE01              movw R30,R28
 05A2 0087              std z+8,R16
 05A4 1187              std z+9,R17
 05A6 2287              std z+10,R18
 05A8 3387              std z+11,R19
 05AA FE01              movw R30,R28
 05AC 2084              ldd R2,z+8
 05AE 3184              ldd R3,z+9
 05B0 4284              ldd R4,z+10
 05B2 5384              ldd R5,z+11
 05B4 5A92              st -y,R5
 05B6 4A92              st -y,R4
 05B8 3A92              st -y,R3
 05BA 2A92              st -y,R2
 05BC 00E0              ldi R16,<L29
 05BE 10E0              ldi R17,>L29
 05C0 0E940000          xcall lpm32
 05C4 3A93              st -y,R19
 05C6 2A93              st -y,R18
 05C8 1A93              st -y,R17
 05CA 0A93              st -y,R16
 05CC 0E940000          xcall cmp32f
 05D0 D4F0              brlt L41
 05D2 FE01              movw R30,R28
 05D4 2084              ldd R2,z+8
 05D6 3184              ldd R3,z+9
 05D8 4284              ldd R4,z+10
 05DA 5384              ldd R5,z+11
 05DC 5A92              st -y,R5
 05DE 4A92              st -y,R4
 05E0 3A92              st -y,R3
 05E2 2A92              st -y,R2
 05E4 00E0              ldi R16,<L29
 05E6 10E0              ldi R17,>L29
 05E8 0E940000          xcall lpm32
 05EC 3A93              st -y,R19
 05EE 2A93              st -y,R18
 05F0 1A93              st -y,R17
 05F2 0A93              st -y,R16
 05F4 0E940000          xcall sub32f
 05F8 0E940000          xcall fp2int
 05FC C801              movw R24,R16
 05FE 8050              subi R24,0  ; offset = 32768
 0600 9048              sbci R25,128
 0602 5C01              movw R10,R24
 0604 08C0              xjmp L42
 0606           L41:
 0606 FE01              movw R30,R28
 0608 0085              ldd R16,z+8
 060A 1185              ldd R17,z+9
 060C 2285              ldd R18,z+10
 060E 3385              ldd R19,z+11
 0610 0E940000          xcall fp2int
 0614 5801              movw R10,R16
 0616           L42:
 0616 B501              movw R22,R10
 0618                   .dbline 165
 0618           ;   temp=temp2%10; // 1.234*100%10 = 3
 0618 2AE0              ldi R18,10
 061A 30E0              ldi R19,0
 061C 8B01              movw R16,R22
 061E 0E940000          xcall mod16u
 0622 402F              mov R20,R16
 0624                   .dbline 166
 0624           ;   display_one(1,temp);
 0624 242F              mov R18,R20
 0626 01E0              ldi R16,1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -