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

📄 hf3223.lst

📁 一款电力行业使用的温湿度控制器源代码 湿度传感器采用HF3223 温度采用DS18B20 单片机采用mega8 编程采用winavr2007
💻 LST
📖 第 1 页 / 共 2 页
字号:
  54:drive/hf3223.c **** 		{
  55:drive/hf3223.c **** 		  f_sensor_h = true ;
 291               	.LM14:
 292 00d8 4093 0000 		sts f_sensor_h,r20
 293               	.L10:
  56:drive/hf3223.c **** 		}
  57:drive/hf3223.c **** 		
  58:drive/hf3223.c **** 		Humidity = hf3223_convert( hf3223_f );
 295               	.LM15:
 296 00dc 8091 0000 		lds r24,hf3223_f
 297 00e0 9091 0000 		lds r25,(hf3223_f)+1
 298 00e4 8DDF      		rcall hf3223_convert
 299 00e6 8093 0000 		sts Humidity,r24
 300               	.L7:
 301 00ea 0895      		ret
 302               	/* epilogue: frame size=0 */
 303               	/* epilogue: noreturn */
 304               	/* epilogue end (size=0) */
 305               	/* function hf3223_read size 84 (84) */
 307               	.Lscope1:
 308               		.lcomm cnt.0,1
 309               		.lcomm bufptr.1,1
 311               	.global	__vector_8
 313               	__vector_8:
  59:drive/hf3223.c **** 	}
  60:drive/hf3223.c **** 	
  61:drive/hf3223.c **** }
  62:drive/hf3223.c **** 
  63:drive/hf3223.c **** 
  64:drive/hf3223.c **** 
  65:drive/hf3223.c **** SIGNAL(SIG_OVERFLOW1)
  66:drive/hf3223.c **** {
 315               	.LM16:
 316               	/* prologue: frame size=0 */
 317 00ec 1F92      		push __zero_reg__
 318 00ee 0F92      		push __tmp_reg__
 319 00f0 0FB6      		in __tmp_reg__,__SREG__
 320 00f2 0F92      		push __tmp_reg__
 321 00f4 1124      		clr __zero_reg__
 322 00f6 2F93      		push r18
 323 00f8 3F93      		push r19
 324 00fa 4F93      		push r20
 325 00fc 5F93      		push r21
 326 00fe 6F93      		push r22
 327 0100 7F93      		push r23
 328 0102 8F93      		push r24
 329 0104 9F93      		push r25
 330 0106 AF93      		push r26
 331 0108 BF93      		push r27
 332 010a EF93      		push r30
 333 010c FF93      		push r31
 334               	/* prologue end (size=17) */
  67:drive/hf3223.c **** 	static u08  cnt = 0;
  68:drive/hf3223.c **** 	static u08  bufptr=0;
  69:drive/hf3223.c **** 	u08 i;
  70:drive/hf3223.c **** 	
  71:drive/hf3223.c **** 	TCNT1  =(65536-2150);//2MS 定时
 336               	.LM17:
 337 010e 8AE9      		ldi r24,lo8(-2150)
 338 0110 97EF      		ldi r25,hi8(-2150)
 339 0112 9DBD      		out (76)+1-0x20,r25
 340 0114 8CBD      		out 76-0x20,r24
  72:drive/hf3223.c **** 
  73:drive/hf3223.c **** 	timer0_stop();
 342               	.LM18:
 343 0116 00D0      		rcall timer0_stop
  74:drive/hf3223.c **** 	fhz_20ms[cnt] = TCNT0;
 345               	.LM19:
 346 0118 9091 0000 		lds r25,cnt.0
 347 011c E92F      		mov r30,r25
 348 011e FF27      		clr r31
 349 0120 E050      		subi r30,lo8(-(fhz_20ms))
 350 0122 F040      		sbci r31,hi8(-(fhz_20ms))
 351 0124 82B7      		in r24,82-0x20
 352 0126 8083      		st Z,r24
  75:drive/hf3223.c **** 	TCNT0 =0;
 354               	.LM20:
 355 0128 12BE      		out 82-0x20,__zero_reg__
  76:drive/hf3223.c **** 	cnt++;
 357               	.LM21:
 358 012a 892F      		mov r24,r25
 359 012c 8F5F      		subi r24,lo8(-(1))
 360 012e 8093 0000 		sts cnt.0,r24
  77:drive/hf3223.c **** 	if( cnt == 50 )
 362               	.LM22:
 363 0132 8233      		cpi r24,lo8(50)
 364 0134 39F5      		brne .L12
  78:drive/hf3223.c **** 	{
  79:drive/hf3223.c **** 	  f_h_is_read = false;//运算过程中,防止读 
 366               	.LM23:
 367 0136 1092 0000 		sts f_h_is_read,__zero_reg__
  80:drive/hf3223.c **** 
  81:drive/hf3223.c **** 	  bufptr++;
 369               	.LM24:
 370 013a 8091 0000 		lds r24,bufptr.1
 371 013e 8F5F      		subi r24,lo8(-(1))
 372 0140 8093 0000 		sts bufptr.1,r24
  82:drive/hf3223.c **** 	  if( bufptr==10 ) 
 374               	.LM25:
 375 0144 8A30      		cpi r24,lo8(10)
 376 0146 11F4      		brne .L13
  83:drive/hf3223.c **** 	      bufptr = 0;
 378               	.LM26:
 379 0148 1092 0000 		sts bufptr.1,__zero_reg__
 380               	.L13:
  84:drive/hf3223.c **** 		  //使得t0_cnt[0]and t0_cnt[1]
  85:drive/hf3223.c **** 	      //相加得到hf3223的输出频率
  86:drive/hf3223.c **** 	  t0_cnt[bufptr]=0;
 382               	.LM27:
 383 014c 8091 0000 		lds r24,bufptr.1
 384 0150 E82F      		mov r30,r24
 385 0152 FF27      		clr r31
 386 0154 EE0F      		add r30,r30
 387 0156 FF1F      		adc r31,r31
 388 0158 E050      		subi r30,lo8(-(t0_cnt))
 389 015a F040      		sbci r31,hi8(-(t0_cnt))
 390 015c 1182      		std Z+1,__zero_reg__
 391 015e 1082      		st Z,__zero_reg__
 392 0160 20E0      		ldi r18,lo8(0)
 393 0162 30E0      		ldi r19,hi8(0)
 394 0164 A0E0      		ldi r26,lo8(fhz_20ms)
 395 0166 B0E0      		ldi r27,hi8(fhz_20ms)
 396 0168 91E3      		ldi r25,lo8(49)
 397               	.L17:
  87:drive/hf3223.c **** 	  for( i = 0; i < 50; i++ )
  88:drive/hf3223.c **** 	  {		
  89:drive/hf3223.c **** 		
  90:drive/hf3223.c **** 	   t0_cnt[bufptr] += fhz_20ms[i];	
 399               	.LM28:
 400 016a 8D91      		ld r24,X+
 401 016c 280F      		add r18,r24
 402 016e 311D      		adc r19,__zero_reg__
 404               	.LM29:
 405 0170 9150      		subi r25,lo8(-(-1))
 406 0172 97FF      		sbrs r25,7
 407 0174 FACF      		rjmp .L17
 408 0176 3183      		std Z+1,r19
 409 0178 2083      		st Z,r18
  91:drive/hf3223.c **** 		  
  92:drive/hf3223.c **** 	  }
  93:drive/hf3223.c **** 		 cnt=0;	
 411               	.LM30:
 412 017a 1092 0000 		sts cnt.0,__zero_reg__
  94:drive/hf3223.c **** 		 
  95:drive/hf3223.c **** 		 f_h_is_read = true;
 414               	.LM31:
 415 017e 81E0      		ldi r24,lo8(1)
 416 0180 8093 0000 		sts f_h_is_read,r24
 417               	.L12:
  96:drive/hf3223.c **** 	}
  97:drive/hf3223.c **** 	     timer0_start();
 419               	.LM32:
 420 0184 00D0      		rcall timer0_start
 421               	/* epilogue: frame size=0 */
 422 0186 FF91      		pop r31
 423 0188 EF91      		pop r30
 424 018a BF91      		pop r27
 425 018c AF91      		pop r26
 426 018e 9F91      		pop r25
 427 0190 8F91      		pop r24
 428 0192 7F91      		pop r23
 429 0194 6F91      		pop r22
 430 0196 5F91      		pop r21
 431 0198 4F91      		pop r20
 432 019a 3F91      		pop r19
 433 019c 2F91      		pop r18
 434 019e 0F90      		pop __tmp_reg__
 435 01a0 0FBE      		out __SREG__,__tmp_reg__
 436 01a2 0F90      		pop __tmp_reg__
 437 01a4 1F90      		pop __zero_reg__
 438 01a6 1895      		reti
 439               	/* epilogue end (size=17) */
 440               	/* function __vector_8 size 94 (60) */
 447               	.Lscope2:
 453               		.text
 455               	Letext:
 456               	/* File "drive/hf3223.c": code  213 = 0x00d5 ( 178), prologues  17, epilogues  18 */
DEFINED SYMBOLS
                            *ABS*:00000000 hf3223.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:129    .bss:00000000 f_h_is_read
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:135    .bss:00000001 fhz_20ms
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:141    .bss:00000065 test_freq
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:147    .bss:00000067 hf3223_f
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:153    .bss:00000069 t0_cnt
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:160    .text:00000000 hf3223_convert
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:227    .text:00000046 hf3223_read
                             .bss:0000007d cnt.0
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:308    .bss:0000007e bufptr.1
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:313    .text:000000ec __vector_8
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccETaaaa.s:455    .text:000001a8 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__udivmodhi4
f_sensor_h
Humidity
timer0_stop
timer0_start

⌨️ 快捷键说明

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