c51单片机渐变流水灯汇编语言,单片机闪烁灯流水灯汇编代码大全

这篇博客详细介绍了使用89C51单片机通过汇编语言实现的多种灯效,包括闪烁灯、双灯左右移的霹雳灯效果、交互闪烁流水灯、左移流水灯以及根据按钮控制LED亮灭和数码管显示等。提供了多个完整程序实例,涵盖了不同灯效和输入响应的控制方法,有助于单片机初学者理解和实践。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、单片机AT89C51的P2口接8个发光二极管,让这8个发光二极管显示闪烁功能,即八灯亮2S,熄灭3S,如此循环。

参考程序:

ORG 0000H

start: MOV P1,#0H

CALL delay

MOV P1,#0FFH

CALL delay

CALL delay

LJMP start

delay:

MOV R7,#200

d2: MOV R6,#250

d1: DJNZ R6,d1

DJNZ R7,d2

RET

END

;200*250次*2*1us=1000ms=1s

2、单片机AT89C51的P1口接8个发光二极管,让这8个发光二极管能够双灯左移之后再双灯右移,

形成霹雳灯的效果,如此循环5次后全灭,延时0.5S。灯右移,形成霹雳灯的效果,

如此循环5次后全灭。延时0.5S。

参考程序1:

ORG 0000H

MOV A,#11111100B

start:

MOV P1,A

CALL delay

RL A

RL A

INC R0

CJNE R0,#4,start

MOV R0,#00H

s:

RR A

RR A

MOV P1,A

CALL delay

INC R0

CJNE R0,#4,s

MOV R0,#00H

LJMP start

delay: MOV R5,#100

k1: MOV R6,#250

k2: MOV R7,#250

k3: DJNZ R7,k3

DJNZ R6,k2

DJNZ R5,k1

RET

END

参考程序2:

ORG 0000H

MOV R0,#5

start:

MOV P2,#11111100B

CALL delay0_5s

MOV P2,#11110011B

CALL delay0_5s

MOV P2,#11001111B

CALL delay0_5s

MOV P2,#00111111B

CALL delay0_5s

MOV P2,#11001111B

CALL delay0_5s

MOV P2,#11110011B

CALL delay0_5s

MOV P2,#11111100B

CALL delay0_5s

DJNZ R0,start

MOV P2,#0FFH

SJMP $

delay0_5s:

MOV R7,#20

d3: MOV R6,#200

d2: MOV R5,#250

d1: NOP

NOP

DJNZ R5,d1

DJNZ R6,d2

DJNZ R7,d3

RET

END

3、单片机AT89C51的P2口接8个发光二极管,让这8个发光二极管先交互闪烁5次,

然后双灯左移之后再双灯右移,如此循环,形成流水灯的效果,延时0.5S。

ORG 0000H

MOV R0,#5

start:

MOV P1,#10101010B

CALL delay

MOV P1,#01010101B

CALL delay

DJNZ R0,start

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值