鄭曉慶,楊日杰,趙軒坤
(海軍航空工程學(xué)院 航空反潛教研室,山東 煙臺(tái) 264001)
隨著信息技術(shù)的發(fā)展以及人們對(duì)電子產(chǎn)品智能化、便捷化、人性化要求的不斷提高,觸摸屏作為一種最新的智能顯示終端,得到了越來(lái)越廣泛的應(yīng)用。觸摸屏具有堅(jiān)固耐用、反應(yīng)速度快、節(jié)省空間、易于交流等優(yōu)點(diǎn),是最便捷和自然的人機(jī)交互方式[1-2]。本文將智能串口顯示終端應(yīng)用于溫度測(cè)試系統(tǒng),實(shí)現(xiàn)了環(huán)境溫度的實(shí)時(shí)監(jiān)測(cè)與動(dòng)態(tài)顯示。
Atmega128單片機(jī)是一款基于AVR內(nèi)核的、采用RISC結(jié)構(gòu)的增強(qiáng)型低功耗CMOS 8 bit微控制器。它的大部分指令在一個(gè)時(shí)鐘周期內(nèi)完成,因此具有1 MIPS/MHz的數(shù)據(jù)吞吐率。其擁有優(yōu)化的功率消耗結(jié)構(gòu),在功耗相對(duì)較少的情況下可以進(jìn)行復(fù)雜的處理[3]。
DS18B20是DALLAS公司生產(chǎn)的單線智能溫度傳感器,溫度測(cè)量范圍為-55℃~+125℃,具有 9~12 bit可編程的轉(zhuǎn)換精度,最大溫度分辨率為0.062 5℃[4]。DS18B20溫度儲(chǔ)存格式如圖1所示。
圖1 DS18B20溫度數(shù)據(jù)格式
智能顯示終端[5]采用北京迪文科技有限公司生產(chǎn)的DMT64480T056_01W型四線電阻式觸摸屏[6-7]。它是一款640×480分辨率、65k彩色、5.6英寸的 TFT屏幕,工作電壓為 4.5 V~26 V的寬壓輸入,靈敏度為5 g,響應(yīng)速度為0.01 s,表面硬度在3 H以上,在典型工作電壓12 V條件下功耗為2.9 W。其屏體部分是一塊與顯示器表面非常配合的多層復(fù)合薄膜,由一層有機(jī)玻璃作為基層,表面涂有一層透明的導(dǎo)電層,上面再蓋上一層外表面硬化處理光滑防刮的塑料層,它的內(nèi)表面也涂有一層透明導(dǎo)電層,在兩層導(dǎo)電層之間有許多細(xì)?。ㄐ∮谇Х种挥⒋纾┑耐该鞲綦x點(diǎn)把它們隔開(kāi)絕緣。
系統(tǒng)設(shè)計(jì)中使用串口智能顯示終端的配置文件工作模式。在此模式下,可以通過(guò)預(yù)先將配置文件和觸控界面圖片,根據(jù)界面的跳轉(zhuǎn)順序關(guān)系下載到HMI(智能串口顯示終端)中,實(shí)現(xiàn)觸摸屏根據(jù)配置文件自動(dòng)切換界面以及上傳觸控鍵碼。配置文件是由最多8 192條觸控指令組成的二進(jìn)制文件,每條觸控指令長(zhǎng)達(dá)16 B,其定義如表1所示。觸控界面圖片是通過(guò)專業(yè)圖形工具設(shè)計(jì)和制作的,其分辨率的選取應(yīng)與屏幕分辨率一致,界面圖片被下載到串口智能顯示終端后,每頁(yè)界面都有自己唯一的編號(hào),在配置文件中只需對(duì)這個(gè)編號(hào)進(jìn)行操作。
表1 觸控界面配置指令定義
配置文件工作模式使得單片機(jī)對(duì)觸摸屏的控制程序簡(jiǎn)單明了,同時(shí)也簡(jiǎn)化了上位機(jī)的程序設(shè)計(jì)。采用配置文件工作模式,觸摸屏程序設(shè)計(jì)可以分為以下幾個(gè)步驟。
(1)設(shè)計(jì)好和HMI分辨率相同的界面,下載到HMI中。
(2)利用ASM51編譯器和HEX轉(zhuǎn)BIN工具制作并生成配置BIN文件。
(3)把配置文件下載到 HMI中。
(4)配置HMI為觸控界面自動(dòng)切換模式。
(5)測(cè)試界面切換及上傳指令碼是否正常。
系統(tǒng)原理框圖如圖2所示。單片機(jī)通過(guò)串口1采用中斷的方式獲取觸摸屏的觸控信息,觸摸屏的電平信號(hào)為RS-232電平,單片機(jī)的串口信號(hào)為TTL電平,設(shè)計(jì)中采用電平轉(zhuǎn)換芯片MAX3232作為觸摸屏與單片機(jī)的通信接口。單片機(jī)對(duì)串口1接收到的按鍵控制信息進(jìn)行識(shí)別,控制DS18B20的溫度轉(zhuǎn)換,同時(shí)將DS18B20溫度測(cè)量結(jié)果回傳給觸摸屏顯示。
圖2 系統(tǒng)原理框圖
HMI指令集可用于文本顯示、點(diǎn)顯示、連線顯示、圓弧曲線顯示及區(qū)域顯示等。HMI指令中,AA為指令開(kāi)始標(biāo)志,CC 33 C3 3C為指令結(jié)束標(biāo)志。由智能顯示終端回傳的數(shù)據(jù)包包含觸控鍵碼信息,其指令長(zhǎng)度為8 B,格式為 AA 78<觸控鍵碼(2 B)>CC 33 C3 3C,78 表示觸控鍵碼返回指令??刂朴|摸屏界面跳轉(zhuǎn)指令格式為:AA 70<圖片編號(hào)>CC 33 C3 3C,70表示觸控界面跳轉(zhuǎn)指令,圖片編號(hào)可以根據(jù)需要選取1 B或者2 B。文本顯 示 指 令 格 式 為 :AA 55<X><Y><String>CC 33 C3 3C,其中 55表示 ASCII字符以半角 16×32點(diǎn)陣顯示,<X><Y>表示顯示字符串的起始位置,<Strinig>為要顯示的字符。動(dòng)態(tài)曲線顯示指令格式為:AA 74<X><Ys><Ye><Bcolor><(Y0,F(xiàn)color0),(Y1,F(xiàn)color2)… (Yi,F(xiàn)colori)>CC 33 C3 3C,該指令用于在一個(gè)窗口中快速顯示多條變化曲線,終端接收到該指令后用<Bcolor>顏色擦出從(X,Ys)到(X,Ye)的垂直線,把原來(lái)的顯示內(nèi)容清空,然后在(X,Yi)位置用<Fcolori>顏色置點(diǎn)。
串口1接收程序流程圖如圖3所示,DUR1是單片機(jī)串口1的寄存器,用于接收串口信號(hào),Receive是一個(gè)程序定義的數(shù)據(jù)寄存器,串口信號(hào)以比特為單位傳來(lái)后由DUR1寄存器接收,賦值給Receive。如果這是一個(gè)指令開(kāi)始標(biāo)志,將指令開(kāi)始標(biāo)志位flag置1,將指令數(shù)組Order的計(jì)數(shù)器j清零,然后將該數(shù)據(jù)存入指令數(shù)組;如果不是一個(gè)指令開(kāi)始標(biāo)志的話,則由當(dāng)前指令開(kāi)始標(biāo)志位判斷是否屬于指令的內(nèi)容。如果flag為1則將數(shù)據(jù)存入數(shù)據(jù)寄存數(shù)組,然后將指令數(shù)組計(jì)數(shù)器j加 1,并對(duì) j的值進(jìn)行判斷,當(dāng)j=8時(shí)則說(shuō)明8個(gè)字節(jié)的返回指令已經(jīng)接收完畢,將指令數(shù)組寄存器j和指令開(kāi)始標(biāo)志位flag清零。根據(jù)觸控鍵碼返回指令格式,只需讀取 Order[2]和 Order[3]的 值就可以識(shí)別出返回的控制信息。
圖3 串口1接收程序流程圖
單片機(jī)使用時(shí)間隙來(lái)讀寫DS18B20的數(shù)據(jù)位和寫命令字位,其溫度測(cè)試過(guò)程如圖4所示。單總線上的所有處理均從初始化開(kāi)始,總線主機(jī)檢測(cè)到DS18B20的存在,便可以發(fā)出ROM操作命令,之后發(fā)送存儲(chǔ)器操作指令完成溫度轉(zhuǎn)換(44H)和溫度讀取(0BEH)。
圖4 DS18B20溫度測(cè)試流程圖
系統(tǒng)程序流程圖如圖5所示。單片機(jī)通過(guò)串口1中斷的方式設(shè)置溫度測(cè)試標(biāo)志位ii,接收到測(cè)試開(kāi)始指令后將標(biāo)志位ii置1溫度測(cè)試開(kāi)始;接收到測(cè)試結(jié)束指令后將標(biāo)志位ii置0,溫度測(cè)試結(jié)束。
圖5 系統(tǒng)程序流程圖
本文設(shè)計(jì)了基于智能串口顯示終端、Atmega128單片機(jī)和DS18B20的溫度測(cè)試系統(tǒng),實(shí)現(xiàn)了溫度的實(shí)時(shí)監(jiān)測(cè)、溫度值的實(shí)時(shí)顯示以及溫度動(dòng)態(tài)變化曲線的顯示。觸摸屏作為系統(tǒng)智能的輸入和輸出終端,具有友好的人機(jī)界面。北京迪文智能串口顯示終端具有豐富的指令集能夠滿足系統(tǒng)設(shè)計(jì)對(duì)于文本顯示、點(diǎn)顯示、連線顯示、圓弧曲線顯示及區(qū)域顯示等功能的需求,將在系統(tǒng)設(shè)計(jì)中得到越來(lái)越廣泛的應(yīng)用。
[1]張恩宜,張愛(ài)紅.觸摸屏技術(shù)的發(fā)展與應(yīng)用[J].山東師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2002,17(1):93-94.
[2]馬雅.基于ARM9的觸摸屏控制器系統(tǒng)硬件模塊設(shè)計(jì)與實(shí)現(xiàn)[J].中國(guó)西部科技,2011,23(10):30-31,39.
[3]金鐘夫,杜剛,王群,等.AVR Atmega128單片機(jī)C語(yǔ)言設(shè)計(jì)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008.
[4]王戰(zhàn)備.室內(nèi)溫度檢測(cè)與調(diào)控系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011:19(6):40-43.
[5]北京迪文科技有限公司.HMI產(chǎn)品線應(yīng)用指南[Z].2008.
[6]羅敏.基于 PLC和觸摸屏的紙廠污水控制系統(tǒng)[J].機(jī)電工程技術(shù),2009,38(11):50-52.
[7]王孝洪,徐振宇,莫鴻強(qiáng),等.基于 Atmega128單片機(jī)的數(shù)字化地下管線定位儀[J].智能儀表與傳感器,2009,17(9):1860-1964.