Ⅰ 用汇编语言编写一个按钮控制8个流水灯的亮灭
51汇编程序如下:
KEY EQU P3.2
LED EQU P1
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
CLR 00H
MOV A,#0FEH
LOOP:
JB P3.2,LOOP1
JNB P3.2,$
CPL 00H
LOOP1:
JB 00H,LOOP2
MOV LED,#0FFH
SJMP LOOP
LOOP2:
MOV P1,A
RL A
LCALL DELAY
SJMP LOOP
DELAY:
MOV R2,#200
DLY1:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY1
RET
END
Ⅱ 51单片机汇编语言的led亮灯编程题求解,必采纳
LED1 BIT P3.7 ; 程序没有改动,为了配合仿真图只改了端口。
KEY1 BIT P3.2
LJMP MAIN
ORG 0030H
MOV R1,#1 ; 亮灯个数
MAIN: MOV P1,#0FFH
CHECK: JB KEY1,CHECK
MOV P1,#11111111B
MOV R2,#8
LOOP: INC R1 ; 每次亮灯个数r1+1
MOV A,P1
CLR C
RRC A
MOV P1,A ; 亮灯
LCALL DL ; 跳到延迟程序 每次亮间延迟一会
DJNZ R2,LOOP ; 到r2(8次)循环结束
LJMP CHECK
ORG 0100H
DL: MOV R7,#100 ; 延迟程序
L1: MOV R6,#100
L2: MOV R5,#60
L3: NOP
NOP
DJNZ R5,L3
DJNZ R6,L2
DJNZ R7,L1
RET
END