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

📄 motorctrl.lst

📁 PID 控制 DC 马达
💻 LST
📖 第 1 页 / 共 5 页
字号:

 381 0132 8CEB      		ldi r24,lo8(700)
 382 0134 92E0      		ldi r25,hi8(700)
 383 0136 A0E0      		ldi r26,hlo8(700)
 384 0138 B0E0      		ldi r27,hhi8(700)
 385 013a 8093 0000 		sts Controller+32,r24
 386 013e 9093 0000 		sts (Controller+32)+1,r25
 387 0142 A093 0000 		sts (Controller+32)+2,r26
 388 0146 B093 0000 		sts (Controller+32)+3,r27
 171:motorctrl.c   **** 	// state variables
 172:motorctrl.c   **** 	Controller.error		= 0;
 389               		.stabn 68,0,172,.LM30-motorCommand
 390               	.LM30:
 391 014a 1092 0000 		sts Controller+12,__zero_reg__
 392 014e 1092 0000 		sts (Controller+12)+1,__zero_reg__
 393 0152 1092 0000 		sts (Controller+12)+2,__zero_reg__
 394 0156 1092 0000 		sts (Controller+12)+3,__zero_reg__
 173:motorctrl.c   **** 	Controller.error_last	= 0;
 395               		.stabn 68,0,173,.LM31-motorCommand
 396               	.LM31:
 397 015a 1092 0000 		sts Controller+16,__zero_reg__
 398 015e 1092 0000 		sts (Controller+16)+1,__zero_reg__
 399 0162 1092 0000 		sts (Controller+16)+2,__zero_reg__
 400 0166 1092 0000 		sts (Controller+16)+3,__zero_reg__
 174:motorctrl.c   **** 	Controller.error_integ	= 0;
 401               		.stabn 68,0,174,.LM32-motorCommand
 402               	.LM32:
 403 016a 1092 0000 		sts Controller+20,__zero_reg__
 404 016e 1092 0000 		sts (Controller+20)+1,__zero_reg__
 405 0172 1092 0000 		sts (Controller+20)+2,__zero_reg__
 406 0176 1092 0000 		sts (Controller+20)+3,__zero_reg__
 175:motorctrl.c   **** 	Controller.error_diff	= 0;
 407               		.stabn 68,0,175,.LM33-motorCommand
 408               	.LM33:
 409 017a 1092 0000 		sts Controller+24,__zero_reg__
 410 017e 1092 0000 		sts (Controller+24)+1,__zero_reg__
 411 0182 1092 0000 		sts (Controller+24)+2,__zero_reg__
 412 0186 1092 0000 		sts (Controller+24)+3,__zero_reg__
 176:motorctrl.c   **** 	// input and output
 177:motorctrl.c   **** 	Controller.output		= 0;
 413               		.stabn 68,0,177,.LM34-motorCommand
 414               	.LM34:
 415 018a 1092 0000 		sts Controller+36,__zero_reg__
 416 018e 1092 0000 		sts (Controller+36)+1,__zero_reg__
 417 0192 1092 0000 		sts (Controller+36)+2,__zero_reg__
 418 0196 1092 0000 		sts (Controller+36)+3,__zero_reg__
 178:motorctrl.c   **** 	Controller.input		= 0;
 419               		.stabn 68,0,178,.LM35-motorCommand
 420               	.LM35:
 421 019a 1092 0000 		sts Controller+40,__zero_reg__
 422 019e 1092 0000 		sts (Controller+40)+1,__zero_reg__
 423 01a2 1092 0000 		sts (Controller+40)+2,__zero_reg__
 424 01a6 1092 0000 		sts (Controller+40)+3,__zero_reg__
 179:motorctrl.c   **** 	Controller.feedback		= 0;
 425               		.stabn 68,0,179,.LM36-motorCommand
 426               	.LM36:
 427 01aa 1092 0000 		sts Controller+44,__zero_reg__
 428 01ae 1092 0000 		sts (Controller+44)+1,__zero_reg__
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 12


 429 01b2 1092 0000 		sts (Controller+44)+2,__zero_reg__
 430 01b6 1092 0000 		sts (Controller+44)+3,__zero_reg__
 180:motorctrl.c   **** 
 181:motorctrl.c   **** 	// initialize motor control lines
 182:motorctrl.c   **** 	motorInit();
 431               		.stabn 68,0,182,.LM37-motorCommand
 432               	.LM37:
 433 01ba 0E94 0000 		call motorInit
 183:motorctrl.c   **** 
 184:motorctrl.c   **** 	// set up LEDs
 185:motorctrl.c   **** 	outb(DDRB, 0xFF);
 434               		.stabn 68,0,185,.LM38-motorCommand
 435               	.LM38:
 436 01be 8FEF      		ldi r24,lo8(-1)
 437 01c0 87BB      		out 55-0x20,r24
 186:motorctrl.c   **** 	// set up a2d converter
 187:motorctrl.c   **** 	a2dSetPrescaler(ADC_PRESCALE_DIV8);
 438               		.stabn 68,0,187,.LM39-motorCommand
 439               	.LM39:
 440 01c2 83E0      		ldi r24,lo8(3)
 441 01c4 0E94 0000 		call a2dSetPrescaler
 188:motorctrl.c   **** 	
 189:motorctrl.c   **** 	// initialize encoder
 190:motorctrl.c   **** 	encoderInit();
 442               		.stabn 68,0,190,.LM40-motorCommand
 443               	.LM40:
 444 01c8 0E94 0000 		call encoderInit
 191:motorctrl.c   **** 
 192:motorctrl.c   **** 	// setup PWM on timer1
 193:motorctrl.c   **** 	timer1SetPrescaler(TIMER_CLK_DIV8);
 445               		.stabn 68,0,193,.LM41-motorCommand
 446               	.LM41:
 447 01cc 82E0      		ldi r24,lo8(2)
 448 01ce 0E94 0000 		call timer1SetPrescaler
 194:motorctrl.c   **** 	timer1PWMInit(10);
 449               		.stabn 68,0,194,.LM42-motorCommand
 450               	.LM42:
 451 01d2 8AE0      		ldi r24,lo8(10)
 452 01d4 0E94 0000 		call timer1PWMInit
 195:motorctrl.c   **** 	timer1PWMAOn();
 453               		.stabn 68,0,195,.LM43-motorCommand
 454               	.LM43:
 455 01d8 0E94 0000 		call timer1PWMAOn
 196:motorctrl.c   **** 	timer1PWMBOn();
 456               		.stabn 68,0,196,.LM44-motorCommand
 457               	.LM44:
 458 01dc 0E94 0000 		call timer1PWMBOn
 197:motorctrl.c   **** 	// attach pid service
 198:motorctrl.c   **** 	timerAttach(TIMER1OVERFLOW_INT, pidService);
 459               		.stabn 68,0,198,.LM45-motorCommand
 460               	.LM45:
 461 01e0 60E0      		ldi r22,lo8(pm(pidService))
 462 01e2 70E0      		ldi r23,hi8(pm(pidService))
 463 01e4 812F      		mov r24,r17
 464 01e6 0E94 0000 		call timerAttach
 199:motorctrl.c   **** 
 200:motorctrl.c   **** 	// ***** this part currently unused *****
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 13


 201:motorctrl.c   **** 	// setup metering timer
 202:motorctrl.c   **** 	// count with 32.768KHz/8
 203:motorctrl.c   **** 	//timer2SetPrescaler(TIMERRTC_CLK_DIV8);
 204:motorctrl.c   **** 	timer2SetPrescaler(TIMERRTC_CLK_DIV1024);
 465               		.stabn 68,0,204,.LM46-motorCommand
 466               	.LM46:
 467 01ea 87E0      		ldi r24,lo8(7)
 468 01ec 0E94 0000 		call timer2SetPrescaler
 205:motorctrl.c   **** 	// switch to asynchronous input (32KHz crystal)
 206:motorctrl.c   **** 	//sbi(ASSR, AS2);
 207:motorctrl.c   **** 	// attach service
 208:motorctrl.c   **** 	//timerAttach(TIMER2OVERFLOW_INT, timerService);
 209:motorctrl.c   **** 	// **************************************
 210:motorctrl.c   **** 	
 211:motorctrl.c   **** 	while(1)
 469               		.stabn 68,0,211,.LM47-motorCommand
 470               	.LM47:
 471 01f0 A5C0      		rjmp .L13
 212:motorctrl.c   **** 	{
 213:motorctrl.c   **** 		// pass characters received on the uart (serial port)
 214:motorctrl.c   **** 		// into the cmdline processor
 215:motorctrl.c   **** 		while(uartReceiveByte(&c)) cmdlineInputFunc(c);
 472               		.stabn 68,0,215,.LM48-motorCommand
 473               	.LM48:
 474               	.L9:
 475 01f2 8981      		ldd r24,Y+1
 476 01f4 0E94 0000 		call cmdlineInputFunc
 477               	.L12:
 478 01f8 CE01      		movw r24,r28
 479 01fa 0196      		adiw r24,1
 480 01fc 0E94 0000 		call uartReceiveByte
 481 0200 C82E      		mov r12,r24
 482 0202 8823      		tst r24
 483 0204 B1F7      		brne .L9
 216:motorctrl.c   **** 
 217:motorctrl.c   **** 		// run the cmdline execution functions
 218:motorctrl.c   **** 		cmdlineMainLoop();
 484               		.stabn 68,0,218,.LM49-motorCommand
 485               	.LM49:
 486 0206 0E94 0000 		call cmdlineMainLoop
 219:motorctrl.c   **** 
 220:motorctrl.c   **** 		// print debug messages
 221:motorctrl.c   **** 		if(ServiceFlag)
 487               		.stabn 68,0,221,.LM50-motorCommand
 488               	.LM50:
 489 020a 8091 0000 		lds r24,ServiceFlag
 490 020e 8823      		tst r24
 491 0210 99F3      		breq .L12
 222:motorctrl.c   **** 		{
 223:motorctrl.c   **** 			rprintf("Cyc=");
 492               		.stabn 68,0,223,.LM51-motorCommand
 493               	.LM51:
 494 0212 80E0      		ldi r24,lo8(__c.1)
 495 0214 90E0      		ldi r25,hi8(__c.1)
 496 0216 9F93      		push r25
 497 0218 8F93      		push r24
 498 021a 81E0      		ldi r24,lo8(1)
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 14


 499 021c D82E      		mov r13,r24
 500 021e DF92      		push r13
 501 0220 0E94 0000 		call rprintf1RamRom
 224:motorctrl.c   **** 			rprintfNum(10, 6, FALSE, ' ', Cycles);
 502               		.stabn 68,0,224,.LM52-motorCommand
 503               	.LM52:
 504 0224 8091 0000 		lds r24,Cycles
 505 0228 9091 0000 		lds r25,(Cycles)+1
 506 022c A091 0000 		lds r26,(Cycles)+2
 507 0230 B091 0000 		lds r27,(Cycles)+3
 508 0234 7C01      		movw r14,r24
 509 0236 8D01      		movw r16,r26
 510 0238 20E2      		ldi r18,lo8(32)
 511 023a 4C2D      		mov r20,r12
 512 023c 66E0      		ldi r22,lo8(6)
 513 023e 8AE0      		ldi r24,lo8(10)
 514 0240 0E94 0000 		call rprintfNum
 225:motorctrl.c   **** 			rprintf("  Pos=");
 515               		.stabn 68,0,225,.LM53-motorCommand
 516               	.LM53:
 517 0244 0F90      		pop __tmp_reg__
 518 0246 0F90      		pop __tmp_reg__
 519 0248 0F90      	 	pop __tmp_reg__
 520 024a 80E0      		ldi r24,lo8(__c.2)
 521 024c 90E0      		ldi r25,hi8(__c.2)
 522 024e 9F93      		push r25
 523 0250 8F93      		push r24
 524 0252 DF92      		push r13
 525 0254 0E94 0000 		call rprintf1RamRom
 226:motorctrl.c   **** 			rprintfNum(10, 7, TRUE, ' ', Controller.feedback);
 526               		.stabn 68,0,226,.LM54-motorCommand
 527               	.LM54:
 528 0258 E090 0000 		lds r14,Controller+44
 529 025c F090 0000 		lds r15,(Controller+44)+1
 530 0260 0091 0000 		lds r16,(Controller+44)+2
 531 0264 1091 0000 		lds r17,(Controller+44)+3
 532 0268 20E2      		ldi r18,lo8(32)
 533 026a 4FEF      		ldi r20,lo8(-1)
 534 026c 67E0      		ldi r22,lo8(7)
 535 026e 8AE0      		ldi r24,lo8(10)
 536 0270 0E94 0000 		call rprintfNum
 227:motorctrl.c   **** 			rprintf("  Ep=");
 537               		.stabn 68,0,227,.LM55-motorCommand
 538               	.LM55:
 539 0274 0F90      		pop __tmp_reg__
 540 0276 0F90      		pop __tmp_reg__
 541 0278 0F90      	 	pop __tmp_reg__
 542 027a 80E0      		ldi r24,lo8(__c.3)
 543 027c 90E0      		ldi r25,hi8(__c.3)
 544 027e 9F93      		push r25
 545 0280 8F93      		push r24
 546 0282 DF92      		push r13
 547 0284 0E94 0000 		call rprintf1RamRom
 228:motorctrl.c   **** 			rprintfNum(10, 7, TRUE, ' ', Controller.error);
 548               		.stabn 68,0,228,.LM56-motorCommand
 549               	.LM56:
 550 0288 E090 0000 		lds r14,Controller+12
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 15


 551 028c F090 0000 		lds r15,(Controller+12)+1
 552 0290 0091 0000 		lds r16,(Controller+12)+2
 553 0294 1091 0000 		lds r17,(Controller+12)+3
 554 0298 20E2      		ldi r18,lo8(32)
 555 029a 4FEF      		ldi r20,lo8(-1)
 556 029c 67E0      		ldi r22,lo8(7)
 557 029e 8AE0      		ldi r24,lo8(10)
 558 02a0 0E94 0000 		call rprintfNum
 229:motorctrl.c   **** 			rprintf("  Ei=");
 559               		.stabn 68,0,229,.LM57-motorCommand
 560               	.LM57:
 561 02a4 0F90      		pop __tmp_reg__
 562 02a6 0F90      		pop __tmp_reg__
 563 02a8 0F90      	 	pop __tmp_reg__
 564 02aa 80E0      		ldi r24,lo8(__c.4)
 565 02ac 90E0      		ldi r25,hi8(__c.4)
 566 02ae 9F93      		push r25
 567 02b0 8F93      		push r24
 568 02b2 DF92      		push r13
 569 02b4 0E94 0000 		call rprintf1RamRom
 230:motorctrl.c   **** 			rprintfNum(10, 7, TRUE, ' ', Controller.error_integ);
 570               		.stabn 68,0,230,.LM58-motorCommand
 571               	.LM58:
 572 02b8 E090 0000 		lds r14,Controller+20
 573 02bc F090 0000 		lds r15,(Controller+20)+1
 574 02c0 0091 0000 		lds r16,(Controller+20)+2
 575 02c4 1091 0000 		lds r17,(Controller+20)+3
 576 02c8 20E2      		ldi r18,lo8(32)
 577 02ca 4FEF      		ldi r20,lo8(-1)
 578 02cc 67E0      		ldi r22,lo8(7)
 579 02ce 8AE0      		ldi r24,lo8(10)
 580 02d0 0E94 0000 		call rprintfNum
 231:motorctrl.c   **** 			rprintf("  Ed=");
 581               		.stabn 68,0,231,.LM59-motorCommand
 582               	.LM59:
 583 02d4 0F90      		pop __tmp_reg__
 584 02d6 0F90      		pop __tmp_reg__
 585 02d8 0F90      	 	pop __tmp_reg__
 586 02da 80E0      		ldi r24,lo8(__c.5)
 587 02dc 90E0      		ldi r25,hi8(__c.5)
 588 02de 9F93      		push r25
 589 02e0 8F93      		push r24
 590 02e2 DF92      		push r13
 591 02e4 0E94 0000 		call rprintf1RamRom
 232:motorctrl.c   **** 			rprintfNum(10, 7, TRUE, ' ', Controller.error_diff);
 592               		.stabn 68,0,232,.LM60-motorCommand
 593               	.LM60:
 594 02e8 E090 0000 		lds r14,Controller+24
 595 02ec F090 0000 		lds r15,(Controller+24)+1
 596 02f0 0091 0000 		lds r16,(Controller+24)+2
 597 02f4 1091 0000 		lds r17,(Controller+24)+3
 598 02f8 20E2      		ldi r18,lo8(32)
 599 02fa 4FEF      		ldi r20,lo8(-1)
 600 02fc 67E0      		ldi r22,lo8(7)
 601 02fe 8AE0      		ldi r24,lo8(10)
 602 0300 0E94 0000 		call rprintfNum
 233:motorctrl.c   **** 			rprintf("  out=");
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 16


⌨️ 快捷键说明

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