2564|1

131

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【PSoC4心得】简单实现LED全彩显示屏 [复制链接]

入手PSOC4已经有一段时间了,虽然拿到的有点晚,但是还是很感谢Cypress的支持和SOSO姐的帮助。

看到论坛上有其他兄弟已经写过一些心得,让我感到了PSOC4用起来很简单,之所以没有再写心得,是因为,大部分大家学到了东西基本一样,没必要重复写。花了两天时间把PSOC Creator熟悉了一下和收集了一些资料,感觉PSOC4真正有意思的不是他能让我们更简单的开发一个东西,而是“灵活”的开发我们的作品。至于灵活的地方就是它里面的可编程资源,包括数字的和模拟的。

由于刚接触而且资料比较少(中文资料,自己英语水平有限啊),所以只能自己一点一点的摸索前进。要是能延长比赛的时间该多好啊,明显时间不够用啊。不过不以比赛为目的的话,希望和大家一起交流一下这个PSOC 器件。

我们公司专门生产8通道24M的逻辑分析仪,查看控制卡的输出信号。也是生平自己第一次使用逻辑分析仪。逻辑分析仪这的是作为一个电子技术人员的好工具,建议大家也都有一个吧。
上个从控制器上扑捉的信号时序图:

有时序图我们可以看到信号线的基本功能:
CLK 时钟输出
OE  输出使能
STB 所存使能
ABCD  行信号选择  可以通过ABCD的值确定扫描那一行
G0和没有采集的G1、R1、R0、B1、B0都是数据输出信号
刚开始写一个小的程序,通过软件模拟一个控制这个时序,刚开始入手,从简单开始嘛。
首先就是放端口:


然后就是编译硬件电路和生成软件文件,编写的程序有点简单:
#include

int main()
{
    unsigned char i=0,j=0,b=0;
    GREEN_2_Write(0);RED_2_Write(0);BLUE_2_Write(0);//最好在这里初始化一下   要不然会花屏的。
    RED_1_Write(0);GREEN_1_Write(0);BLUE_1_Write(0);
        for(;;)
    {  
       for(i=0;i<16u;i++)//16行扫描
           {  
                  for(j=0;j<32;j++)//行数据
                  {
                        b=j%3;//在这里实现的功能就是每一列只显示一种颜色顺序分别是红、绿、蓝
                        if(b==0)
                        {
                                RED_1_Write(1);GREEN_1_Write(0);BLUE_1_Write(0);
                                RED_2_Write(1);GREEN_2_Write(0);BLUE_2_Write(0);
                        }
                        else
                          if(b==1)
                          {
                                RED_1_Write(0);GREEN_1_Write(1);BLUE_1_Write(0);
                                RED_2_Write(0);GREEN_2_Write(1);BLUE_2_Write(0);
                          }
                        else
                        {
                                RED_1_Write(0);GREEN_1_Write(0);BLUE_1_Write(1);
                                RED_2_Write(0);GREEN_2_Write(0);BLUE_2_Write(1);
                        }
                        CLK_Write(1);
                        CLK_Write(0);
                  }
                  OE_Write(1);
                  Sec_Write(i);//选择那一行
                  STB_Write(1);//锁存数据信号
                  STB_Write(0);
                  OE_Write(0); //输出使能
        }
  }
}
最后就是编译、下载、看结果:
最后编译信息如下:
Flash used: 2430 of 32768 bytes (7.4%).
SRAM used: 1532 of 4096 bytes (37.4%).
--------------- Build Succeeded: 11/30/2013 16:53:42 ---------------
虽然编译成功了,但是SRAM用的太多了,不知道都用到什么地方了。
图片待会儿传上,在老婆带有800万摄像头的手机里。


FullColourLED_Simple.rar (1012.9 KB, 下载次数: 11)

[ 本帖最后由 cxzs1234 于 2013-11-30 22:50 编辑 ]
此帖出自单片机论坛
点赞 关注
 

回复
举报

131

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
此帖出自单片机论坛
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表