5回答

1收藏

[原创] 【PSoC4】+分享心得:SPI LCD液晶屏 +Capsense PWM背光灯控制

英飞凌 英飞凌 6718 人阅读 | 5 人回复 | 2013-12-03

本帖最后由 xzezhen 于 2013-12-3 21:57 编辑

       液晶显示屏应用于各个领域,作为人机交互界面,给控制领域应用带来了巨大发展。结合PSoC4可编程片上系统强大的功能,简单易扩展等,通过PSoC4串行口SPI来控制LCD显示屏是相当不错的方案设计哦,而本人也比较热衷于LCD显示控制...........哈哈.......说多了..........{:soso_e113:}。下面就分享一下PSoC4 SPI控制LCD液晶显示和Capsense PWM背光灯控制的例程,希望对大家有帮助~~~~~~喜欢玩LCD液晶屏的朋友赶快收藏了哦~~~~~~!{:soso_e120:}

视频演示:
http://player.youku.com/player.php/sid/XNjQzMzE0Njky/v.swf

效果图:


顶层设计:


系统引脚配置等:


文件结构:


程序如下:
一、main函数:
#include <project.h>
#include "LCD\LCD.h"

#define NO_FINGER 0xFFFFu

int main(void)
{
    uint16 sliderPosition = NO_FINGER;
    uint16 lastPosition = NO_FINGER;

    POINT_COLOR=WHITE;
    BACK_COLOR=BLACK;
   
    CyGlobalIntEnable;  //全局中断
   
    CapSense_Start();
    SPI_Start();        
    PWM_LCD_Start();
   
    LCD_Initialize();       //LCD初始化,并清屏为黑色
    LCD_MainDisplayInit();  //界面      

    CapSense_InitializeAllBaselines();  
    for(;;)
    {
        CapSense_UpdateEnabledBaselines();
        CapSense_ScanEnabledWidgets();
        while(CapSense_IsBusy());
        sliderPosition = CapSense_GetCentroidPos(CapSense_LINEARSLIDER0__LS);
        if(sliderPosition != NO_FINGER)
        {
            if(sliderPosition != lastPosition)
            {
                PWM_LCD_WriteCompare(sliderPosition*30);   //跟新PWM比较值
                LCD_ShowNum(185,70,sliderPosition,4,16);    //LCD显示PWM比较值
                lastPosition = sliderPosition;
            }
        }        
        
    }
}

其它程序代码都在工程里面了,附件就在下面:
PSoC4_SPI_LCD_PWM_Backlight.rar (5.33 MB, 下载次数: 114)


分享到:
回复

使用道具 举报

回答|共 5 个

倒序浏览

沙发

pandyele

发表于 2013-12-13 21:50:14 | 只看该作者

经典 LCD 给力 收藏了
板凳

xzezhen

发表于 2013-12-14 21:09:10 | 只看该作者

pandy 发表于 2013-12-13 21:50
经典 LCD 给力 收藏了

好东西,值得收藏啊
地板

pandyele

发表于 2013-12-15 14:44:54 | 只看该作者

xzezhen 发表于 2013-12-14 21:09
好东西,值得收藏啊

呵呵
5#

hlpy

发表于 2013-12-16 22:47:01 | 只看该作者

楼主 辛苦了 谢谢分享
6#

sacq12

发表于 2013-12-17 16:38:10 | 只看该作者

很好~~~~~~
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条