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

📄 usart3_step_lcd.lst

📁 1. 熟悉AVR-atmega128单片机串口通信功能; 2. 掌握步进电机控制方法。 3. 初步掌握GCC的一般编程技巧。 4. 掌握AVR单片机中断、时钟的设置方法
💻 LST
📖 第 1 页 / 共 5 页
字号:

usart3_step_lcd.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000010  00800100  00001340  000013d4  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         00001340  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          0000011b  00800110  00800110  000013e4  2**0
                  ALLOC
  3 .noinit       00000000  0080022b  0080022b  000013e4  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000013e4  2**0
                  CONTENTS
  5 .debug_aranges 00000014  00000000  00000000  000013e4  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 00000322  00000000  00000000  000013f8  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   0000088e  00000000  00000000  0000171a  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 00000170  00000000  00000000  00001fa8  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   000009fe  00000000  00000000  00002118  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_str    0000033e  00000000  00000000  00002b16  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
       0:	0c 94 1f 01 	jmp	0x23e <__init>
       4:	0c 94 2f 05 	jmp	0xa5e <__vector_1>
       8:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
       c:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      10:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      14:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      18:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      1c:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      20:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      24:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      28:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      2c:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      30:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      34:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      38:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      3c:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      40:	0c 94 6b 02 	jmp	0x4d6 <__vector_16>
      44:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      48:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      4c:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      50:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      54:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      58:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      5c:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      60:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      64:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      68:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      6c:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      70:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      74:	0c 94 d2 03 	jmp	0x7a4 <__vector_29>
      78:	0c 94 3b 05 	jmp	0xa76 <__vector_30>
      7c:	0c 94 5e 05 	jmp	0xabc <__vector_31>
      80:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      84:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>
      88:	0c 94 3c 01 	jmp	0x278 <__bad_interrupt>

0000008c <SECOND>:
      8c:	0d 0a 49 6e 70 75 74 20 53 65 63 6f 6e 64 3a 00     ..Input Second:.

0000009c <MINUTE>:
      9c:	0d 0a 49 6e 70 75 74 20 4d 69 6e 75 74 65 3a 00     ..Input Minute:.

000000ac <HOUR>:
      ac:	0d 0a 49 6e 70 75 74 20 48 6f 75 72 3a 00           ..Input Hour:.

000000ba <SPEED>:
      ba:	0d 0a 49 6e 70 75 74 20 79 6f 75 72 20 73 70 65     ..Input your spe
      ca:	65 64 3a 00                                         ed:.

000000ce <M_Backward_JIANSU>:
      ce:	0d 0a 42 61 63 6b 77 61 72 64 5f 44 6f 77 6e 73     ..Backward_Downs
      de:	70 65 65 64 3a 45 4e 54 45 52 20 31 20 4f 52 20     peed:ENTER 1 OR 
      ee:	32 20 4f 52 20 33 0d 0a 00                          2 OR 3...

000000f7 <M_Backward_JIASU>:
      f7:	0d 0a 42 61 63 6b 77 61 72 64 5f 55 70 73 70 65     ..Backward_Upspe
     107:	65 64 3a 45 4e 54 45 52 20 31 20 4f 52 20 32 20     ed:ENTER 1 OR 2 
     117:	4f 52 20 33 0d 0a 00                                OR 3...

0000011e <M_Forward_JIANSU>:
     11e:	0d 0a 46 6f 72 77 61 72 64 5f 44 6f 77 6e 73 70     ..Forward_Downsp
     12e:	65 65 64 3a 45 4e 54 45 52 20 31 20 4f 52 20 32     eed:ENTER 1 OR 2
     13e:	20 4f 52 20 33 0d 0a 00                              OR 3...

00000146 <M_Forward_JIASU>:
     146:	0d 0a 46 6f 72 77 61 72 64 5f 55 70 73 70 65 65     ..Forward_Upspee
     156:	64 3a 45 4e 54 45 52 20 31 20 4f 52 20 32 20 4f     d:ENTER 1 OR 2 O
     166:	52 20 33 0d 0a 20 00                                R 3.. .

0000016d <M_SELECT1>:
     16d:	0d 0a 46 4f 52 57 41 52 44 28 31 29 20 20 4f 52     ..FORWARD(1)  OR
     17d:	20 42 41 43 4b 57 41 52 44 28 32 29 0d 0a 00         BACKWARD(2)...

0000018c <M_SELECT>:
     18c:	0d 0a 55 50 53 50 45 45 44 28 31 29 20 20 4f 52     ..UPSPEED(1)  OR
     19c:	20 44 4f 57 4e 53 50 45 45 44 28 32 29 0d 0a 00      DOWNSPEED(2)...

000001ac <M_thank>:
     1ac:	0d 0a 54 68 61 6e 6b 20 79 6f 75 21 0d 0a 20 00     ..Thank you!.. .

000001bc <M_Help>:
     1bc:	0d 0a 46 3a 46 4f 52 57 41 52 44 20 20 42 3a 42     ..F:FORWARD  B:B
     1cc:	41 43 4b 57 41 52 44 20 20 20 53 3a 47 49 56 45     ACKWARD   S:GIVE
     1dc:	5f 53 50 45 45 44 20 20 20 20 54 3a 54 49 4d 45     _SPEED    T:TIME
     1ec:	20 20 20 51 3a 71 75 69 74 0d 0a 00                    Q:quit...

000001f8 <logo>:
     1f8:	0d 0a 55 53 41 52 54 20 43 6f 6e 74 72 6f 6c 20     ..USART Control 
     208:	53 74 65 70 5f 6d 6f 74 6f 72 0d 0a 0d 0a 3c 48     Step_motor....<H
     218:	3e 20 48 65 6c 70 20 4d 65 73 73 61 67 65 73 0d     > Help Messages.
     228:	0a 00                                               ..

0000022a <prompt>:
     22a:	55 53 41 52 54 5f 53 54 45 50 5f 4d 4f 54 4f 52     USART_STEP_MOTOR
     23a:	20 3a 00 00                                          :..

0000023e <__init>:
     23e:	11 24       	eor	r1, r1
     240:	1f be       	out	0x3f, r1	; 63
     242:	cf ef       	ldi	r28, 0xFF	; 255
     244:	d0 e1       	ldi	r29, 0x10	; 16
     246:	de bf       	out	0x3e, r29	; 62
     248:	cd bf       	out	0x3d, r28	; 61

0000024a <__do_copy_data>:
     24a:	11 e0       	ldi	r17, 0x01	; 1
     24c:	a0 e0       	ldi	r26, 0x00	; 0
     24e:	b1 e0       	ldi	r27, 0x01	; 1
     250:	e0 e4       	ldi	r30, 0x40	; 64
     252:	f3 e1       	ldi	r31, 0x13	; 19
     254:	00 e0       	ldi	r16, 0x00	; 0
     256:	0b bf       	out	0x3b, r16	; 59
     258:	02 c0       	rjmp	.+4      	; 0x25e <.__do_copy_data_start>

0000025a <.__do_copy_data_loop>:
     25a:	07 90       	elpm	r0, Z+
     25c:	0d 92       	st	X+, r0

0000025e <.__do_copy_data_start>:
     25e:	a0 31       	cpi	r26, 0x10	; 16
     260:	b1 07       	cpc	r27, r17
     262:	d9 f7       	brne	.-10     	; 0x25a <.__do_copy_data_loop>

00000264 <__do_clear_bss>:
     264:	12 e0       	ldi	r17, 0x02	; 2
     266:	a0 e1       	ldi	r26, 0x10	; 16
     268:	b1 e0       	ldi	r27, 0x01	; 1
     26a:	01 c0       	rjmp	.+2      	; 0x26e <.do_clear_bss_start>

0000026c <.do_clear_bss_loop>:
     26c:	1d 92       	st	X+, r1

0000026e <.do_clear_bss_start>:
     26e:	ab 32       	cpi	r26, 0x2B	; 43
     270:	b1 07       	cpc	r27, r17
     272:	e1 f7       	brne	.-8      	; 0x26c <.do_clear_bss_loop>
     274:	0c 94 e0 05 	jmp	0xbc0 <main>

00000278 <__bad_interrupt>:
     278:	0c 94 00 00 	jmp	0x0 <__vectors>

0000027c <serial_Initialize>:
	serial_Initialize(BAUD_RATE);
}

void serial_Initialize(unsigned long int baud)
{
     27c:	9b 01       	movw	r18, r22
     27e:	ac 01       	movw	r20, r24
	unsigned short int ubrr1;
	ubrr1=((SYSTEM_CLOCK/(16L*baud))-1);
     280:	94 e0       	ldi	r25, 0x04	; 4
     282:	22 0f       	add	r18, r18
     284:	33 1f       	adc	r19, r19
     286:	44 1f       	adc	r20, r20
     288:	55 1f       	adc	r21, r21
     28a:	9a 95       	dec	r25
     28c:	d1 f7       	brne	.-12     	; 0x282 <serial_Initialize+0x6>
     28e:	60 e0       	ldi	r22, 0x00	; 0
     290:	70 e0       	ldi	r23, 0x00	; 0
     292:	81 ee       	ldi	r24, 0xE1	; 225
     294:	90 e0       	ldi	r25, 0x00	; 0
     296:	0e 94 7e 09 	call	0x12fc <__udivmodsi4>
     29a:	21 50       	subi	r18, 0x01	; 1
     29c:	30 40       	sbci	r19, 0x00	; 0
	UBRR1H=(unsigned char)(ubrr1>>8);
     29e:	83 2f       	mov	r24, r19
     2a0:	99 27       	eor	r25, r25
     2a2:	80 93 98 00 	sts	0x0098, r24
	UBRR1L=(unsigned char)ubrr1;
     2a6:	20 93 99 00 	sts	0x0099, r18
	UCSR1A=0x20;//发送缓冲器准备好进行新的数据接收
     2aa:	80 e2       	ldi	r24, 0x20	; 32
     2ac:	80 93 9b 00 	sts	0x009B, r24
	UCSR1B=((1<<RXCIE)|(1<<RXEN)|(1<<TXEN));//中断使能
     2b0:	88 e9       	ldi	r24, 0x98	; 152
     2b2:	80 93 9a 00 	sts	0x009A, r24
	UCSR1C=DATA_8;
     2b6:	86 e0       	ldi	r24, 0x06	; 6
     2b8:	80 93 9d 00 	sts	0x009D, r24
	UART_RxTail=0;
     2bc:	10 92 94 01 	sts	0x0194, r1
	UART_RxHead=0;
     2c0:	10 92 93 01 	sts	0x0193, r1
	UART_TxTail=0;
     2c4:	10 92 16 02 	sts	0x0216, r1
	UART_TxHead=0;
     2c8:	10 92 15 02 	sts	0x0215, r1
     2cc:	08 95       	ret

000002ce <Initialize>:
     2ce:	85 b7       	in	r24, 0x35	; 53
     2d0:	80 68       	ori	r24, 0x80	; 128
     2d2:	85 bf       	out	0x35, r24	; 53
     2d4:	81 e0       	ldi	r24, 0x01	; 1
     2d6:	89 bf       	out	0x39, r24	; 57
     2d8:	82 e0       	ldi	r24, 0x02	; 2
     2da:	80 93 6a 00 	sts	0x006A, r24
     2de:	78 94       	sei
     2e0:	60 e0       	ldi	r22, 0x00	; 0
     2e2:	72 ec       	ldi	r23, 0xC2	; 194
     2e4:	81 e0       	ldi	r24, 0x01	; 1
     2e6:	90 e0       	ldi	r25, 0x00	; 0
     2e8:	0e 94 3e 01 	call	0x27c <serial_Initialize>
     2ec:	08 95       	ret

000002ee <initialize_timer>:
}

void initialize_timer(void)
{TCNT0=0xf0;
     2ee:	80 ef       	ldi	r24, 0xF0	; 240
     2f0:	82 bf       	out	0x32, r24	; 50
TCCR0=0x07;
     2f2:	87 e0       	ldi	r24, 0x07	; 7
     2f4:	83 bf       	out	0x33, r24	; 51
TIMSK=0x01;
     2f6:	81 e0       	ldi	r24, 0x01	; 1
     2f8:	87 bf       	out	0x37, r24	; 55
sei();
     2fa:	78 94       	sei
     2fc:	08 95       	ret

000002fe <delay>:
}

void delay(unsigned int d1,unsigned int d2)
{unsigned int i,j;
 for(i=0;i<d1;i++)
     2fe:	40 e0       	ldi	r20, 0x00	; 0
     300:	50 e0       	ldi	r21, 0x00	; 0
     302:	48 17       	cp	r20, r24
     304:	59 07       	cpc	r21, r25
     306:	68 f4       	brcc	.+26     	; 0x322 <delay+0x24>
 {for(j=0;j<d2;j++);}
     308:	20 e0       	ldi	r18, 0x00	; 0
     30a:	30 e0       	ldi	r19, 0x00	; 0
     30c:	02 c0       	rjmp	.+4      	; 0x312 <delay+0x14>
     30e:	2f 5f       	subi	r18, 0xFF	; 255
     310:	3f 4f       	sbci	r19, 0xFF	; 255
     312:	26 17       	cp	r18, r22
     314:	37 07       	cpc	r19, r23
     316:	d8 f3       	brcs	.-10     	; 0x30e <delay+0x10>
     318:	4f 5f       	subi	r20, 0xFF	; 255
     31a:	5f 4f       	sbci	r21, 0xFF	; 255
     31c:	48 17       	cp	r20, r24
     31e:	59 07       	cpc	r21, r25
     320:	98 f3       	brcs	.-26     	; 0x308 <delay+0xa>
     322:	08 95       	ret

00000324 <lcd_data_wait>:
}
void initialize_text_lcd(void)
{lcd_con();

*lcd_data='0';
lcd_data_wait();
*lcd_data='0';
lcd_data_wait();
*lcd_data=':';
lcd_data_wait();
*lcd_data='0';
lcd_data_wait();
*lcd_data='0';
lcd_data_wait();
*lcd_data=':';
lcd_data_wait();
*lcd_data='0';
lcd_data_wait();
*lcd_data='0';
lcd_data_wait();
}

void lcd_con(void)
{lcd_control=TLCD_CTRL;
lcd_data=TLCD_DATA;

lcd_control_wait();

*lcd_control|=0x38;
lcd_control_wait();

*lcd_control|=0x02;
lcd_control_wait();

*lcd_control|=0x01;
lcd_control_wait();


*lcd_control|=0x06;
lcd_control_wait();

*lcd_control|=0x0e;
lcd_control_wait();
}


void lcd_control_wait(void)
{delay(1000,1000);
}

void lcd_data_wait(void)
{delay(1000,10);
     324:	6a e0       	ldi	r22, 0x0A	; 10
     326:	70 e0       	ldi	r23, 0x00	; 0
     328:	88 ee       	ldi	r24, 0xE8	; 232
     32a:	93 e0       	ldi	r25, 0x03	; 3
     32c:	0e 94 7f 01 	call	0x2fe <delay>
     330:	08 95       	ret

00000332 <lcd_control_wait>:
     332:	68 ee       	ldi	r22, 0xE8	; 232
     334:	73 e0       	ldi	r23, 0x03	; 3
     336:	cb 01       	movw	r24, r22

⌨️ 快捷键说明

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