驱动lcd ili9341 cmd的lcd能写进数据,屏却没反应,怎么回事

随笔 - 330&
文章 - 0&评论 - 16&trackbacks - 0
  在设计TFTLCD液晶硬件驱动电路的时候,我们会发现TFTLCD裸屏(买来的最初元件)的接口并非相似,所以导致驱动电路设计需要有些差别。
TFTLCD液晶的本质 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&&& & & & & & & & &  
& & & 本质就是点阵。
TFTLCD驱动电路的任务 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
  点阵要想显示图形,就需要不断的扫描。所谓的驱动电路,完成的工作就是不断的扫描LCD,通常帧率都在30~60Hz上才能使人看不到屏幕的抖动。
  MCU发送显示内容到驱动电路上,然后驱动电路再将这些数据不断的扫描到显示器上完成显示。由此可见,驱动电路都必须具有缓冲区,以缓存显示内容。当然缓冲区越大,通常对应的屏幕储存越大或者支持的虚拟页显示越多。
  一言以蔽之,驱动电路的任务就是接收MCU的显示数据,然后以足够的帧率在屏幕上扫描显示。
市场上买来的裸屏之间的区别 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&
  市场上买来的3.2寸左右的小屏通常都是带有驱动芯片,比如说ili9341之类的,驱动芯片包含缓冲区和扫描显示电路。对于用户来说,不需要额外的驱动电路。这类屏幕提供的接口,有SPI/RGB/8080CPU,不同的接口可以使用不同档次的MCU来控制。SPI可以使用51单片机来驱动,8080CPU接口可以使用stm32来驱动,RGB接口可以看使用本身具有LCD驱动电路的S3C2440来驱动。
  市场上买来的4.3寸以上的裸屏,通常是不提供驱动芯片的,也就意味着驱动电路需要用户自己设计,常用的驱动芯片有RA8875等。大屏幕提供的接口与小屏幕提供的还是有区别的,我用的TQ2440开发板上所带4.3寸屏幕是RGB接口。
  ili9341与LCD接口和S3C2440与LCD接口的对比
  可见ili9341驱动的3.2寸LCD,它与驱动芯片的接口是S720~S1和G320~G1,就是利用这些控制线对LCD进行扫描。S3C2440直接驱动的4.3寸LCD,它对外的接口是RGB接口,利用RGB接口对LCD进行扫描(与摄像头接口类似,分帧同步信号、行同步信号、像素时钟、数据线)。
更新缓存的频率和扫描显示的频率 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &&
  在我们观看一个视频的时候,视频帧需要以一定的频率写入到显存(可以认为是驱动芯片的缓冲区)中,而缓冲区的内容到屏幕上显示还有一个扫描频率,这两个是不同的。扫描刷屏的频率在30~60Hz范围上,而视屏流到显存的频率应该刷屏的频率低,因为过高的频率,刷屏也显示不出来。
S3C2440接带ili9341的LCD屏 & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
 ili9341接STM32用的是8080CPU接口,而接S3C2440的LCD控制器应该用RGB接口。这中间其实有些古怪,S3C2440的LCD控制器会不断地把自己的显存刷新到ili9341的显存,ili9341再把自己的显存刷新到LCD上。当然这个ili9341其实有点多余了。
阅读(...) 评论()ILI9341初始化程序_带注释_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
ILI9341初始化程序_带注释
&&ILI9341液晶的初始化程序,自己整理的注释,方便初学者理解程序的含义
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩30页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢查看: 7760|回复: 19
能否用SPI接口而不用RGB接口驱动ILI9341实现显示功能?
大家好,我想用MSP430控制ILI9341驱动液晶显示。ILI9341有RGB接口,用于接收要显示的数据。另外,SPI接口实现初始化的功能。现在想在SPI初始完后,直接用SPI传送数据显示一幅画面。看芯片手册,感觉应该可以实现。但总是不成功。请教大家,ILI9341只能用RGB接口传输要显示的数据吗?
那个要 做液晶的厂家把 引脚绑定出来了&&你才能用吧,&&一般淘宝上的好像没把SPI绑定出来的.
可以了,没问题
现在我这里的液晶模块RGB接口和SPI接口都是引出来的。用SPI初始化完成后,并且打开了显示功能(命令字0x29),然后执行“Memory Write”指令(命令字0x2C),后面加要显示的数据。但是LCD上没有任何显示,不清楚是哪里设置不对了,还是ILI9341只能通过RGB接口实现显示功能?
有没有并口8位数据总线的驱动啊?
一般2种接口都支持的!SPI ,RGB 接口都可以。
可以参考一下这里:
ANHOME 发表于
一般2种接口都支持的!SPI ,RGB 接口都可以。
可以参考一下这里: /item.htm?spm=a1 ...
谢谢,最后确定是自己程序的问题,用SPI初始化的时候设置错了。用SPI、RGB、MCU接口都是可以的。
richu 发表于
谢谢,最后确定是自己程序的问题,用SPI初始化的时候设置错了。用SPI、RGB、MCU接口都是可以的。 ...
最近用到这个接口驱动ILI9341,SPI接口。能否共享一下呀。
win100 发表于
最近用到这个接口驱动ILI9341,SPI接口。能否共享一下呀。
初始化的代码部分如下,可以参考:
/***************
ILI9341 Initial
未用RGB接口
***************/
RESET_LCD = 1; // 拉高LCD复位引脚
_delay_ms(1);
RESET_LCD = 0; // 拉低LCD复位引脚
_delay_ms(10);
RESET_LCD = 1; // 拉高LCD复位引脚
_delay_ms(120);
Write_Command(0x11);
_delay_ms(60);
Write_Command(0xC0);
Write_Parameter (0x08);
Write_Command(0xC1);
Write_Parameter (0x10);
Write_Command(0x35);
Write_Parameter (0x00);
Write_Command(0xC5);
Write_Parameter (0x29);
Write_Parameter (0x2D);
Write_Command(0x36);
Write_Parameter (0x04);
Write_Command(0xB1);
Write_Parameter (0x00);
Write_Parameter (0x1B);
Write_Command(0xB6);
Write_Parameter (0x0A);
Write_Parameter (0xA2);
Write_Command(0xC7);
Write_Parameter (0XAB);
Write_Command (0xB5);
Write_Parameter (0x03);
Write_Parameter (0x04);
Write_Parameter (0x0D);
Write_Parameter (0x0A);
Write_Command(0xE0);
Write_Parameter (0x0F);
Write_Parameter (0x2D);
Write_Parameter (0x26);
Write_Parameter (0x0D);
Write_Parameter (0x11);
Write_Parameter (0x08);
Write_Parameter (0x46);
Write_Parameter (0x97);
Write_Parameter (0x2B);
Write_Parameter (0x01);
Write_Parameter (0x08);
Write_Parameter (0x00);
Write_Parameter (0x01);
Write_Parameter (0x01);
Write_Parameter (0x00);
Write_Command(0xE1);
Write_Parameter (0x01);
Write_Parameter (0x08);
Write_Parameter (0x0F);
Write_Parameter (0x06);
Write_Parameter (0x12);
Write_Parameter (0x06);
Write_Parameter (0x3A);
Write_Parameter (0x56);
Write_Parameter (0x5E);
Write_Parameter (0x0C);
Write_Parameter (0x18);
Write_Parameter (0x0F);
Write_Parameter (0x3A);
Write_Parameter (0x3A);
Write_Parameter (0x0F);
Write_Command(0xF6);
Write_Parameter (0x01);
Write_Parameter (0x00);
Write_Parameter (0x00);
Write_Command(0xED);
Write_Parameter (0x64);
Write_Parameter (0x03);
Write_Parameter (0x12);
Write_Parameter (0x81);
Write_Command(0x3A);
Write_Parameter (0x66);
Write_Command(0xB4);
Write_Parameter (0x00);
Write_Command(0xEA);
Write_Parameter (0x00);
Write_Parameter (0x00);
Write_Command(0xCB);
Write_Parameter (0x39);
Write_Parameter (0x2C);
Write_Parameter (0x00);
Write_Parameter (0x34);
Write_Parameter (0x02);
Write_Command(0xCF);
Write_Parameter (0x00);
Write_Parameter (0xF9);
Write_Parameter (0x30);
Write_Command(0xF7);
Write_Parameter (0x20);
Write_Command(0xE8);
Write_Parameter (0x85);
Write_Parameter (0x00);
Write_Parameter (0x78);
Write_Command(0x29);
LZ请问你还用的控制器的SPI还是模拟的SPI,怎么去区分命令和数据的,我弄了好久,现在也没弄好!
keinYe 发表于
LZ请问你还用的控制器的SPI还是模拟的SPI,怎么去区分命令和数据的,我弄了好久,现在也没弄好! ...
可以参考ili9341的Datasheet,在控制器与ili9341进行SPI通讯时,首先通过ili9341的硬件引脚配置IM[3..0],来选择SPI通讯为3线9位接口模式还是4线8位接口模式。
1、当选择3线9位接口模式时,传输的9位数据中,第一位就是命令/数据的标志位。
2、当选择4线8位接口模式时,则有专门的D/CX引脚来指明传输的是命令还是数据。
具体是选用控制器自带的SPI接口还是模拟SPI控制方式倒不重要,二者都可以实现,我用的是模拟SPI方式。
richu 发表于
可以参考ili9341的Datasheet,在控制器与ili9341进行SPI通讯时,首先通过ili9341的硬件引脚配置IM[3..0] ...
LZ你好,现在我也碰到这个问题,写命令,数据都没有问题,能显示,但是读老是读不对,比如读驱动ID,老是读不对
用smt32模拟spi,怎么模拟??
jesen_2010 发表于
LZ你好,现在我也碰到这个问题,写命令,数据都没有问题,能显示,但是读老是读不对,比如读驱动ID,老是 ...
写操作能完成, 说明没有大问题。还有,在读操作时,发送完读命令字后,将SDA配置为输入。
wsgj0 发表于
用smt32模拟spi,怎么模拟??
用STM32模拟SPI时,将SPI相关的IO配置为GPIO,然后根据datasheet上的时序图控制GPIO就行。
但个人感觉,用SPI接口&&在速度上肯定是没有IORGB快的&&
richu 发表于
写操作能完成, 说明没有大问题。还有,在读操作时,发送完读命令字后,将SDA配置为输入。 ...
我的屏是4线SPI,没有SDA,有SDI和SDO,SDO mcu配置成复用推挽输出
jesen_2010 发表于
我的屏是4线SPI,没有SDA,有SDI和SDO,SDO mcu配置成复用推挽输出
我是用模拟spi实现的。如果你用stm32的spi进行通信,读数据不正确是不是出现了溢出,由于spi进行写操作的同时也在接收,所以第一次读操作前要先读一次数据寄存器,以保证数据寄存器空,能正常接收数据。
可以分享一下SPI读取的程序吗,现在卡到这一块了,不知道该怎么弄,先谢谢了
阿莫电子论坛, 原"中国电子开发网"LCD-ILI9341 LCD驱动芯片 的底层 程序
320*240像素
包括初始化,画点、画线、刷屏、显 Other Embeded program 其他嵌入式/单片机内容 238万源代码下载-
&文件名称: LCD-ILI9341
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 6 KB
&&上传时间:
&&下载次数: 168
&&提 供 者:
&详细说明:LCD驱动芯片ILI9341的底层驱动程序
320*240像素
包括初始化,画点、画线、刷屏、显示字符汉字等功能-LCD Driver IC ILI9341 the underlying driver 320* 240 pixels including initialization, painting, drawing lines, scraper, display characters such as Chinese characters function
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&LCD-ILI9341\font\font.h&&...........\....\GB1616.h&&...........\LCD.c&&...........\lcd.h&&...........\font&&LCD-ILI9341
&[]:纯粹是垃圾&[]:文件不全
&近期下载过的用户:
&&&&&&&&&&&&&&&&&&&&&[]
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - ILITEK IC ILI9325 initialization code for TFT LCD. 262K, 240RGB x 320 resolution. Using Atmel AVR ATmega128 MCU.
&[] - ILITEK 9341 SPI接口 驱动
&[] - stm32f103 interface driver ili9341
&[] - 有关TFT液晶驱动ili9341的驱动例程,可移植于任何单片机和ARM系统。
&[] - ili9341的软件功能说明,和源代码以及使用函数的说胆
&[] - 液晶ili9341驱动,可以显示时钟,24小时制,断电依然工作
&[] - ili9341的PDF资料,用于STM32开发应用,可现实图形等
&[] - ili9341,TFT屏驱动芯片的初始化程序,
&[] - ili9341液晶控制器底层硬件驱动程序及Datasheet,用于嵌入式系统GUI开发
&[] - TFT驱动程序,TFT-显示汉字及字符,TFT-显示汉字及字符

我要回帖

更多关于 ili9341 lcd writereg 的文章

 

随机推荐