📄 ac18-1.lst
字号:
069A 940E0AD9 CALL lpm32
069C 933A ST R19,-Y
069D 932A ST R18,-Y
069E 931A ST R17,-Y
069F 930A ST R16,-Y
06A0 01FE MOVW R30,R28
06A1 8026 LDD R2,Z+6
06A2 8037 LDD R3,Z+7
06A3 8440 LDD R4,Z+8
06A4 8451 LDD R5,Z+9
06A5 925A ST R5,-Y
06A6 924A ST R4,-Y
06A7 923A ST R3,-Y
06A8 922A ST R2,-Y
06A9 940E0C81 CALL empy32f
06AB 01FE MOVW R30,R28
06AC 8302 STD Z+2,R16
06AD 8313 STD Z+3,R17
06AE 8324 STD Z+4,R18
06AF 8335 STD Z+5,R19
06B0 01FE MOVW R30,R28
06B1 8022 LDD R2,Z+2
06B2 8033 LDD R3,Z+3
06B3 8044 LDD R4,Z+4
06B4 8055 LDD R5,Z+5
06B5 925A ST R5,-Y
06B6 924A ST R4,-Y
06B7 923A ST R3,-Y
06B8 922A ST R2,-Y
06B9 E30D LDI R16,0x3D
06BA E011 LDI R17,1
06BB 940E0AD9 CALL lpm32
06BD 933A ST R19,-Y
06BE 932A ST R18,-Y
06BF 931A ST R17,-Y
06C0 930A ST R16,-Y
06C1 940E0C4D CALL cmp32f
06C3 F0CC BLT 0x06DD
06C4 01FE MOVW R30,R28
06C5 8022 LDD R2,Z+2
06C6 8033 LDD R3,Z+3
06C7 8044 LDD R4,Z+4
06C8 8055 LDD R5,Z+5
06C9 925A ST R5,-Y
06CA 924A ST R4,-Y
06CB 923A ST R3,-Y
06CC 922A ST R2,-Y
06CD E30D LDI R16,0x3D
06CE E011 LDI R17,1
06CF 940E0AD9 CALL lpm32
06D1 933A ST R19,-Y
06D2 932A ST R18,-Y
06D3 931A ST R17,-Y
06D4 930A ST R16,-Y
06D5 940E0B9A CALL sub32f
06D7 940E0AED CALL fp2int
06D9 01A8 MOVW R20,R16
06DA 5040 SUBI R20,0
06DB 4850 SBCI R21,0x80
06DC C008 RJMP 0x06E5
06DD 01FE MOVW R30,R28
06DE 8102 LDD R16,Z+2
06DF 8113 LDD R17,Z+3
06E0 8124 LDD R18,Z+4
06E1 8135 LDD R19,Z+5
06E2 940E0AED CALL fp2int
06E4 01A8 MOVW R20,R16
06E5 93500065 STS display_val+1,R21
06E7 93400064 STS display_val,R20
(0354) RRPM=display_val;//暂存RPM
06E9 011A MOVW R2,R20
06EA 92300077 STS RRPM+1,R3
06EC 92200076 STS RRPM,R2
(0355) if((RRPM>3600)&&(RRPM<4000))OutFlag++;//判断RPM
06EE E180 LDI R24,0x10
06EF E09E LDI R25,0xE
06F0 90200076 LDS R2,RRPM
06F2 90300077 LDS R3,RRPM+1
06F4 1582 CP R24,R2
06F5 0593 CPC R25,R3
06F6 F450 BCC 0x0701
06F7 01C1 MOVW R24,R2
06F8 3A80 CPI R24,0xA0
06F9 E0EF LDI R30,0xF
06FA 079E CPC R25,R30
06FB F428 BCC 0x0701
06FC 91800061 LDS R24,OutFlag
06FE 5F8F SUBI R24,0xFF
06FF 93800061 STS OutFlag,R24
(0356) temp=display_val;temp=temp/1000;RPM[3]=(uchar)temp;
0701 90A00064 LDS R10,display_val
0703 90B00065 LDS R11,display_val+1
0705 EE28 LDI R18,0xE8
0706 E033 LDI R19,3
0707 0185 MOVW R16,R10
0708 940E0A7E CALL div16u
070A 0158 MOVW R10,R16
070B 92A00087 STS RPM+3,R10
(0357) temp=display_val;temp=(temp/100)%10;RPM[2]=(uchar)temp;
070D 90A00064 LDS R10,display_val
070F 90B00065 LDS R11,display_val+1
0711 E624 LDI R18,0x64
0712 E030 LDI R19,0
0713 0185 MOVW R16,R10
0714 940E0A7E CALL div16u
0716 E02A LDI R18,0xA
0717 E030 LDI R19,0
0718 940E0A7C CALL mod16u
071A 0158 MOVW R10,R16
071B 92A00086 STS RPM+2,R10
(0358) temp=display_val;temp=(temp/10)%10;RPM[1]=(uchar)temp;
071D 90A00064 LDS R10,display_val
071F 90B00065 LDS R11,display_val+1
0721 E02A LDI R18,0xA
0722 E030 LDI R19,0
0723 0185 MOVW R16,R10
0724 940E0A7E CALL div16u
0726 E02A LDI R18,0xA
0727 E030 LDI R19,0
0728 940E0A7C CALL mod16u
072A 0158 MOVW R10,R16
072B 92A00085 STS RPM+1,R10
(0359) temp=display_val;temp=temp%10;RPM[0]=(uchar)temp;
072D 90A00064 LDS R10,display_val
072F 90B00065 LDS R11,display_val+1
0731 E02A LDI R18,0xA
0732 E030 LDI R19,0
0733 0185 MOVW R16,R10
0734 940E0A7C CALL mod16u
0736 0158 MOVW R10,R16
0737 92A00084 STS RPM,R10
(0360) DisplayOneChar(4,2,RPM[3]+0x30);
0739 91800087 LDS R24,RPM+3
073B 5D80 SUBI R24,0xD0
073C 8388 STD Y+0,R24
073D E022 LDI R18,2
073E E004 LDI R16,4
073F 940E09F6 CALL _DisplayOneChar
(0361) DisplayOneChar(5,2,RPM[2]+0x30);
0741 91800086 LDS R24,RPM+2
0743 5D80 SUBI R24,0xD0
0744 8388 STD Y+0,R24
0745 E022 LDI R18,2
0746 E005 LDI R16,5
0747 940E09F6 CALL _DisplayOneChar
(0362) DisplayOneChar(6,2,RPM[1]+0x30);
0749 91800085 LDS R24,RPM+1
074B 5D80 SUBI R24,0xD0
074C 8388 STD Y+0,R24
074D E022 LDI R18,2
074E E006 LDI R16,6
074F 940E09F6 CALL _DisplayOneChar
(0363) DisplayOneChar(7,2,RPM[0]+0x30);
0751 91800084 LDS R24,RPM
0753 5D80 SUBI R24,0xD0
0754 8388 STD Y+0,R24
0755 E022 LDI R18,2
0756 E007 LDI R16,7
0757 940E09F6 CALL _DisplayOneChar
(0364) break;
0759 C21D RJMP 0x0977
(0365)
(0366) case 23:current=average();status=24;//取样最大运行电流
075A DA92 RCALL _average
075B 93100067 STS current+1,R17
075D 93000066 STS current,R16
075F E188 LDI R24,0x18
0760 93800060 STS status,R24
(0367) current=current-14;
0762 01C8 MOVW R24,R16
0763 970E SBIW R24,0xE
0764 93900067 STS current+1,R25
0766 93800066 STS current,R24
(0368) f=(float)current;f=(f*2560)/1024;
0768 E501 LDI R16,0x51
0769 E011 LDI R17,1
076A 940E0AD9 CALL lpm32
076C 933A ST R19,-Y
076D 932A ST R18,-Y
076E 931A ST R17,-Y
076F 930A ST R16,-Y
0770 91000066 LDS R16,current
0772 91100067 LDS R17,current+1
0774 9516 LSR R17
0775 9507 ROR R16
0776 940E0B35 CALL int2fp
0778 933A ST R19,-Y
0779 932A ST R18,-Y
077A 931A ST R17,-Y
077B 930A ST R16,-Y
077C 940E0C7E CALL empy32fs
077E 91000066 LDS R16,current
0780 91100067 LDS R17,current+1
0782 7001 ANDI R16,1
0783 7010 ANDI R17,0
0784 940E0B35 CALL int2fp
0786 933A ST R19,-Y
0787 932A ST R18,-Y
0788 931A ST R17,-Y
0789 930A ST R16,-Y
078A 940E0B92 CALL add32f
078C 01FE MOVW R30,R28
078D 8302 STD Z+2,R16
078E 8313 STD Z+3,R17
078F 8324 STD Z+4,R18
0790 8335 STD Z+5,R19
0791 E40D LDI R16,0x4D
0792 E011 LDI R17,1
0793 940E0AD9 CALL lpm32
0795 933A ST R19,-Y
0796 932A ST R18,-Y
0797 931A ST R17,-Y
0798 930A ST R16,-Y
0799 01FE MOVW R30,R28
079A 8026 LDD R2,Z+6
079B 8037 LDD R3,Z+7
079C 8440 LDD R4,Z+8
079D 8451 LDD R5,Z+9
079E 925A ST R5,-Y
079F 924A ST R4,-Y
07A0 923A ST R3,-Y
07A1 922A ST R2,-Y
07A2 940E0C7E CALL empy32fs
07A4 E409 LDI R16,0x49
07A5 E011 LDI R17,1
07A6 940E0AD9 CALL lpm32
07A8 933A ST R19,-Y
07A9 932A ST R18,-Y
07AA 931A ST R17,-Y
07AB 930A ST R16,-Y
07AC 940E0BF3 CALL div32f
07AE 01FE MOVW R30,R28
07AF 8302 STD Z+2,R16
07B0 8313 STD Z+3,R17
07B1 8324 STD Z+4,R18
07B2 8335 STD Z+5,R19
(0369) f=f*0.95;//修正
07B3 E20D LDI R16,0x2D
07B4 E011 LDI R17,1
07B5 940E0AD9 CALL lpm32
07B7 933A ST R19,-Y
07B8 932A ST R18,-Y
07B9 931A ST R17,-Y
07BA 930A ST R16,-Y
07BB 01FE MOVW R30,R28
07BC 8026 LDD R2,Z+6
07BD 8037 LDD R3,Z+7
07BE 8440 LDD R4,Z+8
07BF 8451 LDD R5,Z+9
07C0 925A ST R5,-Y
07C1 924A ST R4,-Y
07C2 923A ST R3,-Y
07C3 922A ST R2,-Y
07C4 940E0C81 CALL empy32f
07C6 01FE MOVW R30,R28
07C7 8302 STD Z+2,R16
07C8 8313 STD Z+3,R17
07C9 8324 STD Z+4,R18
07CA 8335 STD Z+5,R19
(0370) RRC=f;//暂存最大运行电流
07CB 01FE MOVW R30,R28
07CC 8022 LDD R2,Z+2
07CD 8033 LDD R3,Z+3
07CE 8044 LDD R4,Z+4
07CF 8055 LDD R5,Z+5
07D0 92300073 STS RRC+1,R3
07D2 92200072 STS RRC,R2
07D4 92500075 STS RRC+3,R5
07D6 92400074 STS RRC+2,R4
(0371) if(RRC<550)OutFlag++;//判断最大运行电流大小
07D8 925A ST R5,-Y
07D9 924A ST R4,-Y
07DA 923A ST R3,-Y
07DB 922A ST R2,-Y
07DC E209 LDI R16,0x29
07DD E011 LDI R17,1
07DE 940E0AD9 CALL lpm32
07E0 933A ST R19,-Y
07E1 932A ST R18,-Y
07E2 931A ST R17,-Y
07E3 930A ST R16,-Y
07E4 940E0C4D CALL cmp32f
07E6 F42C BGE 0x07EC
07E7 91800061 LDS R24,OutFlag
07E9 5F8F SUBI R24,0xFF
07EA 93800061 STS OutFlag,R24
(0372)
(0373) current=(uint)f;
07EC 01FE MOVW R30,R28
07ED 8022 LDD R2,Z+2
07EE 8033 LDD R3,Z+3
07EF 8044 LDD R4,Z+4
07F0 8055 LDD R5,Z+5
07F1 925A ST R5,-Y
07F2 924A ST R4,-Y
07F3 923A ST R3,-Y
07F4 922A ST R2,-Y
07F5 E30D LDI R16,0x3D
07F6 E011 LDI R17,1
07F7 940E0AD9 CALL lpm32
07F9 933A ST R19,-Y
07FA 932A ST R18,-Y
07FB 931A ST R17,-Y
07FC 930A ST R16,-Y
07FD 940E0C4D CALL cmp32f
07FF F0CC BLT 0x0819
0800 01FE MOVW R30,R28
0801 8022 LDD R2,Z+2
0802 8033 LDD R3,Z+3
0803 8044 LDD R4,Z+4
0804 8055 LDD R5,Z+5
0805 925A ST R5,-Y
0806 924A ST R4,-Y
0807 923A ST R3,-Y
0808 922A ST R2,-Y
0809 E30D LDI R16,0x3D
080A E011 LDI R17,1
080B 940E0AD9 CALL lpm32
080D 933A ST R19,-Y
080E 932A ST R18,-Y
080F 931A ST R17,-Y
0810 930A ST R16,-Y
0811 940E0B9A CALL sub32f
0813 940E0AED CALL fp2int
0815 01A8 MOVW R20,R16
0816 5040 SUBI R20,0
0817 4850 SBCI R21,0x80
0818 C008 RJMP 0x0821
0819 01FE MOVW R30,R28
081A 8102 LDD R16,Z+2
081B 8113 LDD R17,Z+3
081C 8124 LDD R18,Z+4
081D 8135 LDD R19,Z+5
081E 940E0AED CALL fp2int
0820 01A8 MOVW R20,R16
0821 93500067 STS current+1,R21
0823 93400066 STS current,R20
(0374) temp=current;temp=temp/1000;RC[3]=(uchar)temp;
0825 015A MOVW R10,R20
0826 EE28 LDI R18,0xE8
0827 E033 LDI R19,3
0828 0185 MOVW R16,R10
0829 940E0A7E CALL div16u
082B 0158 MOVW R10,R16
082C 92A00083 STS RC+3,R10
(0375) temp=current;temp=(temp/100)%10;RC[2]=(uchar)temp;
082E 90A00066 LDS R10,current
0830 90B00067 LDS R11,current+1
0832 E624 LDI R18,0x64
0833 E030 LDI R19,0
0834 0185 MOVW R16,R10
0835 940E0A7E CALL div16u
0837 E02A LDI R18,0xA
0838 E030 LDI R19,0
0839 940E0A7C CALL mod16u
083B 0158 MOVW R10,R16
083C 92A00082 STS RC+2,R10
(0376) temp=current;temp=(temp/10)%10;RC[1]=(uchar)temp;
083E 90A00066 LDS R10,current
0840 90B00067 LDS R11,current+1
0842 E02A LDI R18,0xA
0843 E030 LDI R19,0
0844 0185 MOVW R16,R10
0845 940E0A7E CALL div16u
0847 E02A LDI R18,0xA
0848 E030 LDI R19,0
0849 940E0A7C CALL mod16u
084B 0158 MOVW R10,R16
084C 92A00081 STS RC+1,R10
(0377) temp=current;temp=temp%10;RC[0]=(uchar)temp;
084E 90A00066 LDS R10,current
0850 90B00067 LDS R11,current+1
0852 E02A LDI R18,0xA
0853 E030 LDI R19,0
0854 0185 MOVW R16,R10
0855 940E0A7C CALL mod16u
0857 0158 MOVW R10,R16
0858 92A00080 STS RC,R10
(0378) DisplayOneChar(11,2,RC[3]+0x30);
085A 91800083 LDS R24,RC+3
085C 5D80 SUBI R24,0xD0
085D 8388 STD Y+0,R24
085E E022 LDI R18,2
085F E00B LDI R16,0xB
0860 940E09F6 CALL _DisplayOneChar
(0379) DisplayOneChar(12,2,0x2e);
0862 E28E LDI R24,0x2E
0863 8388 STD Y+0,R24
0864 E022 LDI R18,2
0865 E00C LDI R16,0xC
0866 940E09F6 CALL _DisplayOneChar
(0380) DisplayOneChar(13,2,RC[2]+0x30);
0868 91800082 LDS R24,RC+2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -