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

📄 ad convert.asm

📁 Proteus在MCS-51%26ARM7系统中的应用百例 Proteus在MCS-51%26ARM7系统中的应用百例
💻 ASM
字号:
DBUF0  	EQU		30H
TEMP   	EQU 	40H
DIN    	BIT 	0B0H
CLK    	BIT		0B1H
		ORG    	0000H
START:	MOV		R0,#DBUF0      	;显示缓冲器存放0AH,0DH,—,0XH,0XH
		MOV 	@R0,#0AH        ;串行静态显示“AD XX”XX表示0--F
		INC 	R0
		MOV		@R0,#0DH
		INC 	R0
		MOV 	@R0,#10H
		INC  	R0
		MOV 	DPTR,#0FEF3H    ;A/D地址
		MOV  	A,#0            ;清零
		MOVX 	@DPTR,A         ;启动A/D
		JNB 	P3.3,$          ;等待转换结果
		MOVX 	A,@DPTR         ;读入结果
		MOV 	P1,A			;转换结果送入发光二极管
		MOV 	B,A				;累加器内容存入B中
		SWAP 	A				;A的内容高四位与低四位交换
		ANL 	A,#0FH			;A的内容高四位清零
		XCHD	A,@R0			;A/D转换结果高四位送入DBUF3
		INC 	R0
		MOV 	A,B				;取出A/D转换后的结果
		ANL 	A,#0FH			;A的内容高四位清零
		XCHD	A,@R0			;结果低位送入DBF4中
       	ACALL  	DISP1			;串行静态显示“AD XX”
       	ACALL  	DELAY			;延时
       	AJMP   	START
DISP1:	MOV 	R0,#DBUF0		;静态显示子程序		
		MOV		R1,#TEMP+4
		MOV		R2,#5
DP10: 	MOV		DPTR,#SEGTAB	;表头地址
		MOV		A,@R0
		MOVC  	A,@A+DPTR		;取段码
		MOV		@R1,A			;到TEMP中
		INC 	R0
		DEC		R1
		DJNZ	R2,DP10
		MOV		R0,#TEMP		;段码地址指针
		MOV		R1,#5			;段码字节数
DP12:	MOV		R2,#8			;移位次数
		MOV    	A,@R0			;取段码
DP13: 	RLC 	A				;断码左移
		MOV 	DIN,C			;输出一位段码
		CLR 	CLK				;发送一个位移脉冲
		SETB	CLK
		DJNZ	R2,DP13
		INC		R0
		DJNZ	R1,DP12
		RET
SEGTAB:	DB		3FH,6,5BH,4FH,66H,6DH
        DB		7DH,7,7FH,6FH,77H,7CH
        DB		58H,5EH,79H,71H,0,40H
DELAY:	MOV		R4,#0AFH
AA1:  	MOV		R5,#0FFH
AA:   	NOP
        NOP
        NOP
        DJNZ	R5,AA
        DJNZ	R4,AA1
        RET
        END

⌨️ 快捷键说明

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