<abbr id="kc8ii"><menu id="kc8ii"></menu></abbr>
  • <input id="kc8ii"><tbody id="kc8ii"></tbody></input><table id="kc8ii"><source id="kc8ii"></source></table><kbd id="kc8ii"></kbd>
    <center id="kc8ii"><table id="kc8ii"></table></center>
  • <input id="kc8ii"></input>
    <abbr id="kc8ii"></abbr>
  • <abbr id="kc8ii"></abbr>
  • <center id="kc8ii"><table id="kc8ii"></table></center>
    <abbr id="kc8ii"></abbr>
    你的位置:首頁 > 光電顯示 > 正文

    基于ARM和TFT6758的液晶顯示模塊設計

    發布時間:2011-12-21

    中心議題:

    • 介紹基于ARM 和TFT6758 的液晶顯示屏設計
    • 分析對液晶模塊TFT6758 的控制機理

    解決方案:

    • 接口電路采用PACK板形式與主板連接
    • LCD 顯示軟件設計


    引言


    隨著液晶顯示技術的發展, LCD 液晶顯示模塊已成為家電、顯示儀器儀表和其他電子產品的重要組成部分。液晶顯示屏以其顯示直觀、便于操作的特點被用作各種便攜式系統的顯示終端。液晶顯示屏具有低電壓、微功耗、無輻射、小體積等特點, 被廣泛應用于各種各樣嵌入式產品中。ARM 是精簡指令集計算機( RISC) , 其具有性能高、成本低和能耗小的特點,被廣泛地應用于嵌入式系統開發。ARM 處理器幾乎已經深入到各個領域: 工業控制領域、無線通訊領域、網絡應用、消費類電子產品、影像和安全產品等。

    因此, 本文介紹一種基于ARM 和TFT6758 的液晶顯示屏設計。

    1 TFT6758 控制器簡介

    TFT6758 LCD 模塊是點陣式LCD, 能顯示圖形、漢字、以及各種符號信息, 可為系統提供友好的人機界面。其主要是面向工作人員的, 將監控信息等顯示出來, 讓工作人員可以清晰地進行監控操作。TFT6758 液晶模塊的屏幕大小為2.2in, 點像素為240×320, 內帶液晶控制器和液晶驅動器, 支持真彩色262K 色, 用戶界面更華麗。TFT6758 LCD模塊的工作電壓為3.3V, 內帶白光LED 背光燈, 可以直接使用8 位、16 位或18 位總線方式與控制器連接。

    2 TFT6758 接口電路

    TFT 液晶接口電路采用PACK板形式與主板連接, 其接口定義如圖1 所示。將TFT6758 液晶顯示模塊的RESET 引腳連接到J1 連接器上, 使用LPC2292 的P0.22 控制液晶模塊復位。TFT6758 液晶顯示模塊的CS、WR 和RD 引腳均連接到J1 連接器上, 與主板的LPC2292 的片選、寫和讀信號連接。而RS 引腳則使用A1 連接, 當A1 為高電平時為數據操作, 當A1 為低電平時為命令( 索引) 操作,即使用兩個不同的地址來區別向TFT6758 液晶模塊發送命令還是發送數據。TFT6758 液晶模塊片選信號: LCM_nCS0; 0x83200000~0x833FFFFF; 索引/ 指令操作地址為: 0x8320000; 數據操作地址為:0x83200002。
     


    [page]

    TFT6758 液晶模塊的背光是LED 背光, 采用4個白光LED 串連連接, 所以要設計升壓電路,CAT32TDI 就是專門用于白光LED 驅動的升壓芯片, 可以驅動4 個串連的白光LED。CAT32TDI 的為輸出關閉控制引腳, 由LEDC 信號控制( 與主板的LPC2292 的PWM 引腳P0.21 相連, 可以使用PWM 控制背光的亮度) , 為了保證LEDC 連接的I/O 在沒有配置為輸出時也能點亮LED 背光, 所以接了一個10kΩ 的上拉電阻R1。CAT32TDI 芯片為恒流輸出, 輸出由R2 控制。

    3 TFT6758 顯示原理

    TFT 液晶顯示器上的每一個液晶像素點都由集成在其后的薄膜晶體管來驅動。TFT 液晶顯示器具有屏幕反應速度快、對比度好、亮度高、可視角度大、色彩豐富等特點。

    在文本顯示方式下, 液晶屏顯示信息的管理單位是8×8 點陣, 稱為一個文本顯示單位, 每個文本顯示單位對應文本顯示緩沖區中的8 個連續存儲單元。寫入文本顯示緩沖區的是字符代碼, 點陣狀態信息( 8×8) 即字模存放在RAM 中。漢字一般采用16×16的點陣來描述, 將它分為4 個8×8 的點陣, 用4 個字符代碼來描述一個漢字, 根據這4 個部分的位置關系將4 個代碼寫入相應的文本顯示緩沖區。LCD 的顯示與字模數據密切相關, 顯示子程序的功能就是讀取相應的字模數據送給LCD, 由LCD將接收到的字模在相應的位置上顯示出來。但字模數據的生成與程序基本無關, 相關的只是字模數據的內容。向液晶發送的漢字必須用提取字模軟件轉換為點陣數組, 才能在程序中使用。

    4 LCD 顯示軟件設計

    首先進行系統初始化, 接著對LCD 控制寄存器及地址寄存器進行改寫, 設置一些LCD 的參數, 配置Buffer 的起始地址和Buffer 大小等一些參數, 然后是清屏, 最后系統可以通過控制器發出的指令調用相關函數, 完成相應的顯示功能。流程圖如圖2所示。
     


     

    4.1 LCD 初始化

    LCD 初始化主要包括對控制器的顯示頻率、顯示行數及顯示緩沖區地址的設置。主要程序如下:

    void TftInit(void)
    { STCOM_INI init_dat;
    int i;
    TftReset();
    for(i=0; i<100; i++) // 設定最多100 條初始化命令
    { init_dat = TFT6758_INI[i]; // TFT6758_INI 數組定義TFT6758 初始化數據信息
    if(init_dat.type==DATA_END) break;
    if(init_dat.type==HD66783_COM){ TftSerialCom(init_dat.com, init_dat.dat); // 向TFT 液晶模塊發送串行命令}
    else{ TftSendCom(init_dat.com); // 向TFT 液晶模塊發送命令字TftSendDat(init_dat.dat); // 向TFT 液晶模塊發送數據}
    DelaymS(init_dat.dly); // 延時等待}
    }

    4.2 LCD 清屏

    由于系統上電時, 顯示緩沖區的數據是不固定的, 顯示出亂碼, 因此在液晶顯示操作之前應將緩沖區清零或向緩沖區發送指定的數據來填充屏幕。程序如下:
    void GUI_ClearSCR(void){ TFT_FillSCR(GUI_CCOLOR); // 全屏填充, 直接使用數據填充顯示緩沖區}

    4.3 數據顯示

    液晶初始化結束后, 系統將采集來的信號通過處理后用文字、圖形等顯示到LCD 上。這里舉一個簡單的畫窗口程序。為了提高程序的可讀性和可移植性, 在程序頭文件中都用了宏定義, 限于篇幅在此不再列出。

    s tatic WINDOWS win;// GUI 初始化
    void GUI_INIT(void){GUI_Initialize(); // 初始化GUI, 包括初始化顯示緩沖區, 初始化LCM 并清屏
    GUI_SetColor (WHITE,BLUE);// 顯示顏色:
    WHITE 前景色; BLACK背景色InitWin(&win); // 窗口初始化}
    // 窗口初始化
    void InitWin(WINDOWS *ptrwin){ptrwin- >x = Windows_x;ptrwin- >y = Windows_y;ptrwin- >with = Windows_width;ptrwin- >hight = Windows_hight;ptrwin- >title = (uint8 *)Windows_title;ptrwin- >s tate = (uint8 *)Windows_s tate;GUI_WindowsDraw(ptrwin); // 顯示窗口。根據提供的窗口參數進行畫窗口。
    }[page]

    其中顯示漢字的程序如下:
    void MyGUI_PutHZ(uint32 x, uint32 y, uint8 *dat){GUI_PutHZ(x,y,dat,16,16);}

    以漢字方式顯示標題的函數如下:
    void ShowTitleHZ(uint32 x, uint32 y)
    {x=x+10;MyGUI_PutHZ(x, y, (uint8 *)hzye);//hzye為" 液" 的點陣數組
    MyGUI_PutHZ (x+HZ_FONT_SIZE, y, (uint8 *)hzjing);//hzjing 為" 晶" 的點陣數組
    MyGUI_PutHZ(x+2*HZ_FONT_SIZE, y, (uint8 *)hzxian); //hzxian 為" 顯" 的點陣數組
    MyGUI_PutHZ(x+3*HZ_FONT_SIZE, y, (uint8 *)hzshi); //hzshi 為" 示" 的點陣數組}

    以漢字方式顯示菜單、狀態欄等與上述方法類似。

    5 結束語


    本文對基于ARM 和TFT6758 的液晶顯示模塊實現方法進行了探討, 對液晶模塊TFT6758 進行了有效的控制, 可提供豐富靈活的漢字、字符、圖形, 實現菜單和現場數據的動態顯示, 性能穩定。該顯示模塊能夠應用于工業控制中。

    要采購顯示模塊么,點這里了解一下價格!
    特別推薦
    技術文章更多>>
    技術白皮書下載更多>>
    熱門搜索
    ?

    關閉

    ?

    關閉

    无码的免费不卡毛片视频| 自拍中文精品无码| 免费无码毛片一区二区APP| 97精品人妻系列无码人妻| 中文字幕久久精品无码| 高清无码午夜福利在线观看 | 午夜亚洲AV日韩AV无码大全| 无码人妻精品中文字幕免费| 一区二区三区在线观看中文字幕| 日韩乱码人妻无码系列中文字幕 | 2021无码最新国产在线观看| 亚洲国产精品无码av| 自拍中文精品无码| 日韩精品无码人成视频手机| 天堂√中文最新版在线下载 | 少妇伦子伦精品无码STYLES| 中文字幕av无码专区第一页| 亚欧无码精品无码有性视频| 日韩av无码久久精品免费| 国产成人精品无码一区二区三区| 无码不卡亚洲成?人片| 99久久人妻无码精品系列蜜桃| 色综合久久无码五十路人妻| 无码人妻AV一二区二区三区| 亚洲AV无码乱码国产麻豆 | 亚洲精品无码AV人在线播放 | 在线观看免费无码专区| 13小箩利洗澡无码视频网站免费 | 亚洲AV无码一区二区三区性色| 亚洲日韩精品A∨片无码 | 人妻少妇乱子伦无码视频专区| 午夜无码A级毛片免费视频| 无码国产精品一区二区免费式芒果| 无码国产福利av私拍 | 久久人妻少妇嫩草AV无码蜜桃| 免费精品久久久久久中文字幕| 日韩电影无码A不卡| 无码国内精品久久人妻麻豆按摩| 一本大道久久东京热无码AV| 亚洲中文字幕无码久久2017| 亚洲韩国—中文字幕|