长汀无线电厂交流论坛

 找回密码
 注册
查看: 3428|回复: 15
打印 上一主题 下一主题

8x8 led点阵 移动显示 救助

  [复制链接]
跳转到指定楼层
楼主
发表于 2011-3-15 13:32:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
8x8 led点阵,如果移动显示呢。试了很多都没有办法实现/  希望大家帮我写个。  比如 1,2,3,4  从左到右依次移动显示。
c语言的。非常感谢
回复

使用道具 举报

沙发
发表于 2011-3-15 15:25:58 | 只看该作者
我也没弄过,不过我想,你刷新整屏图案应该就可以吧
回复 支持 反对

使用道具 举报

板凳
发表于 2011-3-15 15:49:07 | 只看该作者
zhujianfeng 发表于 2011-3-15 13:32
8x8 led点阵,如果移动显示呢。试了很多都没有办法实现/  希望大家帮我写个。  比如 1,2,3,4  从左到右依 ...

今晚我写一个试试
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2011-3-15 15:50:12 | 只看该作者
蓝绿黄 发表于 2011-3-15 15:49
今晚我写一个试试

记得告诉我啊
回复 支持 反对

使用道具 举报

5#
发表于 2011-3-15 21:32:09 | 只看该作者
8*8LED屏滚动程序

led点阵.rar

13.46 KB, 下载次数: 73

回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2011-3-16 12:51:55 | 只看该作者
给个取模软件啊
回复 支持 反对

使用道具 举报

7#
发表于 2011-3-16 13:21:56 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2011-3-16 17:53:56 | 只看该作者
不能用。。。。。。。。。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

9#
发表于 2011-3-16 18:05:26 | 只看该作者
我是用这个的,不怎么好用

lcmdisp.rar

668.98 KB, 下载次数: 17

回复 支持 反对

使用道具 举报

10#
发表于 2011-4-4 13:04:07 | 只看该作者
如果高手讲解一下点阵流动的思路就更好了。
回复 支持 反对

使用道具 举报

11#
发表于 2011-4-4 13:21:41 | 只看该作者
请耐心,自有编程的高手为你解答!
回复 支持 反对

使用道具 举报

12#
发表于 2011-4-4 19:27:38 | 只看该作者
可以设置一个显示缓冲区 然后逐步改变显示的开始位置就可以实现流动
回复 支持 反对

使用道具 举报

13#
发表于 2011-4-4 19:28:49 | 只看该作者
当然也可以用显示区域固定,不断刷新显示缓冲区内容的方法实现流动
回复 支持 反对

使用道具 举报

14#
发表于 2011-4-17 22:17:18 | 只看该作者
5楼的是C写的
#include <reg52.H>
unsigned char dis[][8]={                                //注:不同的硬件电路,字模也不一样                               
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//黑屏
{0x3C,0x66,0x66,0x66,0x66,0x66,0x66,0x3C},//0
{0x18,0x1C,0x18,0x18,0x18,0x18,0x18,0x3C},//1
{0x1C,0x3E,0x36,0x30,0x18,0x0C,0x3E,0x3E},//2
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//黑屏
};

unsigned char ROW[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};        //选通行

void delay(unsigned int time)
{
while(time>0)
        time--;
}

main()
{       
        unsigned char x=0,speed,j,k,n=0;
        speed=5;//修改这里可以改变移动速度;值越大越慢
        while(1){
                for(k=0;k<speed;k++){
                        for(j=0;j<8;j++){
                                P2=~((dis[n][j]>>x)|(dis[n+1][j]<<(8-x)));//实现移动主要是这句话
                                P0=ROW[j];
                                delay(300);
                        }
                }
                x++;
                if(x==8){
                        x=0;       
                        n++;
                        if(n>3)
                                n=0;
                }         
        }
}
回复 支持 反对

使用道具 举报

15#
发表于 2011-5-28 22:33:48 | 只看该作者
不懂C,学习了
回复 支持 反对

使用道具 举报

16#
发表于 2011-7-13 20:52:56 | 只看该作者
搞个硬件电路看看,一起学习。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|长汀无线电厂交流论坛  

GMT+8, 2024-4-28 10:12 , Processed in 0.774021 second(s), 22 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表