作為一種常見的顯示設備,LCD具有功耗低,體積小,重量輕,顯示信息量大等特點,尤其是在便攜設備中,更占據(jù)著絕對主流的地位。對于字符或數(shù)字的簡單信息顯示,通??捎枚未a式LCD驅動器。對于復雜的信息顯示,則必須由點陣式LCD驅動器來顯示。最常見的點陣式LCD控制/驅動器中,有不帶中文字庫的LCD驅動器,也有帶中文字庫的LCD驅動器。隨著嵌入式系統(tǒng)的廣泛應用,出現(xiàn)了大量的16位和32位的嵌入式處理器。然而傳統(tǒng)的8位單片機長期用于生產實踐中,制造工藝成熟,性能更加可靠,因此仍然占有相當大的市場,特別是在汽車電子等對可靠性要求極高的領域。液晶顯示器具有顯示信息量豐富,功耗低,體積小,質量輕,無輻射等優(yōu)點。觸摸屏作為一種特殊的計算機外設,是目前最自然、便利的一種人機交互方式。
在微處理器系統(tǒng)中(MCS-51,C8051F,AVR,PIC,MPS430,DSP,部分工業(yè)用的ARM)使用LCD液晶顯示器設計一般比較麻煩,特別對于大點陣或者彩色的LCD設計更加困難。首先要選擇液晶屏,有進口的、國產的、無背光、帶背光、尺寸大小、點陣多少、單色、彩色、貨源情況、價格等。然后是LCD驅動器的問題,例如與選用的液晶模塊如何連接,如何顯示緩沖區(qū)的操作;與單片機如何連接,軟件如何編程等。另外,由于大屏幕液晶都是工作在圖形方式,所以還要建立各種字庫(外文,漢字、圖形符號等),并研究如何顯示這些符號和漢字。在需要顯示曲線圖形時,還需計算機圖形學等相關知識,并用單片機程序來實現(xiàn)各種算法等。通常大屏幕液晶顯示系統(tǒng)的設計將占用很多的設計時間。
在此,選用LJD-ZN系列液晶顯示終端可解決以上全部問題。只要通過RS 232串行口將CPU與觸摸液晶顯示終端相連,利用系統(tǒng)CPU發(fā)幾個簡單的命令就可以實現(xiàn)對彩色及單色液晶顯示器的控制。
1 LJD-ZN系列液晶顯示終端介紹
該產品是北京藍海微芯公司設計的彩色液晶顯示智能液晶終端。LJD-ZN-8400T型是彩色8.4 inch的智能終端。液晶屏為8.4 inch,分辨率為640×480,外殼尺寸為248 mm×192 mm,可以安裝在主控制器的面板上。LJD-ZD-8400T與外部的連接是通過該模塊背面的接口來實現(xiàn)的。LJD-ZN-8400T背面設有RS 232通信端口,這個端口用于連接具有RS 232通信端口的控制器。RS 232通信端口為9針D型母座管腳排列,管腳排列見表1。
該模塊還設有RS 485通信端口,這個端口用于連接具有RS 485或是TTL通信端口的控制器。RS 485通信端口為9針D型母座管腳排列,管腳排列見表2。
針對LJD-ZN-8400T智能終端的二次開發(fā),有與之配套的工具軟件,可以直接運行,輕松實現(xiàn)圖片下載,字庫下載等功能。用戶可以在計算機上選擇自己熟悉的方式,如:畫圖軟件、Photoshop軟件等。圖片必須保存為*.bmp格式。圖片的大小不超過640×480像素,因為LJD-ZN- 8400T顯示為640×480,超出的部分也不會顯示,只會浪費存儲空間。
圖片數(shù)量:LJD-ZN-8400T可以顯示24位真彩位圖,對下兼容;可以顯示620×480整幅真彩圖片8幅,可以擴展為17幅;整幅256色圖片23幅,可擴展為48幅;整幅16色圖片47幅,可擴展為100幅;整幅單色圖片185幅,可擴展為400幅。
2 控制命令、數(shù)據(jù)格式的說明
LJD-ZN-8400T顯示系統(tǒng)提供了豐富的操作命令,設計者利用這些命令就可以很簡單地完成各個顯示功能的設計。
(1)顯示屏坐標值全部以BCD碼(十進制)格式發(fā)送或接收,在設計軟件時把BCD碼當作16進制直接處理,不需要轉換。
例如:坐標x=200,y=120,那么傳輸時格式應該為:
(2)如果接收到的坐標值為01H,23H,10H,80H表示x=123,y=180。
(3)送到LCD顯示的數(shù)據(jù)必須為ASCII碼。數(shù)據(jù)傳輸過程如下:
包頭+數(shù)據(jù)類型+(相關控制)+包尾說明:包頭格式統(tǒng)一為FOH,5AH個字節(jié);數(shù)據(jù)類型為相關不同操作的命令;包尾格式統(tǒng)一為A5H FOH兩個字節(jié);例如,波特率的設定命令為15H,其格式如下:
數(shù)據(jù)包頭+數(shù)據(jù)類型+COM口+波特率(2個字節(jié)十六進制)+數(shù)據(jù)包尾
COM口只有在與計算機通信時設定,如果是與單片機等COM口通信,一般設為00H。
例如:用波特率為2400b/s進行通信設置,Sample:FO 5A 15 00 09 60 A5 FO。上電時默認波特率為9600b/s,上電后用戶可以根據(jù)LJD-ZN設備通信協(xié)議進行更改。
3 單片機與顯示終端接口的程序設計
3.1 單片機串口的初始化設置
主控制單元上電復位后,首先設置控制核心單片機的串口工作在方式1,速率為9600b/s。
串口初始化設置程序:
3.2 控制指令發(fā)送程序
LJD-ZN-8400T顯示系統(tǒng)提供了豐富的操作命令,設計者利用這些命令就可以很簡單地完成各個顯示功能的設計。例如:波特率設定,命令為15H,格式如下:
數(shù)據(jù)包頭+數(shù)據(jù)類型+C0M口+波特率(2個字節(jié)16進制)+數(shù)據(jù)包尾
COM口只有在與計算機通信時設定,如果是與單片機等COM口通信,一般設為OOH。
例如:用波特率為2400b/s進行通信設置;
Sample:FO 5A 15 00 09 60 A5 FO程序如下:
3.3 觸摸位置檢測程序設計
LJD-ZN-8400T顯示終端可以根據(jù)外部觸摸位置,由串口輸出觸摸位置坐標。實際應用時,需要設置觸摸功能區(qū)的左上角坐標和右下角坐標,從而可以確定一個觸摸功能區(qū)。所以,根據(jù)串口輸出的觸摸位置坐標,即可以判斷是否觸摸在確定功能區(qū),而執(zhí)行相應的功能。
串口輸出觸摸屏位置坐標數(shù)據(jù)格式如下:
數(shù)據(jù)包頭+數(shù)據(jù)類型+XH+XL+YH+YL+標志位+數(shù)據(jù)包尾
說明:LJD-ZN-8400T的觸摸屏分按下和抬起2個鍵值,其是通過標志位來判斷的。觸摸屏的值與屏的分辨率是一致的,左上角是起始位置,x坐標是 (00,00),y坐標是(OO,00);右下角是最大值,x坐標是(03,19),y坐標是(02,39)。觸摸位置判斷子程序流程圖如圖1所示。
用戶自定義觸摸按鍵,編程的時候首先要根據(jù)串口輸出的數(shù)據(jù),判斷觸摸點的.x/y坐標值。當觸摸點x的坐標值大于所定義的左上角x坐標值和小于所定義的右下角x坐標值,并且觸摸點y的坐標值在大于所定義的左上角y坐標值和小于所定義的右下角y坐標值時,可以確定觸摸點在所定義的按鍵范圍之內,調用該按鍵的鍵功能子程序,否則,視為無效觸摸點。
4 結語
隨著現(xiàn)代微電子技術的發(fā)展,各種設備的智能化程度越來越高,對操作性的要求也越來越高,良好的人機交互界面越來越受到設計者的重視。本文介紹基于LJD-ZN-8400T系列智能觸摸液晶顯示終端與單片機的接口及編程具有廣泛的使用價值。