您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页TFTLCD的初始化HimaxMobileTFTdriverinitialcodeNote(重要)

TFTLCD的初始化HimaxMobileTFTdriverinitialcodeNote(重要)

来源:测品娱乐
TFTLCD的初始化HimaxMobileTFTdriverinitialcodeNote

(重要)

TFT LCD 的初始化

TFT LCD 的初始化是对TFT LCD Driver进行初始化。Driver初始化包括硬件RESET 和软件初始化。硬件RESET的时间要求大于1MS,我们一般使用10MS。

软件初始化一般包括以下4个部分:

POWER-SET,CHIP-SET,GAMMA-SET和DISPLAY-ON。 示例:

void LCD_Initial_HX8303A(void) {

HX8303A_Power_Set1();

DelayX1ms(40); // Op Amp Stable 250ms HX8303A_Chip_Set1(); HX8303A_Power_Set2(); DelayX1ms(40); HX8303A_Chip_Set2(); DelayX1ms(50);

HX8303A_Gamma_Set(); HX8303A_Display_On(); Set_LCD_INDEX(0x0022); PIC_DISPLAY(); }

1.POWER-SET:是对DRIVER的VGH,VGL,VcomH等电压及驱动电流和DRIVER内部的一些工作频率进行设置。POWER-SET中,有些REGISTER在设置之后要有一段延时,然后才可对其他的REGISTER进行设置。这段延时必须是足够长的,其目的是保证所设置的项目稳定之后,才对其他的项目进行设置。如果延时不够,则初始化将可能不成功。POWER-SET时,有两个问题是值得注意的:

A.VGH/VGL的设置。

VGH/VGL=Vci*(VC2~0)*(BT2~0),要根据这个公式来设置VGH/VGL,VGH设在15V比较好,如果低于12V,则对显示可能会有一些影响,如果太高,则有烧坏IC 的可能。

B.VcomH的设置。这个值要设置得比较合适,否则,显示时将会有横向的条纹(扫描线)出现。IC提供商提供的数据是比较好的,如果觉得不满意,则可在这个值的上下附近稍做调整,也许会得到更满意的数据。

示例:

void HX8303A_Power_Set1(void) {

DelayX1ms(1);

Set_LCD_REG(0x0007,0x0104); DelayX1ms(40);

Set_LCD_REG(0x000d,0x0202); DelayX1ms(40);

Set_LCD_REG(0x000e,0x0e19); DelayX1ms(40); }

void HX8303A_Power_Set2(void) {

Set_LCD_REG(0x000c,0x0000); DelayX1ms(40);

Set_LCD_REG(0x0003,0x0008); DelayX1ms(40);

Set_LCD_REG(0x0004,0x0000); DelayX1ms(40);

Set_LCD_REG(0x000e,0x2e19); DelayX1ms(40);

Set_LCD_REG(0x000d,0x0212);

DelayX1ms(40); }

2.CHIP-SET:是对显示的一些要求进行设置。如显示数据填入GRAM时的方向,在GRAM 中设定显示的窗口(与PANEL的点阵相对应),设置显示数据填入GRAM时的首地址,显示时的扫描行数等项目。

示例:

void HX8303A_Chip_Set1(void) {

Set_LCD_REG(0x0001,0x0313); Set_LCD_REG(0x0002,0x0700); Set_LCD_REG(0x0005,0x1010); Set_LCD_REG(0x0006,0x0000); Set_LCD_REG(0x000b,0x4008); }

void HX8303A_Chip_Set2(void) {

Set_LCD_REG(0x0021,0x9f02); Set_LCD_REG(0x0011,0x0000); Set_LCD_REG(0x0014,0x9f00); Set_LCD_REG(0x0015,0x9f5d); Set_LCD_REG(0x0016,0x8102); Set_LCD_REG(0x0017,0x9f00); }

3.GAMMA-SET:是设置V0,V1,…,V63这级灰度电压的实际大小。它们一般是通

过R30H,R31H,…,R3BH等以“3”开头的REGISTER来进行设置。这些数据比较难设置,我们一般是采用IC厂商提供的数据。

示例:

void HX8303A_Gamma_Set(void)

{

Set_LCD_REG(0x0030,0x0000); Set_LCD_REG(0x0031,0x0605); Set_LCD_REG(0x0032,0x0407); Set_LCD_REG(0x0033,0x0200); Set_LCD_REG(0x0034,0x0203); Set_LCD_REG(0x0035,0x0707); Set_LCD_REG(0x0036,0x0707); Set_LCD_REG(0x0037,0x0300); Set_LCD_REG(0x003A,0x0000); Set_LCD_REG(0x003B,0x0000); }

4.DISPLAY-ON:即开显示。DISPLAY-ON是有顺序的,它一般是对开显示这个REGISTER 进行多次的设置。在DRIVER HX8303A中,开显示的REGISTER 是R07H。DISPLAY-ON 时,某些步骤之间会有一段延时,这段延时也必须是足够长的。

示例:

void HX8303A_Display_On(void) {

Set_LCD_REG(0x0007,0x0105); DelayX1ms(40);

Set_LCD_REG(0x0007,0x0125); Set_LCD_REG(0x0007,0x0127); DelayX1ms(40);

Set_LCD_REG(0x0007,0x0137); }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务