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