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

📄 step_motor2.lst

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

step_motor2.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000008  00800100  000001a6  0000023a  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         000001a6  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000002  00800108  00800108  00000242  2**0
                  ALLOC
  3 .noinit       00000000  0080010a  0080010a  00000242  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  00000242  2**0
                  CONTENTS
  5 .stab         00000408  00000000  00000000  00000244  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  0000064c  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  000006d0  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 00000085  00000000  00000000  000006e4  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   00000122  00000000  00000000  00000769  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 00000098  00000000  00000000  0000088b  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   00000100  00000000  00000000  00000923  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    000000eb  00000000  00000000  00000a23  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 98 00 	jmp	0x130 <__vector_16>
  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:	e6 ea       	ldi	r30, 0xA6	; 166
  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 ca 00 	jmp	0x194 <main>

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

000000ca <__vector_1>:
void initialize(void);
void go_step_12phase(void);

SIGNAL(SIG_INTERRUPT0)               // 外部中断0
{
  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 <go_step_12phase>:
}

SIGNAL(SIG_OVERFLOW0)                // 定时器0溢出中断
{
     go_step_12phase();
	 TCNT0=0xea;
}
	 
int main(void)
{
     DDRD=0xf0;
	 initialize();
	 while(1);
}
	 
void go_step_12phase(void)
{
     if(!dir)
  ec:	80 91 09 01 	lds	r24, 0x0109
  f0:	88 23       	and	r24, r24
  f2:	59 f4       	brne	.+22     	; 0x10a <go_step_12phase+0x1e>
	     PORTD=(one_two_phase[phase_pnt++]<<4);
  f4:	80 91 08 01 	lds	r24, 0x0108
  f8:	e8 2f       	mov	r30, r24
  fa:	ff 27       	eor	r31, r31
  fc:	e0 50       	subi	r30, 0x00	; 0
  fe:	ff 4f       	sbci	r31, 0xFF	; 255
 100:	90 81       	ld	r25, Z
 102:	92 95       	swap	r25
 104:	90 7f       	andi	r25, 0xF0	; 240
 106:	8f 5f       	subi	r24, 0xFF	; 255
 108:	0a c0       	rjmp	.+20     	; 0x11e <go_step_12phase+0x32>
	 else
	     PORTD=(one_two_phase[phase_pnt--]<<4);
 10a:	80 91 08 01 	lds	r24, 0x0108
 10e:	e8 2f       	mov	r30, r24
 110:	ff 27       	eor	r31, r31
 112:	e0 50       	subi	r30, 0x00	; 0
 114:	ff 4f       	sbci	r31, 0xFF	; 255
 116:	90 81       	ld	r25, Z
 118:	92 95       	swap	r25
 11a:	90 7f       	andi	r25, 0xF0	; 240
 11c:	81 50       	subi	r24, 0x01	; 1
 11e:	80 93 08 01 	sts	0x0108, r24
 122:	92 bb       	out	0x12, r25	; 18
	 phase_pnt&=0x07;
 124:	80 91 08 01 	lds	r24, 0x0108
 128:	87 70       	andi	r24, 0x07	; 7
 12a:	80 93 08 01 	sts	0x0108, r24
 12e:	08 95       	ret

00000130 <__vector_16>:
 130:	1f 92       	push	r1
 132:	0f 92       	push	r0
 134:	0f b6       	in	r0, 0x3f	; 63
 136:	0f 92       	push	r0
 138:	11 24       	eor	r1, r1
 13a:	2f 93       	push	r18
 13c:	3f 93       	push	r19
 13e:	4f 93       	push	r20
 140:	5f 93       	push	r21
 142:	6f 93       	push	r22
 144:	7f 93       	push	r23
 146:	8f 93       	push	r24
 148:	9f 93       	push	r25
 14a:	af 93       	push	r26
 14c:	bf 93       	push	r27
 14e:	ef 93       	push	r30
 150:	ff 93       	push	r31
 152:	0e 94 76 00 	call	0xec <go_step_12phase>
 156:	8a ee       	ldi	r24, 0xEA	; 234
 158:	82 bf       	out	0x32, r24	; 50
 15a:	ff 91       	pop	r31
 15c:	ef 91       	pop	r30
 15e:	bf 91       	pop	r27
 160:	af 91       	pop	r26
 162:	9f 91       	pop	r25
 164:	8f 91       	pop	r24
 166:	7f 91       	pop	r23
 168:	6f 91       	pop	r22
 16a:	5f 91       	pop	r21
 16c:	4f 91       	pop	r20
 16e:	3f 91       	pop	r19
 170:	2f 91       	pop	r18
 172:	0f 90       	pop	r0
 174:	0f be       	out	0x3f, r0	; 63
 176:	0f 90       	pop	r0
 178:	1f 90       	pop	r1
 17a:	18 95       	reti

0000017c <initialize>:
}
	 
void initialize(void)
{
     EIMSK=0x01;                        // 使用外部中断0
 17c:	91 e0       	ldi	r25, 0x01	; 1
 17e:	99 bf       	out	0x39, r25	; 57
	 EICRA=0x02;                        // 下降沿中断请求
 180:	82 e0       	ldi	r24, 0x02	; 2
 182:	80 93 6a 00 	sts	0x006A, r24
	 TCNT0=0xea;                // {(0xff-oxea)+1}*1024*(1/14.7456Mhz)=1.572ms
 186:	8a ee       	ldi	r24, 0xEA	; 234
 188:	82 bf       	out	0x32, r24	; 50
	 TCCR0=0x07;                        // 定时器0 precaler=1024
 18a:	87 e0       	ldi	r24, 0x07	; 7
 18c:	83 bf       	out	0x33, r24	; 51
	 TIMSK=0x01;                        // OCIE0=1, 定时器0溢出中断
 18e:	97 bf       	out	0x37, r25	; 55
	 sei();                                // 使能全局中断
 190:	78 94       	sei
 192:	08 95       	ret

00000194 <main>:
 194:	cf ef       	ldi	r28, 0xFF	; 255
 196:	d0 e1       	ldi	r29, 0x10	; 16
 198:	de bf       	out	0x3e, r29	; 62
 19a:	cd bf       	out	0x3d, r28	; 61
 19c:	80 ef       	ldi	r24, 0xF0	; 240
 19e:	81 bb       	out	0x11, r24	; 17
 1a0:	0e 94 be 00 	call	0x17c <initialize>
 1a4:	ff cf       	rjmp	.-2      	; 0x1a4 <main+0x10>

⌨️ 快捷键说明

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