根據液晶顯示器件的寫入機理以及顯示像素電極的排布方式就可以確定對其進行驅動的基本條件了。液晶顯示器件的種類很多,所以驅動的方法也各有不同。
但是無論于是哪種類型的器件,還是說使用什么不同的驅動方法,它們都是以調整施加到像素電極上面的相位、電壓、峰值、頻率、時序、有效值、占空比等等一系列的參數、特性來建立起一定的驅動條件,從而實現顯示。
主要的驅動存在很多,在此僅僅介紹下TFT-LCD所采用的有源矩陣驅動法。
由于TFT-LCD的有源矩陣液晶顯示器件的每一個像素點上都會有一套有源器件,所以說對這種器件的驅動是對每一個像素點上的有源器件的驅動。
TFT液晶顯示屏是有源矩陣顯示屏,因此,其驅動方式與TN、STN液晶顯示屏截然不同,采用的是有源矩陣動態驅動法。TFT液晶顯示屏的驅動方式及電路十分復雜,作為液晶彩電維修人員,沒有必要對其驅動原理進行詳細了解,因此,下面僅從圖像色彩顯示角度,對其驅動原理進行簡要介紹。
(1)液晶顯示屏圖像的顯示
下面以1024×768分辨率的液晶屏為例,歸納一下液晶顯示屏顯示圖像的過程和容易混淆的問題。
分辨率為1024×768的液晶屏,共需要1024x3x768個點來顯示一幅畫面。下圖所示為1024x3×768液晶屏驅動框圖。
如果把一個液晶顯示屏平面分成X-Y軸,分辨率為1024×768的屏幕,在X軸(水平方向)上會有1024x3=3072列,由8個384路輸出的源極驅動器(如EK7402)負責驅動;而在Y軸上,會有768行,由3個256路輸出柵極驅動器(如EK7309)負責驅動。
在液晶顯示屏中,每個TFT開關管的柵極連接至水平方向的掃描線,源極連接至垂直方向的數據線,而漏極連接至液晶像素電極和存儲電容。顯示屏一次只啟動一條柵極掃描線,以將相應一行的TFT開關管打開。此時,垂直方向的數據線送入對應的視頻信號,對液晶存儲電容充電至適當的電壓,便可顯示一行的圖像。
接著關閉TFT開關管,直到下次重新寫入信號前,使得電荷保存在電容上,同時啟動下一條水平掃描線,送人對應的視頻信號。
依次將整個畫面的視頻信號寫入,再從第一條重新寫入信號,此重復的頻率稱為幀頻(刷新率),一般為60~70Hz。為便于理解,下圖給出了1幀柵極掃描信號的波形圖。
如前所述,對于1024x768分辨率的液晶顯示屏來說,有768行和1024×3=3072列。一般液晶彩電的刷新頻率為60Hz,此時,每一幅畫面的顯示時間約為11(60s)=16.67ms。由于畫面的組成為768行柵極走線,所以分配給每一條柵極走線的開關時間約為16.67ms/768=21.7μs。因此,在柵極驅動器送出的波形中,是一個接著一個寬度為21.7μs的脈沖波,依序打開每一行的TFT開關管。而源極驅動器則在這21.7μs內,經由源極走線,將顯示電極充放電到所需的電壓,便可顯示出相對應的圖像內容。
需要再次說明的是,加在液晶TFT管源極的驅動電壓,不能像CRT顯像管陰極那樣是一個固定極性的直流信號。因為液晶顯示屏內部的液晶分子如果處于單一極性的電場作用下,則會在直流電場中發生電解反應,使液晶分子按照不同的帶電極性而分別趨向于正、負兩極堆積發生極化作用,從而逐漸失去旋光特性而不能起到光閥作用,致使液晶屏工作壽命終止。因此,要正確使用液晶,不能采用顯像管式的激勵方式,而是既要向液晶施加電壓以便調制對比度,又要保證所加電壓符合液晶驅動要求,即不能有平均直流成分。具體的方法是在顯示屏的源極上,加上極性相反、幅度大小相等的交流電壓。由于交流電的極性不斷變化倒相,故不會使液晶分子產生電解極化作用,而所加電壓又能控制其透光度,從而達到調整對比度的目的。
(2)液晶顯示屏彩色的顯示
TFT液晶顯示屏之所以能夠顯示出色彩逼真的彩色,是由其內部的彩色濾色片和TFT場效應管共同協調工作完成的。下面結合下圖所示電路圖進行說明。圖中展示了液晶屏上一組三基色像素的示意圖。
從圖中可以看出,在t時刻,R、G、B三基色像素從源極驅動器輸出,加到源極驅動電極n-l、n、n+l上,即各TFT管的源極S上,而此時(即t時刻),柵極驅動器輸出的行驅動脈沖只出現在第m行,因此,第m行的所有TFT開關管導通,于是,R、G、B驅動電壓vl、V2、V3分別通過第m行導通的TFT管加到漏電極像素電極上,故R、G、B三基色像素單元透光,送到彩色濾色片上,經混色后顯示一個白色像素點。
下圖給出了顯示三個連續白色像素點的示意圖。顯示的工作過程與前述類似,即在t,時刻,第m-l行的TFT管導通,于是在第m-l行的對應列處顯示一個白色像素點;在t2時刻,第m行的TFT管導通,于是在第m行的對應列處顯示一個白色像素點;在t3時刻,第m+l行的TFT管導通,于是在第m+l行的對應列處顯示一個白色像素點;由于t1、t2、t3之間的間隔很小,因此,人眼看不到白色像素點的閃動,而看到的是三個豎著排放的白色像素點。
以上介紹的只是顯示白色的情況,若顯示其他顏色,原理是相同的。例如,若要顯示黃色,只需要R、G兩像素單元加上電壓,使R、G透光顯示出濾色片的顏色;同時,不給B像素單元加電壓,因此,B像素單元不能透光而呈黑暗狀態。也就是說,在三基色單元中,只有R、G兩單元發光,故能呈現黃色。
可見,如果將視頻信號加到源極列線上,再通過柵極行線對TFT場效應管逐行選通,即可.控制液晶屏上每一組像素單元的發光與否及發光顏色,從而達到顯示彩色圖像的目的。各基色像素單元的源極列線,按照三基色的色彩不同而分為R、G、B三組,分別施加各基色的視頻信號,就可以控制三基色的比例,從而使液晶屏顯示出不同的色彩。
TFT顯示屏的程序
一、 * 函數名: LCD_Init(void)
* 參 數: 無
* 返 回: 無
*功 能: 初始化TFT顯示器
二、
* 函數名: LCD_SetTextColor(__IO uint16_t Color)
* 參 數: Color : 文本顏色
* 返 回: 無
* 功 能: 設置文本顏色,保存在全部變量s_TextColor
三、
* 函數名: LCD_ClearLine(uint8_t Line)
* 參 數: Line : 文本行號0 - 9
*返 回: 無
* 功 能: 清除選定的文本行
四、
* 函數名: LCD_Clear(uint16_t Color)
* 參 數: Color : 背景色
*返 回: 無
* 功 能: 根據輸入的顏色值清屏
五、
* 函數名: LCD_SetCursor(uint16_t Xpos, uint16_t Ypos)
* 參 數: Xpos : X坐標; Ypos: Y坐標
* 返 回: 無
*功 能: 設置光標位置
六、
* 函數名: LCD_SetTransparent(uint8_t _mode)
* 參 數: _mode 透明標志,1表示透明 0 表示不透明
* 返 回: 無
*功 能: 設置坐標的形式
七、
* 函數名: LCD_DrawChar(uint16_t Xpos, uint16_t Ypos, const uint16_t *c)
* 參 數:
* Xpos : X坐標;
* Ypos: Y坐標;
*c : 指向字符點陣的指針
*返 回: 無
* 功 能: 在LCD上顯示一個字符(16x24)
八、 * 函數名: LCD_DisplayChar(uint16_t Xpos, uint16_t Ypos, uint8_t Ascii)
* 參 數:
* Xpos : X坐標);
* Ypos : Y坐標)
*Ascii : 字符的ASCII代碼,在0x20和0x7E之間
* 返 回: 無
* 功 能: 在LCD上顯示一個字符(16x24)
九、
* 函數名: LCD_DisplayString(uint16_t Xpos, uint16_t Ypos, uint8_t *ptr)
* 參 數:
* Xpos : X坐標 0 - 399
*Ypos : Y坐標 0 - 239
* ptr : 字符串指針;
* 返 回: 無
* 功 能: 在LCD指定文本行顯示一個字符串
十、
*函數名: LCD_SetDisplayWindow(uint16_t Xpos, uint16_t Ypos, uint8_t Height, uint16_tWidth)
* 參 數:
* Xpos : 顯示行號
*Ypos : 字符串指針;
* Height: 窗口高度
* Width : 窗口寬度
*返 回: 無
* 功 能: 設置顯示窗口
十一、
* 函數名: LCD_WindowModeDisable(void)
* 參 數: 無
* 返 回: 無
*功 能: 退出窗口顯示模式,變為全屏顯示模式
十二、
* 函數名: LCD_DrawLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length, uint8_t Direction)
* 參 數: Xpos :X坐標
* YPos :Y坐標
* Length :長度
* Direction :方向(Horizontal,Vertical)
*返 回: 無
* 功 能: 在LCD上畫1條線
十三、
*函數名: LCD_DrawPoints(POINT_T _offset, POINT_T *_points, uint16_t _Size, uint16_t _Color)
* 參 數: _points :點坐標數組
* _offset : 偏移坐標
*_Size : 點個數
* _Color :顏色
*返 回: 無
* 功 能: 在LCD上畫一組點
十四、
* 函數名: LCD_DrawRect(uint16_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width)
* 參 數: Xpos :X坐標
* YPos :Y坐標
* Height :高度
* Width :寬度
*返 回:無
* 功 能: 在LCD上畫一個矩形框
十六、
* 函數名: LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius)
* 參 數: Xpos :X坐標
*Radius :圓的半徑
* 返 回: 無
*功 能: 在LCD上畫一個圓
十七、
* 函數名: LCD_DrawMonoPict(const uint32_t *Pict)
* 參 數: Pict : 圖片點陣指針
*返 回: 無
* 功 能: 在LCD上畫一個單色圖片
十八、
* 函數名: LCD_WriteBMP(const uint16_t *ptr)
* 參 數: ptr : 圖片點陣指針
*返 回: 無
* 功 能: 在LCD上顯示一個BMP位圖
十九、
* 函數名: LCD_WriteReg(__IO uint16_t LCD_Reg, uint16_t LCD_RegValue)
* 參 數: LCD_Reg :寄存器地址; LCD_RegValue : 寄存器值
* 返 回: 無
*功 能: 修改LCD控制器的寄存器的值
二十、
* 函數名: LCD_ReadReg(__IO uint16_t LCD_Reg)
* 參 數: LCD_Reg :寄存器地址
* 返 回: 寄存器的值
*功 能: 讀LCD控制器的寄存器的值
二十一、
* 函數名: LCD_WriteRAM_Prepare(void
* 參 數: 無
* 返 回: 無
*功 能: 寫顯存前的準備,即設置顯存寄存器地址
二十一、
* 函數名: LCD_WriteRAM(uint16_t RGB_Code)
* 參 數: RGB_Code : 顏色代碼
*返 回: 無
* 功 能: 寫顯存,顯存地址自動增加
二十二、
* 函數名: LCD_ReadRAM(void)
* 參 數: 無
* 返 回: 顯存數據
* 功 能: 讀顯存,地址自動增加
二十三、
* 函數名: LCD_DisplayOn(void)
* 參 數: 無
*返 回: 無
* 功 能: 打開顯示
二十四
* 函數名: LCD_DisplayOff(void)
* 參 數: 無
*返 回: 無
* 功 能: 關閉顯示
二十五、
* 函數名: LCD_CtrlLinesConfig(void)
*參 數: 無
* 返 回: 無
* 功 能: 配置LCD控制口線,FSMC管腳設置為復用功能
二十六
* 函數名: LCD_FSMCConfig(void)
* 參 數: 無
* 返 回: 無
*功 能: 配置FSMC并口訪問時序
評論
查看更多