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

📄 main.lst

📁 DS18B20做的温度计
💻 LST
📖 第 1 页 / 共 4 页
字号:
 122:E:/WinAVR/avr/include/util/delay.h ****  */
 123:E:/WinAVR/avr/include/util/delay.h **** void
 124:E:/WinAVR/avr/include/util/delay.h **** _delay_loop_2(uint16_t __count)
 125:E:/WinAVR/avr/include/util/delay.h **** {
 588               	.LM61:
 589 01d0 83E3      		ldi r24,lo8(1843)
 590 01d2 97E0      		ldi r25,hi8(1843)
 591               	.LBB3:
 126:E:/WinAVR/avr/include/util/delay.h **** 	__asm__ volatile (
 593               	.LM62:
 594               	/* #APP */
 595 01d4 0197      		1: sbiw r24,1
 596 01d6 F1F7      		brne 1b
 597               	/* #NOAPP */
 598               	.LBE3:
 599               	.LBE2:
 601               	.Ltext4:
  24:./ds18b20A.c  ****  dy(1000);
  25:./ds18b20A.c  ****  cli();
 603               	.LM63:
 604               	/* #APP */
 605 01d8 F894      		cli
  26:./ds18b20A.c  ****  Q_s;
 607               	.LM64:
 608               	/* #NOAPP */
 609 01da 8B98      		cbi 49-0x20,3
 610               	.LBB4:
 612               	.Ltext5:
 614               	.LM65:
 615 01dc 8CE7      		ldi r24,lo8(124)
 616 01de 90E0      		ldi r25,hi8(124)
 617               	.LBB5:
 619               	.LM66:
 620               	/* #APP */
 621 01e0 0197      		1: sbiw r24,1
 622 01e2 F1F7      		brne 1b
 623               	/* #NOAPP */
 624               	.LBE5:
 625               	.LBE4:
 627               	.Ltext6:
  27:./ds18b20A.c  ****  dy(67.5);
  28:./ds18b20A.c  ****  if(Q_a)  ret=0;	//
 629               	.LM67:
 630 01e4 839B      		sbis 48-0x20,3
 631 01e6 02C0      		rjmp .L163
 633               	.LM68:
 634 01e8 20E0      		ldi r18,lo8(0)
 635 01ea 01C0      		rjmp .L164
 636               	.L163:
  29:./ds18b20A.c  ****  else    ret=1;
 638               	.LM69:
 639 01ec 21E0      		ldi r18,lo8(1)
 640               	.L164:
  30:./ds18b20A.c  **** // ret=1;
  31:./ds18b20A.c  ****  sei();   
 642               	.LM70:
 643               	/* #APP */
 644 01ee 7894      		sei
 645               	/* #NOAPP */
 646               	.LBB6:
 648               	.Ltext7:
 650               	.LM71:
 651 01f0 8AE0      		ldi r24,lo8(778)
 652 01f2 93E0      		ldi r25,hi8(778)
 653               	.LBB7:
 655               	.LM72:
 656               	/* #APP */
 657 01f4 0197      		1: sbiw r24,1
 658 01f6 F1F7      		brne 1b
 659               	/* #NOAPP */
 660               	.LBE7:
 661               	.LBE6:
 663               	.Ltext8:
  32:./ds18b20A.c  ****  dy(490-67.5);
  33:./ds18b20A.c  ****  return ret;
  34:./ds18b20A.c  **** }
 665               	.LM73:
 666 01f8 822F      		mov r24,r18
 667 01fa 9927      		clr r25
 668               	/* epilogue: frame size=0 */
 669 01fc 0895      		ret
 670               	/* epilogue end (size=1) */
 671               	/* function rt_ds size 32 (31) */
 685               	.Lscope10:
 688               	.global	wr_ds
 690               	wr_ds:
  35:./ds18b20A.c  **** 
  36:./ds18b20A.c  **** void wr_ds(uchar dat1)	//write ds18b20
  37:./ds18b20A.c  **** {uchar i;
 692               	.LM74:
 693               	/* prologue: frame size=0 */
 694               	/* prologue end (size=0) */
 695 01fe 282F      		mov r18,r24
 696 0200 37E0      		ldi r19,lo8(7)
 697               	.L175:
  38:./ds18b20A.c  ****  for(i=0;i<8;i++)
  39:./ds18b20A.c  ****  {cli();
 699               	.LM75:
 700               	/* #APP */
 701 0202 F894      		cli
  40:./ds18b20A.c  ****   Q_c;
 703               	.LM76:
 704               	/* #NOAPP */
 705 0204 8B9A      		sbi 49-0x20,3
 706               	.LBB8:
 708               	.Ltext9:
 710               	.LM77:
 711 0206 83E0      		ldi r24,lo8(3)
 712 0208 90E0      		ldi r25,hi8(3)
 713               	.LBB9:
 715               	.LM78:
 716               	/* #APP */
 717 020a 0197      		1: sbiw r24,1
 718 020c F1F7      		brne 1b
 719               	/* #NOAPP */
 720               	.LBE9:
 721               	.LBE8:
 723               	.Ltext10:
  41:./ds18b20A.c  ****   dy(2);
  42:./ds18b20A.c  ****   if(dat1&0x01)  Q_s;
 725               	.LM79:
 726 020e 20FF      		sbrs r18,0
 727 0210 02C0      		rjmp .L171
 728 0212 8B98      		cbi 49-0x20,3
 729 0214 01C0      		rjmp .L172
 730               	.L171:
  43:./ds18b20A.c  ****   else Q_c;
 732               	.LM80:
 733 0216 8B9A      		sbi 49-0x20,3
 734               	.L172:
  44:./ds18b20A.c  ****   dat1>>=1;
 736               	.LM81:
 737 0218 2695      		lsr r18
 738               	.LBB10:
 740               	.Ltext11:
 742               	.LM82:
 743 021a 82E7      		ldi r24,lo8(114)
 744 021c 90E0      		ldi r25,hi8(114)
 745               	.LBB11:
 747               	.LM83:
 748               	/* #APP */
 749 021e 0197      		1: sbiw r24,1
 750 0220 F1F7      		brne 1b
 751               	/* #NOAPP */
 752               	.LBE11:
 753               	.LBE10:
 755               	.Ltext12:
  45:./ds18b20A.c  ****   dy(62);
  46:./ds18b20A.c  ****   Q_s;
 757               	.LM84:
 758 0222 8B98      		cbi 49-0x20,3
  47:./ds18b20A.c  ****   sei();
 760               	.LM85:
 761               	/* #APP */
 762 0224 7894      		sei
 763               	/* #NOAPP */
 764               	.LBB12:
 766               	.Ltext13:
 768               	.LM86:
 769 0226 83E0      		ldi r24,lo8(3)
 770 0228 90E0      		ldi r25,hi8(3)
 771               	.LBB13:
 773               	.LM87:
 774               	/* #APP */
 775 022a 0197      		1: sbiw r24,1
 776 022c F1F7      		brne 1b
 777               	/* #NOAPP */
 778               	.LBE13:
 779               	.LBE12:
 781               	.Ltext14:
 783               	.LM88:
 784 022e 3150      		subi r19,lo8(-(-1))
 785 0230 37FF      		sbrs r19,7
 786 0232 E7CF      		rjmp .L175
 787               	/* epilogue: frame size=0 */
 788 0234 0895      		ret
 789               	/* epilogue end (size=1) */
 790               	/* function wr_ds size 36 (35) */
 804               	.Lscope11:
 806               	.global	rd_ds
 808               	rd_ds:
  48:./ds18b20A.c  ****   dy(2);
  49:./ds18b20A.c  ****  }
  50:./ds18b20A.c  **** }///*/
  51:./ds18b20A.c  **** 
  52:./ds18b20A.c  **** uchar rd_ds(void)	//read a data for ds18b20
  53:./ds18b20A.c  **** {uchar i;
 810               	.LM89:
 811               	/* prologue: frame size=0 */
 812               	/* prologue end (size=0) */
  54:./ds18b20A.c  ****  uchar dat0;
  55:./ds18b20A.c  ****  dat0=0;
 814               	.LM90:
 815 0236 20E0      		ldi r18,lo8(0)
 816 0238 37E0      		ldi r19,lo8(7)
 817               	.L186:
  56:./ds18b20A.c  ****  for(i=0;i<8;i++)
  57:./ds18b20A.c  ****   {cli();
 819               	.LM91:
 820               	/* #APP */
 821 023a F894      		cli
  58:./ds18b20A.c  ****    Q_c;
 823               	.LM92:
 824               	/* #NOAPP */
 825 023c 8B9A      		sbi 49-0x20,3
 826               	.LBB14:
 828               	.Ltext15:
 830               	.LM93:
 831 023e 83E0      		ldi r24,lo8(3)
 832 0240 90E0      		ldi r25,hi8(3)
 833               	.LBB15:
 835               	.LM94:
 836               	/* #APP */
 837 0242 0197      		1: sbiw r24,1
 838 0244 F1F7      		brne 1b
 839               	/* #NOAPP */
 840               	.LBE15:
 841               	.LBE14:
 843               	.Ltext16:
  59:./ds18b20A.c  ****    dy(2);
  60:./ds18b20A.c  ****    Q_s;
 845               	.LM95:
 846 0246 8B98      		cbi 49-0x20,3
 847               	.LBB16:
 849               	.Ltext17:
 851               	.LM96:
 852 0248 87E0      		ldi r24,lo8(7)
 853 024a 90E0      		ldi r25,hi8(7)
 854               	.LBB17:
 856               	.LM97:
 857               	/* #APP */
 858 024c 0197      		1: sbiw r24,1
 859 024e F1F7      		brne 1b
 860               	/* #NOAPP */
 861               	.LBE17:
 862               	.LBE16:
 864               	.Ltext18:
  61:./ds18b20A.c  ****    dy(4);
  62:./ds18b20A.c  ****    dat0>>=1;
 866               	.LM98:
 867 0250 2695      		lsr r18
  63:./ds18b20A.c  ****    if(Q_a)  dat0|=0x80;
 869               	.LM99:
 870 0252 8399      		sbic 48-0x20,3
 871 0254 2068      		ori r18,lo8(-128)
 872               	.L184:
  64:./ds18b20A.c  ****    sei();
 874               	.LM100:
 875               	/* #APP */
 876 0256 7894      		sei
 877               	/* #NOAPP */
 878               	.LBB18:
 880               	.Ltext19:
 882               	.LM101:
 883 0258 82E7      		ldi r24,lo8(114)
 884 025a 90E0      		ldi r25,hi8(114)
 885               	.LBB19:
 887               	.LM102:
 888               	/* #APP */
 889 025c 0197      		1: sbiw r24,1
 890 025e F1F7      		brne 1b
 891               	/* #NOAPP */
 892               	.LBE19:
 893               	.LBE18:
 895               	.Ltext20:
 897               	.LM103:
 898 0260 3150      		subi r19,lo8(-(-1))
 899 0262 37FF      		sbrs r19,7
 900 0264 EACF      		rjmp .L186
  65:./ds18b20A.c  ****    dy(62);
  66:./ds18b20A.c  ****   }
  67:./ds18b20A.c  ****  return(dat0);
  68:./ds18b20A.c  **** }
 902               	.LM104:
 903 0266 822F      		mov r24,r18
 904 0268 9927      		clr r25
 905               	/* epilogue: frame size=0 */
 906 026a 0895      		ret
 907               	/* epilogue end (size=1) */
 908               	/* function rd_ds size 36 (35) */
 923               	.Lscope12:
 925               	.global	s_ds
 927               	s_ds:
  69:./ds18b20A.c  **** 
  70:./ds18b20A.c  **** void s_ds(void)	//start ds18b20
  71:./ds18b20A.c  **** {if(rt_ds()==1)//rest sussuful
 929               	.LM105:
 930               	/* prologue: frame size=0 */
 931               	/* prologue end (size=0) */
 932 026c 0E94 0000 		call rt_ds
 933 0270 8130      		cpi r24,lo8(1)
 934 0272 31F4      		brne .L189
  72:./ds18b20A.c  ****   {wr_ds(0xcc);
 936               	.LM106:
 937 0274 8CEC      		ldi r24,lo8(-52)
 938 0276 0E94 0000 		call wr_ds
  73:./ds18b20A.c  ****    wr_ds(0x44);
 940               	.LM107:
 941 027a 84E4      		ldi r24,lo8(68)
 942 027c 0E94 0000 		call wr_ds
 943               	.L189:
 944 0280 0895      		ret
 945               	/* epilogue: frame size=0 */
 946               	/* epilogue: noreturn */
 947               	/* epilogue end (size=0) */
 948               	/* function s_ds size 11 (11) */
 950               	.Lscope13:
 952               	.global	r_ds
 954               	r_ds:
  74:./ds18b20A.c  ****     }
  75:./ds18b20A.c  **** }
  76:./ds18b20A.c  **** 
  77:./ds18b20A.c  **** uint r_ds(void)	//read data from ds
  78:./ds18b20A.c  **** {uint ret=0;
 956               	.LM108:
 957               	/* prologue: frame size=0 */
 958 0282 CF93      		push r28
 959 0284 DF93      		push r29
 960               	/* prologue end (size=2) */
 961 0286 C0E0      		ldi r28,lo8(0)
 962 0288 D0E0      		ldi r29,hi8(0)
  79:./ds18b20A.c  ****  if(rt_ds()==1)	//rest suuful
 964               	.LM109:
 965 028a 0E94 0000 		call rt_ds
 966 028e 8130      		cpi r24,lo8(1)
 967 0290 89F4      		brne .L192
  80:./ds18b20A.c  ****   {wr_ds(0xcc);

⌨️ 快捷键说明

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