由于高新技術(shù)的不斷發(fā)展,儀器儀表的微型化,數(shù)字化已得到實(shí)現(xiàn)。90年代高精確度、高性能、多功能儀器儀表都已經(jīng)采用微處理器件。而作為工業(yè)控制和自動(dòng)化領(lǐng)域的各種新技術(shù)、新方法、新產(chǎn)品的發(fā)展趨勢(shì)和顯著標(biāo)志智能化是自動(dòng)化技術(shù)當(dāng)前和今后發(fā)展的動(dòng)向之一。本文采用AT89C52單片機(jī)開發(fā)了鍵盤、液晶顯示器、多路溫度檢測(cè)來實(shí)現(xiàn)溫度的采集、溫度的文字顯示和圖形顯示三個(gè)系統(tǒng)。實(shí)驗(yàn)證明,采用AT89C52開發(fā)的系統(tǒng)性能可靠、成本較低、軟件設(shè)計(jì)靈活簡(jiǎn)單、硬件接口功能豐富,具有擴(kuò)展性好、通用性強(qiáng)等優(yōu)點(diǎn)。
1 元器件的選擇
1.1 核心芯片的選擇
AT89C52單片機(jī)價(jià)格低廉,輸入輸出口豐富,無需再另外擴(kuò)展,簡(jiǎn)化了外圍電路。256 B內(nèi)部RAM,8 kB內(nèi)部ROM,程序存儲(chǔ)空間大,防止由于字模過多而造成存儲(chǔ)空間不夠。另外由于前期開發(fā)需要多次的寫入、擦除,而89C52可以完成1 000次寫/擦,故滿足要求。
1.2 模數(shù)轉(zhuǎn)換芯片的選擇
ADC0809是8位的A/D轉(zhuǎn)換芯片,為逐次逼近型。由單一的+5 V電源供電,片內(nèi)帶有所存功能的8路模擬多路開關(guān),可對(duì)8路0~5 V的輸入模擬電壓信號(hào)分時(shí)進(jìn)行轉(zhuǎn)換,完成一次轉(zhuǎn)換約需100μs;片內(nèi)的地址譯碼和鎖存電路,將單片機(jī)的三條地址信號(hào)譯碼生成選擇八路模擬通道。輸出具有TTL三態(tài)鎖存緩沖器,可以直接接到單片機(jī)的數(shù)據(jù)線上。
1.3 溫度傳感器的選擇
溫度傳感器類型很多,目前出現(xiàn)的石英體溫度傳感器如AD590具有很高的穩(wěn)定性、準(zhǔn)確度和良好的線性,抗干擾能力強(qiáng)。單總線數(shù)字型的溫度傳感器DS18B20直接產(chǎn)生溫度數(shù)字信號(hào),不需要A/D轉(zhuǎn)換,準(zhǔn)確度、穩(wěn)定性都相當(dāng)高,但這些傳感器的適用范圍不廣,不利于以后其他功能的擴(kuò)展。所以本次采用TREND公司的鉑熱電阻溫度傳感器T/PI/HT,傳感器的工作電壓為24 V,輸出電流為4~20 mA,外接250 Ω精確電阻用于提取電壓時(shí)進(jìn)行A/D轉(zhuǎn)換,ADC0809的輸入電壓在1~5 V范圍內(nèi)對(duì)應(yīng)的測(cè)量溫度范圍為-10~+160℃。
2 AT89C52的設(shè)計(jì)應(yīng)用
2.1 硬件設(shè)計(jì)
根據(jù)設(shè)計(jì)儀表的功能要求,本設(shè)計(jì)要完成以下功能:
(1)數(shù)字化測(cè)量,顯示及報(bào)警裝置;
(2)顯示指定位置溫度的數(shù)值及其動(dòng)態(tài)曲線圖;
(3)多路模擬數(shù)據(jù)的采集、處理;
(4)溫度值字體的放縮。
系統(tǒng)結(jié)構(gòu)圖如圖1所示。
2.2 軟件設(shè)計(jì)
用C語言進(jìn)行單片機(jī)程序設(shè)計(jì),采用結(jié)構(gòu)化程序設(shè)計(jì)思想:在總體設(shè)計(jì)中采用“自頂而下”(TOP-DOWN)的方法,在程序設(shè)計(jì)中采用模塊化編程。把整體任務(wù)分成一個(gè)個(gè)子任務(wù),子任務(wù)再分子任務(wù),逐層細(xì)分,每個(gè)子程序都完成其規(guī)定的功能,明確輸入輸出。將這些程序連接起來就構(gòu)成整體流程圖。模塊化編程,每個(gè)模塊結(jié)構(gòu)完整,相互獨(dú)立的程序段。如液晶模塊的寫控制指令、寫顯示數(shù)據(jù)、清屏;數(shù)據(jù)處理中的工程量轉(zhuǎn)換,均值濾波等。這些程序可以任意調(diào)用、修改,使整個(gè)程序結(jié)構(gòu)清晰,組合靈活,維護(hù)調(diào)試方便。
2.2.1 主流程圖
主流程圖如圖2所示。主要包括程序初始化部分,主要完成的任務(wù)是初始化液晶顯示屏,初始化單片機(jī)各口狀態(tài)和設(shè)初始閾值,檢測(cè)位置為第一路;按確定鍵后系統(tǒng)開始工作,顯示第一路位置的溫度及其動(dòng)態(tài)顯示圖的主頁面;當(dāng)按下設(shè)置鍵時(shí),液晶屏幕顯示一個(gè)選擇界面,可選擇設(shè)置檢測(cè)位置,檢測(cè)位置閾值;通過上下鍵可進(jìn)行選擇,選擇界面的箭頭指向設(shè)置位置時(shí),按確定就可進(jìn)入位置的設(shè)置,設(shè)置完畢后,確定健返回;直接再按確定鍵可顯示放大的溫度字體。
2.2.2 測(cè)溫流程圖和曲線顯示流程
啟動(dòng)ADC0809時(shí)需根據(jù)啟動(dòng)的檢測(cè)位置不同查表選用不同的通道地址表;設(shè)定ADC0809轉(zhuǎn)換時(shí)間,采用延時(shí)等待后,再讀取它的轉(zhuǎn)換數(shù)據(jù);根據(jù)溫度傳感器的量程得出轉(zhuǎn)換公式;為了便于顯示,需要把各位數(shù)分離,分離出了百位數(shù)、十位、個(gè)位、十分位和百分位;建立一個(gè)0~9的數(shù)字字模表,取模顯示。溫度顯示和曲線顯示流程圖分別如圖3和圖4所示。
2.2.3 閾值設(shè)置流程圖
閾值溫度ft為外部變量,在整個(gè)程序中都有效,每按一次“上”鍵ft=ft+1,按“下”鍵時(shí)ft=ft-1,檢測(cè)位置的設(shè)定與其相似。閾值設(shè)置流程圖如圖5所示。
3 結(jié)語
本文對(duì)AT89c52單片機(jī)在智能溫度檢測(cè)中的應(yīng)用進(jìn)行了設(shè)計(jì)研究,該系統(tǒng)還可方便接人其他模擬量傳感器,功能擴(kuò)展性好。液晶模塊顯示和鍵盤操作設(shè)置系統(tǒng)參數(shù),人機(jī)交互界面好。檢測(cè)數(shù)據(jù)準(zhǔn)確可靠,線性度好,降低了系統(tǒng)成本,增強(qiáng)了系統(tǒng)的通用性。軟件設(shè)計(jì)采用C語言,可移植性好,結(jié)構(gòu)嚴(yán)謹(jǐn),開發(fā)速度快,大大減少了軟件開發(fā)的時(shí)間,具有一定的實(shí)用價(jià)值。