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

📄 asmfile.asm

📁 系统按键显示都具有,不同的I/O口,具有很大的参考价值
💻 ASM
字号:
;$include (reg51.inc)
AD_SCLK 	BIT P2.2
AD_A0 		BIT P2.3
AD_SDATA 	BIT P2.4
AD_DRDY 	BIT P2.5
AD_RFS 		BIT P2.6
AD_TFS 		BIT P2.7
;-----------------显示--------------------
public _AD_WRM
PUBLIC _AD_DRD

SensorAsm    SEGMENT     CODE
RSEG	SensorAsm

_AD_WRM:MOV R2,#4
OOO:	LCALL AD_WRM0	;写控制寄存器
	DJNZ R2,OOO
	RET
AD_WRM0:CLR AD_A0		;写控制寄存器
	SETB AD_RFS		;禁读
	CLR AD_TFS		;使写数据有效
	CLR AD_SCLK		;时钟置低
	LCALL WRM1		;调AD写指令代码子程序
	SETB AD_TFS
	SETB AD_A0
	RET

WRM1:	MOV A,R5		;由@R0区读数据
WRM2:	MOV R4,#8		;写8位
WRM3:	RLC A
	MOV AD_SDATA,C
	SETB AD_SCLK	;时钟置高,写数据,上升沿有效
	CLR AD_SCLK
	DJNZ R4,WRM3	;是否写完1个字节

WRM4:	MOV A,R6		;由@R0区读数据
WRM5:	MOV R4,#8		;写8位
WRM6:	RLC A
	MOV AD_SDATA,C
	SETB AD_SCLK	;时钟置高,写数据,上升沿有效
	CLR AD_SCLK
	DJNZ R4,WRM6	;是否写完1个字节

WRM7:	MOV A,R7		;由@R0区读数据
WRM8:	MOV R4,#8		;写8位
WRM9:	RLC A
	MOV AD_SDATA,C
	SETB AD_SCLK	;时钟置高,写数据,上升沿有效
	CLR AD_SCLK
	DJNZ R4,WRM9	;是否写完1个字节
	RET


_AD_DRD: CLR EA
	SETB AD_A0
	SETB AD_TFS
	CLR AD_RFS
	CLR AD_SCLK
	LCALL DRD2		;调AD读数据寄存器子程序
	SETB AD_A0
	SETB AD_RFS
	SETB AD_TFS
	SETB EA
	RET

DRD2:	MOV R3,#8
	SETB AD_DRDY	;置P2.6,作输入
	JB AD_DRDY,$	;判转换结束否
DRD3:	SETB AD_SDATA
	SETB AD_SCLK	;时钟置高
	CLR AD_SCLK
	MOV C,AD_SDATA
	RLC A
	DJNZ R3,DRD3
	MOV R5,A

	MOV R3,#8
DRD4:	SETB AD_SDATA
	SETB AD_SCLK	;时钟置高
	CLR AD_SCLK
	MOV C,AD_SDATA
	RLC A
	DJNZ R3,DRD3
	MOV R6,A
	MOV R3,#8
DRD5:	SETB AD_SDATA
	SETB AD_SCLK	;时钟置高
	CLR AD_SCLK
	MOV C,AD_SDATA
	RLC A
	DJNZ R3,DRD3
	MOV R7,A
	RET
	END

⌨️ 快捷键说明

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