📄 essai.lss
字号:
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 + -