📄 tem.lss
字号:
void
_delay_loop_2(uint16_t __count)
{
25e: 83 e3 ldi r24, 0x33 ; 51
260: 97 e0 ldi r25, 0x07 ; 7
__asm__ volatile (
262: 01 97 sbiw r24, 0x01 ; 1
264: f1 f7 brne .-4 ; 0x262 <rt_ds+0x6>
dy(1000);
cli();
266: f8 94 cli
Q_s;
268: 8b 98 cbi 0x11, 3 ; 17
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
26a: 8c e7 ldi r24, 0x7C ; 124
26c: 90 e0 ldi r25, 0x00 ; 0
__asm__ volatile (
26e: 01 97 sbiw r24, 0x01 ; 1
270: f1 f7 brne .-4 ; 0x26e <rt_ds+0x12>
dy(67.5);
if(Q_a) ret=0; //
272: 83 9b sbis 0x10, 3 ; 16
274: 02 c0 rjmp .+4 ; 0x27a <rt_ds+0x1e>
276: 20 e0 ldi r18, 0x00 ; 0
278: 01 c0 rjmp .+2 ; 0x27c <rt_ds+0x20>
else ret=1;
27a: 21 e0 ldi r18, 0x01 ; 1
// ret=1;
sei();
27c: 78 94 sei
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
27e: 8a e0 ldi r24, 0x0A ; 10
280: 93 e0 ldi r25, 0x03 ; 3
__asm__ volatile (
282: 01 97 sbiw r24, 0x01 ; 1
284: f1 f7 brne .-4 ; 0x282 <rt_ds+0x26>
dy(490-67.5);
return ret;
}
286: 82 2f mov r24, r18
288: 99 27 eor r25, r25
28a: 08 95 ret
0000028c <wr_ds>:
void wr_ds(uchar dat1) //write ds18b20
{uchar i;
28c: 28 2f mov r18, r24
28e: 37 e0 ldi r19, 0x07 ; 7
for(i=0;i<8;i++)
{cli();
290: f8 94 cli
Q_c;
292: 8b 9a sbi 0x11, 3 ; 17
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
294: 83 e0 ldi r24, 0x03 ; 3
296: 90 e0 ldi r25, 0x00 ; 0
__asm__ volatile (
298: 01 97 sbiw r24, 0x01 ; 1
29a: f1 f7 brne .-4 ; 0x298 <wr_ds+0xc>
dy(2);
if(dat1&0x01) Q_s;
29c: 20 ff sbrs r18, 0
29e: 02 c0 rjmp .+4 ; 0x2a4 <wr_ds+0x18>
2a0: 8b 98 cbi 0x11, 3 ; 17
2a2: 01 c0 rjmp .+2 ; 0x2a6 <wr_ds+0x1a>
else Q_c;
2a4: 8b 9a sbi 0x11, 3 ; 17
dat1>>=1;
2a6: 26 95 lsr r18
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
2a8: 82 e7 ldi r24, 0x72 ; 114
2aa: 90 e0 ldi r25, 0x00 ; 0
__asm__ volatile (
2ac: 01 97 sbiw r24, 0x01 ; 1
2ae: f1 f7 brne .-4 ; 0x2ac <wr_ds+0x20>
dy(62);
Q_s;
2b0: 8b 98 cbi 0x11, 3 ; 17
sei();
2b2: 78 94 sei
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
2b4: 83 e0 ldi r24, 0x03 ; 3
2b6: 90 e0 ldi r25, 0x00 ; 0
__asm__ volatile (
2b8: 01 97 sbiw r24, 0x01 ; 1
2ba: f1 f7 brne .-4 ; 0x2b8 <wr_ds+0x2c>
2bc: 31 50 subi r19, 0x01 ; 1
2be: 37 ff sbrs r19, 7
2c0: e7 cf rjmp .-50 ; 0x290 <wr_ds+0x4>
2c2: 08 95 ret
000002c4 <rd_ds>:
dy(2);
}
}///*/
uchar rd_ds(void) //read a data for ds18b20
{uchar i;
uchar dat0;
dat0=0;
2c4: 20 e0 ldi r18, 0x00 ; 0
2c6: 37 e0 ldi r19, 0x07 ; 7
for(i=0;i<8;i++)
{cli();
2c8: f8 94 cli
Q_c;
2ca: 8b 9a sbi 0x11, 3 ; 17
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
2cc: 83 e0 ldi r24, 0x03 ; 3
2ce: 90 e0 ldi r25, 0x00 ; 0
__asm__ volatile (
2d0: 01 97 sbiw r24, 0x01 ; 1
2d2: f1 f7 brne .-4 ; 0x2d0 <rd_ds+0xc>
dy(2);
Q_s;
2d4: 8b 98 cbi 0x11, 3 ; 17
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
2d6: 87 e0 ldi r24, 0x07 ; 7
2d8: 90 e0 ldi r25, 0x00 ; 0
__asm__ volatile (
2da: 01 97 sbiw r24, 0x01 ; 1
2dc: f1 f7 brne .-4 ; 0x2da <rd_ds+0x16>
dy(4);
dat0>>=1;
2de: 26 95 lsr r18
if(Q_a) dat0|=0x80;
2e0: 83 99 sbic 0x10, 3 ; 16
2e2: 20 68 ori r18, 0x80 ; 128
sei();
2e4: 78 94 sei
milliseconds can be achieved.
*/
void
_delay_loop_2(uint16_t __count)
{
2e6: 82 e7 ldi r24, 0x72 ; 114
2e8: 90 e0 ldi r25, 0x00 ; 0
__asm__ volatile (
2ea: 01 97 sbiw r24, 0x01 ; 1
2ec: f1 f7 brne .-4 ; 0x2ea <rd_ds+0x26>
2ee: 31 50 subi r19, 0x01 ; 1
2f0: 37 ff sbrs r19, 7
2f2: ea cf rjmp .-44 ; 0x2c8 <rd_ds+0x4>
dy(62);
}
return(dat0);
}
2f4: 82 2f mov r24, r18
2f6: 99 27 eor r25, r25
2f8: 08 95 ret
000002fa <s_ds>:
void s_ds(void) //start ds18b20
{if(rt_ds()==1)//rest sussuful
2fa: 0e 94 2e 01 call 0x25c <rt_ds>
2fe: 81 30 cpi r24, 0x01 ; 1
300: 31 f4 brne .+12 ; 0x30e <s_ds+0x14>
{wr_ds(0xcc);
302: 8c ec ldi r24, 0xCC ; 204
304: 0e 94 46 01 call 0x28c <wr_ds>
wr_ds(0x44);
308: 84 e4 ldi r24, 0x44 ; 68
30a: 0e 94 46 01 call 0x28c <wr_ds>
30e: 08 95 ret
00000310 <r_ds>:
}
}
uint r_ds(void) //read data from ds
{uint ret=0;
310: cf 93 push r28
312: df 93 push r29
314: c0 e0 ldi r28, 0x00 ; 0
316: d0 e0 ldi r29, 0x00 ; 0
if(rt_ds()==1) //rest suuful
318: 0e 94 2e 01 call 0x25c <rt_ds>
31c: 81 30 cpi r24, 0x01 ; 1
31e: 89 f4 brne .+34 ; 0x342 <r_ds+0x32>
{wr_ds(0xcc);
320: 8c ec ldi r24, 0xCC ; 204
322: 0e 94 46 01 call 0x28c <wr_ds>
wr_ds(0xbe); //read data
326: 8e eb ldi r24, 0xBE ; 190
328: 0e 94 46 01 call 0x28c <wr_ds>
ret =(uint)rd_ds(); //low 8bit
32c: 0e 94 62 01 call 0x2c4 <rd_ds>
330: c8 2f mov r28, r24
332: dd 27 eor r29, r29
ret+=(uint)(rd_ds())<<8;
334: 0e 94 62 01 call 0x2c4 <rd_ds>
338: 99 27 eor r25, r25
33a: 98 2f mov r25, r24
33c: 88 27 eor r24, r24
33e: c8 0f add r28, r24
340: d9 1f adc r29, r25
}
return(ret);
}///
342: ce 01 movw r24, r28
344: df 91 pop r29
346: cf 91 pop r28
348: 08 95 ret
0000034a <s_ini>:
void s_ini(void)
{DDRA=0xff;
34a: 8f ef ldi r24, 0xFF ; 255
34c: 8a bb out 0x1a, r24 ; 26
DDRB=0xff;
34e: 87 bb out 0x17, r24 ; 23
ini_ds();
350: 0e 94 2b 01 call 0x256 <ini_ds>
354: 08 95 ret
00000356 <dyy>:
*/
void
_delay_loop_2(uint16_t __count)
{
__asm__ volatile (
356: 9c 01 movw r18, r24
358: 21 50 subi r18, 0x01 ; 1
35a: 30 40 sbci r19, 0x00 ; 0
35c: 8f ef ldi r24, 0xFF ; 255
35e: 2f 3f cpi r18, 0xFF ; 255
360: 38 07 cpc r19, r24
362: 29 f0 breq .+10 ; 0x36e <dyy+0x18>
364: 83 e3 ldi r24, 0x33 ; 51
366: 97 e0 ldi r25, 0x07 ; 7
368: 01 97 sbiw r24, 0x01 ; 1
36a: f1 f7 brne .-4 ; 0x368 <dyy+0x12>
36c: f5 cf rjmp .-22 ; 0x358 <dyy+0x2>
36e: 08 95 ret
00000370 <main>:
}
void dyy(uint t)
{while(t--)
dy(1000);
}
int main(void)
{uint u;
370: cf e5 ldi r28, 0x5F ; 95
372: d4 e0 ldi r29, 0x04 ; 4
374: de bf out 0x3e, r29 ; 62
376: cd bf out 0x3d, r28 ; 61
uint c1;
uint c0;
uchar c2;
u=0;
s_ini();
378: 0e 94 a5 01 call 0x34a <s_ini>
wsc("The temperature","is: .");
37c: 60 e6 ldi r22, 0x60 ; 96
37e: 70 e0 ldi r23, 0x00 ; 0
380: 89 e6 ldi r24, 0x69 ; 105
382: 90 e0 ldi r25, 0x00 ; 0
384: 0e 94 ed 00 call 0x1da <wsc>
while(1)
{s_ds();
388: 0e 94 7d 01 call 0x2fa <s_ds>
dyy(1000);
38c: 88 ee ldi r24, 0xE8 ; 232
38e: 93 e0 ldi r25, 0x03 ; 3
390: 0e 94 ab 01 call 0x356 <dyy>
u=r_ds();
394: 0e 94 88 01 call 0x310 <r_ds>
//u=0x0191;
c1=u/16;
398: 8c 01 movw r16, r24
39a: 44 e0 ldi r20, 0x04 ; 4
39c: 16 95 lsr r17
39e: 07 95 ror r16
3a0: 4a 95 dec r20
3a2: e1 f7 brne .-8 ; 0x39c <main+0x2c>
c0=u%16;
3a4: 3f e0 ldi r19, 0x0F ; 15
3a6: e3 2e mov r14, r19
3a8: f1 2c mov r15, r1
3aa: e8 22 and r14, r24
3ac: f9 22 and r15, r25
go(4,1);
3ae: 61 e0 ldi r22, 0x01 ; 1
3b0: 84 e0 ldi r24, 0x04 ; 4
3b2: 0e 94 97 00 call 0x12e <go>
wn(c1/100);
3b6: c8 01 movw r24, r16
3b8: 64 e6 ldi r22, 0x64 ; 100
3ba: 70 e0 ldi r23, 0x00 ; 0
3bc: 0e 94 36 02 call 0x46c <__udivmodhi4>
3c0: cb 01 movw r24, r22
3c2: 0e 94 92 00 call 0x124 <wn>
wn((c1%100)/10);
3c6: c8 01 movw r24, r16
3c8: 64 e6 ldi r22, 0x64 ; 100
3ca: 70 e0 ldi r23, 0x00 ; 0
3cc: 0e 94 36 02 call 0x46c <__udivmodhi4>
3d0: 6a e0 ldi r22, 0x0A ; 10
3d2: 70 e0 ldi r23, 0x00 ; 0
3d4: 0e 94 36 02 call 0x46c <__udivmodhi4>
3d8: cb 01 movw r24, r22
3da: 0e 94 92 00 call 0x124 <wn>
wn(c1%10);
3de: c8 01 movw r24, r16
3e0: 6a e0 ldi r22, 0x0A ; 10
3e2: 70 e0 ldi r23, 0x00 ; 0
3e4: 0e 94 36 02 call 0x46c <__udivmodhi4>
3e8: 0e 94 92 00 call 0x124 <wn>
go(8,1);
3ec: 61 e0 ldi r22, 0x01 ; 1
3ee: 88 e0 ldi r24, 0x08 ; 8
3f0: 0e 94 97 00 call 0x12e <go>
c0*=625;
3f4: 81 e7 ldi r24, 0x71 ; 113
3f6: 92 e0 ldi r25, 0x02 ; 2
3f8: e8 9e mul r14, r24
3fa: 80 01 movw r16, r0
3fc: e9 9e mul r14, r25
3fe: 10 0d add r17, r0
400: f8 9e mul r15, r24
402: 10 0d add r17, r0
404: 11 24 eor r1, r1
wn(c0/1000);
406: c8 01 movw r24, r16
408: 68 ee ldi r22, 0xE8 ; 232
40a: 73 e0 ldi r23, 0x03 ; 3
40c: 0e 94 36 02 call 0x46c <__udivmodhi4>
410: cb 01 movw r24, r22
412: 0e 94 92 00 call 0x124 <wn>
wn((c0%1000)/100);
416: c8 01 movw r24, r16
418: 68 ee ldi r22, 0xE8 ; 232
41a: 73 e0 ldi r23, 0x03 ; 3
41c: 0e 94 36 02 call 0x46c <__udivmodhi4>
420: 64 e6 ldi r22, 0x64 ; 100
422: 70 e0 ldi r23, 0x00 ; 0
424: 0e 94 36 02 call 0x46c <__udivmodhi4>
428: cb 01 movw r24, r22
42a: 0e 94 92 00 call 0x124 <wn>
wn((c0%100)/10);
42e: c8 01 movw r24, r16
430: 64 e6 ldi r22, 0x64 ; 100
432: 70 e0 ldi r23, 0x00 ; 0
434: 0e 94 36 02 call 0x46c <__udivmodhi4>
438: 6a e0 ldi r22, 0x0A ; 10
43a: 70 e0 ldi r23, 0x00 ; 0
43c: 0e 94 36 02 call 0x46c <__udivmodhi4>
440: cb 01 movw r24, r22
442: 0e 94 92 00 call 0x124 <wn>
wn(c0%10);
446: c8 01 movw r24, r16
448: 6a e0 ldi r22, 0x0A ; 10
44a: 70 e0 ldi r23, 0x00 ; 0
44c: 0e 94 36 02 call 0x46c <__udivmodhi4>
450: 0e 94 92 00 call 0x124 <wn>
c2++;
454: cf 5f subi r28, 0xFF ; 255
if(c2>=10) c2=0;
456: ca 30 cpi r28, 0x0A ; 10
458: 08 f0 brcs .+2 ; 0x45c <main+0xec>
45a: c0 e0 ldi r28, 0x00 ; 0
go(15,1);
45c: 61 e0 ldi r22, 0x01 ; 1
45e: 8f e0 ldi r24, 0x0F ; 15
460: 0e 94 97 00 call 0x12e <go>
wn(c2);
464: 8c 2f mov r24, r28
466: 0e 94 92 00 call 0x124 <wn>
46a: 8e cf rjmp .-228 ; 0x388 <main+0x18>
0000046c <__udivmodhi4>:
46c: aa 1b sub r26, r26
46e: bb 1b sub r27, r27
470: 51 e1 ldi r21, 0x11 ; 17
472: 07 c0 rjmp .+14 ; 0x482 <__udivmodhi4_ep>
00000474 <__udivmodhi4_loop>:
474: aa 1f adc r26, r26
476: bb 1f adc r27, r27
478: a6 17 cp r26, r22
47a: b7 07 cpc r27, r23
47c: 10 f0 brcs .+4 ; 0x482 <__udivmodhi4_ep>
47e: a6 1b sub r26, r22
480: b7 0b sbc r27, r23
00000482 <__udivmodhi4_ep>:
482: 88 1f adc r24, r24
484: 99 1f adc r25, r25
486: 5a 95 dec r21
488: a9 f7 brne .-22 ; 0x474 <__udivmodhi4_loop>
48a: 80 95 com r24
48c: 90 95 com r25
48e: bc 01 movw r22, r24
490: cd 01 movw r24, r26
492: 08 95 ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -