MCS52多开关控制多灯2_Proteus仿真

多开关控制多灯2

硬件连接:
在这里插入图片描述
程序1:

ORG 10
START:
	;MOV		P0,#0FH
	JNB		P0.0,LOP1	;P0.0位为0则跳转至LOP1
	SETB	P0.4
	SJMP	NEXT1
LOP1:
	CLR		P0.4
NEXT1:
	JNB		P0.1,LOP2
	SETB	P0.5
	SJMP	NEXT2
LOP2:
	CLR		P0.5
NEXT2:
	JNB		P0.2,LOP3
	SETB	P0.6
	SJMP	NEXT3
LOP3:
	CLR		P0.6
	NEXT3:
	JNB		P0.3,LOP4
	SETB	P0.7
	SJMP	NEXT4
	LOP4:
	CLR		P0.7
	NEXT4:
	AJMP	START
	RET
	END

程序2:

	ORG		000H
START:
	MOV		P0,#0FFH	;高四位LED灯灭,低四位开关状态置1
	MOV		A,P0		;读P0口状态,送到累加器A中
	SWAP	A			;低四位、高四位状态互换
	ANL		A,#0F0H		;高四位值不变
	MOV		P0,A		;从P0口输出
	LCALL	Dealy
	SJMP	START		;循环
Dealy:					;延时子程序,软件防抖
	MOV		R7,#250
D1: MOV		R6,#250
D2:	NOP
	NOP
	DJNZ	R6,D2
	DJNZ	R7,D1
	RET
	END

仿真结果:
sa
若将程序2中延时函数注释
;LCALL Dealy
LED出现余辉:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/GAI159/article/details/86654849