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

📄 essai.lss

📁 ds1302 and adc conversion test program on atmega device
💻 LSS
📖 第 1 页 / 共 5 页
字号:
0000035e <lcd_puts>:

void lcd_puts(char *str)
	{
     35e:	cf 93       	push	r28
     360:	df 93       	push	r29
     362:	ec 01       	movw	r28, r24
     364:	03 c0       	rjmp	.+6      	; 0x36c <lcd_puts+0xe>
	while(*str != 0x00)
		{
		ecrit_data_lcd(*str++);
     366:	21 96       	adiw	r28, 0x01	; 1
     368:	0e 94 4e 01 	call	0x29c	; 0x29c <ecrit_data_lcd>
	ecrit_instr_lcd(0x01);
	}

void lcd_puts(char *str)
	{
	while(*str != 0x00)
     36c:	88 81       	ld	r24, Y
     36e:	88 23       	and	r24, r24
     370:	d1 f7       	brne	.-12     	; 0x366 <lcd_puts+0x8>
		{
		ecrit_data_lcd(*str++);
		}
	}
     372:	df 91       	pop	r29
     374:	cf 91       	pop	r28
     376:	08 95       	ret

00000378 <main>:
double humidite;
double temperature;
char *temperature_str="00.0";
char *humidite_str="000";
int main(void)
	{
     378:	cf 92       	push	r12
     37a:	df 92       	push	r13
     37c:	ef 92       	push	r14
     37e:	ff 92       	push	r15
     380:	0f 93       	push	r16
     382:	1f 93       	push	r17
     384:	cf 93       	push	r28
     386:	df 93       	push	r29
	DDRA=0xFC;
     388:	8c ef       	ldi	r24, 0xFC	; 252
     38a:	8a bb       	out	0x1a, r24	; 26
	PORTA=0xFC;
     38c:	8b bb       	out	0x1b, r24	; 27
	DDRD=0xFF;
     38e:	8f ef       	ldi	r24, 0xFF	; 255
     390:	81 bb       	out	0x11, r24	; 17
	DDRB=0x00;
     392:	17 ba       	out	0x17, r1	; 23
	DDRC=0x3F;
     394:	8f e3       	ldi	r24, 0x3F	; 63
     396:	84 bb       	out	0x14, r24	; 20
	ADCSRA=0x85;
     398:	85 e8       	ldi	r24, 0x85	; 133
     39a:	86 b9       	out	0x06, r24	; 6
	lcd_init();
     39c:	0e 94 66 01 	call	0x2cc	; 0x2cc <lcd_init>
	lcd_clear();
     3a0:	0e 94 ab 01 	call	0x356	; 0x356 <lcd_clear>
	ecrit_instr_lcd(0x80);
     3a4:	80 e8       	ldi	r24, 0x80	; 128
     3a6:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>

	//      ("L1-----------------+L3-0123456789ABCDEF+L2-0123456789ABCDEF+L4-0123456789ABCDEF+" );
//	while(1)
//	{

	lcd_puts(" 18/05/2009   08:00 _______    HUM:000 %TEMP:00.0  C        1-Setup|            ");
     3aa:	80 e8       	ldi	r24, 0x80	; 128
     3ac:	90 e0       	ldi	r25, 0x00	; 0
     3ae:	0e 94 af 01 	call	0x35e	; 0x35e <lcd_puts>
//	_delay_ms(1000);
//	lcd_puts("=======OPTION=======2-T Cons.   5-      1-Dat/Heu   4-      3-H Cons.   6-Retour");
//	_delay_ms(1000);	
//	}
ecrit_instr_lcd(0xCA);
     3b2:	8a ec       	ldi	r24, 0xCA	; 202
     3b4:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>
ecrit_data_lcd(0xDF);	
     3b8:	8f ed       	ldi	r24, 0xDF	; 223
     3ba:	0e 94 4e 01 	call	0x29c	; 0x29c <ecrit_data_lcd>
	while (1)
{
ADMUX=0x40;
     3be:	20 e4       	ldi	r18, 0x40	; 64
     3c0:	c2 2e       	mov	r12, r18
ADCSRA|=_BV(6);
while(bit_is_clear(ADCSRA, 4));
ADCSRA|=_BV(4);
temperature=(double)ADCW*100/1024;
dtostrf(temperature,3,1,temperature_str);
ecrit_instr_lcd(0xC5);
     3c2:	98 ee       	ldi	r25, 0xE8	; 232
     3c4:	e9 2e       	mov	r14, r25
     3c6:	93 e0       	ldi	r25, 0x03	; 3
     3c8:	f9 2e       	mov	r15, r25
     3ca:	c4 e6       	ldi	r28, 0x64	; 100
     3cc:	d0 e0       	ldi	r29, 0x00	; 0
_delay_ms(100);
lcd_puts(temperature_str);

ADMUX=0x41;
     3ce:	81 e4       	ldi	r24, 0x41	; 65
     3d0:	d8 2e       	mov	r13, r24
//	}
ecrit_instr_lcd(0xCA);
ecrit_data_lcd(0xDF);	
	while (1)
{
ADMUX=0x40;
     3d2:	c7 b8       	out	0x07, r12	; 7
ADCSRA|=_BV(6);
     3d4:	36 9a       	sbi	0x06, 6	; 6
while(bit_is_clear(ADCSRA, 4));
     3d6:	34 9b       	sbis	0x06, 4	; 6
     3d8:	fe cf       	rjmp	.-4      	; 0x3d6 <main+0x5e>
ADCSRA|=_BV(4);
     3da:	34 9a       	sbi	0x06, 4	; 6
temperature=(double)ADCW*100/1024;
     3dc:	64 b1       	in	r22, 0x04	; 4
     3de:	75 b1       	in	r23, 0x05	; 5
     3e0:	80 e0       	ldi	r24, 0x00	; 0
     3e2:	90 e0       	ldi	r25, 0x00	; 0
     3e4:	0e 94 67 03 	call	0x6ce	; 0x6ce <__floatunsisf>
     3e8:	20 e0       	ldi	r18, 0x00	; 0
     3ea:	30 e0       	ldi	r19, 0x00	; 0
     3ec:	48 ec       	ldi	r20, 0xC8	; 200
     3ee:	52 e4       	ldi	r21, 0x42	; 66
     3f0:	0e 94 6d 02 	call	0x4da	; 0x4da <__mulsf3>
     3f4:	20 e0       	ldi	r18, 0x00	; 0
     3f6:	30 e0       	ldi	r19, 0x00	; 0
     3f8:	40 e8       	ldi	r20, 0x80	; 128
     3fa:	5a e3       	ldi	r21, 0x3A	; 58
     3fc:	0e 94 6d 02 	call	0x4da	; 0x4da <__mulsf3>
     400:	9b 01       	movw	r18, r22
     402:	ac 01       	movw	r20, r24
     404:	20 93 00 02 	sts	0x0200, r18
     408:	30 93 01 02 	sts	0x0201, r19
     40c:	40 93 02 02 	sts	0x0202, r20
     410:	50 93 03 02 	sts	0x0203, r21
dtostrf(temperature,3,1,temperature_str);
     414:	00 91 eb 00 	lds	r16, 0x00EB
     418:	10 91 ec 00 	lds	r17, 0x00EC
     41c:	43 e0       	ldi	r20, 0x03	; 3
     41e:	50 e0       	ldi	r21, 0x00	; 0
     420:	21 e0       	ldi	r18, 0x01	; 1
     422:	30 e0       	ldi	r19, 0x00	; 0
     424:	0e 94 7c 05 	call	0xaf8	; 0xaf8 <dtostrf>
ecrit_instr_lcd(0xC5);
     428:	85 ec       	ldi	r24, 0xC5	; 197
     42a:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>
     42e:	88 ee       	ldi	r24, 0xE8	; 232
     430:	93 e0       	ldi	r25, 0x03	; 3
     432:	fe 01       	movw	r30, r28
     434:	31 97       	sbiw	r30, 0x01	; 1
     436:	f1 f7       	brne	.-4      	; 0x434 <main+0xbc>
		__ticks = (uint16_t) (__ms * 10.0);
		while(__ticks)
		{
			// wait 1/10 ms
			_delay_loop_2(((F_CPU) / 4e3) / 10);
			__ticks --;
     438:	01 97       	sbiw	r24, 0x01	; 1
		__ticks = 1;
	else if (__tmp > 65535)
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
		while(__ticks)
     43a:	d9 f7       	brne	.-10     	; 0x432 <main+0xba>
_delay_ms(100);
lcd_puts(temperature_str);
     43c:	80 91 eb 00 	lds	r24, 0x00EB
     440:	90 91 ec 00 	lds	r25, 0x00EC
     444:	0e 94 af 01 	call	0x35e	; 0x35e <lcd_puts>

ADMUX=0x41;
     448:	d7 b8       	out	0x07, r13	; 7
ADCSRA|=_BV(6);
     44a:	36 9a       	sbi	0x06, 6	; 6
while(bit_is_clear(ADCSRA, 4));
     44c:	34 9b       	sbis	0x06, 4	; 6
     44e:	fe cf       	rjmp	.-4      	; 0x44c <main+0xd4>
ADCSRA|=_BV(4);
     450:	34 9a       	sbi	0x06, 4	; 6
humidite=(double)ADCW*100/1024;
     452:	64 b1       	in	r22, 0x04	; 4
     454:	75 b1       	in	r23, 0x05	; 5
     456:	80 e0       	ldi	r24, 0x00	; 0
     458:	90 e0       	ldi	r25, 0x00	; 0
     45a:	0e 94 67 03 	call	0x6ce	; 0x6ce <__floatunsisf>
     45e:	20 e0       	ldi	r18, 0x00	; 0
     460:	30 e0       	ldi	r19, 0x00	; 0
     462:	48 ec       	ldi	r20, 0xC8	; 200
     464:	52 e4       	ldi	r21, 0x42	; 66
     466:	0e 94 6d 02 	call	0x4da	; 0x4da <__mulsf3>
     46a:	20 e0       	ldi	r18, 0x00	; 0
     46c:	30 e0       	ldi	r19, 0x00	; 0
     46e:	40 e8       	ldi	r20, 0x80	; 128
     470:	5a e3       	ldi	r21, 0x3A	; 58
     472:	0e 94 6d 02 	call	0x4da	; 0x4da <__mulsf3>
     476:	9b 01       	movw	r18, r22
     478:	ac 01       	movw	r20, r24
     47a:	20 93 fc 01 	sts	0x01FC, r18
     47e:	30 93 fd 01 	sts	0x01FD, r19
     482:	40 93 fe 01 	sts	0x01FE, r20
     486:	50 93 ff 01 	sts	0x01FF, r21
dtostrf(humidite,3,0,humidite_str);
     48a:	00 91 f1 00 	lds	r16, 0x00F1
     48e:	10 91 f2 00 	lds	r17, 0x00F2
     492:	43 e0       	ldi	r20, 0x03	; 3
     494:	50 e0       	ldi	r21, 0x00	; 0
     496:	20 e0       	ldi	r18, 0x00	; 0
     498:	30 e0       	ldi	r19, 0x00	; 0
     49a:	0e 94 7c 05 	call	0xaf8	; 0xaf8 <dtostrf>
ecrit_instr_lcd(0xA3);
     49e:	83 ea       	ldi	r24, 0xA3	; 163
     4a0:	0e 94 1b 01 	call	0x236	; 0x236 <ecrit_instr_lcd>
     4a4:	88 ee       	ldi	r24, 0xE8	; 232
     4a6:	93 e0       	ldi	r25, 0x03	; 3
     4a8:	fe 01       	movw	r30, r28
     4aa:	31 97       	sbiw	r30, 0x01	; 1
     4ac:	f1 f7       	brne	.-4      	; 0x4aa <main+0x132>
		{
			// wait 1/10 ms
			_delay_loop_2(((F_CPU) / 4e3) / 10);
			__ticks --;
     4ae:	01 97       	sbiw	r24, 0x01	; 1
		__ticks = 1;
	else if (__tmp > 65535)
	{
		//	__ticks = requested delay in 1/10 ms
		__ticks = (uint16_t) (__ms * 10.0);
		while(__ticks)
     4b0:	d9 f7       	brne	.-10     	; 0x4a8 <main+0x130>
_delay_ms(100);
lcd_puts(humidite_str);
     4b2:	80 91 f1 00 	lds	r24, 0x00F1
     4b6:	90 91 f2 00 	lds	r25, 0x00F2
     4ba:	0e 94 af 01 	call	0x35e	; 0x35e <lcd_puts>
unsigned char A = "";
A=getkey();
     4be:	0e 94 c6 00 	call	0x18c	; 0x18c <getkey>
if (A == "1") {lcd_puts("     18/05/2009     ");}
     4c2:	90 e0       	ldi	r25, 0x00	; 0
     4c4:	82 57       	subi	r24, 0x72	; 114
     4c6:	90 40       	sbci	r25, 0x00	; 0
     4c8:	21 f4       	brne	.+8      	; 0x4d2 <main+0x15a>
     4ca:	81 ed       	ldi	r24, 0xD1	; 209
     4cc:	90 e0       	ldi	r25, 0x00	; 0
     4ce:	0e 94 af 01 	call	0x35e	; 0x35e <lcd_puts>
     4d2:	c7 01       	movw	r24, r14
     4d4:	01 97       	sbiw	r24, 0x01	; 1
     4d6:	f1 f7       	brne	.-4      	; 0x4d4 <main+0x15c>
     4d8:	7c cf       	rjmp	.-264    	; 0x3d2 <main+0x5a>

000004da <__mulsf3>:
     4da:	a0 e2       	ldi	r26, 0x20	; 32
     4dc:	b0 e0       	ldi	r27, 0x00	; 0
     4de:	e3 e7       	ldi	r30, 0x73	; 115
     4e0:	f2 e0       	ldi	r31, 0x02	; 2
     4e2:	0c 94 d7 07 	jmp	0xfae	; 0xfae <__prologue_saves__>
     4e6:	69 83       	std	Y+1, r22	; 0x01
     4e8:	7a 83       	std	Y+2, r23	; 0x02
     4ea:	8b 83       	std	Y+3, r24	; 0x03
     4ec:	9c 83       	std	Y+4, r25	; 0x04
     4ee:	2d 83       	std	Y+5, r18	; 0x05
     4f0:	3e 83       	std	Y+6, r19	; 0x06
     4f2:	4f 83       	std	Y+7, r20	; 0x07
     4f4:	58 87       	std	Y+8, r21	; 0x08
     4f6:	ce 01       	movw	r24, r28
     4f8:	01 96       	adiw	r24, 0x01	; 1
     4fa:	be 01       	movw	r22, r28
     4fc:	67 5f       	subi	r22, 0xF7	; 247
     4fe:	7f 4f       	sbci	r23, 0xFF	; 255
     500:	0e 94 04 05 	call	0xa08	; 0xa08 <__unpack_f>
     504:	ce 01       	movw	r24, r28
     506:	05 96       	adiw	r24, 0x05	; 5
     508:	be 01       	movw	r22, r28
     50a:	6f 5e       	subi	r22, 0xEF	; 239
     50c:	7f 4f       	sbci	r23, 0xFF	; 255
     50e:	0e 94 04 05 	call	0xa08	; 0xa08 <__unpack_f>
     512:	99 85       	ldd	r25, Y+9	; 0x09
     514:	92 30       	cpi	r25, 0x02	; 2
     516:	88 f0       	brcs	.+34     	; 0x53a <__mulsf3+0x60>
     518:	89 89       	ldd	r24, Y+17	; 0x11
     51a:	82 30       	cpi	r24, 0x02	; 2
     51c:	c8 f0       	brcs	.+50     	; 0x550 <__mulsf3+0x76>
     51e:	94 30       	cpi	r25, 0x04	; 4
     520:	19 f4       	brne	.+6      	; 0x528 <__mulsf3+0x4e>
     522:	82 30       	cpi	r24, 0x02	; 2
     524:	51 f4       	brne	.+20     	; 0x53a <__mulsf3+0x60>
     526:	04 c0       	rjmp	.+8      	; 0x530 <__mulsf3+0x56>
     528:	84 30       	cpi	r24, 0x04	; 4
     52a:	29 f4       	brne	.+10     	; 0x536 <__mulsf3+0x5c>
     52c:	92 30       	cpi	r25, 0x02	; 2
     52e:	81 f4       	brne	.+32     	; 0x550 <__mulsf3+0x76>
     530:	83 ef       	ldi	r24, 0xF3	; 243
     532:	90 e0       	ldi	r25, 0x00	; 0
     534:	c6 c0       	rjmp	.+396    	; 0x6c2 <__mulsf3+0x1e8>
     536:	92 30       	cpi	r25, 0x02	; 2
     538:	49 f4       	brne	.+18     	; 0x54c <__mulsf3+0x72>
     53a:	20 e0       	ldi	r18, 0x00	; 0
     53c:	9a 85       	ldd	r25, Y+10	; 0x0a
     53e:	8a 89       	ldd	r24, Y+18	; 0x12
     540:	98 13       	cpse	r25, r24
     542:	21 e0       	ldi	r18, 0x01	; 1
     544:	2a 87       	std	Y+10, r18	; 0x0a
     546:	ce 01       	movw	r24, r28
     548:	09 96       	adiw	r24, 0x09	; 9
     54a:	bb c0       	rjmp	.+374    	; 0x6c2 <__mulsf3+0x1e8>
     54c:	82 30       	cpi	r24, 0x02	; 2
     54e:	49 f4       	brne	.+18     	; 0x562 <__mulsf3+0x88>
     550:	20 e0       	ldi	r18, 0x00	; 0
     552:	9a 85       	ldd	r25, Y+10	; 0x0a
     554:	8a 89       	ldd	r24, Y+18	; 0x12
     556:	98 13       	cpse	r25, r24
     558:	21 e0       	ldi	r18, 0x01	; 1
     55a:	2a 8b       	std	Y+18, r18	; 0x12
     55c:	ce 01       	movw	r24, r28
     55e:	41 96       	adiw	r24, 0x11	; 17
     560:	b0 c0       	rjmp	.+352    	; 0x6c2 <__mulsf3+0x1e8>
     562:	2d 84       	ldd	r2, Y+13	; 0x0d
     564:	3e 84       	ldd	r3, Y+14	; 0x0e
     566:	4f 84       	ldd	r4, Y+15	; 0x0f
     568:	58 88       	ldd	r5, Y+16	; 0x10
     56a:	6d 88       	ldd	r6, Y+21	; 0x15
     56c:	7e 88       	ldd	r7, Y+22	; 0x16
     56e:	8f 88       	ldd	r8, Y+23	; 0x17
     570:	98 8c       	ldd	r9, Y+24	; 0x18
     572:	ee 24       	eor	r14, r14
     574:	ff 24       	eor	r15, r15
     576:	87 01       	movw	r16, r14
     578:	aa 24       	eor	r10, r10
     57a:	bb 24       	eor	r11, r11
     57c:	65 01       	movw	r12, r10
     57e:	40 e0       	ldi	r20, 0x00	; 0
     580:	50 e0       	ldi	r21, 0x00	; 0
     582:	60 e0       	ldi	r22, 0x00	; 0
     584:	70 e0       	ldi	r23, 0x00	; 0
     586:	e0 e0       	ldi	r30, 0x00	; 0
     588:	f0 e0       	ldi	r31, 0x00	; 0

⌨️ 快捷键说明

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