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

📄 motorctrl.lst

📁 基于avr单片机的直流电机PID控制程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
 603               		.stabn 68,0,233,.LM61-motorCommand
 604               	.LM61:
 605 0304 0F90      		pop __tmp_reg__
 606 0306 0F90      		pop __tmp_reg__
 607 0308 0F90      	 	pop __tmp_reg__
 608 030a 80E0      		ldi r24,lo8(__c.6)
 609 030c 90E0      		ldi r25,hi8(__c.6)
 610 030e 9F93      		push r25
 611 0310 8F93      		push r24
 612 0312 DF92      		push r13
 613 0314 0E94 0000 		call rprintf1RamRom
 234:motorctrl.c   **** 			rprintfNum(10, 7, TRUE, ' ', Controller.output);
 614               		.stabn 68,0,234,.LM62-motorCommand
 615               	.LM62:
 616 0318 E090 0000 		lds r14,Controller+36
 617 031c F090 0000 		lds r15,(Controller+36)+1
 618 0320 0091 0000 		lds r16,(Controller+36)+2
 619 0324 1091 0000 		lds r17,(Controller+36)+3
 620 0328 20E2      		ldi r18,lo8(32)
 621 032a 4FEF      		ldi r20,lo8(-1)
 622 032c 67E0      		ldi r22,lo8(7)
 623 032e 8AE0      		ldi r24,lo8(10)
 624 0330 0E94 0000 		call rprintfNum
 235:motorctrl.c   **** 			rprintfCRLF();
 625               		.stabn 68,0,235,.LM63-motorCommand
 626               	.LM63:
 627 0334 0E94 0000 		call rprintfCRLF
 236:motorctrl.c   **** 			ServiceFlag=FALSE;
 628               		.stabn 68,0,236,.LM64-motorCommand
 629               	.LM64:
 630 0338 C092 0000 		sts ServiceFlag,r12
 631               	.L13:
 632 033c 0F90      		pop __tmp_reg__
 633 033e 0F90      		pop __tmp_reg__
 634 0340 0F90      	 	pop __tmp_reg__
 635 0342 5ACF      		rjmp .L12
 237:motorctrl.c   **** 		}
 238:motorctrl.c   **** 	}
 239:motorctrl.c   **** 
 240:motorctrl.c   **** }
 636               		.stabn 68,0,240,.LM65-motorCommand
 637               	.LM65:
 638               	.LBE2:
 639               	/* epilogue: frame size=1 */
 640               	/* epilogue: noreturn */
 641               	/* epilogue end (size=0) */
 642               	/* function motorCommand size 388 (372) */
 643               		.size	motorCommand, .-motorCommand
 644               		.stabs	"c:(9,1)",128,0,137,1
 645               		.stabn	192,0,0,.LBB2-motorCommand
 646               		.stabn	224,0,0,.LBE2-motorCommand
 647               	.Lscope1:
 648               		.stabs	"",36,0,0,.Lscope1-motorCommand
 649               		.section	.progmem.data
 650               		.type	__c.7, @object
 651               		.size	__c.7, 27
 652               	__c.7:
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 17


 653 003d 5365 7420 		.string	"Set control input to: %d\r\n"
 653      636F 6E74 
 653      726F 6C20 
 653      696E 7075 
 653      7420 746F 
 654               		.text
 655               		.stabs	"motorPosGo:F(0,20)",36,0,243,motorPosGo
 656               	.global	motorPosGo
 657               		.type	motorPosGo, @function
 658               	motorPosGo:
 241:motorctrl.c   **** 
 242:motorctrl.c   **** void motorPosGo(void)
 243:motorctrl.c   **** {
 659               		.stabn 68,0,243,.LM66-motorPosGo
 660               	.LM66:
 661               	/* prologue: frame size=0 */
 662               	/* prologue end (size=0) */
 244:motorctrl.c   **** 	Controller.input = cmdlineGetArgInt(1);
 663               		.stabn 68,0,244,.LM67-motorPosGo
 664               	.LM67:
 665               	.LBB3:
 666 0344 81E0      		ldi r24,lo8(1)
 667 0346 0E94 0000 		call cmdlineGetArgInt
 668 034a DC01      		movw r26,r24
 669 034c CB01      		movw r24,r22
 670 034e 8093 0000 		sts Controller+40,r24
 671 0352 9093 0000 		sts (Controller+40)+1,r25
 672 0356 A093 0000 		sts (Controller+40)+2,r26
 673 035a B093 0000 		sts (Controller+40)+3,r27
 245:motorctrl.c   **** 	rprintf("Set control input to: %d\r\n", Controller.input);
 674               		.stabn 68,0,245,.LM68-motorPosGo
 675               	.LM68:
 676 035e 8091 0000 		lds r24,Controller+40
 677 0362 9091 0000 		lds r25,(Controller+40)+1
 678 0366 A091 0000 		lds r26,(Controller+40)+2
 679 036a B091 0000 		lds r27,(Controller+40)+3
 680 036e BF93      		push r27
 681 0370 AF93      		push r26
 682 0372 9F93      		push r25
 683 0374 8F93      		push r24
 684 0376 80E0      		ldi r24,lo8(__c.7)
 685 0378 90E0      		ldi r25,hi8(__c.7)
 686 037a 9F93      		push r25
 687 037c 8F93      		push r24
 688 037e 81E0      		ldi r24,lo8(1)
 689 0380 8F93      		push r24
 690 0382 0E94 0000 		call rprintf1RamRom
 691 0386 8DB7      		in r24,__SP_L__
 692 0388 9EB7      		in r25,__SP_H__
 693               	.LBE3:
 694 038a 0796      		adiw r24,7
 695 038c 0FB6      		in __tmp_reg__,__SREG__
 696 038e F894      		cli
 697 0390 9EBF      		out __SP_H__,r25
 698 0392 0FBE      		out __SREG__,__tmp_reg__
 699 0394 8DBF      		out __SP_L__,r24
 246:motorctrl.c   **** }
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 18


 700               		.stabn 68,0,246,.LM69-motorPosGo
 701               	.LM69:
 702               	/* epilogue: frame size=0 */
 703 0396 0895      		ret
 704               	/* epilogue end (size=1) */
 705               	/* function motorPosGo size 42 (41) */
 706               		.size	motorPosGo, .-motorPosGo
 707               	.Lscope2:
 708               		.stabs	"",36,0,0,.Lscope2-motorPosGo
 709               		.section	.progmem.data
 710               		.type	__c.8, @object
 711               		.size	__c.8, 25
 712               	__c.8:
 713 0058 436F 6E74 		.string	"Control coeffs set to:\r\n"
 713      726F 6C20 
 713      636F 6566 
 713      6673 2073 
 713      6574 2074 
 714               		.type	__c.9, @object
 715               		.size	__c.9, 4
 716               	__c.9:
 717 0071 4B70 3D00 		.string	"Kp="
 718               		.type	__c.10, @object
 719               		.size	__c.10, 4
 720               	__c.10:
 721 0075 4B69 3D00 		.string	"Ki="
 722               		.type	__c.11, @object
 723               		.size	__c.11, 4
 724               	__c.11:
 725 0079 4B64 3D00 		.string	"Kd="
 726               		.text
 727               		.stabs	"motorGetCoeffs:F(0,20)",36,0,249,motorGetCoeffs
 728               	.global	motorGetCoeffs
 729               		.type	motorGetCoeffs, @function
 730               	motorGetCoeffs:
 247:motorctrl.c   **** 
 248:motorctrl.c   **** void motorGetCoeffs(void)
 249:motorctrl.c   **** {
 731               		.stabn 68,0,249,.LM70-motorGetCoeffs
 732               	.LM70:
 733               	/* prologue: frame size=0 */
 734 0398 EF92      		push r14
 735 039a FF92      		push r15
 736 039c 0F93      		push r16
 737 039e 1F93      		push r17
 738               	/* prologue end (size=4) */
 250:motorctrl.c   **** 	rprintf("Control coeffs set to:\r\n");
 739               		.stabn 68,0,250,.LM71-motorGetCoeffs
 740               	.LM71:
 741               	.LBB4:
 742 03a0 80E0      		ldi r24,lo8(__c.8)
 743 03a2 90E0      		ldi r25,hi8(__c.8)
 744 03a4 9F93      		push r25
 745 03a6 8F93      		push r24
 746 03a8 81E0      		ldi r24,lo8(1)
 747 03aa 8F93      		push r24
 748 03ac 0E94 0000 		call rprintf1RamRom
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 19


 251:motorctrl.c   **** 	rprintfProgStrM("Kp="); rprintfNum(10, 6, TRUE, ' ', Controller.Kp); rprintfCRLF();
 749               		.stabn 68,0,251,.LM72-motorGetCoeffs
 750               	.LM72:
 751 03b0 0F90      		pop __tmp_reg__
 752 03b2 0F90      		pop __tmp_reg__
 753 03b4 0F90      	 	pop __tmp_reg__
 754 03b6 80E0      		ldi r24,lo8(__c.9)
 755 03b8 90E0      		ldi r25,hi8(__c.9)
 756 03ba 0E94 0000 		call rprintfProgStr
 757 03be E090 0000 		lds r14,Controller
 758 03c2 F090 0000 		lds r15,(Controller)+1
 759 03c6 0091 0000 		lds r16,(Controller)+2
 760 03ca 1091 0000 		lds r17,(Controller)+3
 761 03ce 20E2      		ldi r18,lo8(32)
 762 03d0 4FEF      		ldi r20,lo8(-1)
 763 03d2 66E0      		ldi r22,lo8(6)
 764 03d4 8AE0      		ldi r24,lo8(10)
 765 03d6 0E94 0000 		call rprintfNum
 766 03da 0E94 0000 		call rprintfCRLF
 252:motorctrl.c   **** 	rprintfProgStrM("Ki="); rprintfNum(10, 6, TRUE, ' ', Controller.Ki); rprintfCRLF();
 767               		.stabn 68,0,252,.LM73-motorGetCoeffs
 768               	.LM73:
 769 03de 80E0      		ldi r24,lo8(__c.10)
 770 03e0 90E0      		ldi r25,hi8(__c.10)
 771 03e2 0E94 0000 		call rprintfProgStr
 772 03e6 E090 0000 		lds r14,Controller+4
 773 03ea F090 0000 		lds r15,(Controller+4)+1
 774 03ee 0091 0000 		lds r16,(Controller+4)+2
 775 03f2 1091 0000 		lds r17,(Controller+4)+3
 776 03f6 20E2      		ldi r18,lo8(32)
 777 03f8 4FEF      		ldi r20,lo8(-1)
 778 03fa 66E0      		ldi r22,lo8(6)
 779 03fc 8AE0      		ldi r24,lo8(10)
 780 03fe 0E94 0000 		call rprintfNum
 781 0402 0E94 0000 		call rprintfCRLF
 253:motorctrl.c   **** 	rprintfProgStrM("Kd="); rprintfNum(10, 6, TRUE, ' ', Controller.Kd); rprintfCRLF();
 782               		.stabn 68,0,253,.LM74-motorGetCoeffs
 783               	.LM74:
 784 0406 80E0      		ldi r24,lo8(__c.11)
 785 0408 90E0      		ldi r25,hi8(__c.11)
 786 040a 0E94 0000 		call rprintfProgStr
 787 040e E090 0000 		lds r14,Controller+8
 788 0412 F090 0000 		lds r15,(Controller+8)+1
 789 0416 0091 0000 		lds r16,(Controller+8)+2
 790 041a 1091 0000 		lds r17,(Controller+8)+3
 791 041e 20E2      		ldi r18,lo8(32)
 792 0420 4FEF      		ldi r20,lo8(-1)
 793 0422 66E0      		ldi r22,lo8(6)
 794 0424 8AE0      		ldi r24,lo8(10)
 795 0426 0E94 0000 		call rprintfNum
 796 042a 0E94 0000 		call rprintfCRLF
 254:motorctrl.c   **** }
 797               		.stabn 68,0,254,.LM75-motorGetCoeffs
 798               	.LM75:
 799               	.LBE4:
 800               	/* epilogue: frame size=0 */
 801 042e 1F91      		pop r17
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 20


 802 0430 0F91      		pop r16
 803 0432 FF90      		pop r15
 804 0434 EF90      		pop r14
 805 0436 0895      		ret
 806               	/* epilogue end (size=5) */
 807               	/* function motorGetCoeffs size 80 (71) */
 808               		.size	motorGetCoeffs, .-motorGetCoeffs
 809               	.Lscope3:
 810               		.stabs	"",36,0,0,.Lscope3-motorGetCoeffs
 811               		.stabs	"motorSetCoeffs:F(0,20)",36,0,257,motorSetCoeffs
 812               	.global	motorSetCoeffs
 813               		.type	motorSetCoeffs, @function
 814               	motorSetCoeffs:
 255:motorctrl.c   **** 
 256:motorctrl.c   **** void motorSetCoeffs(void)
 257:motorctrl.c   **** {
 815               		.stabn 68,0,257,.LM76-motorSetCoeffs
 816               	.LM76:
 817               	/* prologue: frame size=0 */
 818               	/* prologue end (size=0) */
 258:motorctrl.c   **** 	Controller.Kp = cmdlineGetArgInt(1);
 819               		.stabn 68,0,258,.LM77-motorSetCoeffs
 820               	.LM77:
 821 0438 81E0      		ldi r24,lo8(1)
 822 043a 0E94 0000 		call cmdlineGetArgInt
 823 043e DC01      		movw r26,r24
 824 0440 CB01      		movw r24,r22
 825 0442 8093 0000 		sts Controller,r24
 826 0446 9093 0000 		sts (Controller)+1,r25
 827 044a A093 0000 		sts (Controller)+2,r26
 828 044e B093 0000 		sts (Controller)+3,r27
 259:motorctrl.c   **** 	Controller.Ki = cmdlineGetArgInt(2);
 829               		.stabn 68,0,259,.LM78-motorSetCoeffs
 830               	.LM78:
 831 0452 82E0      		ldi r24,lo8(2)
 832 0454 0E94 0000 		call cmdlineGetArgInt
 833 0458 DC01      		movw r26,r24
 834 045a CB01      		movw r24,r22
 835 045c 8093 0000 		sts Controller+4,r24
 836 0460 9093 0000 		sts (Controller+4)+1,r25
 837 0464 A093 0000 		sts (Controller+4)+2,r26
 838 0468 B093 0000 		sts (Controller+4)+3,r27
 260:motorctrl.c   **** 	Controller.Kd = cmdlineGetArgInt(3);
 839               		.stabn 68,0,260,.LM79-motorSetCoeffs
 840               	.LM79:
 841 046c 83E0      		ldi r24,lo8(3)
 842 046e 0E94 0000 		call cmdlineGetArgInt
 843 0472 DC01      		movw r26,r24
 844 0474 CB01      		movw r24,r22
 845 0476 8093 0000 		sts Controller+8,r24
 846 047a 9093 0000 		sts (Controller+8)+1,r25
 847 047e A093 0000 		sts (Controller+8)+2,r26
 848 0482 B093 0000 		sts (Controller+8)+3,r27
 261:motorctrl.c   **** 
 262:motorctrl.c   **** 	motorGetCoeffs();
 849               		.stabn 68,0,262,.LM80-motorSetCoeffs
 850               	.LM80:
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 21


 851 0486 0E94 0000 		call motorGetCoeffs

⌨️ 快捷键说明

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