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

📄 motorctrl.lst

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


 170               		.stabn 68,0,116,.LM6-main
 171               	.LM6:
 172 0020 80E0      		ldi r24,lo8(pm(uartSendByte))
 173 0022 90E0      		ldi r25,hi8(pm(uartSendByte))
 174 0024 0E94 0000 		call rprintfInit
 117:motorctrl.c   **** 	// initialize vt100 library
 118:motorctrl.c   **** 	vt100Init();
 175               		.stabn 68,0,118,.LM7-main
 176               	.LM7:
 177 0028 0E94 0000 		call vt100Init
 119:motorctrl.c   **** 
 120:motorctrl.c   **** 	// clear the terminal screen
 121:motorctrl.c   **** 	vt100ClearScreen();
 178               		.stabn 68,0,121,.LM8-main
 179               	.LM8:
 180 002c 0E94 0000 		call vt100ClearScreen
 122:motorctrl.c   **** 	
 123:motorctrl.c   **** 	// run the encoder test
 124:motorctrl.c   **** 	//encoderTest();
 125:motorctrl.c   **** 
 126:motorctrl.c   **** 	// run the motor test
 127:motorctrl.c   **** 	//motorTest();
 128:motorctrl.c   **** 
 129:motorctrl.c   **** 	// command system
 130:motorctrl.c   **** 	motorCommand();
 181               		.stabn 68,0,130,.LM9-main
 182               	.LM9:
 183 0030 0E94 0000 		call motorCommand
 131:motorctrl.c   **** 
 132:motorctrl.c   **** 	return 0;
 133:motorctrl.c   **** }
 184               		.stabn 68,0,133,.LM10-main
 185               	.LM10:
 186 0034 80E0      		ldi r24,lo8(0)
 187 0036 90E0      		ldi r25,hi8(0)
 188               	/* epilogue: frame size=0 */
 189 0038 0C94 0000 		jmp exit
 190               	/* epilogue end (size=2) */
 191               	/* function main size 30 (24) */
 192               		.size	main, .-main
 193               	.Lscope0:
 194               		.stabs	"",36,0,0,.Lscope0-main
 195               		.section	.progmem.data,"a",@progbits
 196               		.type	__c.0, @object
 197               		.size	__c.0, 24
 198               	__c.0:
 199 0000 4D6F 746F 		.string	"Motor Controller V1.0\r\n"
 199      7220 436F 
 199      6E74 726F 
 199      6C6C 6572 
 199      2056 312E 
 200               		.type	__c.1, @object
 201               		.size	__c.1, 5
 202               	__c.1:
 203 0018 4379 633D 		.string	"Cyc="
 203      00
 204               		.type	__c.2, @object
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 7


 205               		.size	__c.2, 7
 206               	__c.2:
 207 001d 2020 506F 		.string	"  Pos="
 207      733D 00
 208               		.type	__c.3, @object
 209               		.size	__c.3, 6
 210               	__c.3:
 211 0024 2020 4570 		.string	"  Ep="
 211      3D00 
 212               		.type	__c.4, @object
 213               		.size	__c.4, 6
 214               	__c.4:
 215 002a 2020 4569 		.string	"  Ei="
 215      3D00 
 216               		.type	__c.5, @object
 217               		.size	__c.5, 6
 218               	__c.5:
 219 0030 2020 4564 		.string	"  Ed="
 219      3D00 
 220               		.type	__c.6, @object
 221               		.size	__c.6, 7
 222               	__c.6:
 223 0036 2020 6F75 		.string	"  out="
 223      743D 00
 224               		.data
 225               	.LC0:
 226 0000 676F 00   		.string	"go"
 227               	.LC1:
 228 0003 6765 7463 		.string	"getcoeff"
 228      6F65 6666 
 228      00
 229               	.LC2:
 230 000c 7365 7463 		.string	"setcoeff"
 230      6F65 6666 
 230      00
 231               	.LC3:
 232 0015 6D6F 6465 		.string	"mode"
 232      00
 233               	.LC4:
 234 001a 7069 6464 		.string	"piddump"
 234      756D 7000 
 235               	.LC5:
 236 0022 6865 6C70 		.string	"help"
 236      00
 237               	.LC6:
 238 0027 656E 6374 		.string	"enctest"
 238      6573 7400 
 239               	.LC7:
 240 002f 6D6F 746F 		.string	"motortest"
 240      7274 6573 
 240      7400 
 241               		.text
 242               		.stabs	"motorCommand:F(0,20)",36,0,136,motorCommand
 243               	.global	motorCommand
 244               		.type	motorCommand, @function
 245               	motorCommand:
 134:motorctrl.c   **** 
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 8


 135:motorctrl.c   **** void motorCommand(void)
 136:motorctrl.c   **** {
 246               		.stabn 68,0,136,.LM11-motorCommand
 247               	.LM11:
 248               	/* prologue: frame size=1 */
 249 003c CF92      		push r12
 250 003e DF92      		push r13
 251 0040 EF92      		push r14
 252 0042 FF92      		push r15
 253 0044 0F93      		push r16
 254 0046 1F93      		push r17
 255 0048 CF93      		push r28
 256 004a DF93      		push r29
 257 004c CDB7      		in r28,__SP_L__
 258 004e DEB7      		in r29,__SP_H__
 259 0050 2197      		sbiw r28,1
 260 0052 0FB6      		in __tmp_reg__,__SREG__
 261 0054 F894      		cli
 262 0056 DEBF      		out __SP_H__,r29
 263 0058 0FBE      		out __SREG__,__tmp_reg__
 264 005a CDBF      		out __SP_L__,r28
 265               	/* prologue end (size=16) */
 137:motorctrl.c   **** 	u08 c;
 138:motorctrl.c   **** 
 139:motorctrl.c   **** 	// print welcome
 140:motorctrl.c   **** 	rprintf("Motor Controller V1.0\r\n");
 266               		.stabn 68,0,140,.LM12-motorCommand
 267               	.LM12:
 268               	.LBB2:
 269 005c 80E0      		ldi r24,lo8(__c.0)
 270 005e 90E0      		ldi r25,hi8(__c.0)
 271 0060 9F93      		push r25
 272 0062 8F93      		push r24
 273 0064 11E0      		ldi r17,lo8(1)
 274 0066 1F93      		push r17
 275 0068 0E94 0000 		call rprintf1RamRom
 141:motorctrl.c   **** 
 142:motorctrl.c   **** 	// initialize cmdline system
 143:motorctrl.c   **** 	cmdlineInit();
 276               		.stabn 68,0,143,.LM13-motorCommand
 277               	.LM13:
 278 006c 0E94 0000 		call cmdlineInit
 144:motorctrl.c   **** 
 145:motorctrl.c   **** 	// direct cmdline output to uart (serial port)
 146:motorctrl.c   **** 	cmdlineSetOutputFunc(uartSendByte);
 279               		.stabn 68,0,146,.LM14-motorCommand
 280               	.LM14:
 281 0070 80E0      		ldi r24,lo8(pm(uartSendByte))
 282 0072 90E0      		ldi r25,hi8(pm(uartSendByte))
 283 0074 0E94 0000 		call cmdlineSetOutputFunc
 147:motorctrl.c   **** 
 148:motorctrl.c   **** 	// add commands to the command database
 149:motorctrl.c   **** 	cmdlineAddCommand("go",			motorPosGo);
 284               		.stabn 68,0,149,.LM15-motorCommand
 285               	.LM15:
 286 0078 60E0      		ldi r22,lo8(pm(motorPosGo))
 287 007a 70E0      		ldi r23,hi8(pm(motorPosGo))
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 9


 288 007c 80E0      		ldi r24,lo8(.LC0)
 289 007e 90E0      		ldi r25,hi8(.LC0)
 290 0080 0E94 0000 		call cmdlineAddCommand
 150:motorctrl.c   **** 	cmdlineAddCommand("getcoeff",	motorGetCoeffs);
 291               		.stabn 68,0,150,.LM16-motorCommand
 292               	.LM16:
 293 0084 60E0      		ldi r22,lo8(pm(motorGetCoeffs))
 294 0086 70E0      		ldi r23,hi8(pm(motorGetCoeffs))
 295 0088 80E0      		ldi r24,lo8(.LC1)
 296 008a 90E0      		ldi r25,hi8(.LC1)
 297 008c 0E94 0000 		call cmdlineAddCommand
 151:motorctrl.c   **** 	cmdlineAddCommand("setcoeff",	motorSetCoeffs);
 298               		.stabn 68,0,151,.LM17-motorCommand
 299               	.LM17:
 300 0090 60E0      		ldi r22,lo8(pm(motorSetCoeffs))
 301 0092 70E0      		ldi r23,hi8(pm(motorSetCoeffs))
 302 0094 80E0      		ldi r24,lo8(.LC2)
 303 0096 90E0      		ldi r25,hi8(.LC2)
 304 0098 0E94 0000 		call cmdlineAddCommand
 152:motorctrl.c   **** 	cmdlineAddCommand("mode",		motorSetMode);
 305               		.stabn 68,0,152,.LM18-motorCommand
 306               	.LM18:
 307 009c 60E0      		ldi r22,lo8(pm(motorSetMode))
 308 009e 70E0      		ldi r23,hi8(pm(motorSetMode))
 309 00a0 80E0      		ldi r24,lo8(.LC3)
 310 00a2 90E0      		ldi r25,hi8(.LC3)
 311 00a4 0E94 0000 		call cmdlineAddCommand
 153:motorctrl.c   **** 	cmdlineAddCommand("piddump",	motorShowPID);
 312               		.stabn 68,0,153,.LM19-motorCommand
 313               	.LM19:
 314 00a8 60E0      		ldi r22,lo8(pm(motorShowPID))
 315 00aa 70E0      		ldi r23,hi8(pm(motorShowPID))
 316 00ac 80E0      		ldi r24,lo8(.LC4)
 317 00ae 90E0      		ldi r25,hi8(.LC4)
 318 00b0 0E94 0000 		call cmdlineAddCommand
 154:motorctrl.c   **** 	cmdlineAddCommand("help",		motorHelp);
 319               		.stabn 68,0,154,.LM20-motorCommand
 320               	.LM20:
 321 00b4 60E0      		ldi r22,lo8(pm(motorHelp))
 322 00b6 70E0      		ldi r23,hi8(pm(motorHelp))
 323 00b8 80E0      		ldi r24,lo8(.LC5)
 324 00ba 90E0      		ldi r25,hi8(.LC5)
 325 00bc 0E94 0000 		call cmdlineAddCommand
 155:motorctrl.c   **** 	cmdlineAddCommand("enctest",	encoderTest);
 326               		.stabn 68,0,155,.LM21-motorCommand
 327               	.LM21:
 328 00c0 60E0      		ldi r22,lo8(pm(encoderTest))
 329 00c2 70E0      		ldi r23,hi8(pm(encoderTest))
 330 00c4 80E0      		ldi r24,lo8(.LC6)
 331 00c6 90E0      		ldi r25,hi8(.LC6)
 332 00c8 0E94 0000 		call cmdlineAddCommand
 156:motorctrl.c   **** 	cmdlineAddCommand("motortest",	motorTest);
 333               		.stabn 68,0,156,.LM22-motorCommand
 334               	.LM22:
 335 00cc 60E0      		ldi r22,lo8(pm(motorTest))
 336 00ce 70E0      		ldi r23,hi8(pm(motorTest))
 337 00d0 80E0      		ldi r24,lo8(.LC7)
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 10


 338 00d2 90E0      		ldi r25,hi8(.LC7)
 339 00d4 0E94 0000 		call cmdlineAddCommand
 157:motorctrl.c   **** 	// send a CR to cmdline input to stimulate a prompt
 158:motorctrl.c   **** 	cmdlineInputFunc('\r');
 340               		.stabn 68,0,158,.LM23-motorCommand
 341               	.LM23:
 342 00d8 8DE0      		ldi r24,lo8(13)
 343 00da 0E94 0000 		call cmdlineInputFunc
 159:motorctrl.c   **** 
 160:motorctrl.c   **** 
 161:motorctrl.c   **** 	// initialize Controller structure
 162:motorctrl.c   **** 	// mode
 163:motorctrl.c   **** 	Controller.mode			= CONTROLMODE_POS;
 344               		.stabn 68,0,163,.LM24-motorCommand
 345               	.LM24:
 346 00de 1092 0000 		sts Controller+52,__zero_reg__
 164:motorctrl.c   **** 	// controls coefficients
 165:motorctrl.c   **** 	Controller.Kp			= 4000;
 347               		.stabn 68,0,165,.LM25-motorCommand
 348               	.LM25:
 349 00e2 80EA      		ldi r24,lo8(4000)
 350 00e4 9FE0      		ldi r25,hi8(4000)
 351 00e6 A0E0      		ldi r26,hlo8(4000)
 352 00e8 B0E0      		ldi r27,hhi8(4000)
 353 00ea 8093 0000 		sts Controller,r24
 354 00ee 9093 0000 		sts (Controller)+1,r25
 355 00f2 A093 0000 		sts (Controller)+2,r26
 356 00f6 B093 0000 		sts (Controller)+3,r27
 166:motorctrl.c   **** 	Controller.Ki			= 0;
 357               		.stabn 68,0,166,.LM26-motorCommand
 358               	.LM26:
 359 00fa 1092 0000 		sts Controller+4,__zero_reg__
 360 00fe 1092 0000 		sts (Controller+4)+1,__zero_reg__
 361 0102 1092 0000 		sts (Controller+4)+2,__zero_reg__
 362 0106 1092 0000 		sts (Controller+4)+3,__zero_reg__
 167:motorctrl.c   **** 	Controller.Kd			= 4000;
 363               		.stabn 68,0,167,.LM27-motorCommand
 364               	.LM27:
 365 010a 8093 0000 		sts Controller+8,r24
 366 010e 9093 0000 		sts (Controller+8)+1,r25
 367 0112 A093 0000 		sts (Controller+8)+2,r26
 368 0116 B093 0000 		sts (Controller+8)+3,r27
 168:motorctrl.c   **** 	// limits
 169:motorctrl.c   **** 	Controller.windupMax	= 200<<8;
 369               		.stabn 68,0,169,.LM28-motorCommand
 370               	.LM28:
 371 011a 80E0      		ldi r24,lo8(-14336)
 372 011c 98EC      		ldi r25,hi8(-14336)
 373 011e AFEF      		ldi r26,hlo8(-14336)
 374 0120 BFEF      		ldi r27,hhi8(-14336)
 375 0122 8093 0000 		sts Controller+28,r24
 376 0126 9093 0000 		sts (Controller+28)+1,r25
 377 012a A093 0000 		sts (Controller+28)+2,r26
 378 012e B093 0000 		sts (Controller+28)+3,r27
 170:motorctrl.c   **** 	Controller.outputMax	= 700;
 379               		.stabn 68,0,170,.LM29-motorCommand
 380               	.LM29:
GAS LISTING C:\DOCUME~1\pstang\LOCALS~1\Temp/cciGaaaa.s 			page 11

⌨️ 快捷键说明

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