编制一个循环闪烁灯的程序,每次其中某个灯闪烁10次后,转到下一个闪烁10次,循环不止(用汇编语言编制)
发布网友
发布时间:2022-05-31 11:46
我来回答
共4个回答
热心网友
时间:2023-10-14 09:45
其程序如下:
MOV A,#01H ;灯亮初值
SHIFT: LCAIL FLASH ;调闪亮10次子程序
RR A ;右移一位
SJMP SHIFT ;循环
FLASH: MOV R2,#0AH 闪烁10次计数
FLASH1; MOV P1,A ;点亮
LCALL DELAY ;延时
MOV P1,#00H ;熄灭
LCALL DELAY ;延时
DJNZ R2,FLASH1 ;循环
RET
热心网友
时间:2023-10-14 09:45
汇编首先要做初始化,如stack,I/O,timer,关闭无用的中断.....
然后才开始写你自己的程序!
热心网友
时间:2023-10-14 09:46
不知道你有几个LED灯,假设有8个吧。
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R2,#10
MOV A,#0FEH
LOOP:
MOV P0,A
LCALL DELAY
MOV P0,#0FFH
LCALL DELAY
DJNZ R2,LOOP
MOV R2,#10
RL A
SJMP LOOP
DELAY:
MOV R3,#100
DELAY1:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DELAY1
RET
END追问怎么每个灯闪一次就换了,我想的是一个灯闪10次后再换下一个灯闪10次
追答没问题呀,就是10次。
热心网友
时间:2023-10-14 09:46
把 8 个 LED 接在 P1,低电平发光。
;---------------------
ORG 0000H
MOV A, #1
LP1:MOV R2, #20
LP2:XRL P1, A
CALL DL
DJNZ R2, LP2
RL A
SJMP LP1
;---------------------
DL: DJNZ R7, $
DJNZ R7, $
DJNZ R6, $ - 4
RET
;---------------------
END