[AT89C51 ]用汇编语言实现流水灯仿真(含keil与Proteus)

       前言:笔者发文主要是为了记录笔者单片机学习课程,可能实用性不多,大佬看着玩就行。

        关键词:51单片机;AT89C51;流水灯仿真;初学

要求:使用AT89C51实现流水灯,使用汇编语言。

思路:用51单片机8个P1口输出实现8个LED灯依次亮灭,实现流水目标

        硬件:连接如图

 Proteus用到的都是简单的操作,画图和放元件若是有不懂的再说吧。

软件:用汇编语言

        

	ORG 0000H
		AJMP MAIN
	ORG 0030H
		MAIN:	MOV	SP,	#60H
				MOV	A,	#0FEH;			设置灯亮	11111110
		
		LOOP:	
				INC	R0;					增加R0值,开始计数
				RR	A		;			开始亮8灯  逆向流水,从下至上亮,本质是做环移
				MOV P1,A	;			激活P1口
				ACALL	DELAY;			进入延时,1S
				AJMP	LOOP;			返回LOOP循环
				AJMP	$;
		
		DELAY:	
				MOV R4,	#20;	  1us  12HZ 机器时间周期为1us
		DEL1:	
				MOV R6,	#100;  	  1us		T=(1+1+1+((250*2+2)*100+2)*20+2)=1004050us  1s
		DEL2:	
				MOV	R7,	#250;     1us
	
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值