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

📄 atp.lst

📁 ATmega128和ads7864实现ATP闭环控制
💻 LST
📖 第 1 页 / 共 5 页
字号:
    036D 9508      RET
_main:
  ucFlag               --> Y+5
  dFy                  --> Y+76
  k                    --> Y+5
  j                    --> Y+5
  dEx                  --> Y+72
  dEy2T                --> Y+68
  dEy1T                --> Y+64
  ucFX                 --> R10
  slEy                 --> Y+60
  dEyTotal             --> Y+56
  ulFX                 --> Y+52
  dRad2                --> Y+48
  dDeltaRad            --> Y+44
  i                    --> Y+40
  dEy                  --> Y+36
  dTotalData           --> Y+32
  ulFY                 --> Y+28
  usADDATA             --> Y+20
  dADDATA              --> Y+4
    036E 97EF      SBIW	R28,0x3F
    036F 9761      SBIW	R28,0x11
(0150) }
(0151) 
(0152) 
(0153) 
(0154) void main(void)
(0155) {
(0156) 	u32	i=0xFFFFFF;
    0370 EF4F      LDI	R20,0xFF
    0371 EF5F      LDI	R21,0xFF
    0372 EF6F      LDI	R22,0xFF
    0373 E070      LDI	R23,0
    0374 01FE      MOVW	R30,R28
    0375 A740      STD	Z+40,R20
    0376 A751      STD	Z+41,R21
    0377 A762      STD	Z+42,R22
    0378 A773      STD	Z+43,R23
(0157) 	u16 j,k;
(0158) 	u16 usADDATA[4];
(0159) 	double dADDATA[4];
(0160) 	double dEx,dEy;
(0161) 	double dTotalData;
(0162) 
(0163) 	double dEy1T,dEy2T,dEyTotal;
(0164) 
(0165) 	double dDeltaRad,dRad2;
(0166) 
(0167) 	double dFy;
(0168) 
(0169) 	s32 slEy;
(0170) 
(0171) 	u32 ulFX,ulFY;
(0172) 
(0173) 	u8 ucFlag;
(0174) 
(0175) 
(0176) 	u8 ucFX=99;
    0379 E683      LDI	R24,0x63
    037A 2EA8      MOV	R10,R24
(0177) 
(0178) 
(0179) 	SysInit();
    037B 940E0F4C  CALL	_SysInit
(0180) 
(0181) 	
(0182) 	ulFX=45000;
    037D EC48      LDI	R20,0xC8
    037E EA5F      LDI	R21,0xAF
    037F E060      LDI	R22,0
    0380 E070      LDI	R23,0
    0381 01FE      MOVW	R30,R28
    0382 AB44      STD	Z+52,R20
    0383 AB55      STD	Z+53,R21
    0384 AB66      STD	Z+54,R22
    0385 AB77      STD	Z+55,R23
(0183) 	ulFY=Fy0;
    0386 E34A      LDI	R20,0x3A
    0387 EE5F      LDI	R21,0xEF
    0388 E060      LDI	R22,0
    0389 E070      LDI	R23,0
    038A 01FE      MOVW	R30,R28
    038B 8F44      STD	Z+28,R20
    038C 8F55      STD	Z+29,R21
    038D 8F66      STD	Z+30,R22
    038E 8F77      STD	Z+31,R23
(0184) 
(0185) 
(0186) 	ulFY=61000;
    038F E448      LDI	R20,0x48
    0390 EE5E      LDI	R21,0xEE
    0391 E060      LDI	R22,0
    0392 E070      LDI	R23,0
    0393 01FE      MOVW	R30,R28
    0394 8F44      STD	Z+28,R20
    0395 8F55      STD	Z+29,R21
    0396 8F66      STD	Z+30,R22
    0397 8F77      STD	Z+31,R23
(0187) 	OutputFrequency(ulFY,ulFX);
    0398 01FE      MOVW	R30,R28
    0399 A824      LDD	R2,Z+52
    039A A835      LDD	R3,Z+53
    039B A846      LDD	R4,Z+54
    039C A857      LDD	R5,Z+55
    039D 8228      STD	Y+0,R2
    039E 8239      STD	Y+1,R3
    039F 824A      STD	Y+2,R4
    03A0 825B      STD	Y+3,R5
    03A1 01FE      MOVW	R30,R28
    03A2 8D04      LDD	R16,Z+28
    03A3 8D15      LDD	R17,Z+29
    03A4 8D26      LDD	R18,Z+30
    03A5 8D37      LDD	R19,Z+31
    03A6 DE09      RCALL	_OutputFrequency
(0188) 
(0189) 	
(0190) 	//ulFY=70000;
(0191) 	//OutputFrequency3(ucFX);
(0192) 
(0193) /*
(0194) 	ucFlag=0;
(0195) 	while(1)
(0196) 	{
(0197) 		if(ucFlag)	
(0198) 		{
(0199) 			OutputFrequency2();
(0200) 			ucFlag=0;
(0201) 		}
(0202) 		else						
(0203) 		{
(0204) 			OutputFrequency1();
(0205) 			ucFlag=1;
(0206) 		}
(0207) 		delayus(200);
(0208) 		delayus(100);
(0209) 		//delayus(200);
(0210) 		//delayus(200);
(0211) 		//delayus(200);
(0212) 		//delayus(200);
(0213) 		//delayms(10);
(0214) 	}
(0215) 	*/
(0216) 	delayms(10);
    03A7 E00A      LDI	R16,0xA
    03A8 940E0F07  CALL	_delayms
    03AA C0CB      RJMP	0x0476
(0217) 
(0218) 	
(0219) 	while(1)
(0220) 	{
(0221) 		NOP();
    03AB 0000      NOP
(0222) 		delayms(3);
    03AC E003      LDI	R16,3
    03AD 940E0F07  CALL	_delayms
(0223) 		usAD_GetData(usADDATA);
    03AF 018E      MOVW	R16,R28
    03B0 5E0C      SUBI	R16,0xEC
    03B1 4F1F      SBCI	R17,0xFF
    03B2 940E11A9  CALL	_usAD_GetData
(0224) 		//dADDATA[0]=(double)usADDATA[0];
(0225) 		//dADDATA[1]=(double)usADDATA[1];
(0226) 		//dADDATA[2]=(double)usADDATA[2];
(0227) 		//dADDATA[3]=(double)usADDATA[3];
(0228) 		//dTotalData=dADDATA[QDA]+dADDATA[QDB]+dADDATA[QDC]+dADDATA[QDD];
(0229) 		
(0230) 
(0231) 		//dEx=(dADDATA[QDA]+dADDATA[QDD]-dADDATA[QDB]-dADDATA[QDC])/dTotalData;
(0232) 		//dEy=(dADDATA[QDA]+dADDATA[QDB]-dADDATA[QDC]-dADDATA[QDD])/dTotalData;
(0233) 
(0234) 		slEy=usADDATA[QDA];
    03B4 882C      LDD	R2,Y+20
    03B5 883D      LDD	R3,Y+21
    03B6 2444      CLR	R4
    03B7 2455      CLR	R5
    03B8 01FE      MOVW	R30,R28
    03B9 AE24      STD	Z+60,R2
    03BA AE35      STD	Z+61,R3
    03BB AE46      STD	Z+62,R4
    03BC AE57      STD	Z+63,R5
(0235) 		slEy=slEy+usADDATA[QDB];
    03BD 882E      LDD	R2,Y+22
    03BE 883F      LDD	R3,Y+23
    03BF 2444      CLR	R4
    03C0 2455      CLR	R5
    03C1 01FE      MOVW	R30,R28
    03C2 AC64      LDD	R6,Z+60
    03C3 AC75      LDD	R7,Z+61
    03C4 AC86      LDD	R8,Z+62
    03C5 AC97      LDD	R9,Z+63
    03C6 0C62      ADD	R6,R2
    03C7 1C73      ADC	R7,R3
    03C8 1C84      ADC	R8,R4
    03C9 1C95      ADC	R9,R5
    03CA 01FE      MOVW	R30,R28
    03CB AE64      STD	Z+60,R6
    03CC AE75      STD	Z+61,R7
    03CD AE86      STD	Z+62,R8
    03CE AE97      STD	Z+63,R9
(0236) 		slEy=slEy-usADDATA[QDC];
    03CF 8C28      LDD	R2,Y+24
    03D0 8C39      LDD	R3,Y+25
    03D1 2444      CLR	R4
    03D2 2455      CLR	R5
    03D3 01FE      MOVW	R30,R28
    03D4 AC64      LDD	R6,Z+60
    03D5 AC75      LDD	R7,Z+61
    03D6 AC86      LDD	R8,Z+62
    03D7 AC97      LDD	R9,Z+63
    03D8 1862      SUB	R6,R2
    03D9 0873      SBC	R7,R3
    03DA 0884      SBC	R8,R4
    03DB 0895      SBC	R9,R5
    03DC 01FE      MOVW	R30,R28
    03DD AE64      STD	Z+60,R6
    03DE AE75      STD	Z+61,R7
    03DF AE86      STD	Z+62,R8
    03E0 AE97      STD	Z+63,R9
(0237) 		slEy=slEy-usADDATA[QDD];
    03E1 8C2A      LDD	R2,Y+26
    03E2 8C3B      LDD	R3,Y+27
    03E3 2444      CLR	R4
    03E4 2455      CLR	R5
    03E5 01FE      MOVW	R30,R28
    03E6 AC64      LDD	R6,Z+60
    03E7 AC75      LDD	R7,Z+61
    03E8 AC86      LDD	R8,Z+62
    03E9 AC97      LDD	R9,Z+63
    03EA 1862      SUB	R6,R2
    03EB 0873      SBC	R7,R3
    03EC 0884      SBC	R8,R4
    03ED 0895      SBC	R9,R5
    03EE 01FE      MOVW	R30,R28
    03EF AE64      STD	Z+60,R6
    03F0 AE75      STD	Z+61,R7
    03F1 AE86      STD	Z+62,R8
    03F2 AE97      STD	Z+63,R9
(0238) 		
(0239) 		if(slEy!=0)
    03F3 E040      LDI	R20,0
    03F4 E050      LDI	R21,0
    03F5 E060      LDI	R22,0
    03F6 E070      LDI	R23,0
    03F7 01FE      MOVW	R30,R28
    03F8 AC24      LDD	R2,Z+60
    03F9 AC35      LDD	R3,Z+61
    03FA AC46      LDD	R4,Z+62
    03FB AC57      LDD	R5,Z+63
    03FC 1624      CP	R2,R20
    03FD 0635      CPC	R3,R21
    03FE 0646      CPC	R4,R22
    03FF 0657      CPC	R5,R23
    0400 F409      BNE	0x0402
    0401 C072      RJMP	0x0474
(0240) 		{
(0241) 			if(slEy>0) 	
    0402 E040      LDI	R20,0
    0403 E050      LDI	R21,0
    0404 E060      LDI	R22,0
    0405 E070      LDI	R23,0
    0406 01FE      MOVW	R30,R28
    0407 AC24      LDD	R2,Z+60
    0408 AC35      LDD	R3,Z+61
    0409 AC46      LDD	R4,Z+62
    040A AC57      LDD	R5,Z+63
    040B 1542      CP	R20,R2
    040C 0553      CPC	R21,R3
    040D 0564      CPC	R22,R4
    040E 0575      CPC	R23,R5
    040F F00C      BLT	0x0411
    0410 C02B      RJMP	0x043C
(0242) 			{	
(0243) 				ulFY=ulFY+100;
    0411 E644      LDI	R20,0x64
    0412 E050      LDI	R21,0
    0413 E060      LDI	R22,0
    0414 E070      LDI	R23,0
    0415 01FE      MOVW	R30,R28
    0416 8C24      LDD	R2,Z+28
    0417 8C35      LDD	R3,Z+29
    0418 8C46      LDD	R4,Z+30
    0419 8C57      LDD	R5,Z+31
    041A 0E24      ADD	R2,R20
    041B 1E35      ADC	R3,R21
    041C 1E46      ADC	R4,R22
    041D 1E57      ADC	R5,R23
    041E 01FE      MOVW	R30,R28
    041F 8E24      STD	Z+28,R2
    0420 8E35      STD	Z+29,R3
    0421 8E46      STD	Z+30,R4
    0422 8E57      STD	Z+31,R5
(0244) 				if(ulFY>70000)	ulFY=70000;
    0423 E740      LDI	R20,0x70
    0424 E151      LDI	R21,0x11
    0425 E061      LDI	R22,1
    0426 E070      LDI	R23,0
    0427 01FE      MOVW	R30,R28
    0428 8C24      LDD	R2,Z+28
    0429 8C35      LDD	R3,Z+29
    042A 8C46      LDD	R4,Z+30
    042B 8C57      LDD	R5,Z+31
    042C 1542      CP	R20,R2
    042D 0553      CPC	R21,R3
    042E 0564      CPC	R22,R4
    042F 0575      CPC	R23,R5
    0430 F008      BCS	0x0432
    0431 C033      RJMP	0x0465
    0432 E740      LDI	R20,0x70
    0433 E151      LDI	R21,0x11
    0434 E061      LDI	R22,1
    0435 E070      LDI	R23,0
    0436 01FE      MOVW	R30,R28
    0437 8F44      STD	Z+28,R20
    0438 8F55      STD	Z+29,R21
    0439 8F66      STD	Z+30,R22
    043A 8F77      STD	Z+31,R23
(0245) 			}
    043B C029      RJMP	0x0465
(0246) 			else 		
(0247) 			{	
(0248) 				ulFY=ulFY-100;
    043C E644      LDI	R20,0x64
    043D E050      LDI	R21,0
    043E E060      LDI	R22,0
    043F E070      LDI	R23,0
    0440 01FE      MOVW	R30,R28
    0441 8C24      LDD	R2,Z+28
    0442 8C35      LDD	R3,Z+29
    0443 8C46      LDD	R4,Z+30
    0444 8C57      LDD	R5,Z+31
    0445 1A24      SUB	R2,R20
    0446 0A35      SBC	R3,R21
    0447 0A46      SBC	R4,R22
    0448 0A57      SBC	R5,R23
    0449 01FE      MOVW	R30,R28
    044A 8E24      STD	Z+28,R2
    044B 8E35      STD	Z+29,R3
    044C 8E46      STD	Z+30,R4
    044D 8E57      STD	Z+31,R5
(0249) 				if(ulFY<40000)	ulFY=40000;
    044E E440      LDI	R20,0x40
    044F E95C      LDI	R21,0x9C
    0450 E060      LDI	R22,0
    0451 E070      LDI	R23,0
    0452 01FE      MOVW	R30,R28
    0453 8C24      LDD	R2,Z+28
    0454 8C35      LDD	R3,Z+29
    0455 8C46      LDD	R4,Z+30
    0456 8C57      LDD	R5,Z+31
    0457 1624      CP	R2,R20
    0458 0635      CPC	R3,R21
    0459 0646      CPC	R4,R22
    045A 0657      CPC	R5,R23
    045B F448      BCC	0x0465
    045C E440      LDI	R20,0x40
    045D E95C      LDI	R21,0x9C
    045E E060      LDI	R22,0
    045F E070      LDI	R23,0
    0460 01FE      MOVW	R30,R28
    0461 8F44      STD	Z+28,R20
    0462 8F55      STD	Z+29,R21
    0463 8F66      STD	Z+30,R22
    0464 8F77      STD	Z+31,R23
(0250) 			}
(0251) 			OutputFrequency(ulFY,ulFX);
    0465 01FE      MOVW	R30,R28
    0466 A824      LDD	R2,Z+52
    0467 A835      LDD	R3,Z+53
    0468 A846      LDD	R4,Z+54
    0469 A857      LDD	R5,Z+55
    046A 8228      STD	Y+0,R2
    046B 8239      STD	Y+1,R3
    046C 824A      STD	Y+2,R4
    046D 825B      STD	Y+3,R5
    046E 01FE      MOVW	R30,R28
    046F 8D04      LDD	R16,Z+28
    0470 8D15      LDD	R17,Z+29
    0471 8D26      LDD	R18,Z+30
    0472 8D37      LDD	R19,Z+31
    0473 DD3C      RCALL	_OutputFrequency
(0252) 		}
(0253) 		
(0254) 		NOP();
    0474 0000      NOP
(0255) 		NOP();
    0475 0000      NOP
    0476 CF34      RJMP	0x03AB
(0256) 	}
(0257) 
(0258) 
(0259) 	while(1)
(0260) 	{
(0261) 		usAD_GetData(usADDATA);
    0477 018E      MOVW	R16,R28
    0478 5E0C      SUBI	R16,0xEC
    0479 4F1F      SBCI	R17,0xFF
    047A 940E11A9  CALL	_usAD_GetData
(0262) 		if(usADDATA[QDD]>0x6FFF)	
    047C EF8F      LDI	R24,0xFF
    047D E69F      LDI	R25,0x6F
    047E 8C2A      LDD	R2,Y+26
    047F 8C3B      LDD	R3,Y+27
    0480 1582      CP	R24,R2
    0481 0593      CPC	R25,R3
    0482 F410      BCC	0x0485
(0263) 			ucFX=ucFX+1;
    0483 94A3      INC	R10
    0484 C001      RJMP	0x0486
(0264) 		else		//if(usADDATA[QDD]<10)					
(0265) 			ucFX=ucFX-1;
    0485 94AA      DEC	R10
(0266) 		delayms(3);
    0486 E003      LDI	R16,3
    0487 940E0F07  CALL	_delayms
(0267) 		OutputFrequency3(ucHex2BCD(ucFX));
    0489 2D0A      MOV	R16,R10
    048A DBF7      RCALL	_ucHex2BCD
    048B DDC0      RCALL	_OutputFrequency3
    048C CFEA      RJMP	0x0477
(0268) 
(0269) 	}
(0270) 
(0271) 
(0272) 	
(0273) 	while(1)
(0274) 	{
(0275) 		usAD_GetData(usADDATA);
    048D 018E      MOVW	R16,R28
    048E 5E0C      SUBI	R16,0xEC
    048F 4F1F      SBCI	R17,0xFF
    0490 940E11A9  CALL	_usAD_GetData
(0276) 		if(usADDATA[QDD]>100)	
    0492 E684      LDI	R24,0x64
    0493 E090      LDI	R25,0
    0494 8C2A      LDD	R2,Y+26
    0495 8C3B      LDD	R3,Y+27
    0496 1582      CP	R24,R2

⌨️ 快捷键说明

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