基于觸摸屏的太陽能熱水器控制系統(tǒng)設(shè)計
李香宇, 任建存
(海軍航空工程學(xué)院控制工程系, 山東煙臺264001)
摘要: 在分析液晶觸摸屏的工作原理基礎(chǔ)上,分析觸摸屏專用控制器RA8806 的工作原理與控制方式。通過RA8806與單片機PIC16F877 的接口設(shè)計,給出系統(tǒng)中觸摸屏的顯示畫,以及觸摸控制的程序流程圖,同時寫出了具體程序。實踐證明該設(shè)計方法完全能夠滿足實際應(yīng)用的需要。
關(guān)鍵詞: 觸摸屏; 控制器RA8806; 太陽能熱水器; PIC16F877
中圖分類號: TN873+.93 文獻標識碼: A 文章編號:1674-6236(2011)10-0089-03
觸摸屏作為智能儀器、儀表的輸入設(shè)備,是具有簡單、方便、自然的人機交互方式。而電阻式觸摸屏對外完全隔離,不怕油污、灰塵、水,經(jīng)濟性很好,適應(yīng)于各種惡劣的環(huán)境,因此應(yīng)用到太陽能熱水器的顯示界面,同時起到控制執(zhí)行器工作的作用。
1 觸摸屏的結(jié)構(gòu)和原理
觸摸屏的基本原理是,用手指或其他物體觸摸安裝在顯示器前端的觸摸屏?xí)r,所觸摸的位置(以坐標形式)由觸摸屏控制器檢測,并通過I/O 口送到CPU,從而確定輸入的信息。觸摸屏的本質(zhì)是傳感器,它由觸摸檢測部件和觸摸屏控制器組成。觸摸檢測部件安裝在顯示器屏幕前面,用于檢測用戶觸摸位置,接受后送觸摸屏控制器;而觸摸屏控制器的主要作用是從觸摸點檢測裝置接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標送給觸摸屏控制器,它同時能接收觸摸屏控制器發(fā)來的命令并加以執(zhí)行[1]。
本設(shè)計選用的是四線制電阻式觸摸屏,是在強化玻璃表面分別涂上兩層透明氧化金屬導(dǎo)電層,利用壓力感應(yīng)進行控制。當(dāng)手指觸摸屏幕時,兩層導(dǎo)電層在觸摸點位置就有了接
觸,電阻發(fā)生變化。在X 和Y 兩個方向上產(chǎn)生信號,然后傳送到觸摸屏控制器RA8806??刂破鱾蓽y到這一接觸并計算出(X,Y)的位置,再根據(jù)模擬鼠標的方式動作[2]。
電阻式觸摸屏將矩形區(qū)域中觸摸點的物理位置轉(zhuǎn)換為代表X 方向和Y 方向的電壓。上下兩個導(dǎo)電層一個是水平方向,一個是豎直方向,分別用來測量X 和Y 的坐標位置,在水平面上的電極稱為X+電極和X-電極,在豎直平面的電極稱為Y+電極和Y-電極,如圖1 所示。測量X 方向的時候,將X+、X-之間加上參考電壓VCC,Y-斷開, 用Y+電極作為測量點,獲得X 方向的電壓,得到的電壓值經(jīng)A/D 轉(zhuǎn)換,就可對應(yīng)的判斷出接觸點的X 坐標;同理測量Y 方向的電壓,之后再完成電壓與坐標的換算[3]。觸摸點M 處測量結(jié)果計算如下:
圖1 四線電阻式觸摸屏測量原理
2 液晶顯示觸摸屏的硬件設(shè)計
液晶觸摸屏包含圖形液晶顯示模塊和附著在顯示屏上的觸摸屏兩部分, 借助于觸摸屏控制器RA8806 與微處理器PIC16F877 實現(xiàn)軟硬件接口, 通過檢測用戶在觸摸屏上的觸
摸位置,實現(xiàn)顯示與控制功能。
2.1 RA8806 控制器
對觸摸屏的控制需要選用專門的觸摸屏控制芯片,觸摸屏控制芯片不僅能夠完成A/D 轉(zhuǎn)換而且能夠?qū)崿F(xiàn)電極電壓的切換,本設(shè)計選用了四線電阻式觸摸屏控制器RA8806。RA8806 是一個文字與繪圖模式的點矩陣液晶顯示控制器,其內(nèi)建了雙圖層(Two Page)顯示內(nèi)存,及512 kB ROM 的字型碼,可以顯示全型(16×16 pixels)的繁體中文字型或是簡體中文字型。RA8806 支持可轉(zhuǎn)換8-bit 數(shù)據(jù)總線的8080/6800 系列之MPU 接口,而對于LCD 驅(qū)動接口,RA8806 亦可以被設(shè)定為4-bit 或8-bit 的數(shù)據(jù)總線。在一般模式下,RA8806 可支持最大到320×240 點分辨率的LCD 面板。RA8806 也內(nèi)建了智能型觸控掃瞄控制器, 支持了4 線電阻式觸控掃瞄接口,而可程序化的PWM 可以用來調(diào)節(jié)LCD 面板的對比或背光。RA8806 也提供一個強大且聰穎的4×8(32鍵)或8×8(64 鍵)的鍵盤掃瞄接口,其中更包含了長按鍵的功能,同時透過適當(dāng)?shù)闹袛嗪洼喸儥C制讓使用者可以輕易的操作觸控掃瞄、鍵盤掃瞄和電源管理等功能,因此可以有效的減輕MPU 的負擔(dān)[4]。
2.2 液晶顯示模塊接口設(shè)計
本設(shè)計中采用的液晶顯示模塊是一種分辨率為320×240點陣的液晶顯示器DV320240GB, 是一款內(nèi)含硬件字庫的圖形點陣液晶顯示器,具有體積小、重量輕、顯示靈活等優(yōu)點。它主要采用動態(tài)驅(qū)動原理,由行驅(qū)動控制器和列驅(qū)動器兩部分組成了320×240 的全點陣液晶顯示, 編程模式簡潔方便。具有兩種顯示方式:文本顯示和圖形顯示[5]。觸摸屏液晶顯示DV320240GB 和控制器RA8806 之間的連接如圖2 所示。
圖2 液晶顯示屏DV320240GB 與控制器RA8806 接線圖
3 控制系統(tǒng)硬件設(shè)計
由下位機采集溫度和水位信息, 經(jīng)過通信傳輸給上位機,之后通過液晶顯示模塊將其顯示在液晶屏上,同時顯示日歷時鐘DS1302 的實時時間。同時四線電阻式觸摸屏通過觸摸送給觸摸屏控制器RA8806, 將觸摸的信息送給上位機進行處理之后,一方面改變了液晶屏上的顯示信息,另一方面主動發(fā)送給下位機進行處理,由此來控制電磁閥、加熱器、水泵的工作[6]??刂葡到y(tǒng)的總體框圖如圖3 所示。
4 系統(tǒng)軟件設(shè)計
4.1 觸摸屏畫面設(shè)計
單片機開始運行,首先進入主界面顯示,顯示采集的溫度、水位信息和北京時間,同時在主界面通過觸摸相應(yīng)位置又可以進入?yún)?shù)設(shè)置界面和手動控制界面,以及故障檢測界面。主界面示意圖如圖4 所示。
圖4 參數(shù)顯示的主界面
4.2 觸摸屏控制程序設(shè)計
觸摸屏控制器RA8806 連接到微控制器PIC16F877 上。當(dāng)發(fā)生觸摸時, 由RA8806 向PIC16F877 提出中斷請求, 接著PIC16F877 就會響應(yīng)該中斷請求, 通過RA8806 的轉(zhuǎn)換結(jié)果,得到觸摸點的坐標。圖5 為RA8806 測量子程序流程圖。
圖5 RA8806 測量子程序流程圖
觸摸屏控制器RA8806 進入中斷程序后,采集X、Y 坐標值的命令程序如下:
LCD_CmdWrite ( INTR); //Check INT status
INT_Sta=LCD_DataRead ( );
if (INT_Sta&0x01 ) //Check if TP interrupt
{
LCD_CmdWrite ( TPXR);
X1=LCD_DataRead ( ); //MSB of X
LCD_CmdWrite ( TPYR);
Y1=LCD_DataRead ( ); //MSB of Y
LCD_CmdWrite ( TPZR);
X2= LCD_DataRead ( ) &0x03; //LSB two Bits of X
LCD_CmdWrite ( TPZR);
Y2= LCD_DataRead ( ) &0x0C; //LSB two Bits of Y
… …
LCD_CmdWrite ( INTR); //Clear Touch Panel
Status
temp=LCD_DataRead ( ) &0xfe;
LCD_CmdWrite(INTR);
LCD_DataWrite ( temp);
}
5 結(jié)論
觸摸屏作為一種新型的輸入設(shè)備正在得到日益廣泛的應(yīng)用。而利用RA8806 實現(xiàn)觸摸屏控制,可以方便實現(xiàn)與單片機之間的連接,與點陣式液晶顯示屏DV320240GB 相配合使用,通過單片機與觸摸屏之間的接口設(shè)計,可以便捷地實現(xiàn)控制功能。
參考文獻:
[1] 王富東. 電阻式觸摸屏與單片機的接口技術(shù)[J].蘇州大學(xué)學(xué)報,2006,12
[2] 石楊, 閔子建. 基于觸摸屏控制器的在線動態(tài)數(shù)據(jù)采集及預(yù)處理[J].微計算機信息, 2008,24
[3] 劉彬, 韓進. 基于單片機的液晶顯示觸摸屏控制設(shè)計[J].液晶與顯示,2010,4
2010,4(2):240-244.
[4] 劉升. 基于RA8806 控制器的LCD和51單片機接口技術(shù)[J],電子設(shè)計工程,2009,17
[5] 黎安軍,藍飄先. 51單片機的觸摸屏系統(tǒng)的應(yīng)用[J].計算機科學(xué)與技術(shù),2008,26
[6] 王選民, 李明利,等.基于ADS7846 的電阻式觸摸屏接口設(shè)計[J].現(xiàn)代電子技術(shù),2010(11)