安欣榮,關(guān)振宏
(西南交通大學(xué)電氣工程學(xué)院,成都610031)
現(xiàn)場溫度的監(jiān)測在現(xiàn)代生產(chǎn)過程中有著廣泛的應(yīng)用。單片機由于體積小、功耗低、功能強等優(yōu)點,在現(xiàn)場溫度監(jiān)測中到了日益廣泛的應(yīng)用。目前,應(yīng)用EDA仿真技術(shù)進行電子設(shè)計前期仿真開發(fā)已成為一種較流行的方式。Proteus軟件可構(gòu)建基于PIC18F4520的單片機系統(tǒng),通過和MPLAB的聯(lián)調(diào)可實現(xiàn)單片機系統(tǒng)的仿真,本文正是基于這一思想,應(yīng)用先進的EDA仿真技術(shù)實現(xiàn)溫度監(jiān)測系統(tǒng)的前期開發(fā)。
PIC18F4520是Microchip公司的8位高端產(chǎn)品,該器件采用RISC(精簡指令計算機)、兩級流水線結(jié)構(gòu),時鐘晶振最高工作頻率可達40 MHz。PIC18F4520芯片片內(nèi)集成32 KB閃存、1536BSRAM,13路10位A/D輸入通道,引腳數(shù)為40。
英國Labcenter公司推出的Proteus軟件組合了高級原理圖設(shè)計工具ISIS、混合模型SPICE仿真、PCB設(shè)計以及自動布線,形成了一個完整的電子設(shè)計系統(tǒng)。通過Proteus ISIS軟件的VSM(虛擬仿真技術(shù)),用戶可以對基于微控制器的系統(tǒng)連同所有外圍接口電子元器件一起仿真[1]。該軟件可在原理圖設(shè)計階段對所設(shè)計的電路進行評估、驗證,這樣就避免了傳統(tǒng)電子設(shè)計中方案更換帶來的多次重復(fù)購買元器件及制板,提高了設(shè)計效率與質(zhì)量。
MPLABIDE是Microchip公司用于其單片機開發(fā)的編輯、編譯、調(diào)試、項目管理等的集成開發(fā)環(huán)境,具有功能強大的優(yōu)點。該軟件通過與Proteus聯(lián)調(diào),可在沒有硬件仿真器和實驗板情況下完成原理圖設(shè)計和應(yīng)用程序的仿真開發(fā),從而完成單片機系統(tǒng)的早期開發(fā)。
溫度監(jiān)測硬件系統(tǒng)框圖如圖1所示。溫度傳感器將采集的溫度信號經(jīng)放大電路放大后送至單片機A/D轉(zhuǎn)換模塊,A/D轉(zhuǎn)換完成后產(chǎn)生中斷,CPU讀取轉(zhuǎn)換后的溫度信號并經(jīng)軟件放大后同溫度界限進行比較,看是否超限,若發(fā)生超限則報警示意,同時LCM(液晶模塊)顯示溢出信息;否則將轉(zhuǎn)換后的溫度數(shù)據(jù)送向LCM顯示。
圖1 硬件系統(tǒng)框圖
LM 35是一種雙電源工作的小型溫度傳感器,它的溫度檢測范圍-55~150℃,檢測精度為±0.75℃。這種傳感器輸出電壓與攝氏溫度成正比,0℃時輸出為0 V,溫度每變化1℃時輸出電壓變化10m V,假若溫度為+20℃時,輸出電壓則為+200 mV。工作電源為±(4~30)V的電源,這里選用±5 V電源。該傳感器在使用時無需外圍元件,也不需要調(diào)試和校正。圖2為溫度信號的放大電路。
圖2 溫度信號放大電路
溫度傳感器LM 35靈敏度為10 mV/℃,將它的輸出電壓信號在整個軟件和硬件系統(tǒng)中放大100倍后再將其送入LCM模塊。若當(dāng)前溫度為100℃,則溫度傳感器輸出電壓為1 V。在溫度信號放大電路中,取R1為3 kΩ,RV1為20 kΩ的滑動變阻器,在此將RV1調(diào)節(jié)至約12 kΩ,傳感器輸出電壓經(jīng)運算放大器OP77AP后輸出的電壓放大約5倍,則100℃對應(yīng)的電壓經(jīng)放大,通過簡單的抗混疊處理后輸入A/D轉(zhuǎn)換模塊模擬通道的電壓值約5 V。
A/D轉(zhuǎn)換電路采用單片機自帶的A/D外設(shè)模塊,該A/D轉(zhuǎn)換模塊的參考電壓需通過軟件選擇,系統(tǒng)中取參考電壓VREF+=5 V,VREF-=0 V,所以VREF為5 V。A/D模塊為10位分辨率,其精度為1/1023≈0.1%。從而可知單片機的步長(最小分辨電壓)為5/1023 V≈4.9m V,本設(shè)計中以5 V電壓為滿量程,則其對應(yīng)數(shù)字量為3FFH。A/D轉(zhuǎn)換器的位數(shù)與被測量對象的精度有關(guān)。一般情況下,A/D轉(zhuǎn)換器的分辨率要求高于被測量對象的信號最低分辨率,PIC18F4520自身的外圍A/D模塊完全可以滿足此設(shè)計的需要。由于A/D模塊的采集時間與轉(zhuǎn)換時間會影響A/D轉(zhuǎn)換的結(jié)果,所以必須根據(jù)單片機數(shù)據(jù)手冊,通過軟件對其進行正確設(shè)置。
顯示電路采用LM 032L液晶顯示模塊,該模塊以HD44780作為控制芯片,該模塊分兩行顯示,每行可顯示20字符。液晶顯示模塊第一行顯示“Cu rren t temperature:”,第二行在溫度未超限的情況下顯示當(dāng)前溫度數(shù)據(jù),否則顯示“overflow!”。由于該控制芯片標(biāo)準(zhǔn)字符庫中無“℃”代碼,所以用戶必須通過自編字符庫(CGRAM)構(gòu)造相應(yīng)的字模點陣。另外液晶顯示模塊屬于慢速外設(shè),并且對時序有嚴(yán)格要求,在向LCM寫入指令或數(shù)據(jù)前,若液晶顯示模塊處于忙狀態(tài),則不會響應(yīng)MCU發(fā)出的指令。因此程序中首先通過軟件延時確保液晶處于空閑狀態(tài),之后再向液晶模塊發(fā)送指令。
溫度監(jiān)測系統(tǒng)的軟件部分采用模塊化設(shè)計思想,分別由主程序、LCD子程序、A/D子程序、溫度報警子程序等模塊構(gòu)成。主程序主要完成A/D模塊初始化、液晶模塊初始化、讀取A/D轉(zhuǎn)換結(jié)果并進行數(shù)據(jù)處理、驅(qū)動LCM模塊顯示當(dāng)前溫度信息、驅(qū)動溫度報警等功能。當(dāng)主程序完成A/D轉(zhuǎn)換、液晶初始化之后,再啟動A/D中斷。由于硬件放大電路部分的電壓放大倍數(shù)為5,則A/D轉(zhuǎn)換完成后需軟件對其結(jié)果放大20倍,此時得到的結(jié)果為二進制數(shù),需要轉(zhuǎn)化為十進制數(shù)后才能求出其對應(yīng)的溫度數(shù)據(jù),若溫度超出正常范圍則驅(qū)動蜂鳴器報警示意,同時在LCD上顯示溫度信息。軟件流程如圖3所示。
圖3 軟件流程圖
首先在Proteus中繪制好相關(guān)電路原理圖,然后在MPLABIDE中新建一個工程Temperature,并建立工程中的有關(guān)各個文件,之后再對工程中各文件實現(xiàn)編譯,編譯成功后即可進行MPLABIDE與Proteus聯(lián)調(diào)。首先在Proteus Debug菜單中選擇“Use Remote Debug Monitor”,然后在MPLABIDE的Debugger菜單中選擇“Select Tools”項,再選擇“Proteus VSM”,當(dāng)這兩款軟件聯(lián)調(diào)通信成功后,通過各種調(diào)試方法即可實現(xiàn)Proteus與MPLAB的協(xié)同仿真,在虛擬平臺上動態(tài)顯示單片機及外圍器件運行效果,根據(jù)仿真效果再進行軟硬件設(shè)計的調(diào)整,直至達到設(shè)計要求。圖4是單片機系統(tǒng)在20℃時的仿真結(jié)果。
圖4 20℃仿真圖
可見該虛擬平臺較好地實現(xiàn)了系統(tǒng)設(shè)計的需要,但由于計算機內(nèi)部的數(shù)據(jù)運算的誤差以及仿真時滑動變阻器無法實現(xiàn)連續(xù)調(diào)節(jié)等因素,致使顯示結(jié)果同溫度傳感器輸出有微小的誤差,但作為前期仿真開發(fā),不失為一種有效的方法。
這種基于Proteus和MPLAB的虛擬仿真平臺可以較好地實現(xiàn)單片機應(yīng)用系統(tǒng)的早期開發(fā),使設(shè)計者對單片機系統(tǒng)設(shè)計效果進行評估。該平臺同時具有快捷、方便的特點,可以節(jié)約開發(fā)的時間和成本,因此這種虛擬仿真平臺為從事PIC單片機學(xué)習(xí)和應(yīng)用開發(fā)的人員提供了一種有效的方法。
[1]周潤景,張麗娜.基于Proteus的電路及單片機系統(tǒng)設(shè)計與仿真[M].北京:北京航空航天大學(xué)出版社,2006.
[2]Microchip.PIC18F2420/2520/4420/4520 Data Sheet(DS39-631A-CN),2006.
[3]Hitachi.HD44780U(LCD-II)英文參考手冊.
[4]張建民,楊旭.利用單片機實現(xiàn)溫度監(jiān)測系統(tǒng)[J].微計算機信息,2007,23(2):98-100.
[5]劉和平,劉釗,鄭群英,等.PIC18F×××單片機程序設(shè)計及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2005.
[6]何希才,劉洪梅.新型通用集成電路實用技術(shù)[M].北京:國防工業(yè)出版社,1997.