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

📄 main.lss

📁 avr的I/O、串口、定时器/计数器、外部中断、LCD等的例程
💻 LSS
字号:

main.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000110  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  00000110  000001a4  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000003  00800060  00800060  000001a4  2**0
                  ALLOC
  3 .noinit       00000000  00800063  00800063  000001a4  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000001a4  2**0
                  CONTENTS
  5 .debug_aranges 00000014  00000000  00000000  000001a4  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 00000041  00000000  00000000  000001b8  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   00000182  00000000  00000000  000001f9  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 0000010e  00000000  00000000  0000037b  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   0000011d  00000000  00000000  00000489  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_str    000000be  00000000  00000000  000005a6  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 2a 00 	jmp	0x54
   4:	0c 94 45 00 	jmp	0x8a
   8:	0c 94 45 00 	jmp	0x8a
   c:	0c 94 45 00 	jmp	0x8a
  10:	0c 94 45 00 	jmp	0x8a
  14:	0c 94 45 00 	jmp	0x8a
  18:	0c 94 45 00 	jmp	0x8a
  1c:	0c 94 45 00 	jmp	0x8a
  20:	0c 94 45 00 	jmp	0x8a
  24:	0c 94 67 00 	jmp	0xce
  28:	0c 94 45 00 	jmp	0x8a
  2c:	0c 94 45 00 	jmp	0x8a
  30:	0c 94 45 00 	jmp	0x8a
  34:	0c 94 45 00 	jmp	0x8a
  38:	0c 94 45 00 	jmp	0x8a
  3c:	0c 94 45 00 	jmp	0x8a
  40:	0c 94 45 00 	jmp	0x8a
  44:	0c 94 45 00 	jmp	0x8a
  48:	0c 94 45 00 	jmp	0x8a
  4c:	0c 94 45 00 	jmp	0x8a
  50:	0c 94 45 00 	jmp	0x8a

00000054 <__ctors_end>:
  54:	11 24       	eor	r1, r1
  56:	1f be       	out	0x3f, r1	; 63
  58:	cf e5       	ldi	r28, 0x5F	; 95
  5a:	d4 e0       	ldi	r29, 0x04	; 4
  5c:	de bf       	out	0x3e, r29	; 62
  5e:	cd bf       	out	0x3d, r28	; 61

00000060 <__do_copy_data>:
  60:	10 e0       	ldi	r17, 0x00	; 0
  62:	a0 e6       	ldi	r26, 0x60	; 96
  64:	b0 e0       	ldi	r27, 0x00	; 0
  66:	e0 e1       	ldi	r30, 0x10	; 16
  68:	f1 e0       	ldi	r31, 0x01	; 1
  6a:	02 c0       	rjmp	.+4      	; 0x70

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

00000070 <.do_copy_data_start>:
  70:	a0 36       	cpi	r26, 0x60	; 96
  72:	b1 07       	cpc	r27, r17
  74:	d9 f7       	brne	.-10     	; 0x6c

00000076 <__do_clear_bss>:
  76:	10 e0       	ldi	r17, 0x00	; 0
  78:	a0 e6       	ldi	r26, 0x60	; 96
  7a:	b0 e0       	ldi	r27, 0x00	; 0
  7c:	01 c0       	rjmp	.+2      	; 0x80

0000007e <.do_clear_bss_loop>:
  7e:	1d 92       	st	X+, r1

00000080 <.do_clear_bss_start>:
  80:	a3 36       	cpi	r26, 0x63	; 99
  82:	b1 07       	cpc	r27, r17
  84:	e1 f7       	brne	.-8      	; 0x7e
  86:	0c 94 59 00 	jmp	0xb2

0000008a <__bad_interrupt>:
  8a:	0c 94 00 00 	jmp	0x0

0000008e <delay_nms>:
uchar flag;
void delay_nms        (uint n);

void delay_nms(uint n)       //N ms延时函数
  {
  8e:	cf 93       	push	r28
  90:	df 93       	push	r29
	uint i=0;
	for (i=0;i<n;i++)
  92:	00 97       	sbiw	r24, 0x00	; 0
  94:	59 f0       	breq	.+22     	; 0xac
  96:	a0 ed       	ldi	r26, 0xD0	; 208
  98:	b7 e0       	ldi	r27, 0x07	; 7
  9a:	c0 e0       	ldi	r28, 0x00	; 0
  9c:	d0 e0       	ldi	r29, 0x00	; 0
  9e:	9c 01       	movw	r18, r24
 */
static __inline__ void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  a0:	cd 01       	movw	r24, r26
  a2:	01 97       	sbiw	r24, 0x01	; 1
  a4:	f1 f7       	brne	.-4      	; 0xa2
  a6:	21 50       	subi	r18, 0x01	; 1
  a8:	30 40       	sbci	r19, 0x00	; 0
  aa:	d1 f7       	brne	.-12     	; 0xa0
  ac:	df 91       	pop	r29
  ae:	cf 91       	pop	r28
  b0:	08 95       	ret

000000b2 <main>:
	_delay_ms(1);
  }
/*
    LCD_EN_PORT |= LCD_EN;    //EN=1
    LCD_EN_PORT &= ~LCD_EN;   //EN=0
	CONTROL_PORT |= LCD_RS | LCD_EN | LCD_RW; //设置控制输出
	usigned int k;
		k=0x1234;
		TCNT=k;
		k=TCNT1;
*/

int main(void)
{
  b2:	cf e5       	ldi	r28, 0x5F	; 95
  b4:	d4 e0       	ldi	r29, 0x04	; 4
  b6:	de bf       	out	0x3e, r29	; 62
  b8:	cd bf       	out	0x3d, r28	; 61
	PORTA=0xFF;		
  ba:	8f ef       	ldi	r24, 0xFF	; 255
  bc:	8b bb       	out	0x1b, r24	; 27
 //DDRA=0xFF;				//PA口设为输出高电平,灯灭
 CONTROL_PORT |= LCD_EN; //out
  be:	d0 9a       	sbi	0x1a, 0	; 26
 TCNT0=0; // T/C0 开始值 
  c0:	12 be       	out	0x32, r1	; 50
 TCCR0=_BV(CS02)|_BV(CS01)|_BV(CS00); // 预分频 ck/1024 ,计数允许 
  c2:	87 e0       	ldi	r24, 0x07	; 7
  c4:	83 bf       	out	0x33, r24	; 51
 TIMSK=_BV(TOIE0); //T/C0 中断允许 
  c6:	81 e0       	ldi	r24, 0x01	; 1
  c8:	89 bf       	out	0x39, r24	; 57
 sei(); //总中断标志置位 
  ca:	78 94       	sei
 while(1)
  cc:	ff cf       	rjmp	.-2      	; 0xcc

000000ce <__vector_9>:
 {
 }
}

SIGNAL(SIG_OVERFLOW0) 
{ 
  ce:	1f 92       	push	r1
  d0:	0f 92       	push	r0
  d2:	0f b6       	in	r0, 0x3f	; 63
  d4:	0f 92       	push	r0
  d6:	11 24       	eor	r1, r1
  d8:	8f 93       	push	r24
   if(++g_bCount >64) 
  da:	80 91 61 00 	lds	r24, 0x0061
  de:	8f 5f       	subi	r24, 0xFF	; 255
  e0:	80 93 61 00 	sts	0x0061, r24
  e4:	81 34       	cpi	r24, 0x41	; 65
  e6:	70 f0       	brcs	.+28     	; 0x104
   { 
      if(abc==0) 
  e8:	80 91 60 00 	lds	r24, 0x0060
  ec:	88 23       	and	r24, r24
  ee:	29 f4       	brne	.+10     	; 0xfa
      {
	  LCD_EN_PORT |= LCD_EN;    //EN=1
  f0:	d8 9a       	sbi	0x1b, 0	; 27
	  abc=1;} 
  f2:	81 e0       	ldi	r24, 0x01	; 1
  f4:	80 93 60 00 	sts	0x0060, r24
  f8:	03 c0       	rjmp	.+6      	; 0x100
      else 
      {
	  LCD_EN_PORT &= ~LCD_EN;   //EN=0
  fa:	d8 98       	cbi	0x1b, 0	; 27
	  abc=0;} 
  fc:	10 92 60 00 	sts	0x0060, r1
   g_bCount = 0; 
 100:	10 92 61 00 	sts	0x0061, r1
 104:	8f 91       	pop	r24
 106:	0f 90       	pop	r0
 108:	0f be       	out	0x3f, r0	; 63
 10a:	0f 90       	pop	r0
 10c:	1f 90       	pop	r1
 10e:	18 95       	reti

⌨️ 快捷键说明

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