基于LJD-ZN-8400T智能觸摸液晶顯示終端與單片機的接
作為一種常見的顯示設(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位單片機長期用于生產(chǎn)實踐中,制造工藝成熟,性能更加可靠,因此仍然占有相當(dāng)大的市場,特別是在汽車電子等對可靠性要求極高的領(lǐng)域。液晶顯示器具有顯示信息量豐富,功耗低,體積小,質(zhì)量輕,無輻射等優(yōu)點。觸摸屏作為一種特殊的計算機外設(shè),是目前最自然、便利的一種人機交互方式。
在微處理器系統(tǒng)中(MCS-51,C8051F,AVR,PIC,MPS430,DSP,部分工業(yè)用的ARM)使用LCD液晶顯示器設(shè)計一般比較麻煩,特別對于大點陣或者彩色的LCD設(shè)計更加困難。首先要選擇液晶屏,有進(jìn)口的、國產(chǎn)的、無背光、帶背光、尺寸大小、點陣多少、單色、彩色、貨源情況、價格等。然后是LCD驅(qū)動器的問題,例如與選用的液晶模塊如何連接,如何顯示緩沖區(qū)的操作;與單片機如何連接,軟件如何編程等。另外,由于大屏幕液晶都是工作在圖形方式,所以還要建立各種字庫(外文,漢字、圖形符號等),并研究如何顯示這些符號和漢字。在需要顯示曲線圖形時,還需計算機圖形學(xué)等相關(guān)知識,并用單片機程序來實現(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)圖片下載,字庫下載等功能。用戶可以在計算機上選擇自己熟悉的方式,如:畫圖軟件、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)提供了豐富的操作命令,設(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口只有在與計算機通信時設(shè)定,如果是與單片機等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 單片機與顯示終端接口的程序設(shè)計
3.1 單片機串口的初始化設(shè)置
主控制單元上電復(fù)位后,首先設(shè)置控制核心單片機的串口工作在方式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口只有在與計算機通信時設(shè)定,如果是與單片機等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è)備的智能化程度越來越高,對操作性的要求也越來越高,良好的人機交互界面越來越受到設(shè)計者的重視。本文介紹基于LJD-ZN-8400T系列智能觸摸液晶顯示終端與單片機的接口及編程具有廣泛的使用價值。
評論