在p0口接上8个led灯,每次亮两个灯的流水灯,如何实现led灯各闪烁5次再实现移位功能(汇编)
ORG0000HLJMPMAINORG0100HMAIN:MOVA,#0FCHLOOP:MOVP0,aLCALLDELRLARLALJMPLOOPDEL:MOVR0,#2...
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV A,#0FCH
LOOP: MOV P0,a
LCALL DEL
RL A
RL A
LJMP LOOP
DEL: MOV R0,#20
DL3: MOV R2,#100
DL2: MOV R3,#250
DEL1: DJNZ R3,DEL1
DJNZ R2,DL2
DJNZ R0,DL3
RET
END 展开
LJMP MAIN
ORG 0100H
MAIN: MOV A,#0FCH
LOOP: MOV P0,a
LCALL DEL
RL A
RL A
LJMP LOOP
DEL: MOV R0,#20
DL3: MOV R2,#100
DL2: MOV R3,#250
DEL1: DJNZ R3,DEL1
DJNZ R2,DL2
DJNZ R0,DL3
RET
END 展开
展开全部
闪烁5次再移位,可以用循环来实现。程序如下:
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FCH ;LED灯初值,两个灯点亮
LOOP:
MOV R2,#5 ;5次闪烁循环次数
LOOP1:
MOV P0,A ;P0口送控制值
LCALL DELAY ;延时
MOV P0,#0FFH ;关闭显示,实现闪烁效果
LCALL DELAY
DJNZ R2,LOOP1 ;该循环执行5次闪烁
RL A ;闪烁之后移位
SJMP LOOP
DELAY:
MOV R3,#200 ;延时大概100毫秒
DLY:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DLY
RET
END
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FCH ;LED灯初值,两个灯点亮
LOOP:
MOV R2,#5 ;5次闪烁循环次数
LOOP1:
MOV P0,A ;P0口送控制值
LCALL DELAY ;延时
MOV P0,#0FFH ;关闭显示,实现闪烁效果
LCALL DELAY
DJNZ R2,LOOP1 ;该循环执行5次闪烁
RL A ;闪烁之后移位
SJMP LOOP
DELAY:
MOV R3,#200 ;延时大概100毫秒
DLY:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DLY
RET
END
展开全部
;------------------------
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV A, #0FCH
;------------------------
LOOP:
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
RL A
RL A
LJMP LOOP
;------------------------
DEL:
MOV R0,#20
DL3:
MOV R2,#100
DL2:
MOV R3,#250
DEL1:
DJNZ R3,DEL1
DJNZ R2,DL2
DJNZ R0,DL3
RET
;------------------------
END
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV A, #0FCH
;------------------------
LOOP:
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
MOV P0, A ;亮两位
LCALL DEL
MOV P0, #255 ;全灭
LCALL DEL
RL A
RL A
LJMP LOOP
;------------------------
DEL:
MOV R0,#20
DL3:
MOV R2,#100
DL2:
MOV R3,#250
DEL1:
DJNZ R3,DEL1
DJNZ R2,DL2
DJNZ R0,DL3
RET
;------------------------
END
更多追问追答
追问
我想要的效果是两个灯分别闪烁,也就是说一个灯闪的时候另外一个灯是保持亮的状态,不知道这样能否实现?
追答
;------------------------
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN:
MOV A, #1
;------------------------
LOOP:
CPL A
MOV P0, A ;亮一位
CPL A
RL A
XRL P0, A ;又亮一位
LCALL DEL
XRL P0, A ;灭一位
LCALL DEL
XRL P0, A ;又亮一位
LCALL DEL
XRL P0, A ;灭一位
LCALL DEL
XRL P0, A ;又亮一位
LCALL DEL
XRL P0, A ;灭一位
LCALL DEL
LJMP LOOP
;------------------------
DEL:
MOV R0,#20
DL3:
MOV R2,#100
DL2:
MOV R3,#250
DEL1:
DJNZ R3,DEL1
DJNZ R2,DL2
DJNZ R0,DL3
RET
;------------------------
END
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询