<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于液晶觸摸屏技術(shù)的太陽(yáng)能熱水器控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          基于液晶觸摸屏技術(shù)的太陽(yáng)能熱水器控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2017-06-04 來(lái)源:網(wǎng)絡(luò) 收藏

          作為智能儀器,儀表的輸入設(shè)備。是具有簡(jiǎn)單、方便、自然的人機(jī)交互方式。而電阻式對(duì)外完全隔離,不怕油污、灰塵、水,經(jīng)濟(jì)性能好,適應(yīng)于各種惡劣的環(huán)境,因此應(yīng)用到太陽(yáng)能熱水器的顯示界面,同時(shí)起到控制執(zhí)行器工作的作用。

          本文引用地址:http://www.ex-cimer.com/article/201706/348346.htm

          1 的結(jié)構(gòu)和原理

          觸摸屏的基本原理是,用手指或其他物體觸摸安裝在顯示器前端的觸摸屏?xí)r,所觸摸的位置(以坐標(biāo)形式)由觸摸屏控制器檢測(cè),并通過(guò)I/O口送到CPU,從而確定輸入的信息。觸摸屏的本質(zhì)是傳感器,它由觸摸檢測(cè)部件和觸摸屏控制器組成。觸摸檢測(cè)部件安裝在顯示器屏幕前面,用于檢測(cè)用戶觸摸位置,接受后送觸摸屏控制器;而觸摸屏控制器的主要作用是從觸摸點(diǎn)檢測(cè)裝置接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo)送給觸摸屏控制器,它同時(shí)能接收觸摸屏控制器發(fā)來(lái)的命令并加以執(zhí)行。

          本設(shè)計(jì)選用的是四線制電阻式觸摸屏,是在強(qiáng)化玻璃表面分別涂上兩層透明氧化金屬導(dǎo)電層,利用壓力感應(yīng)進(jìn)行控制。當(dāng)手指觸摸屏幕時(shí),兩層導(dǎo)電層在觸摸點(diǎn)位置就有了接觸,電阻發(fā)生變化。在X和Y兩個(gè)方向上產(chǎn)生信號(hào),然后傳送到觸摸屏控制器。控制器偵測(cè)到這一接觸并計(jì)算出(X,Y)的位置,再根據(jù)模擬鼠標(biāo)的方式動(dòng)作。

          電阻式觸摸屏將矩形區(qū)域中觸摸點(diǎn)的物理位置轉(zhuǎn)換為代表X方向和Y方向的電壓。上下兩個(gè)導(dǎo)電層一個(gè)是水平方向,一個(gè)是豎直方向,分別用來(lái)測(cè)量X和Y的坐標(biāo)位置,在水平面上的電極稱為X+電極和X-電極,在豎直平面的電極稱為Y+電極和Y-電極,如圖1所示。瀏量X方向的時(shí)候,將X+、X-之間加上參考電壓VOC,Y-斷開,用Y+電極作為測(cè)量點(diǎn),獲得X方向的電壓,得到的電壓值經(jīng)A/D轉(zhuǎn)換,就可對(duì)應(yīng)的判斷出接觸點(diǎn)的X坐標(biāo);同理測(cè)量Y方向的電壓,之后再完成電壓與坐標(biāo)的換算。觸摸點(diǎn)M處測(cè)量結(jié)果計(jì)算如下:



          2 液晶顯示觸摸屏的硬件設(shè)計(jì)


          液晶觸摸屏包含圖形液晶顯示模塊和附著在顯示屏上的觸摸屏兩部分,借助于觸摸屏控制器與微處理器PIC16F877實(shí)現(xiàn)軟硬件接口,通過(guò)檢測(cè)用戶在觸摸屏上的觸摸位置,實(shí)現(xiàn)顯示與控制功能。

          2.1 控制器

          對(duì)觸摸屏的控制需要選用專門的觸摸屏控制芯片,觸摸屏控制芯片不僅能夠完成A/D轉(zhuǎn)換而且能夠?qū)崿F(xiàn)電極電壓的切換,本設(shè)計(jì)選用了四線電阻式觸摸屏控制器RA8806。

          RA8806是一個(gè)文字與繪圖模式的點(diǎn)矩陣液晶顯示控制器,其內(nèi)建了雙圖層(Two Page)顯示內(nèi)存,及512kB ROM的字型碼,可以顯示全型(16×16 pixels)的繁體中文字型或是簡(jiǎn)體中文字型。RA8806支持可轉(zhuǎn)換8-bit數(shù)據(jù)總線的8080/6800系列之MPU接口,而對(duì)于LCD驅(qū)動(dòng)接口,RA8806亦可以被設(shè)定為4-bit或8-bit的數(shù)據(jù)總線。在一般模式下,RA8806可支持最大到320x240點(diǎn)分辨率的LCD面板。RA8806也內(nèi)建了智能型觸控掃瞄控制器,支持了4線電阻式觸控掃瞄接口,而可程序化的PWM可以用來(lái)調(diào)節(jié)LCD面板的對(duì)比或背光。RA8806也提供一個(gè)強(qiáng)大且聰穎的4x8(32鍵)或8x8(64鍵)的鍵盤掃瞄接口,其中更包含了長(zhǎng)按鍵的功能,同時(shí)透過(guò)適當(dāng)?shù)闹袛嗪洼喸儥C(jī)制讓使用者可以輕易的操作觸控掃瞄、鍵盤掃瞄和電源管理等功能,因此可以有效的減輕MPU的負(fù)擔(dān)。

          2.2 液晶顯示模塊接口設(shè)計(jì)

          本設(shè)計(jì)中采用的液晶顯示模塊是一種分辨率為320x240點(diǎn)陣的液晶顯示器DV320240GB,是一款內(nèi)含硬件字庫(kù)的圖形點(diǎn)陣液晶顯示器,具有體積小、重量輕、顯示靈活等優(yōu)點(diǎn)。它主要采用動(dòng)態(tài)驅(qū)動(dòng)原理,由行驅(qū)動(dòng)控制器和列驅(qū)動(dòng)器兩部分組成了320x240的全點(diǎn)陣液晶顯示。編程模式簡(jiǎn)潔方便。具有兩種顯示方式:文本顯示和圖形顯示。

          觸摸屏液晶顯示DV320240GB和控制器RA8806之間的連接如圖2所示。


          3 控制系統(tǒng)硬件設(shè)計(jì)


          由下位機(jī)采集溫度和水位信息,經(jīng)過(guò)通信傳輸給上位機(jī),之后通過(guò)液晶顯示模塊將其顯示在液晶屏上,同時(shí)顯示日歷時(shí)鐘DS1302的實(shí)時(shí)時(shí)間,同時(shí)四線電阻式觸摸屏通過(guò)觸摸送給觸摸屏控制器RA8806,將觸摸的信息送給上位機(jī)進(jìn)行處理之后,一方面改變了液晶屏上的顯示信息,另一方面主動(dòng)發(fā)送給下位機(jī)進(jìn)行處理,由此來(lái)控制電磁閥、加熱器、水泵的工作??刂葡到y(tǒng)的總體框圖如圖3所示。


          4 系統(tǒng)軟件設(shè)計(jì)


          4.1 觸摸屏畫面設(shè)計(jì)

          單片機(jī)開始運(yùn)行,首先進(jìn)入主界面顯示,顯示采集的溫度、水位信息和北京時(shí)間,同時(shí)在主界面通過(guò)觸摸相應(yīng)位置又可以進(jìn)入?yún)?shù)設(shè)置界面和手動(dòng)控制界面,以及故障檢測(cè)界面。主界面示意圖如圖4所示。

          4.2 觸摸屏控制程序設(shè)計(jì)
          觸摸屏控制器RA8806連接到微控制器PIC16F877上。當(dāng)發(fā)生觸摸時(shí),由RA8806向PIC16F877提出中斷請(qǐng)求,接著PIC16F877就會(huì)響應(yīng)該中斷請(qǐng)求,通過(guò)RA8806的轉(zhuǎn)換結(jié)果,得到觸摸點(diǎn)的坐標(biāo)。圖5為RA8806測(cè)量子程序流程圖。觸摸屏控制器RA8806進(jìn)入中斷程序后,采集X、Y坐標(biāo)值的命令程序如下:


          5 結(jié)論


          觸摸屏作為一種新型的輸入設(shè)備正在得到日益廣泛的應(yīng)用。而利用RA8806實(shí)現(xiàn)觸摸屏控制,可以方便實(shí)現(xiàn)與單片機(jī)之間的連接,與DV320240GB相配合使用,通過(guò)單片機(jī)與觸摸屏之間的接口設(shè)計(jì),可以便捷地實(shí)現(xiàn)控制功能。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();