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

📄 smg_ds18b20.lst

📁 ds18b20在数码管上显示温度,在avr128已编译通过
💻 LST
📖 第 1 页 / 共 4 页
字号:
     28C 940E 030B CALL	div16s
     28E E02A      LDI	R18,0xA
     28F E030      LDI	R19,0
     290 940E 0307 CALL	mod16s
     292 9300 0124 STS	0x0124,R16
(0064) 			led_buf[6] = (int)temperture/10%10;
     294 E08A      LDI	R24,0xA
     295 E090      LDI	R25,0
     296 9120 011C LDS	R18,temperture+2
     298 9130 011D LDS	R19,temperture+3
     29A 9100 011A LDS	R16,temperture
     29C 9110 011B LDS	R17,temperture+1
     29E 940E 0464 CALL	fpint
     2A0 019C      MOVW	R18,R24
     2A1 940E 030B CALL	div16s
     2A3 E02A      LDI	R18,0xA
     2A4 E030      LDI	R19,0
     2A5 940E 0307 CALL	mod16s
     2A7 9300 0125 STS	0x0125,R16
(0065) 			led_buf[7] = (int)temperture%10;
     2A9 E08A      LDI	R24,0xA
     2AA E090      LDI	R25,0
     2AB 9120 011C LDS	R18,temperture+2
     2AD 9130 011D LDS	R19,temperture+3
     2AF 9100 011A LDS	R16,temperture
     2B1 9110 011B LDS	R17,temperture+1
     2B3 940E 0464 CALL	fpint
     2B5 019C      MOVW	R18,R24
     2B6 940E 0307 CALL	mod16s
     2B8 9300 0126 STS	0x0126,R16
(0066) 		}
(0067) 		
(0068) 		if(led_buf[0] == 0)
     2BA 9020 011F LDS	R2,led_buf
     2BC 2022      TST	R2
     2BD F539      BNE	0x02E5
(0069) 		{
(0070) 			led_buf[0] = 25;
     2BE E189      LDI	R24,0x19
     2BF 9380 011F STS	led_buf,R24
(0071) 			if(led_buf[1] == 0)
     2C1 9020 0120 LDS	R2,led_buf+1
     2C3 2022      TST	R2
     2C4 F501      BNE	0x02E5
(0072) 			{
(0073) 				led_buf[1] = 25;
     2C5 9380 0120 STS	led_buf+1,R24
(0074) 				if(led_buf[2] == 0)
     2C7 9020 0121 LDS	R2,led_buf+2
     2C9 2022      TST	R2
     2CA F4D1      BNE	0x02E5
(0075) 				{
(0076) 					led_buf[2] = 25;
     2CB 9380 0121 STS	led_buf+2,R24
(0077) 					if(led_buf[3] == 0)
     2CD 9020 0122 LDS	R2,led_buf+3
     2CF 2022      TST	R2
     2D0 F4A1      BNE	0x02E5
(0078) 					{
(0079) 						led_buf[3] = 25;
     2D1 9380 0122 STS	led_buf+3,R24
(0080) 						if(led_buf[4] == 0)
     2D3 9020 0123 LDS	R2,0x0123
     2D5 2022      TST	R2
     2D6 F471      BNE	0x02E5
(0081) 						{
(0082) 							led_buf[4] = 25;
     2D7 9380 0123 STS	0x0123,R24
(0083) 							if(led_buf[5] == 0)
     2D9 9020 0124 LDS	R2,0x0124
     2DB 2022      TST	R2
     2DC F441      BNE	0x02E5
(0084) 							{
(0085) 								led_buf[5] = 25;
     2DD 9380 0124 STS	0x0124,R24
(0086) 								if(led_buf[6] == 0)
     2DF 9020 0125 LDS	R2,0x0125
     2E1 2022      TST	R2
     2E2 F411      BNE	0x02E5
(0087) 								{
(0088) 									led_buf[6] = 25;
     2E3 9380 0125 STS	0x0125,R24
(0089) 								}
(0090) 							}
(0091) 						}
(0092) 					}
(0093) 				}
(0094) 			}
(0095) 		}		
(0096) 		Coding_led();
     2E5 D007      RCALL	_Coding_led
(0097) 		led_disbuf[6] &=~ BIT(7);
     2E6 9180 012D LDS	R24,0x012D
     2E8 778F      ANDI	R24,0x7F
     2E9 9380 012D STS	0x012D,R24
     2EB CEC0      RJMP	0x01AC
     2EC 9508      RET
(0098) 	}	
(0099) 
(0100) }
(0101) 
(0102) 
(0103) void Coding_led(void)//8位数码管译码程序
(0104) {
(0105) 	unsigned char i;
(0106) 	for(i=0;i<8;i++)
_Coding_led:
  i                    --> R16
     2ED 2700      CLR	R16
     2EE C015      RJMP	0x0304
(0107) 	{
(0108) 		led_disbuf[i] = led_table[led_buf[i]];
FILE: <library>
     2EF E18F      LDI	R24,0x1F
     2F0 E091      LDI	R25,1
     2F1 2FE0      MOV	R30,R16
     2F2 27FF      CLR	R31
     2F3 0FE8      ADD	R30,R24
     2F4 1FF9      ADC	R31,R25
     2F5 81E0      LDD	R30,Z+0
     2F6 27FF      CLR	R31
     2F7 E080      LDI	R24,0
     2F8 E091      LDI	R25,1
     2F9 0FE8      ADD	R30,R24
     2FA 1FF9      ADC	R31,R25
     2FB 8020      LDD	R2,Z+0
     2FC E287      LDI	R24,0x27
     2FD E091      LDI	R25,1
     2FE 2FE0      MOV	R30,R16
     2FF 27FF      CLR	R31
     300 0FE8      ADD	R30,R24
     301 1FF9      ADC	R31,R25
     302 8220      STD	Z+0,R2
     303 9503      INC	R16
     304 3008      CPI	R16,0x8
     305 F348      BCS	0x02EF
     306 9508      RET
mod16s:
     307 9468      BSET	6
     308 92DA      ST	R13,-Y
     309 2ED1      MOV	R13,R17
     30A C004      RJMP	0x030F
div16s:
     30B 94E8      BCLR	6
     30C 92DA      ST	R13,-Y
     30D 2ED1      MOV	R13,R17
     30E 26D3      EOR	R13,R19
     30F FF17      SBRS	R17,7
     310 C004      RJMP	0x0315
     311 9510      COM	R17
     312 9500      COM	R16
     313 5F0F      SUBI	R16,0xFF
     314 4F1F      SBCI	R17,0xFF
     315 FF37      SBRS	R19,7
     316 C004      RJMP	0x031B
     317 9530      COM	R19
     318 9520      COM	R18
     319 5F2F      SUBI	R18,0xFF
     31A 4F3F      SBCI	R19,0xFF
     31B 940E 0328 CALL	xdiv16u
     31D FED7      SBRS	R13,7
     31E C004      RJMP	0x0323
     31F 9510      COM	R17
     320 9500      COM	R16
     321 5F0F      SUBI	R16,0xFF
     322 4F1F      SBCI	R17,0xFF
     323 90D9      LD	R13,Y+
     324 9508      RET
mod16u:
     325 9468      BSET	6
     326 C001      RJMP	xdiv16u
div16u:
     327 94E8      BCLR	6
xdiv16u:
     328 92EA      ST	R14,-Y
     329 92FA      ST	R15,-Y
     32A 938A      ST	R24,-Y
     32B 24EE      CLR	R14
     32C 24FF      CLR	R15
     32D E180      LDI	R24,0x10
     32E 0F00      LSL	R16
     32F 1F11      ROL	R17
     330 1CEE      ROL	R14
     331 1CFF      ROL	R15
     332 16E2      CP	R14,R18
     333 06F3      CPC	R15,R19
     334 F018      BCS	0x0338
     335 1AE2      SUB	R14,R18
     336 0AF3      SBC	R15,R19
     337 9503      INC	R16
     338 958A      DEC	R24
     339 F7A1      BNE	0x032E
     33A F416      BRTC	0x033D
     33B 2D0E      MOV	R16,R14
     33C 2D1F      MOV	R17,R15
     33D 9189      LD	R24,Y+
     33E 90F9      LD	R15,Y+
     33F 90E9      LD	R14,Y+
     340 9508      RET
div32u:
     341 94E8      BCLR	6
     342 C001      RJMP	0x0344
mod32u:
     343 9468      BSET	6
     344 D030      RCALL	long_div_prolog
     345 24CC      CLR	R12
     346 C009      RJMP	0x0350
div32s:
     347 94E8      BCLR	6
     348 C001      RJMP	0x034A
mod32s:
     349 9468      BSET	6
     34A D02A      RCALL	long_div_prolog
     34B FD37      SBRC	R19,7
     34C 940E 03E7 CALL	neg32
     34E FDB7      SBRC	R27,7
     34F D052      RCALL	neg_R24_R27
     350 2477      CLR	R7
     351 2488      CLR	R8
     352 2499      CLR	R9
     353 24AA      CLR	R10
     354 24BB      CLR	R11
     355 D042      RCALL	tst_R16_R19
     356 F0C1      BEQ	0x036F
     357 D045      RCALL	tst_R24_R27
     358 F0B1      BEQ	0x036F
     359 E2E8      LDI	R30,0x28
     35A 0F00      LSL	R16
     35B 1F11      ROL	R17
     35C 1F22      ROL	R18
     35D 1F33      ROL	R19
     35E 1C77      ROL	R7
     35F 1C88      ROL	R8
     360 1C99      ROL	R9
     361 1CAA      ROL	R10
     362 1CBB      ROL	R11
     363 1688      CP	R8,R24
     364 0699      CPC	R9,R25
     365 06AA      CPC	R10,R26
     366 06BB      CPC	R11,R27
     367 F028      BCS	0x036D
     368 1A88      SUB	R8,R24
     369 0A99      SBC	R9,R25
     36A 0AAA      SBC	R10,R26
     36B 0ABB      SBC	R11,R27
     36C 9503      INC	R16
     36D 95EA      DEC	R30
     36E F759      BNE	0x035A
     36F F426      BRTC	0x0374
     370 2D08      MOV	R16,R8
     371 2D19      MOV	R17,R9
     372 2D2A      MOV	R18,R10
     373 2D3B      MOV	R19,R11
     374 C013      RJMP	long_div_epilog
long_div_prolog:
     375 927A      ST	R7,-Y
     376 928A      ST	R8,-Y
     377 929A      ST	R9,-Y
     378 92AA      ST	R10,-Y
     379 92BA      ST	R11,-Y
     37A 92CA      ST	R12,-Y
     37B 93EA      ST	R30,-Y
     37C 938A      ST	R24,-Y
     37D 939A      ST	R25,-Y
     37E 93AA      ST	R26,-Y
     37F 93BA      ST	R27,-Y
     380 858B      LDD	R24,Y+11
     381 859C      LDD	R25,Y+12
     382 85AD      LDD	R26,Y+13
     383 85BE      LDD	R27,Y+14
     384 2EC3      MOV	R12,R19
     385 F00E      BRTS	0x0387
     386 26CB      EOR	R12,R27
     387 9508      RET
long_div_epilog:
     388 FCC7      SBRC	R12,7
     389 940E 03E7 CALL	neg32
     38B 91B9      LD	R27,Y+
     38C 91A9      LD	R26,Y+
     38D 9199      LD	R25,Y+
     38E 9189      LD	R24,Y+
     38F 91E9      LD	R30,Y+
     390 90C9      LD	R12,Y+
     391 90B9      LD	R11,Y+
     392 90A9      LD	R10,Y+
     393 9099      LD	R9,Y+
     394 9089      LD	R8,Y+
     395 9079      LD	R7,Y+
     396 9624      ADIW	R28,4
     397 9508      RET
tst_R16_R19:
     398 2FE0      MOV	R30,R16
     399 2BE1      OR	R30,R17
     39A 2BE2      OR	R30,R18
     39B 2BE3      OR	R30,R19
     39C 9508      RET
tst_R24_R27:
     39D 2FE8      MOV	R30,R24
     39E 2BE9      OR	R30,R25
     39F 2BEA      OR	R30,R26
     3A0 2BEB      OR	R30,R27
     3A1 9508      RET
neg_R24_R27:
     3A2 9580      COM	R24
     3A3 9590      COM	R25
     3A4 95A0      COM	R26
     3A5 95B0      COM	R27
     3A6 5F8F      SUBI	R24,0xFF
     3A7 4F9F      SBCI	R25,0xFF
     3A8 4FAF      SBCI	R26,0xFF
     3A9 4FBF      SBCI	R27,0xFF
     3AA 9508      RET
elpm32:
     3AB 93EA      ST	R30,-Y
     3AC 93FA      ST	R31,-Y
     3AD 920A      ST	R0,-Y
     3AE 2FE0      MOV	R30,R16
     3AF 2FF1      MOV	R31,R17
     3B0 95D8      ELPM
     3B1 2D00      MOV	R16,R0
     3B2 9631      ADIW	R30,1
     3B3 95D8      ELPM
     3B4 2D10      MOV	R17,R0
     3B5 9631      ADIW	R30,1
     3B6 95D8      ELPM
     3B7 2D20      MOV	R18,R0
     3B8 9631      ADIW	R30,1
     3B9 95D8      ELPM
     3BA 2D30      MOV	R19,R0
     3BB 9009      LD	R0,Y+
     3BC 91F9      LD	R31,Y+
     3BD 91E9      LD	R30,Y+
     3BE 9508      RET
pop_xgset003C:
     3BF 90A9      LD	R10,Y+
     3C0 90B9      LD	R11,Y+
     3C1 90C9      LD	R12,Y+
     3C2 90D9      LD	R13,Y+
     3C3 9508      RET
push_xgsetF0FC:
     3C4 937A      ST	R23,-Y
     3C5 936A      ST	R22,-Y
push_xgset30FC:
     3C6 935A      ST	R21,-Y
     3C7 934A      ST	R20,-Y
push_xgset00FC:
     3C8 92FA      ST	R15,-Y
     3C9 92EA      ST	R14,-Y
push_xgset003C:
     3CA 92DA      ST	R13,-Y
     3CB 92CA      ST	R12,-Y
     3CC 92BA      ST	R11,-Y
     3CD 92AA      ST	R10,-Y
     3CE 9508      RET
push_xgsetF000:
     3CF 937A      ST	R23,-Y
     3D0 936A      ST	R22,-Y
     3D1 935A      ST	R21,-Y
     3D2 934A      ST	R20,-Y
     3D3 9508      RET
pop_xgsetF000:
     3D4 9149      LD	R20,Y+
     3D5 9159      LD	R21,Y+
     3D6 9169      LD	R22,Y+
     3D7 9179      LD	R23,Y+
     3D8 9508      RET
push_xgsetF00C:
     3D9 937A      ST	R23,-Y
     3DA 936A      ST	R22,-Y
     3DB 935A      ST	R21,-Y
     3DC 934A      ST	R20,-Y
     3DD 92BA      ST	R11,-Y
     3DE 92AA      ST	R10,-Y
     3DF 9508      RET
pop_xgsetF00C:
     3E0 90A9      LD	R10,Y+
     3E1 90B9      LD	R11,Y+
     3E2 9149      LD	R20,Y+
     3E3 9159      LD	R21,Y+
     3E4 9169      LD	R22,Y+
     3E5 9179      LD	R23,Y+
     3E6 9508      RET
neg32:
     3E7 9500      COM	R16
     3E8 9510      COM	R17
     3E9 9520      COM	R18
     3EA 9530      COM	R19
     3EB 5F0F      SUBI	R16,0xFF
     3EC 4F1F      SBCI	R17,0xFF
     3ED 4F2F      SBCI	R18,0xFF
     3EE 4F3F      SBCI	R19,0xFF
     3EF 9508      RET
lsl8:
     3F0 2311      TST	R17
     3F1 F019      BEQ	0x03F5
     3F2 0F00      LSL	R16
     3F3 951A      DEC	R17
     3F4 CFFB      RJMP	lsl8
     3F5 9508      RET
lsr8:
     3F6 2311      TST	R17
     3F7 F019      BEQ	0x03FB
     3F8 9506      LSR	R16
     3F9 951A      DEC	R17
     3FA CFFB      RJMP	lsr8
     3FB 9508      RET
fpsub:
     3FC 9468      BSET	6
     3FD C001      RJMP	fpadd_alt
fpadd:
     3FE 94E8      BCLR	6
fpadd_alt:
     3FF 940E 051A CALL	saveR8toR25
     401 940E 04B0 CALL	unpacks
     403 F409      BNE	0x0405
     404 C047      RJMP	0x044C
     405 2EE6      MOV	R14,R22
     406 2ED5      MOV	R13,R21
     407 2EC4      MOV	R12,R20
     408 2EB3      MOV	R11,R19
     409 2EA2      MOV	R10,R18
     40A 2E91      MOV	R9,R17
     40B 2E80      MOV	R8,R16
     40C 8100      LDD	R16,Z+0
     40D 8111      LDD	R17,Z+1
     40E 8122      LDD	R18,Z+2

⌨️ 快捷键说明

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