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

📄 smproc.asm

📁 A Digital Thermometer Using the AT89C2051 MCU
💻 ASM
字号:
@CODE_TAB = Listing 2.

@CODE_TAB = 

@CODE_TAB = *Primitive DS1620 support routines <R>
*J. Dybowski

@CODE_TAB = 

@CODE_TAB = *I/O bits <R>
RST		EQU	P3.4 <R>
CLK		EQU	P3.3 <R>
DQ		EQU	P3.2	

@CODE_TAB = 

@CODE_TAB = *Configure for CPU control, continuous conversion <R>
TempConfigure 		<R>
	SETB		RST 	<R>
	MOV		A,#$C<R>
 	ACALL	TWR<R>
 	MOV		A,#%00000010<R>
	ACALL	TWR <R>
	CLR		RST 		<R>
	MOV		R2,#20<R>
 	ACALL	DELAY<R>
 	RET<R>


@CODE_TAB = **Start temperature conversion <R>
TempConvert 	<R>
	SETB		RST <R>
	MOV		A,#$EE <R>
	ACALL	TWR<R>
	CLR		RST<R>
 	RET

@CODE_TAB = 

@CODE_TAB = *Read temperature conversion <R>
TempRead 	<R>
	SETB		RST 	<R>
	MOV		A,#$AA<R>
 	ACALL	TWR<R>
 	ACALL	TRD<R>
 	CLR		RST<R>
 	RET

@CODE_TAB = 

@CODE_TAB = *local: write 8 bits to DS1620 <R>
TWR: 	<R>
	MOV		R0,#8 <R>
TWR1: 	<R>
	CLR		CLK <R>
	RRC		A <R>
	MOV		DQ,C <R>
	SETB		CLK <R>
	DJNZ		R0,TWR1<R>
 	RET

@CODE_TAB = 

@CODE_TAB = *local: read 9 bits from DS1620 <R>
TRD: 	<R>
	SETB		DQ<R>
 	MOV		R0,#8 <R>
TRD1: 	<R>
	CLR		CLK <R>
	MOV		C,DQ <R>
	RRC		A <R>
	SETB		CLK<R>
 	DJNZ		R0,TRD1 <R>
	CLR		CLK<R>
 	MOV		C,DQ<R>
 	MOV		B.0,C<R>
 	SETB		CLK<R>
 	ANL		B,#$FE<R>
 	RET

⌨️ 快捷键说明

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