久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計實例 >> 瀏覽文章

Stm32的TFT LCD顯示器控制學(xué)習(xí)筆記

作者:劉力宏   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2014年03月04日   【字體:

學(xué)習(xí)stm32,TFT LCD顯示屏控制是很重要的一章,本人在初步學(xué)習(xí)STM32遇到了很多困難,所以把學(xué)習(xí)中積累的部分感覺重要的知識點羅列出來。目前常用的TFT液晶內(nèi)部驅(qū)動芯片是ILI9320,ILI9325系列,內(nèi)部原理基本一致,我用的是ILI9320。用stm32驅(qū)動液晶,實際上就是驅(qū)動ILI9320芯片。點亮TFT LCD的具體步驟有:

(1)stm32與ILI9320芯片管腳的初始化。

void LCD_Init(void); /*初始化LCD,也就是初始化LCD控制器ILI9320芯片與stm32控制器的管腳連接配置*/其中包括CS:TFTLCD片選信號,WR:向TFTLCD寫入信號,RD:從TFTLCD讀取信號,DB(15--0):16位雙向數(shù)據(jù)線,RST:硬復(fù)位TFTLCD,RS:命令/數(shù)據(jù)標(biāo)志(0 讀寫命令;1 讀寫數(shù)據(jù)),TFT模塊有個控制器,名為ILI9320,該控制器自帶顯存,其顯存總大小為172820,模塊數(shù)據(jù)線與顯存的對應(yīng)關(guān)系位565方式


SGRAM (Synchronous Graphics Random-Access Memory),同步圖形隨機(jī)存儲器,是一種專為顯卡設(shè)計的顯存、一種圖形讀寫能力較強(qiáng)的顯存,由SDRAM改良而成。SGRAM讀寫數(shù)據(jù)時不是一一讀取,而是以“塊”(Block)為單位,從而減少了內(nèi)存整體讀寫的次數(shù),提高了圖形控制器的效率。同SDRAM一樣,SGRAM也分普通SGRAM與DDR SGRAM兩種。

R0,這個命令有兩個功能,如果對它寫,則最低位位OSC,用于開啟或關(guān)閉振蕩器,而如果對它讀,返回控制器型號。我們知道了控制器型號,可以針對不同型號的控制器,進(jìn)行不同對的初始化。

R3,入口模式命令。重點關(guān)注I/D0,I/D1,AM這三個位,因為這3個位控制了屏幕的顯示方向。AM:控制GRAM更新方向,當(dāng)AM=0的時候,地址以行方向更新,當(dāng)為1的時候,地址以列方向更新。I/D[1:0]:當(dāng)更新了一個數(shù)據(jù)之后,根據(jù)這兩個位的設(shè)置來控制地址計數(shù)器自動增加/減少1,其關(guān)系圖如下

R7,顯示控制命令。該命令CL位用來控制是8位彩色,還是26萬色。為0是26萬色,為1時八位色。D1,D0,BASEE這三個位用來控制顯示開關(guān)與否的。

當(dāng)全部置1的時候開啟顯示,全0是關(guān)閉。我們一般通過該命令的設(shè)置來開啟或關(guān)閉顯示器,以降低功耗。

    R22,(讀/寫)數(shù)據(jù)(到/從)GRAM。

R32,R33,設(shè)置GRAM的行地址和列地址。R32用于設(shè)置列地址(X坐標(biāo),0~239),R33用于設(shè)置行地址(Y坐標(biāo),0~319)。當(dāng)我們要在某個指定點寫入一個顏色的時候,先通過這兩個命令設(shè)置到改點,然后寫入顏色值就可以了。

R34,寫數(shù)據(jù)到GRAM命令,當(dāng)寫入了這個命令之后,地址計數(shù)器才會自動的增加和減少。

R80~R83,行列GRAM地址位置設(shè)置。這幾個命令用于設(shè)定你顯示區(qū)域的大小,我們整個屏的大小240*320, 但是有時候我們只需要在其中一部分區(qū)域?qū)懭霐?shù)據(jù),如果用先寫坐標(biāo),后寫數(shù)據(jù)這樣的方式來實現(xiàn),則速度大打折扣。

此時我們可以通過這幾個命令,在其中開辟一個區(qū)域,然后不停地丟數(shù)據(jù),地址計數(shù)器就會根據(jù)R3的設(shè)置自動增加/減小,這樣就不需要頻繁的寫地址了,大大提高了刷新的速度。

(2)具體TFTLCD模塊功能程序

顯示屏寬度參數(shù)定義


#define LCD_W 240
#define LCD_H 320
#define    LCD_LED   PCout()//LCD背光         
#define    LCD_CS   PCout() //片選端口     
#define    LCD_RS      PCout()  //數(shù)據(jù)/命令        
#define    LCD_WR  PCout() //寫數(shù)據(jù)              
#define    LCD_RD      PCout()  //讀數(shù)據(jù)       
A.       寫寄存器
首先根據(jù)英文版的ILI9320 datasheet 描述的關(guān)于寫寄存器控制管腳的主要配置。下圖所示:
圖:寫寄存器波形圖
 
 voidLCD_WriteReg(u16 LCD_Reg,u16 LCD_RegValue)
{
     /* Write 16-bit Index, thenWrite Reg */
     ClrCs       //片選復(fù)位
      ClrRs      //選擇命令
     ClrWr       //寫數(shù)據(jù)復(fù)位
      LCD_Write(LCD_Reg);     //寫入操作指令代碼
      SetWr      //寫數(shù)據(jù)置位
     /* 寫16位的數(shù)據(jù)到指定寄存器*/
     SetRs
     ClrWr
     LCD_Write(LCD_RegValue);   //寫數(shù)據(jù)
     SetWr
      SetCs
}
B. 讀寄存器
圖:讀寄存器波形圖
 
u16 LCD_ReadReg(u8 LCD_Reg)
{
  u16data;
  ClrCs
  ClrRs
  ClrWr
 LCD_Write(LCD_Reg);
  SetWr
 
  SetRs
  ClrRd
  SetRd
  data= LCD_Read();
  SetCs
  return   data;
}
C.   寫GRAM
圖:寫GRAM波形圖
/*讀GRAM準(zhǔn)備過程*/
void LCD_WriteRAM_Prepare(void)
{
  /*Write 16-bit Index, then Write Reg */
  ClrCs
  ClrRs
  ClrWr
 LCD_Write(0x22);
  SetWr
  SetCs
}
/*讀GRAM*/
void LCD_WriteRAM(u16 RGB_Code)                                
{
  /*Write 16-bit Index, then Write Reg */
  ClrCs
  SetRs
  ClrWr
 LCD_Write(RGB_Code);
  SetWr
  SetCs
}
D.  讀GRAM
圖:讀GRAM波形圖
u16 LCD_ReadRAM(void)
{
  u16dummy;
  u16data;
 LCD_WriteRAM_Prepare();
 LCD_DB_AS_InPut();   //將DB端口設(shè)置為輸入模式
  dummy= LCD_ReadSta();
 dummy++;
  data= LCD_ReadSta();
 LCD_DB_AS_OutPut();
 return    data;
}

 

E.剩下的部分就是控制液晶畫點劃線,顯示圖像的內(nèi)容,跟51時代的控制液晶基本類似。

關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 久久i| 看羞羞视频 | 久久新视频 | 精品在线观看一区二区 | 亚洲欧美日韩在线 | 亚洲精品www久久久久久广东 | 色资源在线观看 | 91精品久久久久久久久久入口 | 在线播放国产一区二区三区 | 久久激情网 | 天天摸天天看 | 一区二区精品视频 | 久久久久久久亚洲精品 | 日韩免费视频 | 成人av播放 | 91在线一区 | 欧美色图综合网 | 日日噜噜噜夜夜爽爽狠狠视频, | 亚洲精品女优 | 91综合网| 91污在线 | 欧美一级黄色片在线观看 | 免费精品视频在线观看 | 久久影院一区 | 日韩中文字幕视频在线 | 狠狠av | 亚洲一区国产精品 | 亚洲国产精品一区二区第一页 | 日韩精品一区二区三区老鸭窝 | 欧美综合国产精品久久丁香 | av手机免费在线观看 | 欧美一区二区三区日韩 | 日韩在线观看中文字幕 | 免费影视在线观看 | 日日操夜夜操天天操 | 国产在线中文字幕 | 完全免费在线视频 | 999久久精品| 日韩av在线播 | 天堂网av在线 | 精品亚洲二区 |