求16位流水灯收缩点亮汇编程序,2014-05-14 09:13
16位流水灯收缩点亮。
说 明:由P1、P2口组成16位流水灯。
第一步:由P1.0逐次向P1.7点亮,同时由P2.7逐次向P2.0点亮。
第二步:全亮后,由中间向两边逐次熄灭。如此循环。
题目链接:http://zhidao.baidu.com/question/551932222208848452
做而论道编程如下:2014-05-14 10:04
如下即可:
ORG 0000H
MOV 30H, #255
MOV 31H, #255
M_LOOP:
MOV R2, #8
DISP1:
MOV P1, 30H
MOV P2, 31H
CALL SHIFT1
CALL DL
DJNZ R2, DISP1
MOV R2, #8
DISP2:
MOV P1, 30H
MOV P2, 31H
CALL SHIFT2
CALL DL
DJNZ R2, DISP2
SJMP M_LOOP
;-----------------------
SHIFT1:
CLR C
MOV A, 30H
RLC A
MOV 30H, A
CLR C
MOV A, 31H
RRC A
MOV 31H, A
RET
;-----------------------
SHIFT2:
SETB C
MOV A, 31H
RLC A
MOV 31H, A
SETB C
MOV A, 30H
RRC A
MOV 30H, A
RET
;-----------------------
DL:
DJNZ R7, $
DJNZ R7, $
DJNZ R6, $ - 4
RET
;-----------------------
END
本题,和上次的题目很相似,可见:
http://hi.baidu.com/do_sermon/item/4810c85d4b5fcb938d12ede7