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

📄 ac18-1.lst

📁 AVR单片机ATmega16(L)应用实例1——风机测试仪
💻 LST
📖 第 1 页 / 共 5 页
字号:
    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 + -