51单片机32个流水灯多种流的方式汇编语言程序
时间: 2023-06-11 09:09:53 浏览: 134
以下是一个简单的基于51单片机的32个流水灯的汇编程序,其中包含了多种不同的流动方式。请注意,该程序只是示例,并且可能需要根据你的硬件配置进行适当修改。
```
ORG 0
MOV P1,#0xFE ; P1口输出为低电平,即所有灯亮
LOOP: ; 无限循环
; 方式1:从左向右流动
MOV A,#0x7F
MOV P1,A
ACALL DELAY
MOV A,#0xBF
MOV P1,A
ACALL DELAY
MOV A,#0xDF
MOV P1,A
ACALL DELAY
MOV A,#0xEF
MOV P1,A
ACALL DELAY
MOV A,#0xF7
MOV P1,A
ACALL DELAY
MOV A,#0xFB
MOV P1,A
ACALL DELAY
MOV A,#0xFD
MOV P1,A
ACALL DELAY
MOV A,#0xFE
MOV P1,A
ACALL DELAY
; 方式2:从右向左流动
MOV A,#0xFE
MOV P1,A
ACALL DELAY
MOV A,#0xFD
MOV P1,A
ACALL DELAY
MOV A,#0xFB
MOV P1,A
ACALL DELAY
MOV A,#0xF7
MOV P1,A
ACALL DELAY
MOV A,#0xEF
MOV P1,A
ACALL DELAY
MOV A,#0xDF
MOV P1,A
ACALL DELAY
MOV A,#0xBF
MOV P1,A
ACALL DELAY
MOV A,#0x7F
MOV P1,A
ACALL DELAY
; 方式3:两端向中间逼近
MOV A,#0xC3
MOV P1,A
ACALL DELAY
MOV A,#0xE7
MOV P1,A
ACALL DELAY
MOV A,#0xFF
MOV P1,A
ACALL DELAY
MOV A,#0xE7
MOV P1,A
ACALL DELAY
MOV A,#0xC3
MOV P1,A
ACALL DELAY
; 方式4:中间向两端扩散
MOV A,#0x18
MOV P1,A
ACALL DELAY
MOV A,#0x3C
MOV P1,A
ACALL DELAY
MOV A,#0x7E
MOV P1,A
ACALL DELAY
MOV A,#0x3C
MOV P1,A
ACALL DELAY
MOV A,#0x18
MOV P1,A
ACALL DELAY
JMP LOOP ; 跳回循环
DELAY: ; 延迟函数
MOV R2,#0x0F
D1: MOV R1,#0xFF
D2: DJNZ R1,D2
DJNZ R2,D1
RET
```
该程序使用了一个简单的延迟函数来控制流水灯的速度。你可以根据需要在这个函数中调整延迟时间。
阅读全文