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

📄 steper.lst

📁 步近电机控制代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 314 011e 0F92      		out 78-32,__zero_reg__
 315 0120 0FB6      		cbi 50-32,3
 316 0122 0F92      		in r24,53-32
 317 0124 1124      		andi r24,lo8(-13)
 318 0126 8F93      		out 53-32,r24
 320               	.LM17:
 111:steper.c      **** 	cli();
 321               	32
 322               		andi r24,lo8(48)
 323               		sts key_limit,r24
 325 0128 F894      	.LM18:
 326               		lds r24,key_limit
 112:steper.c      **** 	StepperStop();
 327               	24,lo8(32)
 328               		brne .L27
 330 012a 1EBC      	.LM19:
 331 012c 9398      		ldi r24,lo8(1)
 332 012e 85B3      		sts Direction,r24
 334 0132 85BB      	.LM20:
 113:steper.c      **** 	key_limit=(PINB & 0X30);
 335               	it,__zero_reg__
 336               		rjmp .L28
 337 0134 86B3      	.L27:
 339 0138 8093 0000 	.LM21:
 114:steper.c      **** 	if(key_limit==0x20)  //前限位
 340               	r24,key_limit
 341               		cpi r24,lo8(16)
 342 013c 8091 0000 		brne .L28
 344 0142 01F4      	.LM22:
 115:steper.c      **** 	{
 116:steper.c      **** 		Direction=1;
 345               	Direction,__zero_reg__
 347 0144 81E0      	.LM23:
 348 0146 8093 0000 		ldi r24,lo8(1)
 117:steper.c      **** 		Limit=0;
 349               	 Limit,r24
 350               	.L28:
 352 014e 00C0      	.LM24:
 353               		ldi r24,lo8(1)
 118:steper.c      **** 	}
 119:steper.c      **** 	else if(key_limit==0x10)	//后限位
 354               	Pflag,r24
 356 0150 8091 0000 	.LM25:
 357 0154 8031      		sts (Pcnt)+1,__zero_reg__
 358 0156 01F4      		sts Pcnt,__zero_reg__
 120:steper.c      **** 	{
 121:steper.c      **** 		Direction=0;
 359               	bn	68,0,126,.LM26-.LFBB4
 360               	.LM26:
 361 0158 1092 0000 		sbi 50-32,3
 122:steper.c      **** 		Limit=1;
 362               	i r24,lo8(5)
 363               		out 78-32,r24
 364 015c 81E0      		in r24,89-32
 365 015e 8093 0000 		ori r24,lo8(4)
 366               		out 89-32,r24
 123:steper.c      **** 	}
 124:steper.c      **** 	Pflag=1;
 367               	bn	68,0,127,.LM27-.LFBB4
 368               	.LM27:
 369 0162 81E0      	/* #APP */
 370 0164 8093 0000 	 ;  127 "steper.c" 1
 125:steper.c      **** 	Pcnt=0;
 371               	
 372               	 ;  0 "" 2
 373 0168 1092 0000 	/* epilogue start */
 126:steper.c      **** 	StepperStart();
 375               	28:
 376               	/* #NOAPP */
 377 0170 939A      		pop r24
 378 0172 85E0      		pop r0
 379 0174 8EBD      		out __SREG__,r0
 380 0176 89B7      		pop r0
 381 0178 8460      		pop __zero_reg__
 382 017a 89BF      		reti
 127:steper.c      **** 	sei();
 383               	_vector_1, .-__vector_1
 384               	.Lscope4:
 386               	.global	__vector_9
 388               	__vector_9:
 128:steper.c      **** }
 390               	.LFBB5:
 391               		push __zero_reg__
 392               		push r0
 393 017e 8F91      		in r0,__SREG__
 394 0180 0F90      		push r0
 395 0182 0FBE      		clr __zero_reg__
 396 0184 0F90      		push r22
 397 0186 1F90      		push r23
 398 0188 1895      		push r24
 399               		push r25
 400               	/* prologue: Signal */
 401               	/* frame size = 0 */
 403               	.LM30:
 404               		ldi r24,lo8(100)
 129:steper.c      **** ISR(SIG_OVERFLOW0)
 130:steper.c      **** {
 406               	.LM31:
 407               		in r24,54-32
 408 018a 1F92      		andi r24,lo8(15)
 409 018c 0F92      		sts CurKey,r24
 411 0190 0F92      	.LM32:
 412 0192 1124      		lds r25,CurKey
 413 0194 6F93      		lds r24,LastKey
 414 0196 7F93      		cp r25,r24
 415 0198 8F93      		brne .L31
 417               	.LM33:
 418               		lds r24,keytimes
 131:steper.c      **** 	TCNT0=0x64;
 419               	-(1))
 420               		sts keytimes,r24
 422 019e 82BF      	.LM34:
 132:steper.c      **** 	
 133:steper.c      **** 	CurKey=(PINB & 0X0F);
 423               	 r24,keytimes
 424               		ldi r22,lo8(5)
 425 01a0 86B3      		rcall __udivmodqi4
 426 01a2 8F70      		tst r25
 427 01a4 8093 0000 		brne .L32
 134:steper.c      **** 	if(CurKey==LastKey)
 428               	bn	68,0,139,.LM35-.LFBB5
 429               	.LM35:
 430 01a8 9091 0000 		lds r24,CurKey
 431 01ac 8091 0000 		ori r24,lo8(64)
 432 01b0 9817      		rjmp .L36
 433 01b2 01F4      	.L32:
 135:steper.c      **** 	{
 136:steper.c      **** 		keytimes++;
 434               	n	68,0,141,.LM36-.LFBB5
 435               	.LM36:
 436 01b4 8091 0000 		lds r24,keytimes
 437 01b8 8F5F      		cpi r24,lo8(101)
 438 01ba 8093 0000 		brlo .L35
 137:steper.c      **** 		if(keytimes%5==0)//短按
 439               	bn	68,0,143,.LM37-.LFBB5
 440               	.LM37:
 441 01be 8091 0000 		ldi r24,lo8(101)
 442 01c2 65E0      		sts keytimes,r24
 444 01c6 9923      	.LM38:
 445 01c8 01F4      		lds r24,CurKey
 138:steper.c      **** 		{
 139:steper.c      **** 			keycode=(ShortPush|CurKey);
 446               	4,lo8(-128)
 447               	.L36:
 448 01ca 8091 0000 		sts keycode,r24
 449 01ce 8064      		rjmp .L35
 450 01d0 00C0      	.L31:
 140:steper.c      **** 		}
 141:steper.c      **** 		else if(keytimes>100) //长按
 452               	
 453               		lds r25,CurKey
 454 01d2 8091 0000 		lds r24,LastKey
 455 01d6 8536      		cp r25,r24
 456 01d8 00F0      		breq .L34
 142:steper.c      **** 		{
 143:steper.c      **** 			keytimes=101;
 457               	abn	68,0,149,.LM40-.LFBB5
 458               	.LM40:
 459 01da 85E6      		lds r24,CurKey
 460 01dc 8093 0000 		sts LastKey,r24
 144:steper.c      **** 			keycode=(LongPush|CurKey);
 461               	:
 463 01e0 8091 0000 	.LM41:
 464 01e4 8068      		sts keytimes,__zero_reg__
 465               	.L35:
 466 01e6 8093 0000 	/* epilogue start */
 468               	.LM42:
 145:steper.c      **** 		}
 146:steper.c      **** 	}
 147:steper.c      **** 	else if(CurKey!=LastKey)
 469               	
 470               		pop r24
 471 01ec 9091 0000 		pop r23
 472 01f0 8091 0000 		pop r22
 473 01f4 9817      		pop r0
 474 01f6 01F0      		out __SREG__,r0
 148:steper.c      **** 	{
 149:steper.c      **** 		LastKey=CurKey;
 475               	r0
 476               		pop __zero_reg__
 477 01f8 8091 0000 		reti
 479               	.Lscope5:
 150:steper.c      **** 		keytimes=0x00;
 151:steper.c      **** 	}
 152:steper.c      **** 	else //无键按下或已释放
 153:steper.c      **** 	{
 154:steper.c      **** 		keytimes=0x00;
 480               	bs	"Timer0_init:F(0,15)",36,0,0,Timer0_init
 481               	.global	Timer0_init
 483               	Timer0_init:
 155:steper.c      **** 	}
 156:steper.c      **** 
 157:steper.c      **** }
 485               	:
 486               	.LFBB6:
 487 0204 9F91      	/* prologue: function */
 488 0206 8F91      	/* frame size = 0 */
 490 020a 6F91      	.LM44:
 491 020c 0F90      		out 83-32,__zero_reg__
 493 0210 0F90      	.LM45:
 494 0212 1F90      		ldi r24,lo8(100)
 495 0214 1895      		out 82-32,r24
 497               	.LM46:
 498               		ldi r24,lo8(5)
 499               		out 83-32,r24
 501               	.LM47:
 158:steper.c      **** 
 159:steper.c      **** void Timer0_init()
 160:steper.c      **** {
 502               

⌨️ 快捷键说明

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