摘 要: 設(shè)計(jì)了基于智能串口顯示終端、Atmega128單片機(jī)和DS18B20的溫度測試系統(tǒng),詳述了系統(tǒng)的軟硬件設(shè)計(jì)。該系統(tǒng)中,單片機(jī)通過串口中斷的方式接收智能串口顯示終端的指令信息,控制DS18B20完成溫度測試并將測試結(jié)果回傳到智能串口顯示終端實(shí)時(shí)顯示。該系統(tǒng)操作簡單、顯示直觀,具有良好的人機(jī)交互方式。
關(guān)鍵詞: 智能串口顯示終端;Atmega128;DS18B20;溫度測試
隨著信息技術(shù)的發(fā)展以及人們對(duì)電子產(chǎn)品智能化、便捷化、人性化要求的不斷提高,觸摸屏作為一種最新的智能顯示終端,得到了越來越廣泛的應(yīng)用。觸摸屏具有堅(jiān)固耐用、反應(yīng)速度快、節(jié)省空間、易于交流等優(yōu)點(diǎn),是最便捷和自然的人機(jī)交互方式[1-2]。本文將智能串口顯示終端應(yīng)用于溫度測試系統(tǒng),實(shí)現(xiàn)了環(huán)境溫度的實(shí)時(shí)監(jiān)測與動(dòng)態(tài)顯示。
1 系統(tǒng)的硬件構(gòu)成
1.1 Atmega128單片機(jī)
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]。
1.2 數(shù)字溫度傳感器DS18B20
DS18B20是DALLAS公司生產(chǎn)的單線智能溫度傳感器,溫度測量范圍為-55℃~+125℃,具有9~12 bit可編程的轉(zhuǎn)換精度,最大溫度分辨率為0.062 5℃[4]。DS18B20溫度儲(chǔ)存格式如圖1所示。
1.3 智能顯示終端
智能顯示終端[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)把它們隔開絕緣。
系統(tǒng)設(shè)計(jì)中使用串口智能顯示終端的配置文件工作模式。在此模式下,可以通過預(yù)先將配置文件和觸控界面圖片,根據(jù)界面的跳轉(zhuǎn)順序關(guān)系下載到HMI(智能串口顯示終端)中,實(shí)現(xiàn)觸摸屏根據(jù)配置文件自動(dòng)切換界面以及上傳觸控鍵碼。配置文件是由最多8 192條觸控指令組成的二進(jìn)制文件,每條觸控指令長達(dá)16 B,其定義如表1所示。觸控界面圖片是通過專業(yè)圖形工具設(shè)計(jì)和制作的,其分辨率的選取應(yīng)與屏幕分辨率一致,界面圖片被下載到串口智能顯示終端后,每頁界面都有自己唯一的編號(hào),在配置文件中只需對(duì)這個(gè)編號(hào)進(jìn)行操作。
配置文件工作模式使得單片機(jī)對(duì)觸摸屏的控制程序簡單明了,同時(shí)也簡化了上位機(jī)的程序設(shè)計(jì)。采用配置文件工作模式,觸摸屏程序設(shè)計(jì)可以分為以下幾個(gè)步驟。
?。?)設(shè)計(jì)好和HMI分辨率相同的界面,下載到HMI中。
(2)利用ASM51編譯器和HEX轉(zhuǎn)BIN工具制作并生成配置BIN文件。
(3)把配置文件下載到HMI中。
?。?)配置HMI為觸控界面自動(dòng)切換模式。
?。?)測試界面切換及上傳指令碼是否正常。
1.4 系統(tǒng)原理框圖
系統(tǒng)原理框圖如圖2所示。單片機(jī)通過串口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溫度測量結(jié)果回傳給觸摸屏顯示。
2 系統(tǒng)軟件設(shè)計(jì)
2.1 HMI指令
HMI指令集可用于文本顯示、點(diǎn)顯示、連線顯示、圓弧曲線顯示及區(qū)域顯示等。HMI指令中,AA為指令開始標(biāo)志,CC 33 C3 3C為指令結(jié)束標(biāo)志。由智能顯示終端回傳的數(shù)據(jù)包包含觸控鍵碼信息,其指令長度為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)的垂直線,把原來的顯示內(nèi)容清空,然后在(X,Yi)位置用<Fcolori>顏色置點(diǎn)。
2.2 串口接收程序
串口1接收程序流程圖如圖3所示,DUR1是單片機(jī)串口1的寄存器,用于接收串口信號(hào),Receive是一個(gè)程序定義的數(shù)據(jù)寄存器,串口信號(hào)以比特為單位傳來后由DUR1寄存器接收,賦值給Receive。如果這是一個(gè)指令開始標(biāo)志,將指令開始標(biāo)志位flag置1,將指令數(shù)組Order的計(jì)數(shù)器j清零,然后將該數(shù)據(jù)存入指令數(shù)組;如果不是一個(gè)指令開始標(biāo)志的話,則由當(dāng)前指令開始標(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í)則說明8個(gè)字節(jié)的返回指令已經(jīng)接收完畢,將指令數(shù)組寄存器j和指令開始標(biāo)志位flag清零。根據(jù)觸控鍵碼返回指令格式,只需讀取Order[2]和Order[3]的值就可以識(shí)別出返回的控制信息。
2.3 DS18B20溫度測試程序
單片機(jī)使用時(shí)間隙來讀寫DS18B20的數(shù)據(jù)位和寫命令字位,其溫度測試過程如圖4所示。單總線上的所有處理均從初始化開始,總線主機(jī)檢測到DS18B20的存在,便可以發(fā)出ROM操作命令,之后發(fā)送存儲(chǔ)器操作指令完成溫度轉(zhuǎn)換(44H)和溫度讀取(0BEH)。
2.4 程序流程圖
系統(tǒng)程序流程圖如圖5所示。單片機(jī)通過串口1中斷的方式設(shè)置溫度測試標(biāo)志位ii,接收到測試開始指令后將標(biāo)志位ii置1溫度測試開始;接收到測試結(jié)束指令后將標(biāo)志位ii置0,溫度測試結(jié)束。
本文設(shè)計(jì)了基于智能串口顯示終端、Atmega128單片機(jī)和DS18B20的溫度測試系統(tǒng),實(shí)現(xiàn)了溫度的實(shí)時(shí)監(jiān)測、溫度值的實(shí)時(shí)顯示以及溫度動(dòng)態(tài)變化曲線的顯示。觸摸屏作為系統(tǒng)智能的輸入和輸出終端,具有友好的人機(jī)界面。北京迪文智能串口顯示終端具有豐富的指令集能夠滿足系統(tǒng)設(shè)計(jì)對(duì)于文本顯示、點(diǎn)顯示、連線顯示、圓弧曲線顯示及區(qū)域顯示等功能的需求,將在系統(tǒng)設(shè)計(jì)中得到越來越廣泛的應(yīng)用。
參考文獻(xiàn)
[1] 張恩宜,張愛紅.觸摸屏技術(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].中國西部科技,2011,23(10):30-31,39.
[3] 金鐘夫,杜剛,王群,等.AVR Atmega128單片機(jī)C語言設(shè)計(jì)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2008.
[4] 王戰(zhàn)備.室內(nèi)溫度檢測與調(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.