p1.0控制流水灯的开始与停止。p1.1控制流水灯的花样。一共有两个花样,放在loop1和loop2两个子程序中。用的是扫描按键的方法,没有用到中断。其实这种情况用到中断会更好点。
按键控制流水灯的仿真原理图
所有资料下载:
花样流水灯.zip
(16.39 KB, 下载次数: 46)
流水灯花样显示的汇编语言源代码如下:
- ORG 0000H
- LJMP MAIN
- ORG 0030H
- MAIN: SETB P1.0
- SETB P1.1
- MOV P0,#00H
- ACALL DELAY1S
- COM: MOV R0,#8
- MOV R1,#4
- JNB P1.0,COM
- JB P1.1,SECOND
- ACALL LOOP1
- LJMP COM
- SECOND: ACALL LOOP2
- LJMP COM
- LOOP1:
- MOV A,#0FEH
- OUT1:JNB P1.0,EXIT1
- JB P1.1,EXIT1
- MOV P0,A
- RL A
- ACALL DELAY1S
- DJNZ R0,OUT1
- MOV R0,#8
- EXIT1: RET
- LOOP2:
- MOV A,#0FCH
- OUT2: JNB P1.0,EXIT2
- JNB P1.1,EXIT2
- MOV P0,A
- RL A
- RL A
- ACALL DELAY1S
- DJNZ R1,OUT2
- MOV R1,#4
- EXIT2: RET
-
- DELAY1S: MOV R7,#50
- DEL0:MOV R6,#91
- DEL1:MOV R5,#100
- DJNZ R5,$
- DJNZ R6,DEL1
- DJNZ R7,DEL0
- RET
- END
复制代码
|