3353|0

133

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【LPC54100】GPIO驱动TFT LCD [复制链接]

本帖最后由 yinyue01 于 2015-5-12 23:00 编辑

所使用的LCD1.8128*160TFT,采用SPI接口驱动,主要引脚有:
RESET:复位,高电平有效
CS:片选,低电平有效
A0:寄存器选择
SDA:数据接收
SCLSPI总线时钟
LED+LED-:背光电源
驱动芯片为ILI9163,控制模式为:4线8bit串行总线方式。如下图所示:
每次传输的8bit可以是命令,也可以是数据,通过A0线来选择:A0为低电平,则TB代表命令;A0为高电平,则TB代表数据。
这里用LPC54102GPIO口模拟出上述SPI时序,驱动TFT屏,硬件接线为:
CS——P0.3
A0——P0.4
SDA——P0.10
SCL——P0.9
主要是改写MCU发送命令和数据的2个基本函数:
void write_command(uint_least8_t addr1)
{
         uint_least8_tbit8;
         TFT_A0_L;
         TFT_CS_L;
         for(bit8=0;bit8<8;bit8++)
         {
                   TFT_SCL_L;
                   if((addr1&0x80)==0x80)
                   TFT_SDI_H;
                   else           
                   TFT_SDI_L;
                   TFT_SCL_H;
                   addr1=(addr1<<1);

         }
   TFT_CS_H;
}

void write_para(uint_least8_t para1)
{  
         uint_least8_tbit8;
         TFT_A0_H;
         TFT_CS_L;                                    

         for(bit8=0;bit8<8;bit8++)
         {
                   TFT_SCL_L;
                   if((para1&0x80)==0x80)
                   TFT_SDI_H;
                   else
                   TFT_SDI_L;
                   TFT_SCL_H;
                   para1=(para1<<1);

         }
         TFT_CS_H;

}
由于Board_Init()中已经使能了时钟、用Chip_GPIO_Init(LPC_GPIO)初始化了GPIO,所以接下来需要设定IO模式,并控制IO口的输出电平。
void Board_Init(void)
{
         /*INMUX and IOCON are used by many apps, enable both INMUX and IOCON clock bitshere. */
         Chip_Clock_EnablePeriphClock(SYSCON_CLOCK_INPUTMUX);
         Chip_Clock_EnablePeriphClock(SYSCON_CLOCK_IOCON);

         /*Sets up DEBUG UART */
         DEBUGINIT();

         /*Initialize GPIO */
         Chip_GPIO_Init(LPC_GPIO);

         /*Initialize the LEDs. Be careful with below routine, once it's called some ofthe I/O will be set to output. */
         Board_LED_Init();
}
用到下面2个函数:
通过如下的宏定义实现:
在TFT LCD上显示出的彩虹条:




lpc54102_TFT.zip (5.36 MB, 下载次数: 41)
此帖出自NXP MCU论坛
点赞 关注
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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