单片机程序生成但不输出 点击:398 | 回复:3



冲锋陷阵

    
  • 精华:0帖
  • 求助:1帖
  • 帖子:8帖 | 118回
  • 年度积分:0
  • 历史总积分:658
  • 注册:2008年4月30日
发表于:2008-06-20 18:27:17
楼主

用单片机控制流水灯(16个),程序生成没有问题,但应用到电路中却不输出信息,请仁兄们帮忙。谢谢!

程序:     ORG 0000H 
  LOOP4: CLR C
                  MOV R0,#0FFH
         LP1: MOV A,R0
                   RRC A
                   MOV P0,A
                   LCALL  YAN
                  JC    LP1
                  JNC   LOOP1 
   LOOP1: CLR C
                  MOV R1,#0FFH
          LP2: MOV A,R1
                   RRC A
                   MOV P2,A
                   LCALL YAN
                  JC LP2
                  JNC LOOP2 
   LOOP2: CLR C
                   MOV R2,#0FFH
         LP3: MOV A,R2
                 RLC A
                  MOV P2,A
                  LCALL YAN
                 JC   LP3
                 JNC LOOP3 

  LOOP3: CLR C
                 MOV R3,#0FFH 
        LP4: MOV A,R3
                 RLC A
                 MOV P0,A
                 LCALL YAN
                JC LP4
                JNC LOOP4
YAN: MOV   R5 ,#100
          Y1: MOV R6,#248

                 DJNZ R6,$

                 DJNZ R5,Y1

                 RET
         




甘陵至尊

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 124回
  • 年度积分:0
  • 历史总积分:298
  • 注册:2005年8月13日
发表于:2008-06-25 07:34:37
1楼

ORG 0000H

  LOOP4: CLR C

   MOV R0,#0FFH

   LP1: MOV A,R0

   RRC A

   MOV P0,A

   LCALL YAN

   JC LP1

   JNC LOOP1

  LOOP1: CLR C

   MOV R1,#0FFH

   LP2: MOV A,R1

   RRC A

   MOV P2,A

   LCALL YAN

   JC LP2

   JNC LOOP2

  LOOP2: CLR C

   MOV R2,#0FFH

   LP3: MOV A,R2

   RLC A

   MOV P2,A

   LCALL YAN

   JC LP3

   JNC LOOP3



LOOP3: CLR C

   MOV R3,#0FFH

   LP4: MOV A,R3

   RLC A

   MOV P0,A

   LCALL YAN

   JC LP4

   JNC LOOP4

YAN: MOV R5 ,#100

   Y1: MOV R6,#248



DJNZ R6,$



DJNZ R5,Y1



RET

   END


试了一下编译通不过,给你一个程序吧,左右移动流水程序,


ORG 0000H
JMP MAIN
ORG 0030H

;************************************************
MAIN:
MOV A,#0FEH ;赋初始值
LOOP:
MOV R0,#07H ;移动次数
LOOPL:
MOV P2,A
MOV P0,A
RL A ;左移
CALL DELAY
DJNZ R0,LOOPL

MOV R0,#07H ;移动次数
LOOPR:
MOV P0,A
MOV P2,A
RR A ;右移
CALL DELAY
DJNZ R0,LOOPR
JMP LOOP

;************************************************
DELAY:
MOV R6,#0FFH
DEL:
MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,DEL
RET

;************************************************
END

浅醉闲眠

  • [版主]
  • 精华:3帖
  • 求助:3帖
  • 帖子:219帖 | 13148回
  • 年度积分:152
  • 历史总积分:116149
  • 注册:2002年6月21日
发表于:2008-06-25 12:50:25
2楼

来学习.汇编语言程序就是麻烦点,还是很实用的.

冲锋陷阵

  • 精华:0帖
  • 求助:1帖
  • 帖子:8帖 | 118回
  • 年度积分:0
  • 历史总积分:658
  • 注册:2008年4月30日
发表于:2008-06-25 19:23:47
3楼
谢谢楼上的回答,希望留下仁兄学习单片机的宝贵经验及学习资料。

热门招聘
相关主题

官方公众号

智造工程师