新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機和液晶模塊的LCD控制及觸屏接口設計

        基于單片機和液晶模塊的LCD控制及觸屏接口設計

        作者: 時間:2017-06-04 來源:網絡 收藏

         0 引言

        本文引用地址:http://www.104case.com/article/201706/348325.htm

          隨著嵌入式系統的廣泛應用, 出現了大量的16位和32位的嵌入式處理器。而傳統的8位單片機長期用于生產實踐, 制造工藝成熟、性能更加可靠, 仍然占有相當大的市場, 特別是在汽車電子等對可靠性要求極高的領域。液晶顯示位模塊具有顯示信息量豐富、功耗低、體積小、質量輕、無輻射等優點。

          觸摸屏作為一種特殊的計算機外設, 是目前最自然、便利的一種人機交互方式。T32QM 6450液晶顯示模塊是帶有觸摸屏功能TFT 型彩色顯示屏, 分辨率為240×320, 支持2.6 ×105色顯示。其功能強, 使用方便, 接口簡單, 具有豐富的專用控制指令, 可方便地實現畫面滾動顯示及觸摸屏等功能。

          1 T32QM6450液晶模塊結構

          T32QM 6450是液晶模塊, 主要由TFT - 顯示器、LED背光燈、觸摸屏、源極驅動IC IS2102和柵極驅動IC IS2202構成, 其中Source Driver負責提供列上各色素點的驅動電壓, 而Ga te Driver控制每行像素的選通狀態。TFT液晶的每個像素點都是由集成在像素點后面的薄膜晶體管來驅動, 從而可以做到高速度、高亮度、高對比度顯示屏幕信息, 可以精確控制顯示灰度, 通過總線與處理器連接, 實現數據和指令的傳遞。

          2 T32QM6450與W77E58接口電路

          硬件連接如圖1所示。處理器芯片選用W77E58.該芯片是一個快速8051兼容微控制器, 其內核經過重新設計, 提高了時鐘速度和存儲器訪問周期速度。它的指令集基本與8051相同, 多了一條DEC DPTR指令。8051每12個時鐘周期為一個機器周期, 而W77E58每4個時鐘周期為一個機器周期, 提高了指令執行速度。另外, W77E58 還可調整MOVX 指令的周期,范圍為2~ 9個機器周期, 這種設計使W77E58能夠更有效訪問慢速或快速外部RAM 及外設。

        圖1 液晶屏與W77E58硬件連接電路

          因為W77E58是高速8 位單片機, 而該LCD模塊采用16位總線接口, 所以電路中用了2 片鎖存器74HC573, 用P24~P27口分別控制2片鎖存器的鎖存使能和輸出使能引腳LE (下降沿鎖存) 、OE (低電平有效), 先給第一片74HC573的LE一個高電平, 通過P1口傳送低8 位數據, 然后給該片的LE 低電平鎖存當前數據; 給第二片的LE 高電平, 同樣通過P1口傳送高8位數據并鎖存, 最后同時給2片74H C573的OE低電平, 即可實現16位數據的傳送。

          該系統是混合電壓系統, 液晶模塊和ADS7843用3.3 V 供電, 而處理器和鎖存器是5 V 供電, 這2部分是不能直接相連的。所以還要處理好電平的轉換問題, 電路中用4 片雙向電平轉換芯片74LVC4245, 它可以實現3.3 V和5 V的相互轉換。

          為實現觸摸屏功能, 電路中用1 片ADS7843.它是電阻式觸摸屏控制芯片, 具備串行12 位A /D轉換功能, 在關閉模式下, 功耗僅為0.5uW, 在12 V、125 kH z的工作模式下功耗為750 uW3. 文中僅結合電路對主要功能加以介紹。CS是芯片選通端; DCLK 是時鐘輸入端, 由P20 腳軟件模擬時鐘信號輸入; DIN 是數據串行輸入端, 控制數據通過該引腳輸入; X+ 、Y + 、X- 、Y - 是接觸點坐標數據輸入端; INT是中斷引腳, 用于通知MCU 有觸摸事件發生, DOUT 將轉換后的觸摸位置數據串行輸出到MCU。

        3 LCD 顯示的程序設計

          3. 1 指令、數據的讀寫

          通過對LCD模塊的RS引腳設置1或0 值, 即可實現處理器和LCD之間數據或指令的傳送。當設定RS= 1, 傳遞的是數據信號; 設定RS= 0, 傳遞的是指令信號, 模塊的D8~ D15端口接收到的數據(即高8位)代表寄存器號, D0~ D7接收到的是控制指令。部分子程序如下:


        3. 2 字符、漢字及顏色的顯示

          可調用以上子程序方便地向LCD模塊發送控制命令和顏色信息。T32QM 6450模塊共有158 個寄存器, 通過調用WriCom 函數可向相關寄存器寫入控制命令, 然后調用WriData寫入2字節的顏色信息, 其RGB格式為: 紅色為高5位( B it15~B it11), 綠色為中間6位( B it10~ B it5), 藍色為低5位( B it4~B it0)。經以上操作, 即可在指定位置或區域顯示色彩、字符、圖象等。如要在屏上坐標為(X, Y) 的點以顏色Co lo r顯示一個字符或漢字, 只要知道其點陣數組, 在每個要顯示的點調用W r iDa ta(Color)即可。圖片的顯示原理類似, 用轉換工具將圖片轉換成C格式的數組文件即可。下例為顯示字符的程序:


        3. 3 滾動顯示畫面

          要實現指定區域的畫面的滾動顯示效果, 可以通過設置寄存器R75~ R80實現, 其中寄存器R75、R76用于設置滾動區域的起始行; R77、R78設置畫面的范圍, 即要滾動顯示的行數;R79、R80設置每次滾動的行數, 即步長。要注意的是, 步長的設置并不是一勞永逸的, 因為這里的步長是相對于滾屏初始化設置時的狀態而言的, 并非相對于上一次滾屏動作而言。圖2舉例說明了滾屏的設置及演示效果。

        圖2 滾屏的設置及過程演示

          圖2所示過程的C程序如下:

        如果按照上述程序調試, 則畫面滾動較快, 效果不明顯。

          實際應用時, 可以結合定時器, 每隔一定時間改變一次寄存器R79、R80的值, 一般是按遞增的等差數列賦值,可以獲得很好的視覺效果。所賦最大值不能超過319, 因為屏幕最大只有320行; 當所賦值為319, 并且R75、R76所賦值為0時, 可實現全屏畫面的滾動顯示。

          4 結束語

          該顯示系統調試完成后, 通過串口和GPS 模塊連接, 可以實時顯示經度、緯度、時間等信號, 顯示效果良好。文中給出的子程序的形參多為2 字節的整型值, 可直接用于16位、32位單片機, 兼容性強, 為其在便攜式系統中的應用提供了一種方法。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 英山县| 五家渠市| 沐川县| 于田县| 高雄市| 老河口市| 太谷县| 永顺县| 台中县| 高青县| 西充县| 永和县| 白山市| 东台市| 石棉县| 资阳市| 宾阳县| 即墨市| 上饶市| 望城县| 新泰市| 瓦房店市| 太原市| 兰州市| 平利县| 宜良县| 休宁县| 海晏县| 仁化县| 山西省| 五指山市| 泗洪县| 盈江县| 南安市| 剑河县| 甘南县| 开远市| 东乌| 大田县| 江北区| 昭苏县|