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

📄 main.lss

📁 avr单片机的ad转换例程 可以拷贝过来直接使用
💻 LSS
📖 第 1 页 / 共 2 页
字号:
 1cc:	90 93 3c 01 	sts	0x013C, r25
 1d0:	80 93 3b 01 	sts	0x013B, r24
    line4 = "";
 1d4:	90 93 37 01 	sts	0x0137, r25
 1d8:	80 93 36 01 	sts	0x0136, r24
	initlcd();
 1dc:	8a df       	rcall	.-236    	; 0xf2 <initlcd>
	clear();
 1de:	96 df       	rcall	.-212    	; 0x10c <clear>
 1e0:	08 95       	ret

000001e2 <get_ad>:
}

uchar get_ad(void) 
{   uchar  i;
 1e2:	80 e6       	ldi	r24, 0x60	; 96
 1e4:	80 93 7c 00 	sts	0x007C, r24
	ADMUX = 0x60;			/*基准AVCC、左对齐、通0*/
	ADCSRA = 0xC2;			/*使能、开启、4分频*/
 1e8:	92 ec       	ldi	r25, 0xC2	; 194
 1ea:	90 93 7a 00 	sts	0x007A, r25
	ADMUX = 0x67;			/*基准AVCC、左对齐、通道7*/
 1ee:	87 e6       	ldi	r24, 0x67	; 103
 1f0:	80 93 7c 00 	sts	0x007C, r24
	ADCSRA = 0xC2;			/*使能、开启、4分频*/
 1f4:	90 93 7a 00 	sts	0x007A, r25
	while(!(ADCSRA & (1 << ADIF)));	/*等待*/
 1f8:	80 91 7a 00 	lds	r24, 0x007A
 1fc:	84 ff       	sbrs	r24, 4
 1fe:	fc cf       	rjmp	.-8      	; 0x1f8 <get_ad+0x16>
	i=ADCH;
 200:	80 91 79 00 	lds	r24, 0x0079
	ADCSRA &= ~(1 << ADIF);		/*清标志*/
 204:	90 91 7a 00 	lds	r25, 0x007A
 208:	9f 7e       	andi	r25, 0xEF	; 239
 20a:	90 93 7a 00 	sts	0x007A, r25
	ADCSRA &= ~(1 << ADEN);		/*关闭转换*/
 20e:	90 91 7a 00 	lds	r25, 0x007A
 212:	9f 77       	andi	r25, 0x7F	; 127
 214:	90 93 7a 00 	sts	0x007A, r25
	return i;
}
 218:	99 27       	eor	r25, r25
 21a:	08 95       	ret

0000021c <__vector_4>:

int main(void)
{
 uchar i;
 IO_INT();
 system_init();
 PCICR=0x03;
 PCIFR=0x03;
 PCMSK1=0x02;
 PCMSK0=0x40;
 sei();
	while(1)
	{   
	    get_ad();
		i=get_ad();
		v=i;
		num_do(v);
        wcom(0x94);
        wdata(table[nb]);
        wcom(0x95);
        wdata(table[ns]);
		wcom(0x96);
        wdata(table[ng]);
	    
		line1 = "AVR_ATmega48 PRO";
        line2 = "ADC-7 V=";		
		display();

		PORTB |=(1 << PB7);
		_delay_ms(255);
		_delay_ms(255);
		PORTB &=~(1 << PB7);
	}

 }
 
ISR(PCINT1_vect)
{
 21c:	1f 92       	push	r1
 21e:	0f 92       	push	r0
 220:	0f b6       	in	r0, 0x3f	; 63
 222:	0f 92       	push	r0
 224:	11 24       	eor	r1, r1
 226:	0f 93       	push	r16
 228:	1f 93       	push	r17
 22a:	2f 93       	push	r18
 22c:	3f 93       	push	r19
 22e:	4f 93       	push	r20
 230:	5f 93       	push	r21
 232:	6f 93       	push	r22
 234:	7f 93       	push	r23
 236:	8f 93       	push	r24
 238:	9f 93       	push	r25
 23a:	af 93       	push	r26
 23c:	bf 93       	push	r27
 23e:	ef 93       	push	r30
 240:	ff 93       	push	r31
 
 line3 = "写入V=";
 242:	81 e0       	ldi	r24, 0x01	; 1
 244:	91 e0       	ldi	r25, 0x01	; 1
 246:	90 93 3c 01 	sts	0x013C, r25
 24a:	80 93 3b 01 	sts	0x013B, r24
 display();
 24e:	63 df       	rcall	.-314    	; 0x116 <display>
 num_do(v);
 250:	80 91 38 01 	lds	r24, 0x0138
 254:	0b df       	rcall	.-490    	; 0x6c <num_do>
 wcom(0x8b);
 256:	8b e8       	ldi	r24, 0x8B	; 139
 258:	34 df       	rcall	.-408    	; 0xc2 <wcom>
 wdata(table[nb]);
 25a:	80 91 3f 01 	lds	r24, 0x013F
 25e:	09 e2       	ldi	r16, 0x29	; 41
 260:	11 e0       	ldi	r17, 0x01	; 1
 262:	f8 01       	movw	r30, r16
 264:	e8 0f       	add	r30, r24
 266:	f1 1d       	adc	r31, r1
 268:	80 81       	ld	r24, Z
 26a:	37 df       	rcall	.-402    	; 0xda <wdata>
 wcom(0x8c);
 26c:	8c e8       	ldi	r24, 0x8C	; 140
 26e:	29 df       	rcall	.-430    	; 0xc2 <wcom>
 wdata(table[ns]);
 270:	80 91 34 01 	lds	r24, 0x0134
 274:	f8 01       	movw	r30, r16
 276:	e8 0f       	add	r30, r24
 278:	f1 1d       	adc	r31, r1
 27a:	80 81       	ld	r24, Z
 27c:	2e df       	rcall	.-420    	; 0xda <wdata>
 wcom(0x8d);
 27e:	8d e8       	ldi	r24, 0x8D	; 141
 280:	20 df       	rcall	.-448    	; 0xc2 <wcom>
 wdata(table[ng]);
 282:	80 91 35 01 	lds	r24, 0x0135
 286:	08 0f       	add	r16, r24
 288:	11 1d       	adc	r17, r1
 28a:	f8 01       	movw	r30, r16
 28c:	80 81       	ld	r24, Z
 28e:	25 df       	rcall	.-438    	; 0xda <wdata>

void 
eeprom_write_byte (uint8_t *addr,uint8_t value)
{
  __asm__ __volatile__ (
 290:	80 91 38 01 	lds	r24, 0x0138
 294:	a0 e0       	ldi	r26, 0x00	; 0
 296:	b0 e0       	ldi	r27, 0x00	; 0
 298:	08 2e       	mov	r0, r24
 29a:	ba d0       	rcall	.+372    	; 0x410 <__eeprom_write_byte_1F2021>
 29c:	ff 91       	pop	r31
 29e:	ef 91       	pop	r30
 2a0:	bf 91       	pop	r27
 2a2:	af 91       	pop	r26
 2a4:	9f 91       	pop	r25
 2a6:	8f 91       	pop	r24
 2a8:	7f 91       	pop	r23
 2aa:	6f 91       	pop	r22
 2ac:	5f 91       	pop	r21
 2ae:	4f 91       	pop	r20
 2b0:	3f 91       	pop	r19
 2b2:	2f 91       	pop	r18
 2b4:	1f 91       	pop	r17
 2b6:	0f 91       	pop	r16
 2b8:	0f 90       	pop	r0
 2ba:	0f be       	out	0x3f, r0	; 63
 2bc:	0f 90       	pop	r0
 2be:	1f 90       	pop	r1
 2c0:	18 95       	reti

000002c2 <__vector_3>:
 eeprom_write_byte (0x00,v);	
}


ISR(PCINT0_vect)
{
 2c2:	1f 92       	push	r1
 2c4:	0f 92       	push	r0
 2c6:	0f b6       	in	r0, 0x3f	; 63
 2c8:	0f 92       	push	r0
 2ca:	11 24       	eor	r1, r1
 2cc:	0f 93       	push	r16
 2ce:	1f 93       	push	r17
 2d0:	2f 93       	push	r18
 2d2:	3f 93       	push	r19
 2d4:	4f 93       	push	r20
 2d6:	5f 93       	push	r21
 2d8:	6f 93       	push	r22
 2da:	7f 93       	push	r23
 2dc:	8f 93       	push	r24
 2de:	9f 93       	push	r25
 2e0:	af 93       	push	r26
 2e2:	bf 93       	push	r27
 2e4:	ef 93       	push	r30
 2e6:	ff 93       	push	r31
 uchar i;
 line4 = "读出V=";
 2e8:	88 e0       	ldi	r24, 0x08	; 8
 2ea:	91 e0       	ldi	r25, 0x01	; 1
 2ec:	90 93 37 01 	sts	0x0137, r25
 2f0:	80 93 36 01 	sts	0x0136, r24
 display();
 2f4:	10 df       	rcall	.-480    	; 0x116 <display>
uint8_t 
eeprom_read_byte (const uint8_t *addr) 
{
  uint8_t result;
  __asm__ __volatile__
 2f6:	a0 e0       	ldi	r26, 0x00	; 0
 2f8:	b0 e0       	ldi	r27, 0x00	; 0
 2fa:	82 d0       	rcall	.+260    	; 0x400 <__eeprom_read_byte_1F2021>
 2fc:	80 2d       	mov	r24, r0
 i=eeprom_read_byte (0x00);
 num_do(i);
 2fe:	b6 de       	rcall	.-660    	; 0x6c <num_do>
 wcom(0x9b);
 300:	8b e9       	ldi	r24, 0x9B	; 155
 302:	df de       	rcall	.-578    	; 0xc2 <wcom>
 wdata(table[nb]);
 304:	80 91 3f 01 	lds	r24, 0x013F
 308:	09 e2       	ldi	r16, 0x29	; 41
 30a:	11 e0       	ldi	r17, 0x01	; 1
 30c:	f8 01       	movw	r30, r16
 30e:	e8 0f       	add	r30, r24
 310:	f1 1d       	adc	r31, r1
 312:	80 81       	ld	r24, Z
 314:	e2 de       	rcall	.-572    	; 0xda <wdata>
 wcom(0x9c);
 316:	8c e9       	ldi	r24, 0x9C	; 156
 318:	d4 de       	rcall	.-600    	; 0xc2 <wcom>
 wdata(table[ns]);
 31a:	80 91 34 01 	lds	r24, 0x0134
 31e:	f8 01       	movw	r30, r16
 320:	e8 0f       	add	r30, r24
 322:	f1 1d       	adc	r31, r1
 324:	80 81       	ld	r24, Z
 326:	d9 de       	rcall	.-590    	; 0xda <wdata>
 wcom(0x9d);
 328:	8d e9       	ldi	r24, 0x9D	; 157
 32a:	cb de       	rcall	.-618    	; 0xc2 <wcom>
 wdata(table[ng]);
 32c:	80 91 35 01 	lds	r24, 0x0135
 330:	08 0f       	add	r16, r24
 332:	11 1d       	adc	r17, r1
 334:	f8 01       	movw	r30, r16
 336:	80 81       	ld	r24, Z
 338:	d0 de       	rcall	.-608    	; 0xda <wdata>
 33a:	ff 91       	pop	r31
 33c:	ef 91       	pop	r30
 33e:	bf 91       	pop	r27
 340:	af 91       	pop	r26
 342:	9f 91       	pop	r25
 344:	8f 91       	pop	r24
 346:	7f 91       	pop	r23
 348:	6f 91       	pop	r22
 34a:	5f 91       	pop	r21
 34c:	4f 91       	pop	r20
 34e:	3f 91       	pop	r19
 350:	2f 91       	pop	r18
 352:	1f 91       	pop	r17
 354:	0f 91       	pop	r16
 356:	0f 90       	pop	r0
 358:	0f be       	out	0x3f, r0	; 63
 35a:	0f 90       	pop	r0
 35c:	1f 90       	pop	r1
 35e:	18 95       	reti

00000360 <main>:
 360:	97 de       	rcall	.-722    	; 0x90 <IO_INT>
 362:	2a df       	rcall	.-428    	; 0x1b8 <system_init>
 364:	83 e0       	ldi	r24, 0x03	; 3
 366:	80 93 68 00 	sts	0x0068, r24
 36a:	8b bb       	out	0x1b, r24	; 27
 36c:	82 e0       	ldi	r24, 0x02	; 2
 36e:	80 93 6c 00 	sts	0x006C, r24
 372:	80 e4       	ldi	r24, 0x40	; 64
 374:	80 93 6b 00 	sts	0x006B, r24
 378:	78 94       	sei
 37a:	33 df       	rcall	.-410    	; 0x1e2 <get_ad>
 37c:	32 df       	rcall	.-412    	; 0x1e2 <get_ad>
 37e:	80 93 38 01 	sts	0x0138, r24
 382:	74 de       	rcall	.-792    	; 0x6c <num_do>
 384:	84 e9       	ldi	r24, 0x94	; 148
 386:	9d de       	rcall	.-710    	; 0xc2 <wcom>
 388:	e0 91 3f 01 	lds	r30, 0x013F
 38c:	ff 27       	eor	r31, r31
 38e:	e7 5d       	subi	r30, 0xD7	; 215
 390:	fe 4f       	sbci	r31, 0xFE	; 254
 392:	80 81       	ld	r24, Z
 394:	a2 de       	rcall	.-700    	; 0xda <wdata>
 396:	85 e9       	ldi	r24, 0x95	; 149
 398:	94 de       	rcall	.-728    	; 0xc2 <wcom>
 39a:	e0 91 34 01 	lds	r30, 0x0134
 39e:	ff 27       	eor	r31, r31
 3a0:	e7 5d       	subi	r30, 0xD7	; 215
 3a2:	fe 4f       	sbci	r31, 0xFE	; 254
 3a4:	80 81       	ld	r24, Z
 3a6:	99 de       	rcall	.-718    	; 0xda <wdata>
 3a8:	86 e9       	ldi	r24, 0x96	; 150
 3aa:	8b de       	rcall	.-746    	; 0xc2 <wcom>
 3ac:	e0 91 35 01 	lds	r30, 0x0135
 3b0:	ff 27       	eor	r31, r31
 3b2:	e7 5d       	subi	r30, 0xD7	; 215
 3b4:	fe 4f       	sbci	r31, 0xFE	; 254
 3b6:	80 81       	ld	r24, Z
 3b8:	90 de       	rcall	.-736    	; 0xda <wdata>
 3ba:	8f e0       	ldi	r24, 0x0F	; 15
 3bc:	91 e0       	ldi	r25, 0x01	; 1
 3be:	90 93 3a 01 	sts	0x013A, r25
 3c2:	80 93 39 01 	sts	0x0139, r24
 3c6:	80 e2       	ldi	r24, 0x20	; 32
 3c8:	91 e0       	ldi	r25, 0x01	; 1
 3ca:	90 93 3e 01 	sts	0x013E, r25
 3ce:	80 93 3d 01 	sts	0x013D, r24
 3d2:	a1 de       	rcall	.-702    	; 0x116 <display>
 3d4:	2f 9a       	sbi	0x05, 7	; 5
 */
void
_delay_loop_2(uint16_t __count)
{
	__asm__ volatile (
 3d6:	86 e0       	ldi	r24, 0x06	; 6
 3d8:	99 ef       	ldi	r25, 0xF9	; 249
 3da:	fc 01       	movw	r30, r24
 3dc:	31 97       	sbiw	r30, 0x01	; 1
 3de:	f1 f7       	brne	.-4      	; 0x3dc <main+0x7c>
 3e0:	01 97       	sbiw	r24, 0x01	; 1
 3e2:	f1 f7       	brne	.-4      	; 0x3e0 <main+0x80>
 3e4:	2f 98       	cbi	0x05, 7	; 5
 3e6:	c9 cf       	rjmp	.-110    	; 0x37a <main+0x1a>

000003e8 <__udivmodqi4>:
 3e8:	99 1b       	sub	r25, r25
 3ea:	79 e0       	ldi	r23, 0x09	; 9
 3ec:	04 c0       	rjmp	.+8      	; 0x3f6 <__udivmodqi4_ep>

000003ee <__udivmodqi4_loop>:
 3ee:	99 1f       	adc	r25, r25
 3f0:	96 17       	cp	r25, r22
 3f2:	08 f0       	brcs	.+2      	; 0x3f6 <__udivmodqi4_ep>
 3f4:	96 1b       	sub	r25, r22

000003f6 <__udivmodqi4_ep>:
 3f6:	88 1f       	adc	r24, r24
 3f8:	7a 95       	dec	r23
 3fa:	c9 f7       	brne	.-14     	; 0x3ee <__udivmodqi4_loop>
 3fc:	80 95       	com	r24
 3fe:	08 95       	ret

00000400 <__eeprom_read_byte_1F2021>:
 400:	f9 99       	sbic	0x1f, 1	; 31
 402:	fe cf       	rjmp	.-4      	; 0x400 <__eeprom_read_byte_1F2021>
 404:	b2 bd       	out	0x22, r27	; 34
 406:	a1 bd       	out	0x21, r26	; 33
 408:	f8 9a       	sbi	0x1f, 0	; 31
 40a:	11 96       	adiw	r26, 0x01	; 1
 40c:	00 b4       	in	r0, 0x20	; 32
 40e:	08 95       	ret

00000410 <__eeprom_write_byte_1F2021>:
 410:	f9 99       	sbic	0x1f, 1	; 31
 412:	fe cf       	rjmp	.-4      	; 0x410 <__eeprom_write_byte_1F2021>
 414:	b2 bd       	out	0x22, r27	; 34
 416:	a1 bd       	out	0x21, r26	; 33
 418:	00 bc       	out	0x20, r0	; 32
 41a:	11 96       	adiw	r26, 0x01	; 1
 41c:	0f b6       	in	r0, 0x3f	; 63
 41e:	f8 94       	cli
 420:	fa 9a       	sbi	0x1f, 2	; 31
 422:	f9 9a       	sbi	0x1f, 1	; 31
 424:	0f be       	out	0x3f, r0	; 63
 426:	08 95       	ret

00000428 <_exit>:
 428:	ff cf       	rjmp	.-2      	; 0x428 <_exit>

⌨️ 快捷键说明

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