标题:求高手!!!跑马灯程序问题!!!!(单片机程序问题)
只看楼主
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
得分:2 
蹭分
2012-10-26 16:04
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
得分:2 
跑马灯只要循环移位就好了,没啥难度吧,单片机里面最简单的是闪烁灯,第二简单就是跑马灯了。又叫流水灯,你可以找找,很多例子的。

[ 本帖最后由 pauljames 于 2012-10-26 21:06 编辑 ]

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-10-26 21:05
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
得分:0 
不会把实际问题抽象出来,没有编程思维,建议别浪费时间,好好学学英语也比这么折磨强得多

总有那身价贱的人给作业贴回复完整的代码
2012-10-26 21:11
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
得分:2 
以前我记得我是汇编写的,很麻烦,C几步代码就实现了
2012-10-26 21:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:2 
以下是引用embed_xuel在2012-10-26 21:11:15的发言:

不会把实际问题抽象出来,没有编程思维,建议别浪费时间,好好学学英语也比这么折磨强得多

这话点中要害了,确实是抽象问题。看很多人写的程序代码,基本上都是不重视抽象的,杂七杂八的东西混在一堆代码中,稍为复杂一点就乱了,于是纠结了、求“高手”了。

授人以渔,不授人以鱼。
2012-10-26 21:19
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
得分:0 
程序代码:
#include <reg52.h>
void delay(unsigned int i);  //声明延时函数
char LED;


main()
{
  unsigned char i;

 
  while (1)
  {     LED = 0xfe;
      
       for (i = 0 ;i < 8 ; i++)
      {
       P2  = LED;
       delay(500);
       LED = LED << 1;         // 左移
       LED = LED | 0x01;     // 移位后,后面的位为高电平
       if (LED == 0x7f)     break;      //提前退出 FOR 循环
       }
   
       for (i = 0 ;i < 8 ; i++)
       {
        
          P2  = LED;
          delay(500);
          LED = LED >> 1;     // 右移
          LED = LED | 0x80;     // 移位后,后面的位为高电平
      
       }

   }

}


/*******延时函数*************/
void delay(unsigned int i)
{
    unsigned char j;
    for(i; i > 0; i--)
        for(j = 255; j > 0; j--);

}

编程之路定要走完……
2012-10-26 21:27
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
得分:0 
刚好我正在学习单片机,看看实现你说的意思没有。嘻嘻

编程之路定要走完……
2012-10-26 21:28
C_戴忠意
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:575
专家分:1349
注 册:2011-10-21
得分:5 
程序代码:
    ORG     0000h
    AJMP    start
    ORG    0030h
start:
    MOV A,#0ffh   
    CLR C       
    MOV R2,#08h    ;循环八次。
loop:    RLC A        ;带进位左移。
    MOV P2,A    ;输出到P1口。
    CALL delay    ;延时一段时间
    DJNZ R2,loop    ;反复循环
    MOV R2,#07h    ;再往回循环。
loop1:    RRC a        ;带进位右移
    MOV P2,a    ;输出到P1口。
    CALL delay    ;延时一段时间
    DJNZ R2,loop1    ;反复循环
    JMP start    ;重新开始
delay:    MOV R3,#20    ;延时子程序
d1:    MOV R4,#20
d2:    MOV R5,#248
    DJNZ R5,$
    DJNZ R4,d2
    DJNZ R3,d1
    RET
END
再来一个汇编版的

编程之路定要走完……
2012-10-26 21:31
ly2222
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:217
专家分:618
注 册:2012-6-15
得分:2 
学习了。
2012-10-26 21:59
青春无限
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江苏
等 级:贵宾
威 望:24
帖 子:3450
专家分:19340
注 册:2012-3-31
得分:0 
回复 13楼 embed_xuel
没有抽象思维,难道就不能学编程吗??什么浪费时间,你有抽象思维,你为什么不去拿个诺贝尔?我才学单片机的,不希望给予鼓励,也不比这样说我吧。

学 会看代码…学习写程序…学会搞开发…我的目标!呵呵是不是说大话啊!!一切皆可能
2012-10-26 22:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-384509-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.227414 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved