打印
[STM32F4]

STM32驱动LED64*64全彩点阵屏幕

[复制链接]
9839|48
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 l846556966 于 2016-12-27 22:07 编辑

本人现在大四,毕业后工作已经签约了,但是公司不提供实习岗位,近来事情忙完了,想起之前帮别人装广告屏送给我的剩下一块单元模块,之前一直没有驱动过,后面就算驱动也是只能出一种颜色,这几天想起来,拿来耍耍。
先上图
我没有任何资料,只能看到上面的接口,后来从接口可以分析到有两路RGB,ABCDE行信号,一路时钟CLK,锁存信号LAT,片选信号CS,还有OE,这个一开始我不知道是啥,后来了解到这是灰度信号。
按照我的思维ABCDE五位二进制可以译码成32行,两路RGB正好可以扫到64行,我猜想就是选中一行然后RGB配合CLK串行发送数据,LAT锁存,32扫可以完成控制,手上有个STM32F103的板子,贴上部分代码。
void zhen(const uchar *p, uchar a)
{uchar  j,k,m,dat,dat1;
uint i;
uint q,lie;
lie=40;
for(q=0;q<lie;q++)//列移动
{
for(i=0;i<a;i++)        //移动速度
{        for(k=0x00;k<32;k++)         //行扫描
          {        
                OE=1;
                 
                   for(m=0;m<8;m++)            //发送一行数据
                {  dat=*(p+lie*k+q+m);         //上面32行数据
                   dat1=*(p+lie*k+q+m+lie*32);//下面32行数据
                  for(j=0;j<8;j++)// 发送一个字节
                  {        if(dat1&0x80)
                     {
                         B2=1;
                         R2=0;
                         G2=0;}
                        else
                          {
                          B2=0;
                          R2=0;
                          G2=0;}        
                   if(dat&0x80)
                     {
                         B1=1;
                         R1=0;
                         G1=0;}
                        else
                         {
                         B1=0;
                         R1=0;
                         G1=0;}        
                        dat=dat<<1;
                        dat1=dat1<<1;
                    CLK=0;               
                    CLK=1;
                  }               
                }        
                        GPIOF->ODR =((GPIOF->ODR &0XFFE0)|k);        
                          LAT=0;
                 LAT=1;         
                         OE=0;
                         Delay(10);
           }
           
  }
}
结果是这样的。
贴上代码和效果图



每次,只能控制灯亮与不亮,这是之前做的,只有这个效果,不能控制量多少,不能出各种颜色。

经过几天的思考,我想到了控制出各种颜色的办法,那就是每一行扫很多次,我这里选择扫描32次,把每个点RGB数据保存下来,当次数大于RGB值的时候关闭,这样就可以产生32*32*32种颜色,这个运算量非常大,用F103只能看到一个大概的图案,一行一行的,不完全,从同学那借来F407的板子,装上,下面是效果图
,,

最后贴上部分代码

void zhen(unsigned int l )
{
        
        uchar i,j,k,m;
        for(m=0;m<l;m++)
        {for(k=0x00;k<32;k++)         //行扫描
          {
                        GPIOF->ODR =((GPIOF->ODR &0XFFE0)|k);               
                                
                        for(j=0;j<(32);j++)
                        {        LAT=0;
                                for(i=0;i<64;i++)
                               {
                                        CLK=0;
                                        if(j<RR1data[i+k*64])                        R1=1;else R1=0;
                                        if(j<GG1data[i+k*64])                        G1=1;else G1=0;
                                        if(j<BB1data[i+k*64])                        B1=1;else B1=0;
                                        if(j<RR2data[i+k*64])                        R2=1;else R2=0;
                                        if(j<GG2data[i+k*64])                        G2=1;else G2=0;
                                        if(j<BB2data[i+k*64])                        B2=1;else B2=0;
                                        CLK=1;
                                       
                                }
                                LAT=1;         
                                OE=0;
                                Delay(brightness);
                                OE=1;
                        }
        
               
                }  
         }
}        





沙发
l846556966|  楼主 | 2016-12-27 22:06 | 只看该作者

求职, 基于STM32的变频调速系统

本帖最后由 l846556966 于 2016-12-27 22:14 编辑

对了,我现在大四,自动化专业学生,下学期没地方实习,我参加过TI杯电子设计竞赛(电源类),做过变频器,我想找份单片机开发或者电源类的工作,如果有boss看到了中意的话,希望可以联系我,网上不方便写电话号码,我的邮箱846556966@qq.com,下面是我做的变频器照片

使用特权

评论回复
板凳
wahahaheihei| | 2016-12-27 23:40 | 只看该作者
楼主这个是做什么工作的,装备真给力啊。

使用特权

评论回复
地板
lyfly_away| | 2016-12-28 00:13 | 只看该作者
大学PLC实验室

使用特权

评论回复
5
l846556966|  楼主 | 2016-12-28 11:06 | 只看该作者
wahahaheihei 发表于 2016-12-27 23:40
楼主这个是做什么工作的,装备真给力啊。

变频器这个是学校电机拖动实验室,现在还没工作呢,签的工作是测试工程师,不要实习的,下学期没地方去

使用特权

评论回复
6
l846556966|  楼主 | 2016-12-28 11:07 | 只看该作者

电机拖动的实验室

使用特权

评论回复
7
皈依| | 2016-12-28 16:09 | 只看该作者
星形三角形连线~~好怀念 和我大学实验室一毛一样

使用特权

评论回复
8
tianye907| | 2016-12-28 16:27 | 只看该作者
可以 不错 12年参加ti杯 低功耗倾角测量仪 审题有误只得了二等奖

使用特权

评论回复
9
l846556966|  楼主 | 2016-12-28 16:38 | 只看该作者
皈依 发表于 2016-12-28 16:09
星形三角形连线~~好怀念 和我大学实验室一毛一样

你是哪个学校啊,咱不会是校友吧

使用特权

评论回复
10
l846556966|  楼主 | 2016-12-28 16:40 | 只看该作者
tianye907 发表于 2016-12-28 16:27
可以 不错 12年参加ti杯 低功耗倾角测量仪 审题有误只得了二等奖

那还好,我今年参加TI杯,做电源的,结果加大负载的时候烧了,啥都没有

使用特权

评论回复
11
liao-pcb| | 2016-12-28 16:48 | 只看该作者

按板子尺寸,数量,工艺,来收费的,一般样板就几十到百多吧

使用特权

评论回复
12
liao-pcb| | 2016-12-28 16:54 | 只看该作者
我以前只做过心形流水灯的单片机板子,这个陈列显示屏的板子应该不便宜哦。

使用特权

评论回复
13
l846556966|  楼主 | 2016-12-28 16:59 | 只看该作者
liao-pcb 发表于 2016-12-28 16:54
我以前只做过心形流水灯的单片机板子,这个陈列显示屏的板子应该不便宜哦。 ...

帮别人做事送的

使用特权

评论回复
14
zhangzihanzdj| | 2016-12-28 17:10 | 只看该作者
l846556966 发表于 2016-12-27 22:06
对了,我现在大四,自动化专业学生,下学期没地方实习,我参加过TI杯电子设计竞赛(电源类),做过变频器, ...

支持楼主

使用特权

评论回复
15
皈依| | 2016-12-28 17:10 | 只看该作者
l846556966 发表于 2016-12-28 16:38
你是哪个学校啊,咱不会是校友吧

青岛某大学
你呢 估计校友的可能性小

使用特权

评论回复
16
dog_xin| | 2016-12-28 19:27 | 只看该作者
到我公司里实习吧!

使用特权

评论回复
17
Lu-Xing| | 2016-12-28 20:58 | 只看该作者
楼主好厉害、、、

使用特权

评论回复
18
l846556966|  楼主 | 2016-12-29 19:54 | 只看该作者
dog_xin 发表于 2016-12-28 19:27
到我公司里实习吧!

求联系方式

使用特权

评论回复
19
l846556966|  楼主 | 2016-12-29 19:58 | 只看该作者
皈依 发表于 2016-12-28 17:10
青岛某大学
你呢 估计校友的可能性小

我啊,湖南的

使用特权

评论回复
20
merry_zsp| | 2016-12-29 20:12 | 只看该作者
牛X,能做出变频器的话,模拟的功底也是不低的,相信可以找到合适的公司的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

17

帖子

1

粉丝