(1)如何实现彩灯变化顺序为,1个亮,2个亮,3个亮,......最后八个亮,然后再依次灭掉,如此循环不止?求详解。
(2)改动一下程序,使每个灯闪烁一次再移动。
在线等,着急。
悬赏分:50 - 解决时间:2009-10-15 20:58
;--------------------------
最佳答案:
;==========================
1.
ORG 0000H
KK:
MOV A, #0FEH ;A中仅有右边一个0
CLR C ;C=0
MOV R5, #07H
LK1:
MOV P1, A ;第一次,仅有一个亮
RLC A ;将C中的0,从右边移进A
CALL DELAY
DJNZ R5, LK1 ;循环7次,A中全0
;--------------------------
SETB C ;C=1
LK2:
MOV R5, #08H
MOV P1, A ;第一次,LED全亮
RLC A ;将C中的1,从右边移进A
CALL DELAY
DJNZ R5, LK2 ;循环8次,LED依次全灭
;--------------------------
SJMP KK ;从头再来
;--------------------------
DELAY:...
...
;==========================
2.
ORG 0000H
KK:
MOV A, #0FEH ;A中仅有一个0
CLR C ;C=0
MOV R5, #07H
LK1:
MOV P1, A ;仅有一个亮
CALL DELAY ;延时
MOV P1, #0FF ;全灭
CALL DELAY ;延时,闪烁完成
RL A ;再移位
DJNZ R5, LK1 ;其它不变
MOV R5, #07H
LK2:.......
...
DELAY:...
;==========================
回答者: 做而论道 - 八级 2009-10-15 18:20
原题网址:http://z.baidu.com/question/121517697.html