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

📄 hjmcu.lss

📁 很实用的单片机例程
💻 LSS
字号:

hjmcu.elf:     file format elf32-avr

Sections:
Idx Name          Size      VMA       LMA       File off  Algn
  0 .text         000000da  00000000  00000000  00000094  2**0
                  CONTENTS, ALLOC, LOAD, READONLY, CODE
  1 .data         00000000  00800060  000000da  0000016e  2**0
                  CONTENTS, ALLOC, LOAD, DATA
  2 .bss          00000000  00800060  000000da  0000016e  2**0
                  ALLOC
  3 .noinit       00000000  00800060  00800060  0000016e  2**0
                  CONTENTS
  4 .eeprom       00000000  00810000  00810000  0000016e  2**0
                  CONTENTS
  5 .stab         0000036c  00000000  00000000  00000170  2**2
                  CONTENTS, READONLY, DEBUGGING
  6 .stabstr      00000084  00000000  00000000  000004dc  2**0
                  CONTENTS, READONLY, DEBUGGING
  7 .debug_aranges 00000014  00000000  00000000  00000560  2**0
                  CONTENTS, READONLY, DEBUGGING
  8 .debug_pubnames 0000001b  00000000  00000000  00000574  2**0
                  CONTENTS, READONLY, DEBUGGING
  9 .debug_info   0000013d  00000000  00000000  0000058f  2**0
                  CONTENTS, READONLY, DEBUGGING
 10 .debug_abbrev 000000c2  00000000  00000000  000006cc  2**0
                  CONTENTS, READONLY, DEBUGGING
 11 .debug_line   000000f4  00000000  00000000  0000078e  2**0
                  CONTENTS, READONLY, DEBUGGING
 12 .debug_str    000000b1  00000000  00000000  00000882  2**0
                  CONTENTS, READONLY, DEBUGGING
Disassembly of section .text:

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

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:	ea ed       	ldi	r30, 0xDA	; 218
  68:	f0 e0       	ldi	r31, 0x00	; 0
  6a:	02 c0       	rjmp	.+4      	; 0x70 <.do_copy_data_start>

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 <.do_copy_data_loop>

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 <.do_clear_bss_start>

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

00000080 <.do_clear_bss_start>:
  80:	a0 36       	cpi	r26, 0x60	; 96
  82:	b1 07       	cpc	r27, r17
  84:	e1 f7       	brne	.-8      	; 0x7e <.do_clear_bss_loop>
  86:	0c 94 47 00 	jmp	0x8e <main>

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

0000008e <main>:
#include <avr/io.h>        
#include <util/delay.h>

int main(void)            
{
  8e:	cf e5       	ldi	r28, 0x5F	; 95
  90:	d4 e0       	ldi	r29, 0x04	; 4
  92:	de bf       	out	0x3e, r29	; 62
  94:	cd bf       	out	0x3d, r28	; 61
		
	PORTB = 0X00;      //输出低,LED不亮
  96:	18 ba       	out	0x18, r1	; 24
	DDRB = 0Xff;      //PB端口置为输出口,
  98:	8f ef       	ldi	r24, 0xFF	; 255
  9a:	87 bb       	out	0x17, r24	; 23
	
	PORTD = 0Xc0;     //一定要使能上拉电阻,否则会有干扰
  9c:	80 ec       	ldi	r24, 0xC0	; 192
  9e:	82 bb       	out	0x12, r24	; 18
	DDRD = 0X3F;      //K3、K4按键(PD6、PD7)设置为输入端口
  a0:	8f e3       	ldi	r24, 0x3F	; 63
  a2:	81 bb       	out	0x11, r24	; 17
  a4:	a8 e8       	ldi	r26, 0x88	; 136
  a6:	b3 e1       	ldi	r27, 0x13	; 19
  a8:	c0 e0       	ldi	r28, 0x00	; 0
  aa:	d0 e0       	ldi	r29, 0x00	; 0
  ac:	35 e5       	ldi	r19, 0x55	; 85
  ae:	2a ea       	ldi	r18, 0xAA	; 170
	
	while(1)
	{
		if(!(PIND & (1 <<  PD6)))     //判断按键是否按下
  b0:	86 99       	sbic	0x10, 6	; 16
  b2:	08 c0       	rjmp	.+16     	; 0xc4 <main+0x36>
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  b4:	cd 01       	movw	r24, r26
  b6:	01 97       	sbiw	r24, 0x01	; 1
  b8:	f1 f7       	brne	.-4      	; 0xb6 <main+0x28>
		{
			_delay_ms(20);         //判断按键按下,延时一会再判断是否按下, 以消除干扰
			if(!(PIND & (1 <<  PD6)))    // 按键真正按下后,进行相应处理
  ba:	86 99       	sbic	0x10, 6	; 16
  bc:	03 c0       	rjmp	.+6      	; 0xc4 <main+0x36>
			{
				PORTB = 0X55;	         //		按键按下,灯亮	
  be:	38 bb       	out	0x18, r19	; 24
				while(!(PIND & (1 <<  PD6)));//等待按键释放
  c0:	86 9b       	sbis	0x10, 6	; 16
  c2:	fe cf       	rjmp	.-4      	; 0xc0 <main+0x32>
				//PORTB = 0X55;          //  把这句话从上面移到这里,按键释放后,灯才点亮
			}
		}
		
		if(!(PIND & (1 <<  PD7)))     //判断按键是否按下
  c4:	87 99       	sbic	0x10, 7	; 16
  c6:	f4 cf       	rjmp	.-24     	; 0xb0 <main+0x22>
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
  c8:	cd 01       	movw	r24, r26
  ca:	01 97       	sbiw	r24, 0x01	; 1
  cc:	f1 f7       	brne	.-4      	; 0xca <main+0x3c>
		{
			_delay_ms(20);         //判断按键按下,延时一会再判断是否按下, 以消除干扰
			if(!(PIND & (1 <<  PD7)))    // 按键真正按下后,进行相应处理
  ce:	87 99       	sbic	0x10, 7	; 16
  d0:	ef cf       	rjmp	.-34     	; 0xb0 <main+0x22>
			{
				PORTB = 0Xaa;		      //
  d2:	28 bb       	out	0x18, r18	; 24
				while(!(PIND & (1 <<  PD7)));  //
  d4:	87 9b       	sbis	0x10, 7	; 16
  d6:	fe cf       	rjmp	.-4      	; 0xd4 <main+0x46>
  d8:	eb cf       	rjmp	.-42     	; 0xb0 <main+0x22>

⌨️ 快捷键说明

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