?? main.lss
字號:
75e: 84 ef ldi r24, 0xF4 ; 244
760: 90 e0 ldi r25, 0x00 ; 0
762: 0e 94 94 0b call 0x1728
#ifdef DS18X20_VERBOSE
for (i=0; i<nSensors; i++)
766: ee 20 and r14, r14
768: 21 f1 breq .+72 ; 0x7b2
76a: 3f ea ldi r19, 0xAF ; 175
76c: c3 2e mov r12, r19
76e: 30 e0 ldi r19, 0x00 ; 0
770: d3 2e mov r13, r19
772: 00 e0 ldi r16, 0x00 ; 0
774: 10 e0 ldi r17, 0x00 ; 0
776: fe 2c mov r15, r14
{ uart_puts_P("# in Bus :");
778: 83 e1 ldi r24, 0x13 ; 19
77a: 91 e0 ldi r25, 0x01 ; 1
77c: 0e 94 94 0b call 0x1728
uart_puti((int) i+1);
780: 0f 5f subi r16, 0xFF ; 255
782: 1f 4f sbci r17, 0xFF ; 255
784: c8 01 movw r24, r16
786: 0e 94 a6 0b call 0x174c
uart_puts_P(" : ");
78a: 8e e1 ldi r24, 0x1E ; 30
78c: 91 e0 ldi r25, 0x01 ; 1
78e: 0e 94 94 0b call 0x1728
DS18X20_show_id_uart( &gSensorIDs[i][0], OW_ROMCODE_SIZE );
792: 68 e0 ldi r22, 0x08 ; 8
794: 70 e0 ldi r23, 0x00 ; 0
796: c6 01 movw r24, r12
798: 0e 94 29 07 call 0xe52
uart_puts_P( "\r" );
79c: 82 e2 ldi r24, 0x22 ; 34
79e: 91 e0 ldi r25, 0x01 ; 1
7a0: 0e 94 94 0b call 0x1728
7a4: fa 94 dec r15
7a6: 28 e0 ldi r18, 0x08 ; 8
7a8: 30 e0 ldi r19, 0x00 ; 0
7aa: c2 0e add r12, r18
7ac: d3 1e adc r13, r19
7ae: ff 20 and r15, r15
7b0: 19 f7 brne .-58 ; 0x778
}
#endif
for (i=0; i<nSensors; i++)
7b2: ee 20 and r14, r14
7b4: e9 f1 breq .+122 ; 0x830
7b6: 0f ea ldi r16, 0xAF ; 175
7b8: 10 e0 ldi r17, 0x00 ; 0
7ba: 58 01 movw r10, r16
7bc: cc 24 eor r12, r12
7be: dd 24 eor r13, r13
7c0: fe 2c mov r15, r14
{ uart_puts_P("Sensor# ");
7c2: 84 e2 ldi r24, 0x24 ; 36
7c4: 91 e0 ldi r25, 0x01 ; 1
7c6: 0e 94 94 0b call 0x1728
uart_puti((int) i+1);
7ca: c6 01 movw r24, r12
7cc: 01 96 adiw r24, 0x01 ; 1
7ce: 0e 94 a6 0b call 0x174c
uart_puts_P(" is a ");
7d2: 8d e2 ldi r24, 0x2D ; 45
7d4: 91 e0 ldi r25, 0x01 ; 1
7d6: 0e 94 94 0b call 0x1728
if ( gSensorIDs[i][0] == DS18S20_ID)
7da: f5 01 movw r30, r10
7dc: 80 81 ld r24, Z
7de: 28 e0 ldi r18, 0x08 ; 8
7e0: 30 e0 ldi r19, 0x00 ; 0
7e2: a2 0e add r10, r18
7e4: b3 1e adc r11, r19
7e6: 80 31 cpi r24, 0x10 ; 16
7e8: 19 f4 brne .+6 ; 0x7f0
uart_puts_P("DS18S20/DS1820");
7ea: 84 e3 ldi r24, 0x34 ; 52
7ec: 91 e0 ldi r25, 0x01 ; 1
7ee: 02 c0 rjmp .+4 ; 0x7f4
else uart_puts_P("DS18B20");
7f0: 83 e4 ldi r24, 0x43 ; 67
7f2: 91 e0 ldi r25, 0x01 ; 1
7f4: 0e 94 94 0b call 0x1728
uart_puts_P(" which is ");
7f8: 8b e4 ldi r24, 0x4B ; 75
7fa: 91 e0 ldi r25, 0x01 ; 1
7fc: 0e 94 94 0b call 0x1728
if ( DS18X20_get_power_status( &gSensorIDs[i][0] ) == DS18X20_POWER_PARASITE )
800: c8 01 movw r24, r16
802: 0e 94 5c 09 call 0x12b8
806: 88 23 and r24, r24
808: 19 f4 brne .+6 ; 0x810
uart_puts_P( "parasite" );
80a: 86 e5 ldi r24, 0x56 ; 86
80c: 91 e0 ldi r25, 0x01 ; 1
80e: 02 c0 rjmp .+4 ; 0x814
else uart_puts_P( "externally" );
810: 8f e5 ldi r24, 0x5F ; 95
812: 91 e0 ldi r25, 0x01 ; 1
814: 0e 94 94 0b call 0x1728
uart_puts_P( " powered\r" );
818: 8a e6 ldi r24, 0x6A ; 106
81a: 91 e0 ldi r25, 0x01 ; 1
81c: 0e 94 94 0b call 0x1728
820: fa 94 dec r15
822: 08 94 sec
824: c1 1c adc r12, r1
826: d1 1c adc r13, r1
828: 08 5f subi r16, 0xF8 ; 248
82a: 1f 4f sbci r17, 0xFF ; 255
82c: ff 20 and r15, r15
82e: 49 f6 brne .-110 ; 0x7c2
}
#ifdef DS18X20_EEPROMSUPPORT
if (nSensors>0)
830: ee 20 and r14, r14
832: 09 f4 brne .+2 ; 0x836
834: 69 c0 rjmp .+210 ; 0x908
836: 84 e7 ldi r24, 0x74 ; 116
838: 91 e0 ldi r25, 0x01 ; 1
83a: 0e 94 94 0b call 0x1728
83e: be 01 movw r22, r28
840: 6f 5f subi r22, 0xFF ; 255
842: 7f 4f sbci r23, 0xFF ; 255
844: 8f ea ldi r24, 0xAF ; 175
846: 90 e0 ldi r25, 0x00 ; 0
848: 0e 94 86 0a call 0x150c
84c: 1b 81 ldd r17, Y+3 ; 0x03
84e: 0c 81 ldd r16, Y+4 ; 0x04
850: 82 ea ldi r24, 0xA2 ; 162
852: 91 e0 ldi r25, 0x01 ; 1
854: 0e 94 94 0b call 0x1728
858: 81 2f mov r24, r17
85a: 99 27 eor r25, r25
85c: 0e 94 a6 0b call 0x174c
860: 80 ec ldi r24, 0xC0 ; 192
862: 91 e0 ldi r25, 0x01 ; 1
864: 0e 94 94 0b call 0x1728
868: 80 2f mov r24, r16
86a: 99 27 eor r25, r25
86c: 0e 94 a6 0b call 0x174c
870: 84 ec ldi r24, 0xC4 ; 196
872: 91 e0 ldi r25, 0x01 ; 1
874: 0e 94 94 0b call 0x1728
878: 0f 5f subi r16, 0xFF ; 255
87a: 1f 5f subi r17, 0xFF ; 255
87c: 20 e6 ldi r18, 0x60 ; 96
87e: 40 2f mov r20, r16
880: 61 2f mov r22, r17
882: 8f ea ldi r24, 0xAF ; 175
884: 90 e0 ldi r25, 0x00 ; 0
886: 0e 94 58 0a call 0x14b0
88a: 86 ec ldi r24, 0xC6 ; 198
88c: 91 e0 ldi r25, 0x01 ; 1
88e: 0e 94 94 0b call 0x1728
892: 6f ea ldi r22, 0xAF ; 175
894: 70 e0 ldi r23, 0x00 ; 0
896: 80 e0 ldi r24, 0x00 ; 0
898: 0e 94 ac 0a call 0x1558
89c: 8b ee ldi r24, 0xEB ; 235
89e: 91 e0 ldi r25, 0x01 ; 1
8a0: 0e 94 94 0b call 0x1728
8a4: 8f ea ldi r24, 0xAF ; 175
8a6: 90 e0 ldi r25, 0x00 ; 0
8a8: 0e 94 d6 0a call 0x15ac
8ac: 80 e1 ldi r24, 0x10 ; 16
8ae: 92 e0 ldi r25, 0x02 ; 2
8b0: 0e 94 94 0b call 0x1728
8b4: be 01 movw r22, r28
8b6: 6f 5f subi r22, 0xFF ; 255
8b8: 7f 4f sbci r23, 0xFF ; 255
8ba: 8f ea ldi r24, 0xAF ; 175
8bc: 90 e0 ldi r25, 0x00 ; 0
8be: 0e 94 86 0a call 0x150c
8c2: 8b 81 ldd r24, Y+3 ; 0x03
8c4: 18 17 cp r17, r24
8c6: 31 f4 brne .+12 ; 0x8d4
8c8: 8c 81 ldd r24, Y+4 ; 0x04
8ca: 08 17 cp r16, r24
8cc: 19 f4 brne .+6 ; 0x8d4
8ce: 8a e3 ldi r24, 0x3A ; 58
8d0: 92 e0 ldi r25, 0x02 ; 2
8d2: 02 c0 rjmp .+4 ; 0x8d8
8d4: 8e e4 ldi r24, 0x4E ; 78
8d6: 92 e0 ldi r25, 0x02 ; 2
8d8: 0e 94 94 0b call 0x1728
8dc: 1b 81 ldd r17, Y+3 ; 0x03
8de: 0c 81 ldd r16, Y+4 ; 0x04
8e0: 8d e5 ldi r24, 0x5D ; 93
8e2: 92 e0 ldi r25, 0x02 ; 2
8e4: 0e 94 94 0b call 0x1728
8e8: 81 2f mov r24, r17
8ea: 99 27 eor r25, r25
8ec: 0e 94 a6 0b call 0x174c
8f0: 8f e7 ldi r24, 0x7F ; 127
8f2: 92 e0 ldi r25, 0x02 ; 2
8f4: 0e 94 94 0b call 0x1728
8f8: 80 2f mov r24, r16
8fa: 99 27 eor r25, r25
8fc: 0e 94 a6 0b call 0x174c
900: 83 e8 ldi r24, 0x83 ; 131
902: 92 e0 ldi r25, 0x02 ; 2
904: 0e 94 94 0b call 0x1728
{ eeprom_test();
}
#endif
if ( nSensors == 1 )
908: 31 e0 ldi r19, 0x01 ; 1
90a: e3 16 cp r14, r19
90c: 31 f5 brne .+76 ; 0x95a
{ uart_puts_P( "\rThere is only one sensor -> Demo of \"read_meas_single\":\r" );
90e: 85 e8 ldi r24, 0x85 ; 133
910: 92 e0 ldi r25, 0x02 ; 2
912: 0e 94 94 0b call 0x1728
i = gSensorIDs[0][0]; // family-code for conversion-routine
916: f0 90 af 00 lds r15, 0x00AF
DS18X20_start_meas( DS18X20_POWER_PARASITE, NULL );
91a: 60 e0 ldi r22, 0x00 ; 0
91c: 70 e0 ldi r23, 0x00 ; 0
91e: 80 e0 ldi r24, 0x00 ; 0
920: 0e 94 74 09 call 0x12e8
delay_ms(DS18B20_TCONV_12BIT);
924: 66 e4 ldi r22, 0x46 ; 70
926: 71 e4 ldi r23, 0x41 ; 65
928: 8f e0 ldi r24, 0x0F ; 15
92a: 90 e0 ldi r25, 0x00 ; 0
92c: 0e 94 b3 06 call 0xd66
DS18X20_read_meas_single(i, &subzero, &cel, &cel_frac_bits);
930: 9e 01 movw r18, r28
932: 26 5f subi r18, 0xF6 ; 246
934: 3f 4f sbci r19, 0xFF ; 255
936: ae 01 movw r20, r28
938: 45 5f subi r20, 0xF5 ; 245
93a: 5f 4f sbci r21, 0xFF ; 255
93c: be 01 movw r22, r28
93e: 64 5f subi r22, 0xF4 ; 244
940: 7f 4f sbci r23, 0xFF ; 255
942: 8f 2d mov r24, r15
944: 0e 94 f8 09 call 0x13f0
uart_put_temp(subzero, cel, cel_frac_bits);
948: 4a 85 ldd r20, Y+10 ; 0x0a
94a: 6b 85 ldd r22, Y+11 ; 0x0b
94c: 8c 85 ldd r24, Y+12 ; 0x0c
94e: 0e 94 10 03 call 0x620
uart_puts_P("\r");
952: 8f eb ldi r24, 0xBF ; 191
954: 92 e0 ldi r25, 0x02 ; 2
956: 0e 94 94 0b call 0x1728
}
for(;;)
{ // main loop
uart_puts_P( "\rConvert_T and Read Sensor by Sensor (reverse order)\r" );
95a: 81 ec ldi r24, 0xC1 ; 193
95c: 92 e0 ldi r25, 0x02 ; 2
95e: 0e 94 94 0b call 0x1728
for ( i=nSensors; i>0; i-- )
962: fe 2c mov r15, r14
964: ff 20 and r15, r15
966: 09 f4 brne .+2 ; 0x96a
968: 42 c0 rjmp .+132 ; 0x9ee
{ if ( DS18X20_start_meas( DS18X20_POWER_PARASITE, &gSensorIDs[i-1][0] ) == DS18X20_OK )
96a: cf 2c mov r12, r15
96c: dd 24 eor r13, r13
96e: 86 01 movw r16, r12
970: 23 e0 ldi r18, 0x03 ; 3
972: 00 0f add r16, r16
974: 11 1f adc r17, r17
976: 2a 95 dec r18
978: e1 f7 brne .-8 ; 0x972
97a: 09 55 subi r16, 0x59 ; 89
97c: 1f 4f sbci r17, 0xFF ; 255
97e: b8 01 movw r22, r16
980: 80 e0 ldi r24, 0x00 ; 0
982: 0e 94 74 09 call 0x12e8
986: 88 23 and r24, r24
988: 61 f5 brne .+88 ; 0x9e2
{ delay_ms(DS18B20_TCONV_12BIT);
98a: 66 e4 ldi r22, 0x46 ; 70
98c: 71 e4 ldi r23, 0x41 ; 65
98e: 8f e0 ldi r24, 0x0F ; 15
990: 90 e0 ldi r25, 0x00 ; 0
992: 0e 94 b3 06 call 0xd66
uart_puts_P("Sensor# ");
996: 87 ef ldi r24, 0xF7 ; 247
998: 92 e0 ldi r25, 0x02 ; 2
99a: 0e 94 94 0b call 0x1728
uart_puti((int) i);
99e: c6 01 movw r24, r12
9a0: 0e 94 a6 0b call 0x174c
uart_puts_P(" = ");
9a4: 80 e0 ldi r24, 0x00 ; 0
9a6: 93 e0 ldi r25, 0x03 ; 3
9a8: 0e 94 94 0b call 0x1728
if ( DS18X20_read_meas( &gSensorIDs[i-1][0], &subzero, &cel, &cel_frac_bits) == DS18X20_OK )
9ac: 9e 01 movw r18, r28
9ae: 26 5f subi r18, 0xF6 ; 246
9b0: 3f 4f sbci r19, 0xFF ; 255
9b2: ae 01 movw r20, r28
9b4: 45 5f subi r20, 0xF5 ; 245
9b6: 5f 4f sbci r21, 0xFF ; 255
9b8: be 01 movw r22, r28
9ba: 64 5f subi r22, 0xF4 ; 244
9bc: 7f 4f sbci r23, 0xFF ; 255
9be: c8 01 movw r24, r16
9c0: 0e 94 94 09 call 0x1328
9c4: 88 23 and r24, r24
9c6: 31 f4 brne .+12 ; 0x9d4
{ uart_put_temp(subzero, cel, cel_frac_bits);
9c8: 4a 85 ldd r20, Y+10 ; 0x0a
9ca: 6b 85 ldd r22, Y+11 ; 0x0b
9cc: 8c 85 ldd r24, Y+12 ; 0x0c
9ce: 0e 94 10 03 call 0x620
9d2: 04 c0 rjmp .+8 ; 0x9dc
}
else uart_puts_P("CRC Error (lost connection?)");
9d4: 84 e0 ldi r24, 0x04 ; 4
9d6: 93 e0 ldi r25, 0x03 ; 3
9d8: 0e 94 94 0b call 0x1728
uart_puts_P("\r");
9dc: 81 e2 ldi r24, 0x21 ; 33
9de: 93 e0 ldi r25, 0x03 ; 3
9e0: 02 c0 rjmp .+4 ; 0x9e6
}
else uart_puts_P("Start meas. failed (short circuit?)");
9e2: 83 e2 ldi r24, 0x23 ; 35
9e4: 93 e0 ldi r25, 0x03 ; 3
9e6: 0e 94 94 0b call 0x1728
9ea: fa 94 dec r15
9ec: bb cf rjmp .-138 ; 0x964
}
uart_puts_P( "\rConvert_T for all Sensors and Read Sensor by Sensor\r" );
9ee: 87 e4 ldi r24, 0x47 ; 71
9f0: 93 e0 ldi r25, 0x03 ; 3
9f2: 0e 94 94 0b call 0x1728
if ( DS18X20_start_meas( DS18X20_POWER_PARASITE, NULL ) == DS18X20_OK)
9f6: 60 e0 ldi r22, 0x00 ; 0
9f8: 70 e0 ldi r23, 0x00 ; 0
9fa: 80 e0 ldi r24, 0x00 ; 0
9fc: 0e 94 74 09 call 0x12e8
a00: 18 2f mov r17, r24
a02: 88 23 and r24, r24
a04: 09 f0 breq .+2 ; 0xa08
a06: 41 c0 rjmp .+130 ; 0xa8a
{ delay_ms(DS18B20_TCONV_12BIT);
a08: 66 e4 ldi r22, 0x46 ; 70
a0a: 71 e4 ldi r23, 0x41 ; 65
a0c: 8f e0 ldi r24, 0x0F ; 15
a0e: 90 e0 ldi r25, 0x00 ; 0
a10: 0e 94 b3 06 call 0xd66
for ( i=0; i<nSensors; i++ )
a14: 1e 15 cp r17, r14
a16: e8 f5 brcc .+122 ; 0xa92
a18: 9f ea ldi r25, 0xAF ; 175
a1a: c9 2e mov r12, r25
a1c: 90 e0 ldi r25, 0x00 ; 0
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -