长汀无线电厂交流论坛

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

8x8 led点阵 移动显示 救助

  [复制链接]
楼主
发表于 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;
                }         
        }
}
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 18:09 , Processed in 0.738348 second(s), 19 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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