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

📄 ds18b20.lst

📁 AVR16单片机DS18B20程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
    0201 8056      LDD	R5,6+Z
    0202 925A      ST	R5,-Y
    0203 924A      ST	R4,-Y
    0204 923A      ST	R3,-Y
    0205 922A      ST	R2,-Y
    0206 E904      LDI	R16,0x94
    0207 E010      LDI	R17,0
    0208 940E04A4  CALL	lpm32
    020A 933A      ST	R19,-Y
    020B 932A      ST	R18,-Y
    020C 931A      ST	R17,-Y
    020D 930A      ST	R16,-Y
    020E 940E03CF  CALL	cmp32f
    0210 F0CC      BLT	0x022A
    0211 01FE      MOVW	R30,R28
    0212 8023      LDD	R2,3+Z
    0213 8034      LDD	R3,4+Z
    0214 8045      LDD	R4,5+Z
    0215 8056      LDD	R5,6+Z
    0216 925A      ST	R5,-Y
    0217 924A      ST	R4,-Y
    0218 923A      ST	R3,-Y
    0219 922A      ST	R2,-Y
    021A E904      LDI	R16,0x94
    021B E010      LDI	R17,0
    021C 940E04A4  CALL	lpm32
    021E 933A      ST	R19,-Y
    021F 932A      ST	R18,-Y
    0220 931A      ST	R17,-Y
    0221 930A      ST	R16,-Y
    0222 940E033A  CALL	sub32f
    0224 940E02D8  CALL	fp2int
    0226 01A8      MOVW	R20,R16
    0227 5040      SUBI	R20,0
    0228 4850      SBCI	R21,0x80
    0229 C008      RJMP	0x0232
    022A 01FE      MOVW	R30,R28
    022B 8103      LDD	R16,3+Z
    022C 8114      LDD	R17,4+Z
    022D 8125      LDD	R18,5+Z
    022E 8136      LDD	R19,6+Z
    022F 940E02D8  CALL	fp2int
    0231 01A8      MOVW	R20,R16
    0232 01BA      MOVW	R22,R20
(0140)   temppt=Num_BCD(t);//将实际温度的10倍转换成BCD码
    0233 018B      MOVW	R16,R22
    0234 DF72      RCALL	_Num_BCD
    0235 0158      MOVW	R10,R16
(0141)   for(i=0;i<3;i++)	//将转换后的BCD码存入显示数组
    0236 2744      CLR	R20
    0237 C00C      RJMP	0x0244
(0142)   {
(0143)    temp[i]=*(temppt+i);
    0238 2FE4      MOV	R30,R20
    0239 27FF      CLR	R31
    023A 0DEA      ADD	R30,R10
    023B 1DFB      ADC	R31,R11
    023C 8020      LDD	R2,0+Z
    023D 01CE      MOVW	R24,R28
    023E 2FE4      MOV	R30,R20
    023F 27FF      CLR	R31
    0240 0FE8      ADD	R30,R24
    0241 1FF9      ADC	R31,R25
    0242 8220      STD	R2,0+Z
    0243 9543      INC	R20
    0244 3043      CPI	R20,3
    0245 F390      BCS	0x0238
(0144)   }
(0145)   for(i=0;i<3;i++)					//显示温度
    0246 2744      CLR	R20
    0247 C012      RJMP	0x025A
(0146)   {
(0147)    if(i==1)
    0248 3041      CPI	R20,1
    0249 F419      BNE	0x024D
(0148)    {
(0149)     temp[1]+=16;				//如果是各位,则加上小数点(数码管的译码数组有所改变,读者可以看10_DS18B20文件夹下的SMG.C文件)
    024A 8189      LDD	R24,1+Y
    024B 5F80      SUBI	R24,0xF0
    024C 8389      STD	R24,1+Y
(0150)    }
(0151)    One_smg_display(temp[i],i+1);	   
    024D 2F24      MOV	R18,R20
    024E 5F2F      SUBI	R18,0xFF
    024F 01CE      MOVW	R24,R28
    0250 2FE4      MOV	R30,R20
    0251 27FF      CLR	R31
    0252 0FE8      ADD	R30,R24
    0253 1FF9      ADC	R31,R25
    0254 8100      LDD	R16,0+Z
    0255 DE74      RCALL	_One_smg_display
(0152)    Delayms(5);
    0256 E005      LDI	R16,5
    0257 E010      LDI	R17,0
    0258 DE35      RCALL	_Delayms
    0259 9543      INC	R20
    025A 3043      CPI	R20,3
    025B F360      BCS	0x0248
    025C CF72      RJMP	0x01CF
(0153)   }
(0154)  }
(0155) }
FILE: <library>
    025D 9627      ADIW	R28,7
    025E 9508      RET
mod16u:
    025F 9468      BSET	6
    0260 C001      RJMP	xdiv16u
div16u:
    0261 94E8      BCLR	6
xdiv16u:
    0262 92EA      ST	R14,-Y
    0263 92FA      ST	R15,-Y
    0264 938A      ST	R24,-Y
    0265 24EE      CLR	R14
    0266 24FF      CLR	R15
    0267 E180      LDI	R24,0x10
    0268 0F00      LSL	R16
    0269 1F11      ROL	R17
    026A 1CEE      ROL	R14
    026B 1CFF      ROL	R15
    026C 16E2      CP	R14,R18
    026D 06F3      CPC	R15,R19
    026E F018      BCS	0x0272
    026F 1AE2      SUB	R14,R18
    0270 0AF3      SBC	R15,R19
    0271 9503      INC	R16
    0272 958A      DEC	R24
    0273 F7A1      BNE	0x0268
    0274 F416      BRTC	0x0277
    0275 2D0E      MOV	R16,R14
    0276 2D1F      MOV	R17,R15
    0277 9189      LD	R24,Y+
    0278 90F9      LD	R15,Y+
    0279 90E9      LD	R14,Y+
    027A 9508      RET
mod16s:
    027B 9468      BSET	6
    027C C001      RJMP	0x027E
div16s:
    027D 94E8      BCLR	6
    027E 92DA      ST	R13,-Y
    027F 2ED1      MOV	R13,R17
    0280 26D3      EOR	R13,R19
    0281 FF17      SBRS	R17,7
    0282 C004      RJMP	0x0287
    0283 9510      COM	R17
    0284 9500      COM	R16
    0285 5F0F      SUBI	R16,0xFF
    0286 4F1F      SBCI	R17,0xFF
    0287 FF37      SBRS	R19,7
    0288 C004      RJMP	0x028D
    0289 9530      COM	R19
    028A 9520      COM	R18
    028B 5F2F      SUBI	R18,0xFF
    028C 4F3F      SBCI	R19,0xFF
    028D 940E0262  CALL	xdiv16u
    028F F036      BRTS	0x0296
    0290 FED7      SBRS	R13,7
    0291 C004      RJMP	0x0296
    0292 9510      COM	R17
    0293 9500      COM	R16
    0294 5F0F      SUBI	R16,0xFF
    0295 4F1F      SBCI	R17,0xFF
    0296 90D9      LD	R13,Y+
    0297 9508      RET
empy16s:
    0298 920A      ST	R0,-Y
    0299 921A      ST	R1,-Y
    029A 938A      ST	R24,-Y
    029B 939A      ST	R25,-Y
    029C 9F02      MUL	R16,R18
    029D 01C0      MOVW	R24,R0
    029E 9F12      MUL	R17,R18
    029F 0D90      ADD	R25,R0
    02A0 9F03      MUL	R16,R19
    02A1 0D90      ADD	R25,R0
    02A2 018C      MOVW	R16,R24
    02A3 9199      LD	R25,Y+
    02A4 9189      LD	R24,Y+
    02A5 9019      LD	R1,Y+
    02A6 9009      LD	R0,Y+
    02A7 9508      RET
int2fp:
    02A8 2722      CLR	R18
    02A9 FD17      SBRC	R17,7
    02AA 9520      COM	R18
    02AB 2733      CLR	R19
    02AC FD27      SBRC	R18,7
    02AD 9530      COM	R19
long2fp:
    02AE 940E0320  CALL	savfacc1
    02B0 D002      RCALL	ITOF
    02B1 940C0323  JMP	restorefacc1
ITOF:
    02B3 2788      CLR	R24
    02B4 2333      TST	R19
    02B5 F41A      BPL	0x02B9
    02B6 940E04B8  CALL	neg32
    02B8 9580      COM	R24
    02B9 2FB0      MOV	R27,R16
    02BA 2BB1      OR	R27,R17
    02BB 2BB2      OR	R27,R18
    02BC 2BB3      OR	R27,R19
    02BD F411      BNE	0x02C0
    02BE 940C039D  JMP	minres
    02C0 E1B6      LDI	R27,0x16
    02C1 C005      RJMP	0x02C7
    02C2 95B3      INC	R27
    02C3 9536      LSR	R19
    02C4 9527      ROR	R18
    02C5 9517      ROR	R17
    02C6 9507      ROR	R16
    02C7 2333      TST	R19
    02C8 F7C9      BNE	0x02C2
    02C9 2322      TST	R18
    02CA F449      BNE	0x02D4
    02CB 50B8      SUBI	R27,0x8
    02CC 2F21      MOV	R18,R17
    02CD 2F10      MOV	R17,R16
    02CE E000      LDI	R16,0
    02CF CFF9      RJMP	0x02C9
    02D0 95BA      DEC	R27
    02D1 0F00      LSL	R16
    02D2 1F11      ROL	R17
    02D3 1F22      ROL	R18
    02D4 F7DA      BPL	0x02D0
    02D5 2F3B      MOV	R19,R27
    02D6 940C03C7  JMP	repack
fp2int:
    02D8 940E0320  CALL	savfacc1
    02DA D014      RCALL	0x02EF
    02DB 2F02      MOV	R16,R18
    02DC 2F13      MOV	R17,R19
    02DD FD87      SBRC	R24,7
    02DE C002      RJMP	0x02E1
    02DF 940C0323  JMP	restorefacc1
    02E1 9510      COM	R17
    02E2 9501      NEG	R16
    02E3 4F1F      SBCI	R17,0xFF
    02E4 940C0323  JMP	restorefacc1
fp2long:
    02E6 940E0320  CALL	savfacc1
    02E8 D008      RCALL	0x02F1
    02E9 FF87      SBRS	R24,7
    02EA C002      RJMP	0x02ED
    02EB 940E04B8  CALL	neg32
    02ED 940C0323  JMP	restorefacc1
    02EF E0BE      LDI	R27,0xE
    02F0 C001      RJMP	0x02F2
    02F1 E1BE      LDI	R27,0x1E
    02F2 940E0326  CALL	unpackfacc1
    02F4 F069      BEQ	0x0302
    02F5 1BB3      SUB	R27,R19
    02F6 F009      BEQ	0x02F8
    02F7 F472      BPL	0x0306
    02F8 2388      TST	R24
    02F9 F022      BMI	0x02FE
    02FA E010      LDI	R17,0
    02FB EA00      LDI	R16,0xA0
    02FC 940C04A4  JMP	lpm32
    02FE E010      LDI	R17,0
    02FF EA06      LDI	R16,0xA6
    0300 940C04A4  JMP	lpm32
    0302 E010      LDI	R17,0
    0303 EA04      LDI	R16,0xA4
    0304 940C04A4  JMP	lpm32
    0306 9533      INC	R19
    0307 F3D2      BMI	0x0302
    0308 E030      LDI	R19,0
    0309 50B8      SUBI	R27,0x8
    030A F452      BPL	0x0315
    030B 5FB8      SUBI	R27,0xF8
    030C 2F32      MOV	R19,R18
    030D 2F21      MOV	R18,R17
    030E 2F10      MOV	R17,R16
    030F E800      LDI	R16,0x80
    0310 C006      RJMP	0x0317
    0311 2F01      MOV	R16,R17
    0312 2F12      MOV	R17,R18
    0313 E020      LDI	R18,0
    0314 50B8      SUBI	R27,0x8
    0315 30B8      CPI	R27,0x8
    0316 F7D0      BCC	0x0311
    0317 23BB      TST	R27
    0318 F031      BEQ	0x031F
    0319 9536      LSR	R19
    031A 9527      ROR	R18
    031B 9517      ROR	R17
    031C 9507      ROR	R16
    031D 95BA      DEC	R27
    031E F7D1      BNE	0x0319
    031F 9508      RET
savfacc1:
    0320 938A      ST	R24,-Y
    0321 93BA      ST	R27,-Y
    0322 9508      RET
restorefacc1:
    0323 91B9      LD	R27,Y+
    0324 9189      LD	R24,Y+
    0325 9508      RET
unpackfacc1:
    0326 2F83      MOV	R24,R19
    0327 7880      ANDI	R24,0x80
    0328 0F22      LSL	R18
    0329 1F33      ROL	R19
    032A 5830      SUBI	R19,0x80
    032B 9408      BSET	0
    032C 9527      ROR	R18
    032D 3830      CPI	R19,0x80
    032E 9508      RET
add32fs:
    032F D002      RCALL	add32f
    0330 940C044B  JMP	push_arg4
add32f:
    0332 940E047C  CALL	float_prolog
    0334 D012      RCALL	FADD
    0335 940C0475  JMP	float_epilog
sub32fs:
    0337 D002      RCALL	sub32f
    0338 940C044B  JMP	push_arg4
sub32f:
    033A 940E047C  CALL	float_prolog
    033C D009      RCALL	FSUB
    033D 940C0475  JMP	float_epilog
fret2:
    033F 2F8A      MOV	R24,R26
    0340 2F39      MOV	R19,R25
    0341 2D24      MOV	R18,R4
    0342 2D13      MOV	R17,R3
    0343 2D02      MOV	R16,R2
    0344 940C03C7  JMP	repack
FSUB:
    0346 5890      SUBI	R25,0x80
FADD:
    0347 940E03B5  CALL	unpack
    0349 3890      CPI	R25,0x80
    034A F3C9      BEQ	0x0344
    034B 3830      CPI	R19,0x80
    034C F391      BEQ	0x033F
    034D 2FB3      MOV	R27,R19
    034E 1BB9      SUB	R27,R25
    034F F3A3      BVS	0x0344
    0350 F02A      BMI	0x0356
    0351 F439      BNE	0x0359
    0352 1502      CP	R16,R2
    0353 0513      CPC	R17,R3
    0354 0524      CPC	R18,R4
    0355 F418      BCC	0x0359
    0356 940E03A9  CALL	swapacc
    0358 CFF4      RJMP	0x034D
    0359 31B8      CPI	R27,0x18
    035A F018      BCS	0x035E
    035B 2422      CLR	R2
    035C 2433      CLR	R3
    035D 2444      CLR	R4
    035E 30B8      CPI	R27,0x8
    035F F028      BCS	0x0365
    0360 2C23      MOV	R2,R3
    0361 2C34      MOV	R3,R4
    0362 2444      CLR	R4
    0363 50B8      SUBI	R27,0x8
    0364 CFF9      RJMP	0x035E
    0365 23BB      TST	R27
    0366 F029      BEQ	0x036C
    0367 9446      LSR	R4
    0368 9437      ROR	R3
    0369 9427      ROR	R2
    036A 95BA      DEC	R27

⌨️ 快捷键说明

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