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

📄 keyboard.lss

📁 AVR Devolpment Board
💻 LSS
📖 第 1 页 / 共 2 页
字号:

keyboard.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         00000246  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  00000246  000002da  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000008  00800060  00800060  000002da  2**0
                  ALLOC
  3 .noinit       00000000  00800068  00800068  000002da  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  000002da  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  000002dc  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  00000648  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  000006cc  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 0000004b  00000000  00000000  000006e0  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   000002cf  00000000  00000000  0000072b  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 0000013d  00000000  00000000  000009fa  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   0000028b  00000000  00000000  00000b37  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    0000015a  00000000  00000000  00000dc2  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 32 00 	jmp	0x64 <__init>
   4:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
   8:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
   c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  10:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  14:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  18:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  1c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  20:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  24:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  28:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  2c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  30:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  34:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  38:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  3c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  40:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  44:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  48:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  4c:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>
  50:	0c 94 4d 00 	jmp	0x9a <__bad_interrupt>

00000054 <SegCode>:
  54:	3f 06 5b 4f 66 6d 7d 07 7f 6f 77 7c 39 5e 79 71     ?.[Ofm}..ow|9^yq

00000064 <__init>:
  64:	11 24       	eor	r1, r1
  66:	1f be       	out	0x3f, r1	; 63
  68:	cf e5       	ldi	r28, 0x5F	; 95
  6a:	d4 e0       	ldi	r29, 0x04	; 4
  6c:	de bf       	out	0x3e, r29	; 62
  6e:	cd bf       	out	0x3d, r28	; 61

00000070 <__do_copy_data>:
  70:	10 e0       	ldi	r17, 0x00	; 0
  72:	a0 e6       	ldi	r26, 0x60	; 96
  74:	b0 e0       	ldi	r27, 0x00	; 0
  76:	e6 e4       	ldi	r30, 0x46	; 70
  78:	f2 e0       	ldi	r31, 0x02	; 2
  7a:	02 c0       	rjmp	.+4      	; 0x80 <.do_copy_data_start>

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

00000080 <.do_copy_data_start>:
  80:	a0 36       	cpi	r26, 0x60	; 96
  82:	b1 07       	cpc	r27, r17
  84:	d9 f7       	brne	.-10     	; 0x7c <.do_copy_data_loop>

00000086 <__do_clear_bss>:
  86:	10 e0       	ldi	r17, 0x00	; 0
  88:	a0 e6       	ldi	r26, 0x60	; 96
  8a:	b0 e0       	ldi	r27, 0x00	; 0
  8c:	01 c0       	rjmp	.+2      	; 0x90 <.do_clear_bss_start>

0000008e <.do_clear_bss_loop>:
  8e:	1d 92       	st	X+, r1

00000090 <.do_clear_bss_start>:
  90:	a8 36       	cpi	r26, 0x68	; 104
  92:	b1 07       	cpc	r27, r17
  94:	e1 f7       	brne	.-8      	; 0x8e <.do_clear_bss_loop>
  96:	0c 94 09 01 	jmp	0x212 <main>

0000009a <__bad_interrupt>:
  9a:	0c 94 00 00 	jmp	0x0 <__vectors>

0000009e <Get_Key>:
	unsigned char KEY_Number;

#ifndef _USE_SCAN_METHOD	
	////////////////////////////////线反转法/////////////////////
	DDRx_KEY =0x0F;
  9e:	4f e0       	ldi	r20, 0x0F	; 15
  a0:	41 bb       	out	0x11, r20	; 17
	PORTx_KEY=0xF0;
  a2:	30 ef       	ldi	r19, 0xF0	; 240
  a4:	32 bb       	out	0x12, r19	; 18
		__ticks = 1;
	else if (__tmp > 65535)
		__ticks = 0;	/* i.e. 65536 */
	else
		__ticks = (uint16_t)__tmp;
  a6:	80 ed       	ldi	r24, 0xD0	; 208
  a8:	97 e0       	ldi	r25, 0x07	; 7
  aa:	fc 01       	movw	r30, r24
  ac:	31 97       	sbiw	r30, 0x01	; 1
  ae:	f1 f7       	brne	.-4      	; 0xac <Get_Key+0xe>
	_delay_ms(1);
	temp1=PINx_KEY;
  b0:	20 b3       	in	r18, 0x10	; 16

	DDRx_KEY =0xF0;
  b2:	31 bb       	out	0x11, r19	; 17
	PORTx_KEY=0x0F;
  b4:	42 bb       	out	0x12, r20	; 18
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  b6:	01 97       	sbiw	r24, 0x01	; 1
  b8:	f1 f7       	brne	.-4      	; 0xb6 <Get_Key+0x18>
	_delay_ms(1);
	temp2=PINx_KEY;
  ba:	80 b3       	in	r24, 0x10	; 16
	temp=(temp1&0xF0)+(temp2&0x0F);
  bc:	23 23       	and	r18, r19
  be:	84 23       	and	r24, r20
  c0:	28 0f       	add	r18, r24
#else
	//////////////////////////扫描法///////////////////////////////
	unsigned char i;

	DDRx_KEY  =0x0F;
	PORTx_KEY =0xF0;
	asm("nop");//
	if((PINx_KEY&0xF0)!=0xF0)
	{
		_delay_ms(5);
		if((PINx_KEY&0xF0)!=0xF0)
		{
			for(i=0;i<4;i++)
			{
				temp1 =~(1<<i);
				PORTx_KEY =temp1;
				asm("nop");//一定得加!也可加小延时。
				if((PINx_KEY & 0xF0)!=0xF0)
				{
					temp2=PINx_KEY;
					temp=(temp1 & 0x0F)+(temp2 & 0xF0);
				}
	
			}

		}
	}
#endif

	switch(temp)
  c2:	33 27       	eor	r19, r19
  c4:	2e 3b       	cpi	r18, 0xBE	; 190
  c6:	31 05       	cpc	r19, r1
  c8:	09 f4       	brne	.+2      	; 0xcc <Get_Key+0x2e>
  ca:	53 c0       	rjmp	.+166    	; 0x172 <Get_Key+0xd4>
  cc:	2f 3b       	cpi	r18, 0xBF	; 191
  ce:	31 05       	cpc	r19, r1
  d0:	44 f5       	brge	.+80     	; 0x122 <Get_Key+0x84>
  d2:	2e 37       	cpi	r18, 0x7E	; 126
  d4:	31 05       	cpc	r19, r1
  d6:	09 f4       	brne	.+2      	; 0xda <Get_Key+0x3c>
  d8:	4e c0       	rjmp	.+156    	; 0x176 <Get_Key+0xd8>
  da:	2f 37       	cpi	r18, 0x7F	; 127
  dc:	31 05       	cpc	r19, r1
  de:	8c f4       	brge	.+34     	; 0x102 <Get_Key+0x64>
  e0:	2b 37       	cpi	r18, 0x7B	; 123
  e2:	31 05       	cpc	r19, r1
  e4:	09 f4       	brne	.+2      	; 0xe8 <Get_Key+0x4a>
  e6:	57 c0       	rjmp	.+174    	; 0x196 <Get_Key+0xf8>
  e8:	2c 37       	cpi	r18, 0x7C	; 124
  ea:	31 05       	cpc	r19, r1
  ec:	2c f4       	brge	.+10     	; 0xf8 <Get_Key+0x5a>
  ee:	27 37       	cpi	r18, 0x77	; 119
  f0:	31 05       	cpc	r19, r1
  f2:	09 f4       	brne	.+2      	; 0xf6 <Get_Key+0x58>
  f4:	58 c0       	rjmp	.+176    	; 0x1a6 <Get_Key+0x108>
  f6:	59 c0       	rjmp	.+178    	; 0x1aa <Get_Key+0x10c>
  f8:	2d 37       	cpi	r18, 0x7D	; 125
  fa:	31 05       	cpc	r19, r1
  fc:	09 f4       	brne	.+2      	; 0x100 <Get_Key+0x62>
  fe:	43 c0       	rjmp	.+134    	; 0x186 <Get_Key+0xe8>
 100:	54 c0       	rjmp	.+168    	; 0x1aa <Get_Key+0x10c>
 102:	2b 3b       	cpi	r18, 0xBB	; 187
 104:	31 05       	cpc	r19, r1
 106:	09 f4       	brne	.+2      	; 0x10a <Get_Key+0x6c>
 108:	44 c0       	rjmp	.+136    	; 0x192 <Get_Key+0xf4>
 10a:	2c 3b       	cpi	r18, 0xBC	; 188
 10c:	31 05       	cpc	r19, r1
 10e:	2c f4       	brge	.+10     	; 0x11a <Get_Key+0x7c>
 110:	27 3b       	cpi	r18, 0xB7	; 183
 112:	31 05       	cpc	r19, r1
 114:	09 f4       	brne	.+2      	; 0x118 <Get_Key+0x7a>
 116:	45 c0       	rjmp	.+138    	; 0x1a2 <Get_Key+0x104>
 118:	48 c0       	rjmp	.+144    	; 0x1aa <Get_Key+0x10c>
 11a:	2d 3b       	cpi	r18, 0xBD	; 189
 11c:	31 05       	cpc	r19, r1
 11e:	89 f1       	breq	.+98     	; 0x182 <Get_Key+0xe4>
 120:	44 c0       	rjmp	.+136    	; 0x1aa <Get_Key+0x10c>
 122:	2e 3d       	cpi	r18, 0xDE	; 222
 124:	31 05       	cpc	r19, r1
 126:	19 f1       	breq	.+70     	; 0x16e <Get_Key+0xd0>
 128:	2f 3d       	cpi	r18, 0xDF	; 223
 12a:	31 05       	cpc	r19, r1
 12c:	74 f4       	brge	.+28     	; 0x14a <Get_Key+0xac>
 12e:	2b 3d       	cpi	r18, 0xDB	; 219
 130:	31 05       	cpc	r19, r1
 132:	69 f1       	breq	.+90     	; 0x18e <Get_Key+0xf0>
 134:	2c 3d       	cpi	r18, 0xDC	; 220
 136:	31 05       	cpc	r19, r1
 138:	24 f4       	brge	.+8      	; 0x142 <Get_Key+0xa4>
 13a:	27 3d       	cpi	r18, 0xD7	; 215
 13c:	31 05       	cpc	r19, r1
 13e:	79 f1       	breq	.+94     	; 0x19e <Get_Key+0x100>
 140:	34 c0       	rjmp	.+104    	; 0x1aa <Get_Key+0x10c>
 142:	2d 3d       	cpi	r18, 0xDD	; 221
 144:	31 05       	cpc	r19, r1
 146:	d9 f0       	breq	.+54     	; 0x17e <Get_Key+0xe0>

⌨️ 快捷键说明

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