有八个Led接在P1口。

(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

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值