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

📄 ac18-1.lst

📁 AVR单片机ATmega16(L)应用实例1——风机测试仪
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0308 E401      LDI	R16,0x41
    0309 E011      LDI	R17,1
    030A 940E0AD9  CALL	lpm32
    030C 933A      ST	R19,-Y
    030D 932A      ST	R18,-Y
    030E 931A      ST	R17,-Y
    030F 930A      ST	R16,-Y
    0310 940E0C4D  CALL	cmp32f
    0312 F42C      BGE	0x0318
    0313 91800061  LDS	R24,OutFlag
    0315 5F8F      SUBI	R24,0xFF
    0316 93800061  STS	OutFlag,R24
(0265) 				current=(uint)f;
    0318 01FE      MOVW	R30,R28
    0319 8022      LDD	R2,Z+2
    031A 8033      LDD	R3,Z+3
    031B 8044      LDD	R4,Z+4
    031C 8055      LDD	R5,Z+5
    031D 925A      ST	R5,-Y
    031E 924A      ST	R4,-Y
    031F 923A      ST	R3,-Y
    0320 922A      ST	R2,-Y
    0321 E30D      LDI	R16,0x3D
    0322 E011      LDI	R17,1
    0323 940E0AD9  CALL	lpm32
    0325 933A      ST	R19,-Y
    0326 932A      ST	R18,-Y
    0327 931A      ST	R17,-Y
    0328 930A      ST	R16,-Y
    0329 940E0C4D  CALL	cmp32f
    032B F0CC      BLT	0x0345
    032C 01FE      MOVW	R30,R28
    032D 8022      LDD	R2,Z+2
    032E 8033      LDD	R3,Z+3
    032F 8044      LDD	R4,Z+4
    0330 8055      LDD	R5,Z+5
    0331 925A      ST	R5,-Y
    0332 924A      ST	R4,-Y
    0333 923A      ST	R3,-Y
    0334 922A      ST	R2,-Y
    0335 E30D      LDI	R16,0x3D
    0336 E011      LDI	R17,1
    0337 940E0AD9  CALL	lpm32
    0339 933A      ST	R19,-Y
    033A 932A      ST	R18,-Y
    033B 931A      ST	R17,-Y
    033C 930A      ST	R16,-Y
    033D 940E0B9A  CALL	sub32f
    033F 940E0AED  CALL	fp2int
    0341 01A8      MOVW	R20,R16
    0342 5040      SUBI	R20,0
    0343 4850      SBCI	R21,0x80
    0344 C008      RJMP	0x034D
    0345 01FE      MOVW	R30,R28
    0346 8102      LDD	R16,Z+2
    0347 8113      LDD	R17,Z+3
    0348 8124      LDD	R18,Z+4
    0349 8135      LDD	R19,Z+5
    034A 940E0AED  CALL	fp2int
    034C 01A8      MOVW	R20,R16
    034D 93500067  STS	current+1,R21
    034F 93400066  STS	current,R20
(0266) 							 
(0267) 		   		temp=current;temp=temp/1000;LC[3]=(uchar)temp;
    0351 015A      MOVW	R10,R20
    0352 EE28      LDI	R18,0xE8
    0353 E033      LDI	R19,3
    0354 0185      MOVW	R16,R10
    0355 940E0A7E  CALL	div16u
    0357 0158      MOVW	R10,R16
    0358 92A0007F  STS	LC+3,R10
(0268) 				temp=current;temp=(temp/100)%10;LC[2]=(uchar)temp;
    035A 90A00066  LDS	R10,current
    035C 90B00067  LDS	R11,current+1
    035E E624      LDI	R18,0x64
    035F E030      LDI	R19,0
    0360 0185      MOVW	R16,R10
    0361 940E0A7E  CALL	div16u
    0363 E02A      LDI	R18,0xA
    0364 E030      LDI	R19,0
    0365 940E0A7C  CALL	mod16u
    0367 0158      MOVW	R10,R16
    0368 92A0007E  STS	LC+2,R10
(0269) 				temp=current;temp=(temp/10)%10;LC[1]=(uchar)temp;
    036A 90A00066  LDS	R10,current
    036C 90B00067  LDS	R11,current+1
    036E E02A      LDI	R18,0xA
    036F E030      LDI	R19,0
    0370 0185      MOVW	R16,R10
    0371 940E0A7E  CALL	div16u
    0373 E02A      LDI	R18,0xA
    0374 E030      LDI	R19,0
    0375 940E0A7C  CALL	mod16u
    0377 0158      MOVW	R10,R16
    0378 92A0007D  STS	LC+1,R10
(0270) 				temp=current;temp=temp%10;LC[0]=(uchar)temp;
    037A 90A00066  LDS	R10,current
    037C 90B00067  LDS	R11,current+1
    037E E02A      LDI	R18,0xA
    037F E030      LDI	R19,0
    0380 0185      MOVW	R16,R10
    0381 940E0A7C  CALL	mod16u
    0383 0158      MOVW	R10,R16
    0384 92A0007C  STS	LC,R10
(0271) 				DisplayOneChar(3,3,LC[3]+0x30);
    0386 9180007F  LDS	R24,LC+3
    0388 5D80      SUBI	R24,0xD0
    0389 8388      STD	Y+0,R24
    038A E023      LDI	R18,3
    038B E003      LDI	R16,3
    038C 940E09F6  CALL	_DisplayOneChar
(0272) 				DisplayOneChar(4,3,0x2e);
    038E E28E      LDI	R24,0x2E
    038F 8388      STD	Y+0,R24
    0390 E023      LDI	R18,3
    0391 E004      LDI	R16,4
    0392 940E09F6  CALL	_DisplayOneChar
(0273) 				DisplayOneChar(5,3,LC[2]+0x30);
    0394 9180007E  LDS	R24,LC+2
    0396 5D80      SUBI	R24,0xD0
    0397 8388      STD	Y+0,R24
    0398 E023      LDI	R18,3
    0399 E005      LDI	R16,5
    039A 940E09F6  CALL	_DisplayOneChar
(0274) 				DisplayOneChar(6,3,LC[1]+0x30);
    039C 9180007D  LDS	R24,LC+1
    039E 5D80      SUBI	R24,0xD0
    039F 8388      STD	Y+0,R24
    03A0 E023      LDI	R18,3
    03A1 E006      LDI	R16,6
    03A2 940E09F6  CALL	_DisplayOneChar
(0275) 				break;
    03A4 C5D2      RJMP	0x0977
(0276) 				
(0277) 		   case 7:POW_OFF;Delay_nms(100);//关闭电源
    03A5 9A91      SBI	0x12,1
    03A6 E604      LDI	R16,0x64
    03A7 E010      LDI	R17,0
    03A8 D5E6      RCALL	_Delay_nms
(0278) 		    	   AIR_OFF;Delay_nms(500);status=8;cnt=0;//关闭气缸
    03A9 9A93      SBI	0x12,3
    03AA EF04      LDI	R16,0xF4
    03AB E011      LDI	R17,1
    03AC D5E2      RCALL	_Delay_nms
    03AD E088      LDI	R24,0x8
    03AE 93800060  STS	status,R24
    03B0 2422      CLR	R2
    03B1 2433      CLR	R3
    03B2 92300063  STS	cnt+1,R3
    03B4 92200062  STS	cnt,R2
(0279) 		   		 break;
    03B6 C5C0      RJMP	0x0977
(0280) 				 
(0281) 		   case 8:SPEED_5V;//黄线接5V
    03B7 9890      CBI	0x12,0
(0282) 		   		  POW_14V;Delay_nms(100);POW_ON;//启动测试14V低压
    03B8 9A92      SBI	0x12,2
    03B9 E604      LDI	R16,0x64
    03BA E010      LDI	R17,0
    03BB D5D3      RCALL	_Delay_nms
    03BC 9891      CBI	0x12,1
(0283) 				  
(0284) 				  Wait10S_Start_Flag=1;cnt=0;clr_T1();//启动10S并开始T1计数
    03BD E081      LDI	R24,1
    03BE 93800068  STS	Wait10S_Start_Flag,R24
    03C0 2422      CLR	R2
    03C1 2433      CLR	R3
    03C2 92300063  STS	cnt+1,R3
    03C4 92200062  STS	cnt,R2
    03C6 DD1C      RCALL	_clr_T1
(0285) 				  display_val=0;status=9;TCCR1B = 0x06;
    03C7 2422      CLR	R2
    03C8 2433      CLR	R3
    03C9 92300065  STS	display_val+1,R3
    03CB 92200064  STS	display_val,R2
    03CD E089      LDI	R24,0x9
    03CE 93800060  STS	status,R24
    03D0 E086      LDI	R24,6
    03D1 BD8E      OUT	0x2E,R24
(0286) 		   		  break;
    03D2 C5A4      RJMP	0x0977
(0287) 				  
(0288) 		   case 9:while(Wait10S_End_Flag==0)Delay_nms(10);Wait10S_End_Flag=0;status=10;//等待10S定时结束
    03D3 E00A      LDI	R16,0xA
    03D4 E010      LDI	R17,0
    03D5 D5B9      RCALL	_Delay_nms
    03D6 90200069  LDS	R2,Wait10S_End_Flag
    03D8 2022      TST	R2
    03D9 F3C9      BEQ	0x03D3
    03DA 2422      CLR	R2
    03DB 92200069  STS	Wait10S_End_Flag,R2
    03DD E08A      LDI	R24,0xA
    03DE 93800060  STS	status,R24
(0289) 		   		break;
    03E0 C596      RJMP	0x0977
(0290) 				
(0291) 		   case 10:TCCR1B = 0x00;display_val=read_T1();status=11;//读取T1的计数(14V低压LVS)
    03E1 2422      CLR	R2
    03E2 BC2E      OUT	0x2E,R2
    03E3 DCF4      RCALL	_read_T1
    03E4 93100065  STS	display_val+1,R17
    03E6 93000064  STS	display_val,R16
    03E8 E08B      LDI	R24,0xB
    03E9 93800060  STS	status,R24
(0292) 		   		f=(float)display_val;f=f*4.985;display_val=(uint)f;//修正
    03EB E501      LDI	R16,0x51
    03EC E011      LDI	R17,1
    03ED 940E0AD9  CALL	lpm32
    03EF 933A      ST	R19,-Y
    03F0 932A      ST	R18,-Y
    03F1 931A      ST	R17,-Y
    03F2 930A      ST	R16,-Y
    03F3 91000064  LDS	R16,display_val
    03F5 91100065  LDS	R17,display_val+1
    03F7 9516      LSR	R17
    03F8 9507      ROR	R16
    03F9 940E0B35  CALL	int2fp
    03FB 933A      ST	R19,-Y
    03FC 932A      ST	R18,-Y
    03FD 931A      ST	R17,-Y
    03FE 930A      ST	R16,-Y
    03FF 940E0C7E  CALL	empy32fs
    0401 91000064  LDS	R16,display_val
    0403 91100065  LDS	R17,display_val+1
    0405 7001      ANDI	R16,1
    0406 7010      ANDI	R17,0
    0407 940E0B35  CALL	int2fp
    0409 933A      ST	R19,-Y
    040A 932A      ST	R18,-Y
    040B 931A      ST	R17,-Y
    040C 930A      ST	R16,-Y
    040D 940E0B92  CALL	add32f
    040F 01FE      MOVW	R30,R28
    0410 8302      STD	Z+2,R16
    0411 8313      STD	Z+3,R17
    0412 8324      STD	Z+4,R18
    0413 8335      STD	Z+5,R19
    0414 E309      LDI	R16,0x39
    0415 E011      LDI	R17,1
    0416 940E0AD9  CALL	lpm32
    0418 933A      ST	R19,-Y
    0419 932A      ST	R18,-Y
    041A 931A      ST	R17,-Y
    041B 930A      ST	R16,-Y
    041C 01FE      MOVW	R30,R28
    041D 8026      LDD	R2,Z+6
    041E 8037      LDD	R3,Z+7
    041F 8440      LDD	R4,Z+8
    0420 8451      LDD	R5,Z+9
    0421 925A      ST	R5,-Y
    0422 924A      ST	R4,-Y
    0423 923A      ST	R3,-Y
    0424 922A      ST	R2,-Y
    0425 940E0C81  CALL	empy32f
    0427 01FE      MOVW	R30,R28
    0428 8302      STD	Z+2,R16
    0429 8313      STD	Z+3,R17
    042A 8324      STD	Z+4,R18
    042B 8335      STD	Z+5,R19
    042C 01FE      MOVW	R30,R28
    042D 8022      LDD	R2,Z+2
    042E 8033      LDD	R3,Z+3
    042F 8044      LDD	R4,Z+4
    0430 8055      LDD	R5,Z+5
    0431 925A      ST	R5,-Y
    0432 924A      ST	R4,-Y
    0433 923A      ST	R3,-Y
    0434 922A      ST	R2,-Y
    0435 E30D      LDI	R16,0x3D
    0436 E011      LDI	R17,1
    0437 940E0AD9  CALL	lpm32
    0439 933A      ST	R19,-Y
    043A 932A      ST	R18,-Y
    043B 931A      ST	R17,-Y
    043C 930A      ST	R16,-Y
    043D 940E0C4D  CALL	cmp32f
    043F F0CC      BLT	0x0459
    0440 01FE      MOVW	R30,R28
    0441 8022      LDD	R2,Z+2
    0442 8033      LDD	R3,Z+3
    0443 8044      LDD	R4,Z+4
    0444 8055      LDD	R5,Z+5
    0445 925A      ST	R5,-Y
    0446 924A      ST	R4,-Y
    0447 923A      ST	R3,-Y
    0448 922A      ST	R2,-Y
    0449 E30D      LDI	R16,0x3D
    044A E011      LDI	R17,1
    044B 940E0AD9  CALL	lpm32
    044D 933A      ST	R19,-Y
    044E 932A      ST	R18,-Y
    044F 931A      ST	R17,-Y
    0450 930A      ST	R16,-Y
    0451 940E0B9A  CALL	sub32f
    0453 940E0AED  CALL	fp2int
    0455 01A8      MOVW	R20,R16
    0456 5040      SUBI	R20,0
    0457 4850      SBCI	R21,0x80
    0458 C008      RJMP	0x0461
    0459 01FE      MOVW	R30,R28
    045A 8102      LDD	R16,Z+2
    045B 8113      LDD	R17,Z+3
    045C 8124      LDD	R18,Z+4
    045D 8135      LDD	R19,Z+5
    045E 940E0AED  CALL	fp2int
    0460 01A8      MOVW	R20,R16
    0461 93500065  STS	display_val+1,R21
    0463 93400064  STS	display_val,R20
(0293) 				LLVS=display_val;//暂存LVS
    0465 011A      MOVW	R2,R20
    0466 9230007B  STS	LLVS+1,R3
    0468 9220007A  STS	LLVS,R2
(0294) 				if(LLVS>200)OutFlag++;//判断14V低压能否启动
    046A EC88      LDI	R24,0xC8
    046B E090      LDI	R25,0
    046C 9020007A  LDS	R2,LLVS
    046E 9030007B  LDS	R3,LLVS+1
    0470 1582      CP	R24,R2
    0471 0593      CPC	R25,R3
    0472 F428      BCC	0x0478
    0473 91800061  LDS	R24,OutFlag
    0475 5F8F      SUBI	R24,0xFF
    0476 93800061  STS	OutFlag,R24
(0295) 		   		temp=display_val;temp=temp/1000;LVS[3]=(uchar)temp;
    0478 90A00064  LDS	R10,display_val
    047A 90B00065  LDS	R11,display_val+1
    047C EE28      LDI	R18,0xE8
    047D E033      LDI	R19,3
    047E 0185      MOVW	R16,R10
    047F 940E0A7E  CALL	div16u
    0481 0158      MOVW	R10,R16
    0482 92A0008F  STS	LVS+3,R10
(0296) 				temp=display_val;temp=(temp/100)%10;LVS[2]=(uchar)temp;
    0484 90A00064  LDS	R10,display_val
    0486 90B00065  LDS	R11,display_val+1
    0488 E624      LDI	R18,0x64
    0489 E030      LDI	R19,0
    048A 0185      MOVW	R16,R10
    048B 940E0A7E  CALL	div16u
    048D E02A      LDI	R18,0xA
    048E E030      LDI	R19,0
    048F 940E0A7C  CALL	mod16u
    0491 0158      MOVW	R10,R16
    0492 92A0008E  STS	LVS+2,R10
(0297) 				temp=display_val;temp=(temp/10)%10;LVS[1]=(uchar)temp;
    0494 90A00064  LDS	R10,display_val
    0496 90B00065  LDS	R11,display_val+1
    0498 E02A      LDI	R18,0xA
    0499 E030      LDI	R19,0
    049A 0185      MOVW	R16,R10
    049B 940E0A7E  CALL	div16u
    049D E02A      LDI	R18,0xA
    049E E030      LDI	R19,0
    049F 940E0A7C  CALL	mod16u
    04A1 0158      MOVW	R10,R16
    04A2 92A0008D  STS	LVS+1,R10
(0298) 				temp=display_val;temp=temp%10;LVS[0]=(uchar)temp;
    04A4 90A00064  LDS	R10,display_val
    04A6 90B00065  LDS	R11,display_val+1
    04A8 E02A      LDI	R18,0xA
    04A9 E030      LDI	R19,0
    04AA 0185      MOVW	R16,R10
    04AB 940E0A7C  CALL	mod16u
    04AD 0158      MOVW	R10,R16
    04AE 92A0008C  STS	LVS,R10
(0299) 				DisplayOneChar(4,1,LVS[3]+0x30);
    04B0 9180008F  LDS	R24,LVS+3
    04B2 5D80      SUBI	R24,0xD0
    04B3 8388      STD	Y+0,R24
    04B4 E021      LDI	R18,1
    04B5 E004      LDI	R16,4
    04B6 940E09F6  CALL	_DisplayOneChar
(0300) 				DisplayOneChar(5,1,LVS[2]+0x30);
    04B8 9180008E  LDS	R24,LVS+2
    04BA 5D80      SUBI	R24,0xD0
    04BB 8388      STD	Y+0,R24
    04BC E021      LDI	R18,1
    04BD E005      LDI	R16,5
    04BE 940E09F6  CALL	_DisplayOneChar
(0301) 				DisplayOneChar(6,1,LVS[1]+0x30);
    04C0 9180008D  LDS	R24,LVS+1
    04C2 5D80      SUBI	R24,0xD0
    04C3 8388      STD	Y+0,R24
    04C4 E021      LDI	R18,1
    04C5 E006      LDI	R16,6
    04C6 940E09F6  CALL	_DisplayOneChar
(0302) 				DisplayOneChar(7,1,LVS[0]+0x30);
    04C8 9180008C  LDS	R24,LVS
    04CA 5D80      SUBI	R24,0xD0
    04CB 8388      STD	Y+0,R24
    04CC E021      LDI	R18,1
    04CD E007      LDI	R16,7
    04CE 940E09F6  CALL	_DisplayOneChar
(0303) 				 break;
    04D0 C4A6      RJMP	0x0977
(0304) 				 
(0305) 		   case 11:POW_OFF;Delay_nms(100);POW_27V;SPEED_0V;//转换成27V,TPV
    04D1 9A91      SBI	0x12,1

⌨️ 快捷键说明

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