基于單片機(jī)的溫度采集系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:本系統(tǒng)是以89C51單片機(jī)為控制核心技術(shù)的溫度采集控制系統(tǒng),介紹了與DS18B20溫度傳感器組成溫度采集系統(tǒng)的設(shè)計(jì)方案。本溫度采集系統(tǒng)的下位機(jī)采用89C51單片機(jī)為主控制器,利用DS18B20溫度傳感器進(jìn)行溫度測(cè)量,采用數(shù)碼管進(jìn)行顯示,并通過(guò)串口將采集的數(shù)據(jù)傳送到上位機(jī)(PC機(jī)),通過(guò)上位機(jī)對(duì)溫度進(jìn)行集中監(jiān)視和管理,解決了溫度測(cè)量通常比較繁瑣的問(wèn)題,此測(cè)溫系統(tǒng)實(shí)現(xiàn)了對(duì)溫度數(shù)據(jù)的遠(yuǎn)程采集、處理、實(shí)時(shí)顯示以及對(duì)溫度報(bào)表的管理。
隨著時(shí)代的進(jìn)步和發(fā)展,單片機(jī)已經(jīng)普及到我們生活、工作、科研各個(gè)領(lǐng)域,而且溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機(jī)械、石油等工業(yè)中具有舉足輕重的作用。所以,溫度測(cè)控在工業(yè)領(lǐng)域具有廣泛的應(yīng)用,設(shè)計(jì)一種基于89C51單片機(jī)的溫度測(cè)量系統(tǒng)的硬件結(jié)構(gòu)具有價(jià)格低廉、精度高、微型化、抗干擾能力強(qiáng)、易擴(kuò)展等一系列優(yōu)點(diǎn)。在以單片機(jī)為基礎(chǔ)的數(shù)據(jù)采集和實(shí)時(shí)溫度控制系統(tǒng)中,通過(guò)計(jì)算機(jī)中的MAX-232接口進(jìn)行計(jì)算機(jī)與單片機(jī)之間的命令和數(shù)據(jù)傳送,就可以利用計(jì)算機(jī)對(duì)生產(chǎn)現(xiàn)場(chǎng)進(jìn)行檢測(cè)和控制。
1 系統(tǒng)的總體方案設(shè)計(jì)
本設(shè)計(jì)包括硬件和軟件兩個(gè)部分。系統(tǒng)的硬件部分大致可分為六部分:DS18B20、電源電路、顯示電路、單片機(jī)最小系統(tǒng)、溫度測(cè)試電路、串口通信電路,軟件部分可分為兩大部分:串口通信部分、VB數(shù)據(jù)處理與顯示部分。系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示。
2 系統(tǒng)的硬件方案設(shè)計(jì)
硬件電路作為整個(gè)系統(tǒng)運(yùn)行的必要框架,是軟件運(yùn)行的結(jié)構(gòu)基礎(chǔ),離開(kāi)了硬件結(jié)構(gòu),整個(gè)系統(tǒng)需要實(shí)現(xiàn)的功能就無(wú)從談起。此部分介紹了系統(tǒng)的整體硬件模塊。經(jīng)過(guò)任務(wù)分析。具體的硬件方案設(shè)計(jì)如下:本設(shè)計(jì)是以DS18B20為傳感器、89C51單片機(jī)為控制核心組成的接口電路圖。
2.1 溫度傳感器DS18B20
DS18B20溫度傳感器是美國(guó)DALLAS公司繼DS1820之后推出的一種改進(jìn)型和增強(qiáng)型單總線智能數(shù)字溫度傳感器。它在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn),與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式。其具有適應(yīng)電壓范圍更寬,獨(dú)特的單線接口方式,支持多點(diǎn)組網(wǎng)功能,不需要任何外圍元件,溫度分辨力可編程,內(nèi)部有溫度上、下限警告設(shè)置優(yōu)點(diǎn)。
2.2 單片機(jī)最小系統(tǒng)設(shè)計(jì)
由單片機(jī)以及時(shí)鐘電路和復(fù)位電路構(gòu)成了單片機(jī)的最小系統(tǒng)。
1)單片機(jī)
本設(shè)計(jì)使用的是美國(guó)ATMEL公司的89C51單片機(jī),該型號(hào)單片機(jī)功能強(qiáng)大,價(jià)格低廉,可以靈活應(yīng)用于各種控制領(lǐng)域。89C51是一種帶4 k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。單片機(jī)系統(tǒng)是本溫度測(cè)控系統(tǒng)的核心部件,包括時(shí)鐘電路和復(fù)位電路的設(shè)計(jì)。
2)時(shí)鐘電路和復(fù)位電路
單片機(jī)內(nèi)部的振蕩電路是一個(gè)高增益反相放大器,XTAL1腳和XTAL2腳分別構(gòu)成內(nèi)振蕩器的反相放大器的輸入端和輸出端,外接石英晶振或陶瓷晶振以及補(bǔ)償電容C1、C2構(gòu)成并聯(lián)諧振電路。在本硬件系統(tǒng)設(shè)計(jì)中,為保證串行通信波特率的誤差,選擇了11.059 2 MHz的標(biāo)準(zhǔn)石英晶振,電容C1、C2為30pF。
單片機(jī)的復(fù)位是靠外部電路實(shí)現(xiàn)的。單片機(jī)工作后,只要在它的RST引線上加載10 ms以上的高電子,單片機(jī)就能夠有效地復(fù)位。復(fù)位后,P0到P3并行I/O口全為高電子,其它寄存器全部清零,只有SBUF寄存器狀態(tài)不確定。
2.3 電平轉(zhuǎn)換和串口通信電路的設(shè)計(jì)
1)電平轉(zhuǎn)換
單片機(jī)的PC機(jī)與單片機(jī)之間的通信需通過(guò)RS232串口來(lái)實(shí)現(xiàn),因?yàn)?32電平與單片機(jī)輸出的TTL電平不兼容,本次系統(tǒng)通過(guò)MAX232芯片實(shí)現(xiàn)TTL電平與RS232電平的轉(zhuǎn)換。MAX232芯片是包含兩路接收器和驅(qū)動(dòng)器的RS232電平轉(zhuǎn)換芯片,適用于各種232通信接口。芯片內(nèi)部有一個(gè)電源電壓變換器,可以把輸入的+5 V電源電壓變換成RS232輸出電平所需的±10 V電壓。所以采用此芯片接口的串行通信系統(tǒng)只需要單一的+5 V電源即可。
2)串口通信
串口通信是計(jì)算機(jī)與外圍設(shè)備之間進(jìn)行信息交換的一種方式,是指數(shù)據(jù)一位一位的按順序在一根信號(hào)線上進(jìn)行傳輸?shù)耐ㄐ欧绞健4型ㄐ庞袃煞N基本工作方式:異步傳送和同步傳送,本系統(tǒng)中采用異步串行通信方式來(lái)實(shí)現(xiàn)單片機(jī)與PC之間的通信。89C51有一個(gè)全雙工的串行通訊口,所以單片機(jī)和計(jì)算機(jī)之間可以方便地進(jìn)行串口通訊。進(jìn)行串行通訊時(shí)要滿足一定的條件,比如計(jì)算機(jī)的串口是RS232電平的,而單片機(jī)的串口是TTL電平的,兩者之間必須有一個(gè)電平轉(zhuǎn)換電路,我們采用了專用芯片MAX232進(jìn)行轉(zhuǎn)換。
綜上所述,可以得到系統(tǒng)的硬件電路圖及仿真圖如圖2所示。
3 系統(tǒng)的軟件方案設(shè)計(jì)
整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來(lái)了。下位機(jī)通過(guò)DS18B20傳感器的測(cè)量,將溫度采集,采集上來(lái)的溫度信息經(jīng)過(guò)MAX232電平轉(zhuǎn)換上傳給上位機(jī),這些上傳到上位機(jī)的溫度信息的處理是該溫度采集系統(tǒng)上位機(jī)最重要的一部分,實(shí)現(xiàn)了溫度信息的查詢、顯示、趨勢(shì)圖等功能。
3.1 VB與單片機(jī)通信的建立
由單片機(jī)的測(cè)試點(diǎn)實(shí)時(shí)采集溫度,通過(guò)MAX232傳輸?shù)缴衔粰C(jī)PC,利用在Visual Basic 6.0的通信控件MSCOMM屬性設(shè)置和事件響應(yīng)的基礎(chǔ)上,實(shí)現(xiàn)與單片機(jī)串行通信。在上位機(jī)中,完成溫度傳感器ROM讀取并顯示、實(shí)時(shí)溫度數(shù)據(jù)顯示、數(shù)據(jù)存儲(chǔ)、曲線繪制、歷史數(shù)據(jù)查詢,其中在數(shù)據(jù)查詢功能中,設(shè)計(jì)了時(shí)間查詢、溫度查詢等功能。溫度采集系統(tǒng)中下位機(jī)將溫度轉(zhuǎn)換并將溫度值存儲(chǔ)到單片機(jī)的RAM里,實(shí)現(xiàn)溫度采集系統(tǒng)的上位機(jī)(PC機(jī))向下位機(jī)(單片機(jī))發(fā)送信息以及上位機(jī)接收下位機(jī)的溫度信息并加以處理。
MSCOMM控件的目的是為了簡(jiǎn)化Windows下串行通信編程,它既可以用來(lái)提供簡(jiǎn)單的串口端口通信功能,也可以用來(lái)創(chuàng)建功能完備的、事件驅(qū)動(dòng)的高級(jí)通信工具。使用它可以建立與串行端口的連接,通過(guò)串行端口連接到其它通信設(shè)備(如調(diào)制解調(diào)器),發(fā)出命令,交換數(shù)據(jù),以及監(jiān)視和響應(yīng)串行連接中發(fā)生的事件和錯(cuò)誤。MSCOMM控件通信的流程圖如圖3所示。編寫(xiě)程序時(shí),只需要按照下面的流程圖,即可實(shí)現(xiàn)通信功能。
4 結(jié)論
研究了一種基于單片機(jī)技術(shù)的溫度采集系統(tǒng)的設(shè)計(jì),本設(shè)計(jì)采用89C51單片機(jī)作為數(shù)據(jù)處理與控制單元,為了進(jìn)行數(shù)據(jù)處理,單片機(jī)控制數(shù)字溫度傳感器,把溫度信號(hào)通過(guò)單總線從數(shù)字溫度傳感器傳遞到單片機(jī)上。通過(guò)對(duì)本設(shè)計(jì)的思考,更加加深了對(duì)單片機(jī)的認(rèn)識(shí),熟練了單片機(jī)的編程,更對(duì)當(dāng)前的溫度傳感器有了更深刻的認(rèn)識(shí)與了解。但是由于此系統(tǒng)依賴溫度傳感器,因而對(duì)溫度傳感器的穩(wěn)定性,線性等諸多方面有著嚴(yán)格的要求,但是傳感器的性能越好,相對(duì)而言其價(jià)格也就越高,因而在此設(shè)計(jì)中,溫度傳感器我個(gè)人覺(jué)的還是存在遺憾。隨著人們生活水平的不斷提高,單片機(jī)控制無(wú)疑是人們追求的目標(biāo)之一,它所給人帶來(lái)的方便也是不可否定的,要為現(xiàn)代人工作、科研、生活提供更好的更方便的設(shè)施就需要從單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。