liushui.asm

来自「多个仿真例子」· 汇编 代码 · 共 43 行

ASM
43
字号
;这是一个流水灯控制程序,P1口接有8个LED,低电平点亮
;P3.0接有一个拨动开关K1,高电平时灯从上向下流动,低电平时相反
;P3.1接有一个按钮开关K2。按一下则流水灯开始流动,
;再按一下则停止流动,已点亮的LED以1Hz的频率闪动。
;流水灯相邻两灯点亮间隔250mS
FLASH	BIT	00H
	ORG	0
	LJMP	START
	ORG	30H
D250MS:	MOV	R6,#250
L1:	MOV	R7,#250
L2:	NOP
	NOP
	DJNZ	R7,L2
	DJNZ	R6,L1
	JB	P3.1,L3
	CPL	FLASH
L3:	RET
START:	MOV	SP,#60H
	SETB	P3.0
	SETB	P3.1	;设P3.0,P3.1为输入状态
	CLR	FLASH
	MOV	A,#0FEH
LOOP:	JB	P3.0,LM
	RR	A
	SJMP	OUT
LM:	RL	A
OUT:	MOV	P1,A
	LCALL	D250MS
SL:	JNB	FLASH,LOOP
	MOV	P1,#0FFH
	LCALL	D250MS
	JNB	FLASH,LOOP
	LCALL	D250MS
	JNB	FLASH,LOOP
	MOV	P1,A
	LCALL	D250MS
	JNB	FLASH,LOOP
	LCALL	D250MS
	SJMP	SL
	END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?