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

📄 led_matrix2.lst

📁 1. LED点阵依次显示绿色
💻 LST
字号:

LED_MATRIX2.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .data         00000018  00800100  00000272  00000306  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  1 .text         00000272  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  2 .bss          00000018  00800118  00800118  0000031e  2**0
                  ALLOC
  3 .noinit       00000000  00800130  00800130  0000031e  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  0000031e  2**0
                  CONTENTS
  5 .debug_aranges 00000014  00000000  00000000  0000031e  2**0
                  CONTENTS, READONLY, DEBUGGING
  6 .debug_pubnames 000000b4  00000000  00000000  00000332  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_info   000002af  00000000  00000000  000003e6  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_abbrev 000000d7  00000000  00000000  00000695  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_line   00000198  00000000  00000000  0000076c  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_str    000000f9  00000000  00000000  00000904  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

00000000 <__vectors>:
   0:	0c 94 46 00 	jmp	0x8c
   4:	0c 94 63 00 	jmp	0xc6
   8:	0c 94 63 00 	jmp	0xc6
   c:	0c 94 63 00 	jmp	0xc6
  10:	0c 94 63 00 	jmp	0xc6
  14:	0c 94 63 00 	jmp	0xc6
  18:	0c 94 63 00 	jmp	0xc6
  1c:	0c 94 63 00 	jmp	0xc6
  20:	0c 94 63 00 	jmp	0xc6
  24:	0c 94 63 00 	jmp	0xc6
  28:	0c 94 63 00 	jmp	0xc6
  2c:	0c 94 63 00 	jmp	0xc6
  30:	0c 94 63 00 	jmp	0xc6
  34:	0c 94 63 00 	jmp	0xc6
  38:	0c 94 63 00 	jmp	0xc6
  3c:	0c 94 63 00 	jmp	0xc6
  40:	0c 94 63 00 	jmp	0xc6
  44:	0c 94 63 00 	jmp	0xc6
  48:	0c 94 63 00 	jmp	0xc6
  4c:	0c 94 63 00 	jmp	0xc6
  50:	0c 94 63 00 	jmp	0xc6
  54:	0c 94 63 00 	jmp	0xc6
  58:	0c 94 63 00 	jmp	0xc6
  5c:	0c 94 63 00 	jmp	0xc6
  60:	0c 94 63 00 	jmp	0xc6
  64:	0c 94 63 00 	jmp	0xc6
  68:	0c 94 63 00 	jmp	0xc6
  6c:	0c 94 63 00 	jmp	0xc6
  70:	0c 94 63 00 	jmp	0xc6
  74:	0c 94 63 00 	jmp	0xc6
  78:	0c 94 63 00 	jmp	0xc6
  7c:	0c 94 63 00 	jmp	0xc6
  80:	0c 94 63 00 	jmp	0xc6
  84:	0c 94 63 00 	jmp	0xc6
  88:	0c 94 63 00 	jmp	0xc6

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:	e2 e7       	ldi	r30, 0x72	; 114
  a0:	f2 e0       	ldi	r31, 0x02	; 2
  a2:	00 e0       	ldi	r16, 0x00	; 0
  a4:	0b bf       	out	0x3b, r16	; 59
  a6:	02 c0       	rjmp	.+4      	; 0xac

000000a8 <.__do_copy_data_loop>:
  a8:	07 90       	elpm	r0, Z+
  aa:	0d 92       	st	X+, r0

000000ac <.__do_copy_data_start>:
  ac:	a8 31       	cpi	r26, 0x18	; 24
  ae:	b1 07       	cpc	r27, r17
  b0:	d9 f7       	brne	.-10     	; 0xa8

000000b2 <__do_clear_bss>:
  b2:	11 e0       	ldi	r17, 0x01	; 1
  b4:	a8 e1       	ldi	r26, 0x18	; 24
  b6:	b1 e0       	ldi	r27, 0x01	; 1
  b8:	01 c0       	rjmp	.+2      	; 0xbc

000000ba <.do_clear_bss_loop>:
  ba:	1d 92       	st	X+, r1

000000bc <.do_clear_bss_start>:
  bc:	a0 33       	cpi	r26, 0x30	; 48
  be:	b1 07       	cpc	r27, r17
  c0:	e1 f7       	brne	.-8      	; 0xba
  c2:	0c 94 23 01 	jmp	0x246

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

000000ca <initialize_ppi>:
}

 void initialize_ppi(void)
{
  line=PPI_0_PA;
  ca:	80 e0       	ldi	r24, 0x00	; 0
  cc:	90 e5       	ldi	r25, 0x50	; 80
  ce:	90 93 29 01 	sts	0x0129, r25
  d2:	80 93 28 01 	sts	0x0128, r24
  green=PPI_0_PB;
  d6:	81 e0       	ldi	r24, 0x01	; 1
  d8:	90 e5       	ldi	r25, 0x50	; 80
  da:	90 93 2b 01 	sts	0x012B, r25
  de:	80 93 2a 01 	sts	0x012A, r24
  red=PPI_0_PC;
  e2:	82 e0       	ldi	r24, 0x02	; 2
  e4:	90 e5       	ldi	r25, 0x50	; 80
  e6:	90 93 2d 01 	sts	0x012D, r25
  ea:	80 93 2c 01 	sts	0x012C, r24
  ppi_ctrl=PPI_0_CT;
  ee:	83 e0       	ldi	r24, 0x03	; 3
  f0:	90 e5       	ldi	r25, 0x50	; 80
  f2:	90 93 2f 01 	sts	0x012F, r25
  f6:	80 93 2e 01 	sts	0x012E, r24
  *ppi_ctrl=0x80;               //82C55的 A, B都是输出
  fa:	80 e8       	ldi	r24, 0x80	; 128
  fc:	80 93 03 50 	sts	0x5003, r24
 100:	08 95       	ret

00000102 <move>:
}  

 void move(unsigned char *move1,unsigned char i)
 {
 102:	ac 01       	movw	r20, r24
    unsigned char k,j;
	k=0;
 104:	30 e0       	ldi	r19, 0x00	; 0
	j=7-i;
 106:	27 e0       	ldi	r18, 0x07	; 7
 108:	26 1b       	sub	r18, r22
	do{
	    font[j]=move1[k];            // 将move1的最高位字节移至font的最低位字节
 10a:	e2 2f       	mov	r30, r18
 10c:	ff 27       	eor	r31, r31
 10e:	e0 5e       	subi	r30, 0xE0	; 224
 110:	fe 4f       	sbci	r31, 0xFE	; 254
 112:	da 01       	movw	r26, r20
 114:	a3 0f       	add	r26, r19
 116:	b1 1d       	adc	r27, r1
 118:	8c 91       	ld	r24, X
 11a:	80 83       	st	Z, r24
		j++;
 11c:	2f 5f       	subi	r18, 0xFF	; 255
		k++;
 11e:	3f 5f       	subi	r19, 0xFF	; 255
	   }while(i--);
 120:	61 50       	subi	r22, 0x01	; 1
 122:	98 f7       	brcc	.-26     	; 0x10a
 124:	08 95       	ret

00000126 <delay>:
 126:	18 16       	cp	r1, r24
 128:	19 06       	cpc	r1, r25
 12a:	4c f4       	brge	.+18     	; 0x13e
 12c:	16 16       	cp	r1, r22
 12e:	17 06       	cpc	r1, r23
 130:	24 f4       	brge	.+8      	; 0x13a
 132:	9b 01       	movw	r18, r22
 134:	21 50       	subi	r18, 0x01	; 1
 136:	30 40       	sbci	r19, 0x00	; 0
 138:	e9 f7       	brne	.-6      	; 0x134
 13a:	01 97       	sbiw	r24, 0x01	; 1
 13c:	b9 f7       	brne	.-18     	; 0x12c
 13e:	08 95       	ret

00000140 <display>:
}



void display(unsigned char *green1,unsigned char *red1)
{
 140:	6f 92       	push	r6
 142:	7f 92       	push	r7
 144:	8f 92       	push	r8
 146:	9f 92       	push	r9
 148:	af 92       	push	r10
 14a:	bf 92       	push	r11
 14c:	cf 92       	push	r12
 14e:	df 92       	push	r13
 150:	ef 92       	push	r14
 152:	ff 92       	push	r15
 154:	0f 93       	push	r16
 156:	1f 93       	push	r17
 158:	cf 93       	push	r28
 15a:	df 93       	push	r29
 15c:	3c 01       	movw	r6, r24
 15e:	4b 01       	movw	r8, r22
  unsigned char i=0,j=0;
 160:	cc 24       	eor	r12, r12
 162:	91 e0       	ldi	r25, 0x01	; 1
 164:	a9 2e       	mov	r10, r25
 166:	b1 2c       	mov	r11, r1
 168:	74 01       	movw	r14, r8
 16a:	83 01       	movw	r16, r6
 16c:	c0 e0       	ldi	r28, 0x00	; 0
 16e:	d0 e0       	ldi	r29, 0x00	; 0
 170:	87 e0       	ldi	r24, 0x07	; 7
 172:	d8 2e       	mov	r13, r24
  for(j=0;j<20;j++)
  {                        // 点亮一种颜色的时间
      for(i=0;i<8;i++)
	  {                     // 点亮一种画面的时间
	     *green=green1[i];
 174:	e0 91 2a 01 	lds	r30, 0x012A
 178:	f0 91 2b 01 	lds	r31, 0x012B
 17c:	d8 01       	movw	r26, r16
 17e:	8d 91       	ld	r24, X+
 180:	8d 01       	movw	r16, r26
 182:	80 83       	st	Z, r24
		 *red=red1[i];
 184:	e0 91 2c 01 	lds	r30, 0x012C
 188:	f0 91 2d 01 	lds	r31, 0x012D
 18c:	d7 01       	movw	r26, r14
 18e:	8d 91       	ld	r24, X+
 190:	7d 01       	movw	r14, r26
 192:	80 83       	st	Z, r24
		 *line=(0x01<<i);
 194:	e0 91 28 01 	lds	r30, 0x0128
 198:	f0 91 29 01 	lds	r31, 0x0129
 19c:	c5 01       	movw	r24, r10
 19e:	0c 2e       	mov	r0, r28
 1a0:	02 c0       	rjmp	.+4      	; 0x1a6
 1a2:	88 0f       	add	r24, r24
 1a4:	99 1f       	adc	r25, r25
 1a6:	0a 94       	dec	r0
 1a8:	e2 f7       	brpl	.-8      	; 0x1a2
 1aa:	80 83       	st	Z, r24
		 delay(100,70);            // 1 line on time
 1ac:	66 e4       	ldi	r22, 0x46	; 70
 1ae:	70 e0       	ldi	r23, 0x00	; 0
 1b0:	84 e6       	ldi	r24, 0x64	; 100
 1b2:	90 e0       	ldi	r25, 0x00	; 0
 1b4:	0e 94 93 00 	call	0x126
 1b8:	da 94       	dec	r13
 1ba:	21 96       	adiw	r28, 0x01	; 1
 1bc:	d7 fe       	sbrs	r13, 7
 1be:	da cf       	rjmp	.-76     	; 0x174
 1c0:	c3 94       	inc	r12
 1c2:	b3 e1       	ldi	r27, 0x13	; 19
 1c4:	bc 15       	cp	r27, r12
 1c6:	80 f6       	brcc	.-96     	; 0x168
 1c8:	df 91       	pop	r29
 1ca:	cf 91       	pop	r28
 1cc:	1f 91       	pop	r17
 1ce:	0f 91       	pop	r16
 1d0:	ff 90       	pop	r15
 1d2:	ef 90       	pop	r14
 1d4:	df 90       	pop	r13
 1d6:	cf 90       	pop	r12
 1d8:	bf 90       	pop	r11
 1da:	af 90       	pop	r10
 1dc:	9f 90       	pop	r9
 1de:	8f 90       	pop	r8
 1e0:	7f 90       	pop	r7
 1e2:	6f 90       	pop	r6
 1e4:	08 95       	ret

000001e6 <matrix>:
 1e6:	0f 93       	push	r16
 1e8:	1f 93       	push	r17
 1ea:	cf 93       	push	r28
 1ec:	8c 01       	movw	r16, r24
 1ee:	c0 e0       	ldi	r28, 0x00	; 0
 1f0:	6c 2f       	mov	r22, r28
 1f2:	c8 01       	movw	r24, r16
 1f4:	0e 94 81 00 	call	0x102
 1f8:	60 e2       	ldi	r22, 0x20	; 32
 1fa:	71 e0       	ldi	r23, 0x01	; 1
 1fc:	88 e1       	ldi	r24, 0x18	; 24
 1fe:	91 e0       	ldi	r25, 0x01	; 1
 200:	0e 94 a0 00 	call	0x140
 204:	cf 5f       	subi	r28, 0xFF	; 255
 206:	c8 30       	cpi	r28, 0x08	; 8
 208:	98 f3       	brcs	.-26     	; 0x1f0
 20a:	c3 e0       	ldi	r28, 0x03	; 3
 20c:	60 e2       	ldi	r22, 0x20	; 32
 20e:	71 e0       	ldi	r23, 0x01	; 1
 210:	cb 01       	movw	r24, r22
 212:	0e 94 a0 00 	call	0x140
 216:	c1 50       	subi	r28, 0x01	; 1
 218:	c7 ff       	sbrs	r28, 7
 21a:	f8 cf       	rjmp	.-16     	; 0x20c
 21c:	c3 e0       	ldi	r28, 0x03	; 3
 21e:	68 e1       	ldi	r22, 0x18	; 24
 220:	71 e0       	ldi	r23, 0x01	; 1
 222:	80 e2       	ldi	r24, 0x20	; 32
 224:	91 e0       	ldi	r25, 0x01	; 1
 226:	0e 94 a0 00 	call	0x140
 22a:	c1 50       	subi	r28, 0x01	; 1
 22c:	c7 ff       	sbrs	r28, 7
 22e:	f7 cf       	rjmp	.-18     	; 0x21e
 230:	e0 e2       	ldi	r30, 0x20	; 32
 232:	f1 e0       	ldi	r31, 0x01	; 1
 234:	c7 e0       	ldi	r28, 0x07	; 7
 236:	11 92       	st	Z+, r1
 238:	c1 50       	subi	r28, 0x01	; 1
 23a:	c7 ff       	sbrs	r28, 7
 23c:	fc cf       	rjmp	.-8      	; 0x236
 23e:	cf 91       	pop	r28
 240:	1f 91       	pop	r17
 242:	0f 91       	pop	r16
 244:	08 95       	ret

00000246 <main>:
 246:	cf ef       	ldi	r28, 0xFF	; 255
 248:	d0 e1       	ldi	r29, 0x10	; 16
 24a:	de bf       	out	0x3e, r29	; 62
 24c:	cd bf       	out	0x3d, r28	; 61
 24e:	85 b7       	in	r24, 0x35	; 53
 250:	80 68       	ori	r24, 0x80	; 128
 252:	85 bf       	out	0x35, r24	; 53
 254:	0e 94 65 00 	call	0xca
 258:	80 e1       	ldi	r24, 0x10	; 16
 25a:	91 e0       	ldi	r25, 0x01	; 1
 25c:	0e 94 f3 00 	call	0x1e6
 260:	88 e0       	ldi	r24, 0x08	; 8
 262:	91 e0       	ldi	r25, 0x01	; 1
 264:	0e 94 f3 00 	call	0x1e6
 268:	80 e0       	ldi	r24, 0x00	; 0
 26a:	91 e0       	ldi	r25, 0x01	; 1
 26c:	0e 94 f3 00 	call	0x1e6
 270:	f3 cf       	rjmp	.-26     	; 0x258

⌨️ 快捷键说明

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