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