MCS51流水灯_按键检测_Proteus仿真

流水灯_按键检测

功能:按键控制LED亮、灭

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

程序:

ORG		0000H
	AJMP	START
	ORG		0030H
START:	
	SETB	P2.0			;将P2.0置为输入功能
MAIN:
	MOV		R0,#0FFH		;-1→R0
	MOV		R2,16			;循环次数16
	MOV		DPTR,#TAB		;将数据表起始数据放入数据指针DPTR中
LOOP:
	INC		R0
	MOV		A,R0
	MOVC	A,@A+DPTR		;以累加器A作为数据表中的数组下标,将数据表中数据提取出来,并存入累加器A
SHOW:
	JNB		P2.0,INCR		;按键检测,若P2.0=0(按键按下)则跳转
	JMP		SHOW			;否则,继续检测
INCR:
	JNB		P2.0,INCR		;若按键按下未松开,继续等待
	MOV		P0,A			
	LCALL	DELAY
	LCALL	DELAY
	LCALL	DELAY
	DJNZ	R2,LOOP
	AJMP	MAIN
	RET
DELAY:						;延时程序
	MOV		R7,#250
D1:	MOV		R6,#250
D2: DJNZ	R6,D2
	DJNZ	R7,D1
	RET
TAB:
	DB	01111110B
	DB	00111100B
	DB	00011000B
	DB	00000000B
	DB	00011000B
	DB	00111100B
	DB	01111110B
	DB	11111111B
	DB	01010101B
	DB	10101010B
	DB	00000111B
	DB	00001111B
	DB	00011111B
	DB	00111111B
	DB	01111111B
	DB	11111111B
	END

仿真效果:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值