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

📄 p17_1.asm

📁 单片机原理与应用实例教程 单片机原理与应用实例教程
💻 ASM
字号:
		DQ		EQU	P3.3
		LED1	EQU	P2.0
		LED2	EQU	P2.1
		LED3	EQU	P2.2
		LED4	EQU	P2.3
		LED		EQU	P0
		ORG		0000H
		LJMP	MAIN
		ORG		3000H
MAIN:	MOV	P0, #0FFH
		MOV	P2, #0FFH
		MOV	P3, #0FFH
LOOP:	LCALL	GET_TEMPER
		LCALL	DISP
		AJMP	LOOP

GET_TEMPER:
		LCALL	RST18B20
		MOV		A, #0CCH
		LCALL	WR18B20
		MOV		A, #44H
		LCALL	WR18B20

		LCALL	RST18B20
		MOV		A, #0CCH
		LCALL	WR18B20
		MOV		A, #0BEH
		LCALL	WR18B20
		LCALL	RE18B20
		RET

RST18B20:
		SETB	DQ
		NOP
		CLR		DQ
		MOV		R0, #06BH
		MOV		R1, #03H
DSR1:	DJNZ	R0, DSR1
		MOV		R0, #6BH
		DJNZ	R1, DSR1
		SETB	DQ
		NOP
		NOP
		NOP
		MOV		R0, #25H
DSR2:	JNB		DQ, DSR3
		DJNZ	R0, DSR2
		LJMP	RST18B20
DSR3:	MOV		R0, #06BH
		DJNZ	R0, $
		SETB	DQ
		RET

WR18B20:
		MOV		R0, #8H
		CLR		C
WR1:	CLR		DQ
		MOV		R1, #6H
		DJNZ	R1,	$
		RRC		A
		MOV		DQ, C

		MOV		R1, #23
		DJNZ	R1, $
		SETB	DQ
		NOP
		DJNZ	R0, WR1
		SETB	DQ
		RET

RE18B20:
		MOV		R0, #30H
		MOV		R1, #2
RE00:	MOV		R2, #8
RE01:	CLR		C
		CLR		DQ
		NOP
		NOP
		NOP
		SETB	DQ
		MOV		R3, #09
RE10:	DJNZ	R3, RE10

		MOV		C, DQ

		MOV		R3, #23
RE20:	DJNZ	R3, RE20
		RRC	A
		DJNZ	R2, RE01

		MOV		@R0, A
		INC		R0
		DJNZ	R1, RE00
		RET

DISP:	MOV		DPTR, #SGTB
		MOV		A, 30H
		ANL		A, #11110000B
		SWAP	A
		MOV		R0, A
		MOV		A, 31H
		ANL		A, #00001111B
		SWAP	A
		ORL		A, R0

		MOV		R1, #0FFH
		JNB		ACC.7, DLED
		MOV		R0, A
		MOV		A, #0H
		CLR		C
		SUBB	A, R0
		MOV		R1, #10111111B
DLED:	MOV		LED, #0FFH
		SETB	LED1
		CLR		LED2
		CLR		LED3
		CLR		LED4
		MOV		LED, R1
		LCALL	YS4722U		

		MOV		LED, #0FFH
		CLR		LED1
		CLR		LED2
		CLR		LED3
		SETB	LED4
		MOV		B, #10
		DIV		AB
		MOV		R0, A
	   	MOV		A, B
		MOVC	A, @A+DPTR
		MOV		LED, A
		LCALL	YS4722U

		MOV		LED, #0FFH
		CLR		LED1
		CLR		LED2
		SETB	LED3
		CLR		LED4
		MOV		A, R0
		MOV		B, #10
		DIV		AB
		MOV		R0, A
		MOV		A, B
		MOVC	A, @A+DPTR
		MOV		LED, A
		LCALL	YS4722U

		MOV		LED, #0FFH
		CLR		LED1
		SETB	LED2
		CLR		LED3
		CLR		LED4
		MOV		A, R0
		MOVC	A, @A+DPTR
		MOV		LED, A
		LCALL	YS4722U
		
		RET

SGTB:	DB 0C0H, 0F9H, 0A4H, 0B0H, 099H 
		DB 092H, 082H, 0F8H, 080H, 090H
		DB 088H, 083H, 0C6H, 0A1H, 086H
		DB 08EH, 089H, 0A3H, 08CH, 0C8H

YS4722U:
		MOV		R4, #7
Y3:		MOV		R5, #216
		DJNZ	R5, $
		DJNZ	R4, Y3
		RET

		END

⌨️ 快捷键说明

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