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

📄 step_motor1.lst

📁 1. 以单极 2相磁化方式使步进电机正向旋转 2. 按中断开关的话
💻 LST
字号:

step_motor1.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000008  00800100  00000184  00000218  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         00000184  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000002  00800108  00800108  00000220  2**0
                  ALLOC
  3 .noinit       00000000  0080010a  0080010a  00000220  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  00000220  2**0
                  CONTENTS
  5 .stab         00000408  00000000  00000000  00000220  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  00000628  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  000006ac  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 0000007a  00000000  00000000  000006c0  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   00000180  00000000  00000000  0000073a  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 000000dc  00000000  00000000  000008ba  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   00000100  00000000  00000000  00000996  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    000000e5  00000000  00000000  00000a96  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 46 00 	jmp	0x8c <__ctors_end>
   4:	0c 94 65 00 	jmp	0xca <__vector_1>
   8:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
   c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  10:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  14:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  18:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  1c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  20:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  24:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  28:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  2c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  30:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  34:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  38:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  3c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  40:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  44:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  48:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  4c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  50:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  54:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  58:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  5c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  60:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  64:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  68:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  6c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  70:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  74:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  78:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  7c:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  80:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  84:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>
  88:	0c 94 63 00 	jmp	0xc6 <__bad_interrupt>

0000008c <__ctors_end>:
  8c:	11 24       	eor	r1, r1
  8e:	1f be       	out	0x3f, r1	; 63
  90:	cf ef       	ldi	r28, 0xFF	; 255
  92:	d0 e1       	ldi	r29, 0x10	; 16
  94:	de bf       	out	0x3e, r29	; 62
  96:	cd bf       	out	0x3d, r28	; 61

00000098 <__do_copy_data>:
  98:	11 e0       	ldi	r17, 0x01	; 1
  9a:	a0 e0       	ldi	r26, 0x00	; 0
  9c:	b1 e0       	ldi	r27, 0x01	; 1
  9e:	e4 e8       	ldi	r30, 0x84	; 132
  a0:	f1 e0       	ldi	r31, 0x01	; 1
  a2:	00 e0       	ldi	r16, 0x00	; 0
  a4:	0b bf       	out	0x3b, r16	; 59
  a6:	02 c0       	rjmp	.+4      	; 0xac <__do_copy_data+0x14>
  a8:	07 90       	elpm	r0, Z+
  aa:	0d 92       	st	X+, r0
  ac:	a8 30       	cpi	r26, 0x08	; 8
  ae:	b1 07       	cpc	r27, r17
  b0:	d9 f7       	brne	.-10     	; 0xa8 <__do_copy_data+0x10>

000000b2 <__do_clear_bss>:
  b2:	11 e0       	ldi	r17, 0x01	; 1
  b4:	a8 e0       	ldi	r26, 0x08	; 8
  b6:	b1 e0       	ldi	r27, 0x01	; 1
  b8:	01 c0       	rjmp	.+2      	; 0xbc <.do_clear_bss_start>

000000ba <.do_clear_bss_loop>:
  ba:	1d 92       	st	X+, r1

000000bc <.do_clear_bss_start>:
  bc:	aa 30       	cpi	r26, 0x0A	; 10
  be:	b1 07       	cpc	r27, r17
  c0:	e1 f7       	brne	.-8      	; 0xba <.do_clear_bss_loop>
  c2:	0c 94 b5 00 	jmp	0x16a <main>

000000c6 <__bad_interrupt>:
  c6:	0c 94 00 00 	jmp	0x0 <__vectors>

000000ca <__vector_1>:
void go_step_1phase(unsigned int time);
void initialize(void);

SIGNAL(SIG_INTERRUPT0)                // 外部中断
{
  ca:	1f 92       	push	r1
  cc:	0f 92       	push	r0
  ce:	0f b6       	in	r0, 0x3f	; 63
  d0:	0f 92       	push	r0
  d2:	11 24       	eor	r1, r1
  d4:	8f 93       	push	r24
     dir=~dir;
  d6:	80 91 09 01 	lds	r24, 0x0109
  da:	80 95       	com	r24
  dc:	80 93 09 01 	sts	0x0109, r24
  e0:	8f 91       	pop	r24
  e2:	0f 90       	pop	r0
  e4:	0f be       	out	0x3f, r0	; 63
  e6:	0f 90       	pop	r0
  e8:	1f 90       	pop	r1
  ea:	18 95       	reti

000000ec <initialize>:
}
int main(void)
{
     DDRD=0xf0;                       // 端口D 高4位=输出, 低4位=输入
	 initialize();
	 while(1)
	 {
	 go_step_1phase(700); 
	 }
}
void delay(unsigned int d1,unsigned int d2)
{
     unsigned int i,j;
	 
	 for(i=0;i<d1;i++)
	     {
	     for(j=0;j<d2;j++);
		 }
}
void go_step_1phase(unsigned int time)
{
     if(!dir)
	     PORTD=(one_phase[phase_pnt++]<<4);
	 else                              		// 逆向旋转
	     PORTD=(one_phase[phase_pnt--]<<4);
		 phase_pnt&0x0f;                   // 若phase_pnt=(4,0xff),phase_pnt=(0,3)
		 delay(time,100);
}
	 
void initialize(void)
{
     EIMSK=0x01;                       // 使用外部中断0
  ec:	81 e0       	ldi	r24, 0x01	; 1
  ee:	89 bf       	out	0x39, r24	; 57
	 EICRA=0x02;                       // 下降沿中断请求
  f0:	82 e0       	ldi	r24, 0x02	; 2
  f2:	80 93 6a 00 	sts	0x006A, r24
	 sei();                            // 使能所有中断
  f6:	78 94       	sei
  f8:	08 95       	ret

000000fa <delay>:
  fa:	40 e0       	ldi	r20, 0x00	; 0
  fc:	50 e0       	ldi	r21, 0x00	; 0
  fe:	48 17       	cp	r20, r24
 100:	59 07       	cpc	r21, r25
 102:	68 f4       	brcc	.+26     	; 0x11e <delay+0x24>
 104:	20 e0       	ldi	r18, 0x00	; 0
 106:	30 e0       	ldi	r19, 0x00	; 0
 108:	02 c0       	rjmp	.+4      	; 0x10e <delay+0x14>
 10a:	2f 5f       	subi	r18, 0xFF	; 255
 10c:	3f 4f       	sbci	r19, 0xFF	; 255
 10e:	26 17       	cp	r18, r22
 110:	37 07       	cpc	r19, r23
 112:	d8 f3       	brcs	.-10     	; 0x10a <delay+0x10>
 114:	4f 5f       	subi	r20, 0xFF	; 255
 116:	5f 4f       	sbci	r21, 0xFF	; 255
 118:	48 17       	cp	r20, r24
 11a:	59 07       	cpc	r21, r25
 11c:	98 f3       	brcs	.-26     	; 0x104 <delay+0xa>
 11e:	08 95       	ret

00000120 <go_step_1phase>:
 120:	9c 01       	movw	r18, r24
 122:	80 91 09 01 	lds	r24, 0x0109
 126:	88 23       	and	r24, r24
 128:	59 f4       	brne	.+22     	; 0x140 <go_step_1phase+0x20>
 12a:	80 91 08 01 	lds	r24, 0x0108
 12e:	e8 2f       	mov	r30, r24
 130:	ff 27       	eor	r31, r31
 132:	e0 50       	subi	r30, 0x00	; 0
 134:	ff 4f       	sbci	r31, 0xFF	; 255
 136:	90 81       	ld	r25, Z
 138:	92 95       	swap	r25
 13a:	90 7f       	andi	r25, 0xF0	; 240
 13c:	8f 5f       	subi	r24, 0xFF	; 255
 13e:	0a c0       	rjmp	.+20     	; 0x154 <go_step_1phase+0x34>
 140:	80 91 08 01 	lds	r24, 0x0108
 144:	e8 2f       	mov	r30, r24
 146:	ff 27       	eor	r31, r31
 148:	e0 50       	subi	r30, 0x00	; 0
 14a:	ff 4f       	sbci	r31, 0xFF	; 255
 14c:	90 81       	ld	r25, Z
 14e:	92 95       	swap	r25
 150:	90 7f       	andi	r25, 0xF0	; 240
 152:	81 50       	subi	r24, 0x01	; 1
 154:	80 93 08 01 	sts	0x0108, r24
 158:	92 bb       	out	0x12, r25	; 18
 15a:	80 91 08 01 	lds	r24, 0x0108
 15e:	64 e6       	ldi	r22, 0x64	; 100
 160:	70 e0       	ldi	r23, 0x00	; 0
 162:	c9 01       	movw	r24, r18
 164:	0e 94 7d 00 	call	0xfa <delay>
 168:	08 95       	ret

0000016a <main>:
 16a:	cf ef       	ldi	r28, 0xFF	; 255
 16c:	d0 e1       	ldi	r29, 0x10	; 16
 16e:	de bf       	out	0x3e, r29	; 62
 170:	cd bf       	out	0x3d, r28	; 61
 172:	80 ef       	ldi	r24, 0xF0	; 240
 174:	81 bb       	out	0x11, r24	; 17
 176:	0e 94 76 00 	call	0xec <initialize>
 17a:	8c eb       	ldi	r24, 0xBC	; 188
 17c:	92 e0       	ldi	r25, 0x02	; 2
 17e:	0e 94 90 00 	call	0x120 <go_step_1phase>
 182:	fb cf       	rjmp	.-10     	; 0x17a <main+0x10>

⌨️ 快捷键说明

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