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

📄 led.lis

📁 单片机中的中断处理模块
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0824 FE01              movw R30,R28
 0826 0689              ldd R16,z+22
 0828 1789              ldd R17,z+23
 082A 208D              ldd R18,z+24
 082C 318D              ldd R19,z+25
 082E 0E940000          xcall fp2int
 0832 5801              movw R10,R16
 0834           L60:
 0834 B501              movw R22,R10
 0836                   .dbline 214
 0836           ;   temp=(temp2%10);   // 12.34%10=2
 0836 2AE0              ldi R18,10
 0838 30E0              ldi R19,0
 083A 8B01              movw R16,R22
 083C 0E940000          xcall mod16u
 0840 402F              mov R20,R16
 0842                   .dbline 215
 0842           ;   display_one(6,temp);
 0842 242F              mov R18,R20
 0844 06E0              ldi R16,6
 0846 FEDB              xcall _display_one
 0848                   .dbline 216
 0848           ;   led_port &= 0x7F; //点亮对应小数点
 0848 8BB3              in R24,0x1b
 084A 8F77              andi R24,127
 084C 8BBB              out 0x1b,R24
 084E                   .dbline 217
 084E           ;   delay_ms(6);
 084E 06E0              ldi R16,6
 0850 10E0              ldi R17,0
 0852 DFDB              xcall _delay_ms
 0854                   .dbline 218
 0854           ;   led_contrl_port |= (1<<6);
 0854 969A              sbi 0x12,6
 0856                   .dbline 220
 0856           ;   
 0856           ;   temp2=(data*10);
 0856 00E0              ldi R16,<L38
 0858 10E0              ldi R17,>L38
 085A 0E940000          xcall lpm32
 085E 3A93              st -y,R19
 0860 2A93              st -y,R18
 0862 1A93              st -y,R17
 0864 0A93              st -y,R16
 0866 FE01              movw R30,R28
 0868            ; stack offset 4
 0868 228C              ldd R2,z+26
 086A 338C              ldd R3,z+27
 086C 448C              ldd R4,z+28
 086E 558C              ldd R5,z+29
 0870 5A92              st -y,R5
 0872 4A92              st -y,R4
 0874 3A92              st -y,R3
 0876 2A92              st -y,R2
 0878 0E940000          xcall empy32f
 087C FE01              movw R30,R28
 087E 0083              std z+0,R16
 0880 1183              std z+1,R17
 0882 2283              std z+2,R18
 0884 3383              std z+3,R19
 0886 FE01              movw R30,R28
 0888 2080              ldd R2,z+0
 088A 3180              ldd R3,z+1
 088C 4280              ldd R4,z+2
 088E 5380              ldd R5,z+3
 0890 5A92              st -y,R5
 0892 4A92              st -y,R4
 0894 3A92              st -y,R3
 0896 2A92              st -y,R2
 0898 00E0              ldi R16,<L39
 089A 10E0              ldi R17,>L39
 089C 0E940000          xcall lpm32
 08A0 3A93              st -y,R19
 08A2 2A93              st -y,R18
 08A4 1A93              st -y,R17
 08A6 0A93              st -y,R16
 08A8 0E940000          xcall cmp32f
 08AC D4F0              brlt L61
 08AE FE01              movw R30,R28
 08B0 2080              ldd R2,z+0
 08B2 3180              ldd R3,z+1
 08B4 4280              ldd R4,z+2
 08B6 5380              ldd R5,z+3
 08B8 5A92              st -y,R5
 08BA 4A92              st -y,R4
 08BC 3A92              st -y,R3
 08BE 2A92              st -y,R2
 08C0 00E0              ldi R16,<L39
 08C2 10E0              ldi R17,>L39
 08C4 0E940000          xcall lpm32
 08C8 3A93              st -y,R19
 08CA 2A93              st -y,R18
 08CC 1A93              st -y,R17
 08CE 0A93              st -y,R16
 08D0 0E940000          xcall sub32f
 08D4 0E940000          xcall fp2int
 08D8 C801              movw R24,R16
 08DA 8050              subi R24,0  ; offset = 32768
 08DC 9048              sbci R25,128
 08DE 5C01              movw R10,R24
 08E0 08C0              xjmp L62
 08E2           L61:
 08E2 FE01              movw R30,R28
 08E4 0081              ldd R16,z+0
 08E6 1181              ldd R17,z+1
 08E8 2281              ldd R18,z+2
 08EA 3381              ldd R19,z+3
 08EC 0E940000          xcall fp2int
 08F0 5801              movw R10,R16
 08F2           L62:
 08F2 B501              movw R22,R10
 08F4                   .dbline 221
 08F4           ;   temp=temp2%10; // 12.34*10%10=3
 08F4 2AE0              ldi R18,10
 08F6 30E0              ldi R19,0
 08F8 8B01              movw R16,R22
 08FA 0E940000          xcall mod16u
 08FE 402F              mov R20,R16
 0900                   .dbline 222
 0900           ;   display_one(5,temp);
 0900 242F              mov R18,R20
 0902 05E0              ldi R16,5
 0904 9FDB              xcall _display_one
 0906                   .dbline 223
 0906           ;   delay_ms(6);
 0906 06E0              ldi R16,6
 0908 10E0              ldi R17,0
 090A 83DB              xcall _delay_ms
 090C                   .dbline 224
 090C           ;   led_contrl_port |= (1<<5);
 090C 959A              sbi 0x12,5
 090E                   .dbline 226
 090E           ;   
 090E           ;   temp2=(data*100);
 090E 00E0              ldi R16,<L42
 0910 10E0              ldi R17,>L42
 0912 0E940000          xcall lpm32
 0916 3A93              st -y,R19
 0918 2A93              st -y,R18
 091A 1A93              st -y,R17
 091C 0A93              st -y,R16
 091E FE01              movw R30,R28
 0920            ; stack offset 4
 0920 228C              ldd R2,z+26
 0922 338C              ldd R3,z+27
 0924 448C              ldd R4,z+28
 0926 558C              ldd R5,z+29
 0928 5A92              st -y,R5
 092A 4A92              st -y,R4
 092C 3A92              st -y,R3
 092E 2A92              st -y,R2
 0930 0E940000          xcall empy32f
 0934 FE01              movw R30,R28
 0936 0483              std z+4,R16
 0938 1583              std z+5,R17
 093A 2683              std z+6,R18
 093C 3783              std z+7,R19
 093E FE01              movw R30,R28
 0940 2480              ldd R2,z+4
 0942 3580              ldd R3,z+5
 0944 4680              ldd R4,z+6
 0946 5780              ldd R5,z+7
 0948 5A92              st -y,R5
 094A 4A92              st -y,R4
 094C 3A92              st -y,R3
 094E 2A92              st -y,R2
 0950 00E0              ldi R16,<L39
 0952 10E0              ldi R17,>L39
 0954 0E940000          xcall lpm32
 0958 3A93              st -y,R19
 095A 2A93              st -y,R18
 095C 1A93              st -y,R17
 095E 0A93              st -y,R16
 0960 0E940000          xcall cmp32f
 0964 D4F0              brlt L63
 0966 FE01              movw R30,R28
 0968 2480              ldd R2,z+4
 096A 3580              ldd R3,z+5
 096C 4680              ldd R4,z+6
 096E 5780              ldd R5,z+7
 0970 5A92              st -y,R5
 0972 4A92              st -y,R4
 0974 3A92              st -y,R3
 0976 2A92              st -y,R2
 0978 00E0              ldi R16,<L39
 097A 10E0              ldi R17,>L39
 097C 0E940000          xcall lpm32
 0980 3A93              st -y,R19
 0982 2A93              st -y,R18
 0984 1A93              st -y,R17
 0986 0A93              st -y,R16
 0988 0E940000          xcall sub32f
 098C 0E940000          xcall fp2int
 0990 C801              movw R24,R16
 0992 8050              subi R24,0  ; offset = 32768
 0994 9048              sbci R25,128
 0996 5C01              movw R10,R24
 0998 08C0              xjmp L64
 099A           L63:
 099A FE01              movw R30,R28
 099C 0481              ldd R16,z+4
 099E 1581              ldd R17,z+5
 09A0 2681              ldd R18,z+6
 09A2 3781              ldd R19,z+7
 09A4 0E940000          xcall fp2int
 09A8 5801              movw R10,R16
 09AA           L64:
 09AA B501              movw R22,R10
 09AC                   .dbline 227
 09AC           ;   temp=temp2%10;// 12.34*100%10=4
 09AC 2AE0              ldi R18,10
 09AE 30E0              ldi R19,0
 09B0 8B01              movw R16,R22
 09B2 0E940000          xcall mod16u
 09B6 402F              mov R20,R16
 09B8                   .dbline 228
 09B8           ;   display_one(0,temp);
 09B8 242F              mov R18,R20
 09BA 0027              clr R16
 09BC 43DB              xcall _display_one
 09BE                   .dbline 229
 09BE           ;   delay_ms(6);
 09BE 06E0              ldi R16,6
 09C0 10E0              ldi R17,0
 09C2 27DB              xcall _delay_ms
 09C4                   .dbline 230
 09C4           ;   led_contrl_port |= (1<<4);
 09C4 949A              sbi 0x12,4
 09C6                   .dbline 231
 09C6           ;  }
 09C6 5AC1              xjmp L56
 09C8           L55:
 09C8                   .dbline 232
 09C8           ;  else if(data<1000)  //比如123.4
 09C8 FE01              movw R30,R28
 09CA 2688              ldd R2,z+22
 09CC 3788              ldd R3,z+23
 09CE 408C              ldd R4,z+24
 09D0 518C              ldd R5,z+25
 09D2 5A92              st -y,R5
 09D4 4A92              st -y,R4
 09D6 3A92              st -y,R3
 09D8 2A92              st -y,R2
 09DA 00E0              ldi R16,<L29
 09DC 10E0              ldi R17,>L29
 09DE 0E940000          xcall lpm32
 09E2 3A93              st -y,R19
 09E4 2A93              st -y,R18
 09E6 1A93              st -y,R17
 09E8 0A93              st -y,R16
 09EA 0E940000          xcall cmp32f
 09EE 0CF0              brlt X5
 09F0 44C1              xjmp L65
 09F2           X5:
 09F2                   .dbline 233
 09F2           ;  {
 09F2                   .dbline 234
 09F2           ;   temp2=data;
 09F2 FE01              movw R30,R28
 09F4 2688              ldd R2,z+22
 09F6 3788              ldd R3,z+23
 09F8 408C              ldd R4,z+24
 09FA 518C              ldd R5,z+25
 09FC 5A92              st -y,R5
 09FE 4A92              st -y,R4
 0A00 3A92              st -y,R3
 0A02 2A92              st -y,R2
 0A04 00E0              ldi R16,<L39
 0A06 10E0              ldi R17,>L39
 0A08 0E940000          xcall lpm32
 0A0C 3A93              st -y,R19
 0A0E 2A93              st -y,R18
 0A10 1A93              st -y,R17
 0A12 0A93              st -y,R16
 0A14 0E940000          xcall cmp32f
 0A18 D4F0              brlt L67
 0A1A FE01              movw R30,R28
 0A1C 2688              ldd R2,z+22
 0A1E 3788              ldd R3,z+23
 0A20 408C              ldd R4,z+24
 0A22 518C              ldd R5,z+25
 0A24 5A92              st -y,R5
 0A26 4A92              st -y,R4
 0A28 3A92              st -y,R3
 0A2A 2A92              st -y,R2
 0A2C 00E0              ldi R16,<L39
 0A2E 10E0              ldi R17,>L39
 0A30 0E940000          xcall lpm32
 0A34 3A93              st -y,R19
 0A36 2A93              st -y,R18
 0A38 1A93              st -y,R17
 0A3A 0A93              st -y,R16
 0A3C 0E940000          xcall sub32f
 0A40 0E940000          xcall fp2int
 0A44 C801              movw R24,R16
 0A46 8050              subi R24,0  ; offset = 32768
 0A48 9048              sbci R25,128
 0A4A 5C01              movw R10,R24
 0A4C 08C0              xjmp L68
 0A4E           L67:
 0A4E FE01              movw R30,R28
 0A50 0689              ldd R16,z+22
 0A52 1789              ldd R17,z+23
 0A54 208D              ldd R18,z+24
 0A56 318D              ldd R19,z+25
 0A58 0E940000          xcall fp2int
 0A5C 5801              movw R10,R16
 0A5E           L68:
 0A5E B501              movw R22,R10
 0A60                   .dbline 235
 0A60           ;   temp=(temp2/100);// 123.4/100=1
 0A60 24E6              ldi R18,100
 0A62 30E0              ldi R19,0
 0A64 8B01              movw R16,R22
 0A66 0E940000          xcall div16u
 0A6A 402F              mov R20,R16
 0A6C                   .dbline 236
 0A6C           ;   display_one(7,temp);
 0A6C 242F              mov R18,R20
 0A6E 07E0              ldi R16,7
 0A70 E9DA              xcall _display_one
 0A72                   .dbline 237
 0A72           ;   delay_ms(6);
 0A72 06E0              ldi R16,6
 0A74 10E0              ldi R17,0
 0A76 CDDA              xcall _delay_ms
 0A78                   .dbline 238
 0A78           ;   led_contrl_port |= (1<<7);
 0A78 979A              sbi 0x12,7
 0A7A                   .dbline 240
 0A7A           ;   
 0A7A           ;   temp2=data/10;
 0A7A FE01              movw R30,R28
 0A7C 2688              ldd R2,z+22
 0A7E 3788              ldd R3,z+23
 0A80 408C              ldd R4,z+24
 0A82 518C              ldd R5,z+25
 0A84 5A92              st -y,R5
 0A86 4A92              st -y,R4
 0A88 3A92              st -y,R3
 0A8A 2A92              st -y,R2
 0A8C 00E0              ldi R16,<L38
 0A8E 10E0              ldi R17,>L38
 0A90 0E940000          xcall lpm32
 0A94 3A93              st -y,R19
 0A96 2A93              st -y,R18
 0A98 1A93              st -y,R17
 0A9A 0A93              st -y,R16
 0A9C 0E940000          xcall div32f
 0AA0 FE01              movw R30,R28
 0AA2 0083              std z+0,R16

⌨️ 快捷键说明

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