LCD的连接方式

http://www.rosoo.net/a/201101/10803.html

目前一般彩色LCD的连接方式有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式等。
1.MCU模式:
目前最常用的连接模式,一般是8080模式和6800模式,这个主要是时序的区别。(68系统已经不存在了)。会解码命令,由 timing generator 产生时序信号,驱动 COM 和SEG驱动器。 8080模式资料位传输有8位,9位,16位和18位。连线分为:CS/,RS(寄存器选择),RD/,WR/, RESET/,再就是资料线了。用MCU模式时由于资料可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。优点是:控制简单方便,无需时钟和同步信号。缺点是:要耗费GRAM,所以难以做到大屏(QVGA以上)。
2.RGB模式:
可以分为模拟RGB, ADC接口和数子RGB接口。至于需要不需要HSNC,VSNC信号,要看采用什么样制式的控制驱动模式。行同步,桢同步,时钟之类的信号是针对RGB界面的TFT LCD,没有内部RAM,具有HSYNC,VSYNC,ENABLE,CS,RESET,RS信号,由于它不带RAM所以资料是直接往屏上写的,不能保存,所以要往屏上不断的写资料,不这样做屏就会变白。所以通常接个外部RAM,把资料存在外部RAM里,再往屏上刷。或干脆把屏接在带RAM的多媒体IC上 ,此类LCD 不含LCD CONTROLLER,需要带CONTROLLER CPU才能支持,这样的屏是不能接在MEMORY界面上的.
3.SPI模式:
采用较少,连线为CS/,SLK,SDI,SDO四根线,连线少但是软体控制比较复杂。
4.VSYNC模式:
该模式是在MCU模式下增加了一根VSYNC(帧同步)信号线而已,应用于运动画面更新
5.MDDI模式:
高通公司于2004年提出的接口MDDI(Mobile Display Digital Interface),通过减少连线可提高移动电话的可靠性并降低功耗,这将取代SPI模式而成为移动领域的高速串行接口。连线主要是host_data, host_strobe, client_data, client_strobe, power, GND几根线

LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式。
        大致可以分为 MCU接口和RGB接口。

        对于前者主要又可以分为8080模式和6800模式,这个主要是时序的区别。
        对于RGB接口则可以分为模拟RGB, ADC接口和数字RGB接口。至于需要不需要HSNC,VSNC信号,这个是在RGB接口中,但也要看采用什么样制式的控制驱动模式,也可以不需要的。
        对于MCU模式,会解码命令,由 timing generator 产生时序信号,驱动 COM 和SEG驱动器。 

        RGB 的接口,在写LCD register setting时,和CPU 没有区别。区别只在于图像的写入方式。

        MCU模式需要的信号有WR,RD,RS,RESET,CS。
        RGB模式需要的信号有HSYNC,VSYNC,ENABLE,CS,RESET,有的也需要RS。
        用MCU模式时由于数据可以先存到IC内部GRAM后再往屏上写,所以这种模式LCD可以直接接在MEMORY的总线上。
        用RGB模式时就不同了,它没有内部RAM,HSYNC,VSYNC,ENABLE,CS,RESET,RS可以直接接在MEMORY的GPIO口上,用GPIO口来模拟波形,但有没有这么多空闲的GPIO口是个要考虑的问题,另外由于它不带RAM所以数据是直接往屏上写的,不能保存,所以要往屏上不断的写数据,不这样做屏就会变白。
所以通常接个外部RAM,把数据存在外部RAM里,再往屏上刷。或是干脆把屏接在带RAM的多媒体IC上。


要分析代码以确定LCD如何连至微控制器,首先需要理解LCD与微控制器之间的口类型、引脚分配以及初始化配置。以下是对这些方面的详细分析: ### 口类型 LCD与微控制器之间的口类型通常包括并行口和串行口。并行口使用多个数据线同时传输数据,而串行口则通过单根数据线逐位传输数据。并行口通常用于高速数据传输,而串行口则适用于减少引脚数量和简化电路设计的场景。例如,SPI(Serial Peripheral Interface)和I2C(Inter-Integrated Circuit)是常见的串行通信协议,它们在微控制器与LCD之间的连中广泛应用 [^3]。 ### 引脚分配 LCD模块通常具有多个引脚,用于数据输入、控制信号输入、电源和地等功能。具体来说,一些常见的引脚功能如下: - **数据输入**:用于传输数据到LCD模块。 - **控制信号输入**:包括使能(EN)、读/写(RW)、命令/数据(RS)等引脚,用于控制LCD的状态和操作。 - **电源和地**:为LCD模块提供必要的电力支持 [^1]。 在使用SPI或I2C等串行通信协议时,微控制器与LCD之间的连通常只需要几个特定的引脚。例如,在SPI通信中,通常需要MOSI(主出从入)、MISO(主入从出)、SCK(时钟)和CS(片选)四个引脚;而在I2C通信中,则需要SDA(数据线)和SCL(时钟线)两个引脚 [^3]。 ### 初始化配置 初始化配置是指在微控制器开始与LCD通信之前,对LCD进行的一系列设置。这通常包括设置LCD的工作模式、显示参数(如对比度、亮度)、以及初始化显示缓冲区等。初始化配置的具体步骤取决于LCD的型号和技术参数。例如,在使用STM32微控制器与LCD12881显示屏配合SPI通信协议时,初始化配置可能涉及设置SPI的工作模式、波特率预分频值、以及发送初始化命令序列到LCD [^4]。 为了更好地理解如何根据提供的代码确定LCD连接方式,考虑以下示例代码片段: ```c // 初始化SPI口 void SPI_Init(void) { // 配置SPI为模式0,主模式,波特率预分频为64 SPI_CR1 |= SPI_CR1_MSTR | SPI_CR1_SPE | SPI_CR1_BR_2; } // 发送数据到LCD void LCD_WriteData(uint8_t data) { // 设置RS为高电平,表示数据 LCD_RS_HIGH(); // 通过SPI发送数据 SPI_DR = data; // 等待发送完成 while (!(SPI_SR & SPI_SR_TXE)); } ``` 在这段代码中,`SPI_Init()`函数负责初始化SPI口,设置其为模式0(即CPOL=0, CPHA=0),主模式,并且波特率预分频为64。`LCD_WriteData()`函数则用于向LCD发送数据,首先设置RS引脚为高电平以指示下来的数据是显示数据,然后通过SPI口发送数据,并等待发送完成 [^4]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值