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

📄 winctrler.lss

📁 一个使用AVR单片机控制直流马达的程序
💻 LSS
📖 第 1 页 / 共 2 页
字号:

WinCtrler.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000000  00800100  0000056a  000005fe  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         0000056a  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000018  00800100  00800100  000005fe  2**0
                  ALLOC
  3 .noinit       00000000  00800118  00800118  000005fe  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000005fe  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  00000600  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  0000096c  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000028  00000000  00000000  000009f0  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 00000202  00000000  00000000  00000a18  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   00000733  00000000  00000000  00000c1a  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 00000292  00000000  00000000  0000134d  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   00000712  00000000  00000000  000015df  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    000002cc  00000000  00000000  00001cf1  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	19 c0       	rjmp	.+50     	; 0x34 <__ctors_end>
   2:	cf c1       	rjmp	.+926    	; 0x3a2 <__vector_1>
   4:	31 c0       	rjmp	.+98     	; 0x68 <__bad_interrupt>
   6:	30 c0       	rjmp	.+96     	; 0x68 <__bad_interrupt>
   8:	2f c0       	rjmp	.+94     	; 0x68 <__bad_interrupt>
   a:	2e c0       	rjmp	.+92     	; 0x68 <__bad_interrupt>
   c:	2d c0       	rjmp	.+90     	; 0x68 <__bad_interrupt>
   e:	2c c0       	rjmp	.+88     	; 0x68 <__bad_interrupt>
  10:	2b c0       	rjmp	.+86     	; 0x68 <__bad_interrupt>
  12:	2a c0       	rjmp	.+84     	; 0x68 <__bad_interrupt>
  14:	e1 c1       	rjmp	.+962    	; 0x3d8 <__vector_10>
  16:	28 c0       	rjmp	.+80     	; 0x68 <__bad_interrupt>
  18:	27 c0       	rjmp	.+78     	; 0x68 <__bad_interrupt>
  1a:	26 c0       	rjmp	.+76     	; 0x68 <__bad_interrupt>
  1c:	25 c0       	rjmp	.+74     	; 0x68 <__bad_interrupt>
  1e:	24 c0       	rjmp	.+72     	; 0x68 <__bad_interrupt>
  20:	a2 c1       	rjmp	.+836    	; 0x366 <__vector_16>
  22:	22 c0       	rjmp	.+68     	; 0x68 <__bad_interrupt>
  24:	21 c0       	rjmp	.+66     	; 0x68 <__bad_interrupt>
  26:	20 c0       	rjmp	.+64     	; 0x68 <__bad_interrupt>
  28:	1f c0       	rjmp	.+62     	; 0x68 <__bad_interrupt>
  2a:	1e c0       	rjmp	.+60     	; 0x68 <__bad_interrupt>
  2c:	1d c0       	rjmp	.+58     	; 0x68 <__bad_interrupt>
  2e:	1c c0       	rjmp	.+56     	; 0x68 <__bad_interrupt>
  30:	1b c0       	rjmp	.+54     	; 0x68 <__bad_interrupt>
  32:	1a c0       	rjmp	.+52     	; 0x68 <__bad_interrupt>

00000034 <__ctors_end>:
  34:	11 24       	eor	r1, r1
  36:	1f be       	out	0x3f, r1	; 63
  38:	cf ef       	ldi	r28, 0xFF	; 255
  3a:	d2 e0       	ldi	r29, 0x02	; 2
  3c:	de bf       	out	0x3e, r29	; 62
  3e:	cd bf       	out	0x3d, r28	; 61

00000040 <__do_copy_data>:
  40:	11 e0       	ldi	r17, 0x01	; 1
  42:	a0 e0       	ldi	r26, 0x00	; 0
  44:	b1 e0       	ldi	r27, 0x01	; 1
  46:	ea e6       	ldi	r30, 0x6A	; 106
  48:	f5 e0       	ldi	r31, 0x05	; 5
  4a:	02 c0       	rjmp	.+4      	; 0x50 <.do_copy_data_start>

0000004c <.do_copy_data_loop>:
  4c:	05 90       	lpm	r0, Z+
  4e:	0d 92       	st	X+, r0

00000050 <.do_copy_data_start>:
  50:	a0 30       	cpi	r26, 0x00	; 0
  52:	b1 07       	cpc	r27, r17
  54:	d9 f7       	brne	.-10     	; 0x4c <.do_copy_data_loop>

00000056 <__do_clear_bss>:
  56:	11 e0       	ldi	r17, 0x01	; 1
  58:	a0 e0       	ldi	r26, 0x00	; 0
  5a:	b1 e0       	ldi	r27, 0x01	; 1
  5c:	01 c0       	rjmp	.+2      	; 0x60 <.do_clear_bss_start>

0000005e <.do_clear_bss_loop>:
  5e:	1d 92       	st	X+, r1

00000060 <.do_clear_bss_start>:
  60:	a8 31       	cpi	r26, 0x18	; 24
  62:	b1 07       	cpc	r27, r17
  64:	e1 f7       	brne	.-8      	; 0x5e <.do_clear_bss_loop>
  66:	c0 c0       	rjmp	.+384    	; 0x1e8 <main>

00000068 <__bad_interrupt>:
  68:	cb cf       	rjmp	.-106    	; 0x0 <__vectors>

0000006a <portInit>:

void portInit(void)
{
	// pull-up resistors are turned on
	cbi(MCUCR, PUD);
  6a:	85 b7       	in	r24, 0x35	; 53
  6c:	8f 7e       	andi	r24, 0xEF	; 239
  6e:	85 bf       	out	0x35, r24	; 53
	SetPortBSta();
  70:	84 b1       	in	r24, 0x04	; 4
  72:	86 62       	ori	r24, 0x26	; 38
  74:	84 b9       	out	0x04, r24	; 4
  76:	85 b1       	in	r24, 0x05	; 5
  78:	86 62       	ori	r24, 0x26	; 38
  7a:	85 b9       	out	0x05, r24	; 5
	SetPortCSta();
  7c:	87 b1       	in	r24, 0x07	; 7
  7e:	80 7c       	andi	r24, 0xC0	; 192
  80:	82 60       	ori	r24, 0x02	; 2
  82:	87 b9       	out	0x07, r24	; 7
  84:	88 b1       	in	r24, 0x08	; 8
  86:	8e 61       	ori	r24, 0x1E	; 30
  88:	88 b9       	out	0x08, r24	; 8
	SetPortDSta();
  8a:	55 9a       	sbi	0x0a, 5	; 10
  8c:	5d 9a       	sbi	0x0b, 5	; 11

	MotoOff();	// 关闭电机
  8e:	29 98       	cbi	0x05, 1	; 5
  90:	00 00       	nop
  92:	00 00       	nop
  94:	2a 98       	cbi	0x05, 2	; 5
  96:	00 00       	nop
  98:	00 00       	nop
  9a:	08 95       	ret

0000009c <ExtInt0Config>:
}

void ExtInt0Config(void)
{
	EICRA = EXTINT_LEVEL_LOW;
  9c:	10 92 69 00 	sts	0x0069, r1
	DIS_EI0();
  a0:	1d ba       	out	0x1d, r1	; 29
  a2:	08 95       	ret

000000a4 <UARTSendByte>:
  a4:	98 2f       	mov	r25, r24
  a6:	80 91 c0 00 	lds	r24, 0x00C0
  aa:	85 ff       	sbrs	r24, 5
  ac:	fc cf       	rjmp	.-8      	; 0xa6 <UARTSendByte+0x2>
  ae:	90 93 c6 00 	sts	0x00C6, r25
  b2:	08 95       	ret

000000b4 <MotoDriver>:
  b4:	99 27       	eor	r25, r25
  b6:	82 30       	cpi	r24, 0x02	; 2
  b8:	91 05       	cpc	r25, r1
  ba:	a9 f0       	breq	.+42     	; 0xe6 <MotoDriver+0x32>
  bc:	83 30       	cpi	r24, 0x03	; 3
  be:	91 05       	cpc	r25, r1
  c0:	1c f4       	brge	.+6      	; 0xc8 <MotoDriver+0x14>
  c2:	01 97       	sbiw	r24, 0x01	; 1
  c4:	21 f0       	breq	.+8      	; 0xce <MotoDriver+0x1a>
  c6:	29 c0       	rjmp	.+82     	; 0x11a <MotoDriver+0x66>
  c8:	04 97       	sbiw	r24, 0x04	; 4
  ca:	c9 f0       	breq	.+50     	; 0xfe <MotoDriver+0x4a>
  cc:	26 c0       	rjmp	.+76     	; 0x11a <MotoDriver+0x66>
  ce:	80 91 04 01 	lds	r24, 0x0104
  d2:	81 30       	cpi	r24, 0x01	; 1
  d4:	71 f1       	breq	.+92     	; 0x132 <MotoDriver+0x7e>
  d6:	2a 98       	cbi	0x05, 2	; 5
  d8:	00 00       	nop
  da:	00 00       	nop
  dc:	29 9a       	sbi	0x05, 1	; 5
  de:	00 00       	nop
  e0:	00 00       	nop
  e2:	81 e0       	ldi	r24, 0x01	; 1
  e4:	17 c0       	rjmp	.+46     	; 0x114 <MotoDriver+0x60>
  e6:	80 91 04 01 	lds	r24, 0x0104
  ea:	82 30       	cpi	r24, 0x02	; 2
  ec:	11 f1       	breq	.+68     	; 0x132 <MotoDriver+0x7e>
  ee:	29 98       	cbi	0x05, 1	; 5
  f0:	00 00       	nop
  f2:	00 00       	nop
  f4:	2a 9a       	sbi	0x05, 2	; 5
  f6:	00 00       	nop
  f8:	00 00       	nop
  fa:	82 e0       	ldi	r24, 0x02	; 2
  fc:	0b c0       	rjmp	.+22     	; 0x114 <MotoDriver+0x60>
  fe:	80 91 04 01 	lds	r24, 0x0104
 102:	84 30       	cpi	r24, 0x04	; 4
 104:	b1 f0       	breq	.+44     	; 0x132 <MotoDriver+0x7e>
 106:	29 98       	cbi	0x05, 1	; 5
 108:	00 00       	nop
 10a:	00 00       	nop
 10c:	2a 98       	cbi	0x05, 2	; 5
 10e:	00 00       	nop
 110:	00 00       	nop
 112:	84 e0       	ldi	r24, 0x04	; 4
 114:	80 93 04 01 	sts	0x0104, r24
 118:	0c c0       	rjmp	.+24     	; 0x132 <MotoDriver+0x7e>
 11a:	80 91 04 01 	lds	r24, 0x0104
 11e:	88 23       	and	r24, r24
 120:	41 f0       	breq	.+16     	; 0x132 <MotoDriver+0x7e>
 122:	29 98       	cbi	0x05, 1	; 5
 124:	00 00       	nop
 126:	00 00       	nop
 128:	2a 98       	cbi	0x05, 2	; 5
 12a:	00 00       	nop
 12c:	00 00       	nop
 12e:	10 92 04 01 	sts	0x0104, r1
 132:	80 e0       	ldi	r24, 0x00	; 0
 134:	90 e0       	ldi	r25, 0x00	; 0
 136:	08 95       	ret

00000138 <EnPowerDownMode>:
}

EXTINT_INTERRUPT_HANDLER(SIG_INTERRUPT0)
{
/*	asm volatile("nop");
	DIS_EI0();
	DisableSosc();
	
	SMCR &= ~SLEEP_SE;
	OpenIRPower();
	EnSleepFlag = 0;*/
	//WakeForSleepTimer = 2;
}

void EnPowerDownMode(void)
{
	EnSleepFlag = 0;
 138:	80 91 08 01 	lds	r24, 0x0108
 13c:	8b 7f       	andi	r24, 0xFB	; 251
 13e:	80 93 08 01 	sts	0x0108, r24
	CloseIRPower();
 142:	5d 9a       	sbi	0x0b, 5	; 11
	EnableSosc();
 144:	41 9a       	sbi	0x08, 1	; 8
	EN_EI0();
 146:	81 e0       	ldi	r24, 0x01	; 1
 148:	8d bb       	out	0x1d, r24	; 29

	SMCR = (SLEEP_MODE_SET | SLEEP_SE);
 14a:	85 e0       	ldi	r24, 0x05	; 5
 14c:	83 bf       	out	0x33, r24	; 51

	asm volatile("sleep");
 14e:	88 95       	sleep
	DIS_EI0();
 150:	1d ba       	out	0x1d, r1	; 29
	DisableSosc();
 152:	41 98       	cbi	0x08, 1	; 8
	
	SMCR &= ~SLEEP_SE;
 154:	83 b7       	in	r24, 0x33	; 51
 156:	8e 7f       	andi	r24, 0xFE	; 254
 158:	83 bf       	out	0x33, r24	; 51
	OpenIRPower();
 15a:	5d 98       	cbi	0x0b, 5	; 11
	EnSleepFlag = 0;
 15c:	80 91 08 01 	lds	r24, 0x0108
 160:	8b 7f       	andi	r24, 0xFB	; 251
 162:	80 93 08 01 	sts	0x0108, r24
	WakeForSleepTimer = 2;
 166:	82 e0       	ldi	r24, 0x02	; 2
 168:	80 93 05 01 	sts	0x0105, r24
	UARTSendByte(0x44);
 16c:	84 e4       	ldi	r24, 0x44	; 68
 16e:	9a df       	rcall	.-204    	; 0xa4 <UARTSendByte>
 170:	08 95       	ret

00000172 <uartSetBaudRate>:
 172:	dc 01       	movw	r26, r24
 174:	cb 01       	movw	r24, r22
 176:	73 e0       	ldi	r23, 0x03	; 3
 178:	88 0f       	add	r24, r24
 17a:	99 1f       	adc	r25, r25
 17c:	aa 1f       	adc	r26, r26
 17e:	bb 1f       	adc	r27, r27
 180:	7a 95       	dec	r23
 182:	d1 f7       	brne	.-12     	; 0x178 <uartSetBaudRate+0x6>
 184:	9c 01       	movw	r18, r24
 186:	ad 01       	movw	r20, r26
 188:	22 0f       	add	r18, r18
 18a:	33 1f       	adc	r19, r19
 18c:	44 1f       	adc	r20, r20
 18e:	55 1f       	adc	r21, r21
 190:	80 5c       	subi	r24, 0xC0	; 192
 192:	9d 4b       	sbci	r25, 0xBD	; 189
 194:	a0 4f       	sbci	r26, 0xF0	; 240
 196:	bf 4f       	sbci	r27, 0xFF	; 255
 198:	bc 01       	movw	r22, r24
 19a:	cd 01       	movw	r24, r26
 19c:	c4 d1       	rcall	.+904    	; 0x526 <__udivmodsi4>
 19e:	da 01       	movw	r26, r20
 1a0:	c9 01       	movw	r24, r18
 1a2:	01 97       	sbiw	r24, 0x01	; 1
 1a4:	80 93 c4 00 	sts	0x00C4, r24
 1a8:	89 2f       	mov	r24, r25
 1aa:	99 27       	eor	r25, r25
 1ac:	80 93 c5 00 	sts	0x00C5, r24
 1b0:	08 95       	ret

000001b2 <UARTInit>:
 1b2:	60 ec       	ldi	r22, 0xC0	; 192
 1b4:	72 e1       	ldi	r23, 0x12	; 18
 1b6:	80 e0       	ldi	r24, 0x00	; 0
 1b8:	90 e0       	ldi	r25, 0x00	; 0
 1ba:	db df       	rcall	.-74     	; 0x172 <uartSetBaudRate>
 1bc:	88 e1       	ldi	r24, 0x18	; 24
 1be:	80 93 c1 00 	sts	0x00C1, r24
 1c2:	86 e0       	ldi	r24, 0x06	; 6
 1c4:	80 93 c2 00 	sts	0x00C2, r24
 1c8:	08 95       	ret

000001ca <timer0SetPrescaler>:
 1ca:	95 b5       	in	r25, 0x25	; 37
 1cc:	98 7f       	andi	r25, 0xF8	; 248
 1ce:	98 2b       	or	r25, r24
 1d0:	95 bd       	out	0x25, r25	; 37
 1d2:	08 95       	ret

000001d4 <timer0Init>:
 1d4:	85 e0       	ldi	r24, 0x05	; 5
 1d6:	f9 df       	rcall	.-14     	; 0x1ca <timer0SetPrescaler>
 1d8:	8f ef       	ldi	r24, 0xFF	; 255
 1da:	86 bd       	out	0x26, r24	; 38
 1dc:	80 91 6e 00 	lds	r24, 0x006E
 1e0:	81 60       	ori	r24, 0x01	; 1
 1e2:	80 93 6e 00 	sts	0x006E, r24
 1e6:	08 95       	ret

000001e8 <main>:
 1e8:	cf ef       	ldi	r28, 0xFF	; 255
 1ea:	d2 e0       	ldi	r29, 0x02	; 2
 1ec:	de bf       	out	0x3e, r29	; 62
 1ee:	cd bf       	out	0x3d, r28	; 61
 1f0:	3c df       	rcall	.-392    	; 0x6a <portInit>
 1f2:	e9 d0       	rcall	.+466    	; 0x3c6 <ICEInit>
 1f4:	ef df       	rcall	.-34     	; 0x1d4 <timer0Init>
 1f6:	dd df       	rcall	.-70     	; 0x1b2 <UARTInit>
 1f8:	51 df       	rcall	.-350    	; 0x9c <ExtInt0Config>
 1fa:	80 91 08 01 	lds	r24, 0x0108
 1fe:	8e 7f       	andi	r24, 0xFE	; 254
 200:	80 93 08 01 	sts	0x0108, r24
 204:	10 92 07 01 	sts	0x0107, r1
 208:	80 91 08 01 	lds	r24, 0x0108
 20c:	8d 7f       	andi	r24, 0xFD	; 253
 20e:	80 93 08 01 	sts	0x0108, r24
 212:	10 92 09 01 	sts	0x0109, r1
 216:	10 92 04 01 	sts	0x0104, r1
 21a:	80 91 08 01 	lds	r24, 0x0108
 21e:	8b 7f       	andi	r24, 0xFB	; 251
 220:	80 93 08 01 	sts	0x0108, r24
 224:	83 e0       	ldi	r24, 0x03	; 3
 226:	80 93 05 01 	sts	0x0105, r24
 22a:	35 9b       	sbis	0x06, 5	; 6
 22c:	03 c0       	rjmp	.+6      	; 0x234 <main+0x4c>
 22e:	10 92 03 01 	sts	0x0103, r1
 232:	03 c0       	rjmp	.+6      	; 0x23a <main+0x52>
 234:	82 e0       	ldi	r24, 0x02	; 2
 236:	80 93 03 01 	sts	0x0103, r24
 23a:	5d 98       	cbi	0x0b, 5	; 11
 23c:	41 98       	cbi	0x08, 1	; 8
 23e:	78 94       	sei
 240:	8a ea       	ldi	r24, 0xAA	; 170
 242:	30 df       	rcall	.-416    	; 0xa4 <UARTSendByte>
 244:	85 e5       	ldi	r24, 0x55	; 85
 246:	2e df       	rcall	.-420    	; 0xa4 <UARTSendByte>
 248:	51 d1       	rcall	.+674    	; 0x4ec <GetIRKey>
 24a:	c8 2f       	mov	r28, r24
 24c:	8f 3f       	cpi	r24, 0xFF	; 255
 24e:	d1 f0       	breq	.+52     	; 0x284 <main+0x9c>
 250:	29 df       	rcall	.-430    	; 0xa4 <UARTSendByte>
 252:	cf 5f       	subi	r28, 0xFF	; 255
 254:	4c 2f       	mov	r20, r28
 256:	55 27       	eor	r21, r21
 258:	9a 01       	movw	r18, r20
 25a:	22 70       	andi	r18, 0x02	; 2
 25c:	30 70       	andi	r19, 0x00	; 0
 25e:	80 91 03 01 	lds	r24, 0x0103
 262:	99 27       	eor	r25, r25
 264:	28 17       	cp	r18, r24
 266:	39 07       	cpc	r19, r25
 268:	11 f5       	brne	.+68     	; 0x2ae <main+0xc6>
 26a:	40 fd       	sbrc	r20, 0
 26c:	02 c0       	rjmp	.+4      	; 0x272 <main+0x8a>
 26e:	81 e0       	ldi	r24, 0x01	; 1
 270:	03 c0       	rjmp	.+6      	; 0x278 <main+0x90>
 272:	40 ff       	sbrs	r20, 0
 274:	03 c0       	rjmp	.+6      	; 0x27c <main+0x94>
 276:	82 e0       	ldi	r24, 0x02	; 2
 278:	80 93 09 01 	sts	0x0109, r24
 27c:	80 91 08 01 	lds	r24, 0x0108
 280:	82 60       	ori	r24, 0x02	; 2
 282:	13 c0       	rjmp	.+38     	; 0x2aa <main+0xc2>
 284:	80 91 08 01 	lds	r24, 0x0108
 288:	81 ff       	sbrs	r24, 1
 28a:	11 c0       	rjmp	.+34     	; 0x2ae <main+0xc6>
 28c:	80 91 06 01 	lds	r24, 0x0106
 290:	88 23       	and	r24, r24

⌨️ 快捷键说明

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