流水灯求助

[复制链接]
2346|6
 楼主| 孤傲雕 发表于 2010-10-14 12:36 | 显示全部楼层 |阅读模式
ORG 0000H
   MOV A,#0FEH
LOOP:   MOV P1,A
   LCALL DELAY
   RL A
   SJMP LOOP
DELAY:   MOV R5,#20   
D1:   MOV R6,#20
D2:   MOV R7,#248
   DJNZ R7,$
   DJNZ R6,D2
   DJNZ R5,D1
   RET

谁帮我把这个程序改成正反流水啊!!
心静自然凉 发表于 2010-10-14 13:00 | 显示全部楼层
本帖最后由 心静自然凉 于 2010-10-16 19:58 编辑

;ORG 0000H
      ;LJMP MAIN
      ORG 0030H
MAIN:MOV A,#0FEH
      MOV R3,#8
LOOP1:  MOV P1,A
      LCALL DELAY
      RL A
      DJNZ R3,LOOP1
      MOV A,#07FH
      MOV R4,#8
LOOP2: MOV P1,A
      LCALL DELAY
      RR A
      DJNZ R4,LOOP2
      JMP MAIN
DELAY:MOV R5,#20   
D1:MOV R6,#20
D2:MOV R7,#248
   DJNZ R7,$
   DJNZ R6,D2
   DJNZ R5,D1
   RET
 楼主| 孤傲雕 发表于 2010-10-16 19:13 | 显示全部楼层
有点问题,开始为什么用两次ORG呢?为什么一开始就用LJMP呢?还有若R3=8不由成了第一个灯亮了吗?
心静自然凉 发表于 2010-10-16 19:43 | 显示全部楼层
本帖最后由 心静自然凉 于 2010-10-16 19:59 编辑

呵呵,程序写习惯了,我一般中断部分的ROM都不占用
你的正反流水灯灯亮的顺序是不是先右到左,再左到右

之前的确实写错了,现在改了一下
 楼主| 孤傲雕 发表于 2010-10-17 06:33 | 显示全部楼层
嗯,我明白啦,谢啦,调试成功啦!!:lol
zx4798 发表于 2010-10-17 10:42 | 显示全部楼层
为什么不用c语言呢
 楼主| 孤傲雕 发表于 2010-10-18 15:09 | 显示全部楼层
C也可以,我们现在正学汇编呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

54

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部