Ⅰ 用匯編語言編寫一個按鈕控制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