具有rs-485通信功能的8路溫度檢測儀軟件設(shè)計畢業(yè)設(shè)計論文_第1頁
具有rs-485通信功能的8路溫度檢測儀軟件設(shè)計畢業(yè)設(shè)計論文_第2頁
具有rs-485通信功能的8路溫度檢測儀軟件設(shè)計畢業(yè)設(shè)計論文_第3頁
具有rs-485通信功能的8路溫度檢測儀軟件設(shè)計畢業(yè)設(shè)計論文_第4頁
具有rs-485通信功能的8路溫度檢測儀軟件設(shè)計畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩51頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

西安工程大學(xué)本科畢業(yè)設(shè)計(論文)摘要溫度是工業(yè)生產(chǎn)和自動控制中最常見的工藝參數(shù)之一,生產(chǎn)過程需要對溫度進行檢測和控制。為了滿足對溫度采集和測量要求,實現(xiàn)對各個支路溫度的檢測,本系統(tǒng)就是采用了AT89S52為主控的8路溫度檢測的系統(tǒng)。該系統(tǒng)可以實現(xiàn)多個點的溫度檢測和數(shù)值顯示并且具有RS-485通信功能。該系統(tǒng)包括的模塊主要有溫度的采集,單片機的控制,AD轉(zhuǎn)換,溫度值的顯示,RS-485通信。它主要使用的是熱敏電阻Pt100溫度傳感器實現(xiàn)溫度檢測,并通過AD轉(zhuǎn)換對采集到的數(shù)值進行轉(zhuǎn)換,隨后將溫度顯示在液晶屏上,并對溫度設(shè)置上下閾值來實現(xiàn)溫度報警功能。論文首先簡單介紹了該系統(tǒng)的基本原理及整體結(jié)構(gòu),接著分硬件、軟件兩部分對整個系統(tǒng)進行闡述,其中軟件部分詳細描述。最后是系統(tǒng)的調(diào)試與分析,對系統(tǒng)的功能進行了驗證。關(guān)鍵詞:AT89S52,RS-485,AD轉(zhuǎn)換,PT100溫度傳感器ABSTRACTTemperatureisoneofthemostcommonparametersinindustrialproductionandautomaticcontroloftechnological,thereistheneedofthedetectionandcontrolintheproductiveprocess.Inordertomeettherequirementoftemperatureacquisitionandmeasurementtodetecteight-channel`stemperature,sowewilldesignasimplytemperaturedetectionsystemwhichfocusontheAT89S52.Thissystemcandetectthetemperature,displaythevaluesofnumberwithRS-485communicationfunction.Thissystemincludesthecollectionoftemperature,thecontrolofthesinglechipmicrocomputer,ADconversion,displaythetemperaturevalueandRS-485communication.ItdetecttemperatureandtransferthetemperaturewhichismainlyuseaPT100temperaturesensor.ThendisplaythetemperatureontheLiquidCrystalDisplay.Andsetupthetopandthebottomtemperaturevalue.Ifthetemperaturedoesn`treachtherangeofthetopandbottom,thesystemwillgiveanalarm.Thispaperfirstintroducesthebasicprincipleandthemassivestructureofthesystem.Thenitisdividedintotwopartstothewholesystemhardwareandsoftwarearedescribed,thesoftwarepartwillgiveadetaildescription.Finallythereisaneedtodebugandanalyzethesystemtotestifythesystem.KEYWORDS:AT89S52,RS-485communication,ADconversion,Pt100temperaturesensor目錄TOC\o"1-4"\h\z\u前言 前言在人類的生產(chǎn)生活之中,溫度扮演著極其重要的角色,溫度對工業(yè)的發(fā)展有著及其重要的影響,因此傳感器也有著飛速的發(fā)展,來適應(yīng)這種對溫度的檢測要求。基于此,本設(shè)計就是一個對溫度的循環(huán)檢測系統(tǒng),以滿足生產(chǎn)生活對溫度檢測的需要。隨著時代的進步和發(fā)展,單片機技術(shù)已經(jīng)普及到我們生活、工作、科研、各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù),本文主要介紹了一個基于AT89S52單片機的測溫系統(tǒng),描述了利用溫度傳感器PT100測溫系統(tǒng)的過程,對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進行了分析,對各部分的電路也一一進行了介紹,該系統(tǒng)可以方便的實現(xiàn)溫度采集和顯示,靈敏度高、體積小、功耗低等優(yōu)點,適合于我們?nèi)粘I顪囟葴y量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展[1]。PT100在-50~600℃范圍內(nèi)具有其他任何溫度傳感器無可比擬的優(yōu)勢,包括高精度、穩(wěn)定性好、抗干擾能力強等,正是基于此,PT100在各個行業(yè)中受到廣泛應(yīng)用。此系統(tǒng)設(shè)計了一款基于PT100的多路溫度巡檢儀,可同時測量8路PT100信號,通過LCD1602,同時循環(huán)顯示8路溫度值。其中PT100是鉑熱電阻,它的阻值跟溫度的變化成正比。PT100的阻值與溫度變化關(guān)系為:當(dāng)PT100溫度為0℃時它的阻值為100歐姆,在100℃時它的阻值約為138.5歐姆。它的工業(yè)原理:當(dāng)PT100在0攝氏度的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成勻速增長的。由于PT100熱電阻的溫度與阻值變化關(guān)系,人們便利用它的這一特性,發(fā)明并生產(chǎn)了PT100熱電阻溫度傳感器。它是集溫度濕度采集于一體的智能傳感器。溫度的采集范圍可以在-200℃~+200℃,濕度采集范圍是0%~100%[2]。因此本設(shè)計中選擇該鉑熱電阻進行溫度的采集,達到精準(zhǔn)且范圍廣的要求。本設(shè)計以AT89S52為核心部件,因為它與MCS-51兼容,4K字節(jié)可編程FLASH存儲器,壽命可達1000寫/擦循環(huán),數(shù)據(jù)保留時間長達10年,全靜態(tài)工作時的頻率為0Hz-24MHz,三級程序存儲器鎖定,128×8位內(nèi)部RAM,32可編程I/O線,兩個16位定時器/計數(shù)器,5個中斷源,可編程串行通道,低功耗的閑置和掉電模式?;谶@些特性,該設(shè)計以此單片機為核心部件來處理控制溫度的循環(huán)顯示采集系統(tǒng)。以AT89S52為處理控制核心,利用PT100溫度傳感器來采集溫度,經(jīng)過AD轉(zhuǎn)換將采集到的數(shù)值經(jīng)過轉(zhuǎn)換后進行溫度值的顯示,其中RS-485可以實現(xiàn)串口通信。根據(jù)該系統(tǒng)的要求,將要完成如下的任務(wù):1、設(shè)計一個8通道的溫度巡檢儀程序。2、帶RS-485傳輸接口用于傳輸檢測數(shù)據(jù)。3、循環(huán)檢測8路-50~200℃的Pt100傳感器溫度信號。4、可以對每一路信號設(shè)置報警上限和下限。5、帶顯示器件,用于顯示:各路測量信號和報警狀態(tài)。6、帶報警繼電器觸點輸出?;诖?,在軟件的設(shè)計上將分為系統(tǒng)的初始化,溫度的采集,RS-485通信傳輸,溫度的顯示,溫度上限以及下限的報警等模塊來組成。主要實現(xiàn)8路溫度的巡檢。第1章緒論本章將會主要對溫度顯示,RS-485通信原理,PT100溫度傳感器等及其系統(tǒng)的總設(shè)計方案進行一個簡單大致的介紹。1.1基本原理本系統(tǒng)由單片機、溫度采集、按鍵、顯示、報警、數(shù)據(jù)傳輸?shù)炔糠纸M成。其中AT89S52單片機為系統(tǒng)核心,主要完成對溫度數(shù)據(jù)的采集和處理,控制系統(tǒng)的工作,協(xié)調(diào)串行通信向上位機發(fā)送數(shù)據(jù)信息。本系統(tǒng)能實現(xiàn)對8路溫度的檢測和顯示,可預(yù)設(shè)各路溫度的上、下限值,設(shè)置定點和巡回檢測方式及報警功能。測溫的模擬電路是把當(dāng)前PT100熱電阻傳感器的電阻值,經(jīng)過A/D轉(zhuǎn)換器把模擬電壓轉(zhuǎn)為數(shù)字信號后傳給單片機AT89S52,單片機再根據(jù)處理換算把測量得的溫度傳感器的電阻值轉(zhuǎn)換為溫度值,并將數(shù)據(jù)送出到顯示屏上進行顯示。1.1.1傳感器部分鉑電阻的特點是精度高,穩(wěn)定性好,性能可靠。鉑在氧化性氣氛中,甚至在高溫下的物理、化學(xué)性質(zhì)都非常穩(wěn)定。因此鉑被公認(rèn)為是目前制造熱電阻材料。鉑電阻主要為標(biāo)準(zhǔn)電阻溫度計使用,也常被用在工業(yè)測量中。鉑電阻的阻值溫度之間的關(guān)系:在0~850℃范圍內(nèi)可用下式表示,(1—1)在-200~0℃范圍內(nèi)則用下式表示,(1—2)式中Rt溫度為t℃時的鉑電阻的阻值;R0溫度為0℃時的鉑電阻的阻值;A、B、C為常數(shù),/℃;/℃;/℃;對滿足上述關(guān)系的熱電阻,其溫度系數(shù)約為3.9×10-3℃。PT100是鉑熱電阻,它的阻值跟溫度的變化成正比。PT100的阻值與溫度變化關(guān)系為:當(dāng)PT100溫度為0℃時它的阻值為100歐姆,在100℃時它的阻值約為138.5歐姆。當(dāng)PT100在0攝氏度的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成勻速增長的。1.1.2主控制部分設(shè)計采用Pt100模擬溫度傳感器采集數(shù)據(jù),單片機通電后,Pt100由于溫度變化,引起電阻發(fā)生變化,進而橋式測溫電路的電壓值發(fā)生變化,經(jīng)過差分放大、A/D轉(zhuǎn)換后送入單片機,單片機始終等待A/D轉(zhuǎn)換值的到來。此方案采用AT89S52型號的八位單片機實現(xiàn)。單片機軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實現(xiàn)簡單,安裝方便,高性能。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。1.1.3AD轉(zhuǎn)換模塊ADC0809簡介ADC0809是8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。ADC0809是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型A/D轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時電路組成。故可實現(xiàn)該系統(tǒng)的8路溫度的轉(zhuǎn)換要求。ADC0809原理首先輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動A/D轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進行。直到A/D轉(zhuǎn)換完成,EOC變?yōu)楦唠娖?,指示A/D轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。轉(zhuǎn)換數(shù)據(jù)的傳送A/D轉(zhuǎn)換后得到的數(shù)據(jù)應(yīng)及時傳送給單片機進行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認(rèn)A/D轉(zhuǎn)換的完成,因為只有確認(rèn)完成后,才能進行傳送。為此可采用下述三種方式。(1)定時傳送方式對于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時間作為一項技術(shù)指標(biāo)是已知的和固定的。例如ADC0809轉(zhuǎn)換時間為128μs,相當(dāng)于6MHz的MCS-51單片機共64個機器周期??蓳?jù)此設(shè)計一個延時子程序,A/D轉(zhuǎn)換啟動后即調(diào)用此子程序,延遲時間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進行數(shù)據(jù)傳送。(2)查詢方式A/D轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號,例如ADC0809的EOC端。因此可以用查詢方式,測試EOC的狀態(tài),即可確認(rèn)轉(zhuǎn)換是否完成,并接著進行數(shù)據(jù)傳送。(3)中斷方式把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進行數(shù)據(jù)傳送。不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進行數(shù)據(jù)傳送。首先送出口地址并以信號有效時,OE信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機接收。1.1.4485通信模塊RS485由于傳輸速率高,傳輸距離遠,故本系統(tǒng)采用RS485標(biāo)準(zhǔn)。但由于微機標(biāo)準(zhǔn)配置通常只提供RS232C串行端口,因此需要使用RS232C/RS485通信接口進行轉(zhuǎn)接。通過RS232/RS485轉(zhuǎn)換電路將PC機串口RS232信號轉(zhuǎn)換成RS485信號。RS485采用差分傳輸方式,可以有效地提高共??垢蓴_能力,最高傳輸速率可達1200Kb/s。RS485的特性包括:(1)RS-485的電氣特性:邏輯“1”以兩線間的電壓差為+(2—6)V表示;邏輯“0”以兩線間的電壓差為-(2—6)V表示。接口信號電平比RS-232-C降低了,就不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL電路連接。(2)RS-485的數(shù)據(jù)最高傳輸速率為10Mbps。(3)RS-485接口強,即抗噪聲干擾性好。(4)RS-485接口的最大傳輸距離標(biāo)準(zhǔn)值為4000英尺,實際上可達3000米(理論上的數(shù)據(jù),在實際操作中,極限距離僅達1200米左右)。1.2系統(tǒng)方案1.2.1系統(tǒng)的整體結(jié)構(gòu)該設(shè)計需要完成對8路溫度的檢測。通過一些硬件及其配套的軟件來實現(xiàn)RS-485通信功能的8路溫度檢測功能。其經(jīng)過PT100對溫度采集,ADC0809進行AD轉(zhuǎn)換,LCD溫度數(shù)據(jù)的顯示,傳輸?shù)冗^程。其系統(tǒng)的整體結(jié)構(gòu)框圖如下圖1所示。圖1—1系統(tǒng)原理模塊 1.2.2軟件介紹(1)KeilC51是美國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(μVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選。KeilC5的優(yōu)點如下:a.KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。b.與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。(2)Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、AVR、ARM、8086、PIC10/12/16/18/24/30/DsPIC33和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。功能是:1.原理布圖2.PCB自動或人工布線3.SPICE電路仿真。1.2.3系統(tǒng)測試為了驗證系統(tǒng)的可靠性,在系統(tǒng)設(shè)計完畢后就需要對各功能模塊進行測試。首先在Keil上面對編寫的程序進行編譯檢測錯誤,根據(jù)Proteus的仿真原理圖進行軟件的仿真。其次進行硬件測試,上電前仔細檢查各元器件是否正確焊接在電路板上,硬件測試完畢后,將生成的HEX文件載入到單片機中;最后進行系統(tǒng)總體調(diào)試,驗證系統(tǒng)功能。1.3章節(jié)安排本論文共分為五章。第1章是緒論,主要闡述了設(shè)計中的一些基本原理和系統(tǒng)總體方案設(shè)計。第2章是硬件設(shè)計,主要介紹簡單的原理圖,及其硬件功能模塊的實現(xiàn)。第3章是軟件設(shè)計,詳細闡述各個模塊軟件設(shè)計,及其各個子程序的流程介紹,實現(xiàn)方式等。第4章是調(diào)試與分析,通過測試程序,驗證各模塊的功能,并對調(diào)試過程中產(chǎn)生的問題進行分析與總結(jié)。第5章是系統(tǒng)設(shè)計的結(jié)論與展望,在這一章中,結(jié)論對系統(tǒng)的設(shè)計結(jié)果作了簡單的總結(jié),展望則根據(jù)系統(tǒng)中存在的不足提出了一些相應(yīng)的改進的方法。第2章硬件設(shè)計在設(shè)計過程中,將系統(tǒng)功能分為硬件和軟件兩部分來分別實現(xiàn)。本章詳細介紹了系統(tǒng)設(shè)計的硬件部分在電路實現(xiàn)的過程中的硬件原理圖及其選擇的主要器件。2.1總體設(shè)計根據(jù)系統(tǒng)的功能要求,硬件方面需要完成如下設(shè)計:以單片機AT89S52為核心部件,Pt100溫度的采集,基于ADC0809的數(shù)模轉(zhuǎn)換,數(shù)據(jù)通信,控制報警,按鍵設(shè)計,溫度顯示等,其整體設(shè)計框圖如圖2-1所示。圖2-1硬件總體設(shè)計框圖其中,各個模塊的功能如表2-1所示。表2—1各模塊功能部件功能測量PT100采集溫度值A(chǔ)/D轉(zhuǎn)換ADC0809對采樣的值進行數(shù)模轉(zhuǎn)換數(shù)據(jù)通信RS-485使得該系統(tǒng)具有通信功能控制報警蜂鳴器在溫度低于上限或者高于上限時驅(qū)動報警按鍵模塊通過按鍵設(shè)置上下限進行確認(rèn)顯示模塊采用液晶顯示屏對數(shù)值進行顯示單片機控制整個系統(tǒng)的核心控制處系統(tǒng)性能特點及工作原理:本系統(tǒng)由單片機、溫度采集、按鍵、顯示、報警、數(shù)據(jù)傳輸?shù)炔糠纸M成。Pt100由于溫度變化,引起電阻發(fā)生變化,進而橋式測溫電路的電壓值發(fā)生變化,經(jīng)過差分放大、A/D轉(zhuǎn)換后送入單片機,之后通過液晶顯示溫度數(shù)值。其中AT89S52單片機為系統(tǒng)核心,主要完成對溫度數(shù)據(jù)的采集和處理,控制系統(tǒng)的工作,協(xié)調(diào)RS485串行通信。本系統(tǒng)能實現(xiàn)對8路溫度的檢測和顯示,可預(yù)設(shè)各路溫度的上、下限值,設(shè)置定點或巡回檢測方式及報警功能。2.2系統(tǒng)主要器件的介紹2.2.1單片機AT89S52AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。它具有如下的特性:(1)與MCS-51單片機產(chǎn)品兼容;(2)8K字節(jié)在系統(tǒng)可編程Flash存儲器;(3)1000次擦寫周期;(4)全靜態(tài)操作:0Hz-33MHz;(5)三級加密程序存儲器;(6)32個可編程I/O口線;(7)三個16位定時器/計數(shù)器;(8)8個中斷源;(9)全雙工UART串行通道;(10)低功耗空閑和掉電模式;(11)掉電后中斷可喚醒;(12)看門狗定時器;(13)雙數(shù)據(jù)指針;(14)掉電標(biāo)識符。2.2.2A/D轉(zhuǎn)換芯片ADC0809是8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號,只選通8路模擬輸入信號中的一個進行A/D轉(zhuǎn)換。ADC0809具有以下的主要特性:(1)8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位;(2)具有轉(zhuǎn)換起??刂贫?;(3)轉(zhuǎn)換時間為100μs(時鐘為640kHz時),130μs(時鐘為500kHz時);(4)單個+5V電源供電;(5)模擬輸入電壓范圍0~+5V,不需零點和滿刻度校準(zhǔn);(6)工作溫度范圍為-40~+85攝氏度;(7)低功耗,約15mW。2.2.3溫度傳感器PT100是鉑熱電阻,它的阻值會隨著溫度的變化而改變。PT后的100即表示它在0℃時阻值為100歐姆,在100℃時它的阻值約為138.5歐姆。它的工業(yè)原理:當(dāng)PT100在0攝氏度的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成勻速增長的但他們之間的關(guān)系并不是簡單的正比的關(guān)系,而更應(yīng)該趨近于一條拋物線。Pt100由于溫度變化,引起電阻發(fā)生變化,進而橋式測溫電路的電壓值發(fā)生變化,經(jīng)過差分放大。2.2.4顯示LCD16021602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它的特性有:(1)3.3V或5V工作電壓,對比度可調(diào);(2)內(nèi)含復(fù)位電路;(3)提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能;(4)有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM;(5)內(nèi)建有192個5X7點陣的字型的字符發(fā)生器CGROM;(6)8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。2.2.5MAX485芯片MAX485接口芯片是Maxim公司的一種RS-485芯片。采用單一電源+5V工作,額定電流為300μA,采用半雙工通訊方式。它完成將TTL電平轉(zhuǎn)換為RS-485電平的功能。MAX485芯片的結(jié)構(gòu)和引腳都非常簡單,內(nèi)部含有一個驅(qū)動器和接收器。MAX485的驅(qū)動器擺率不受限制,可以實現(xiàn)最高2.5Mbps的傳輸速率。驅(qū)動器具有短路電流限制,并可以通過熱關(guān)斷電路將驅(qū)動器輸出置為高阻狀態(tài)。接收器輸入具有失效保護特性,當(dāng)輸入開路時,可以確保邏輯高電平輸出。具有較高的抗干擾性能。2.3總體電路圖該設(shè)計以AT89S52為核心構(gòu)造,對總體的功能進行設(shè)計。上述對系統(tǒng)的器件進行了介紹,根據(jù)系統(tǒng)的總體框圖,及其各模塊的作用。以系統(tǒng)的性能工作原理為核心,得到的主控電路圖如圖2-2所示。圖2-2系統(tǒng)總體電路圖其中包括:(1)PT100測溫及其放大電路(2)AD轉(zhuǎn)換連接電路(3)單片機AT89S52的復(fù)位電路(4)單片機AT89S52的時鐘電路(5)1602液晶顯示電路(6)報警及其按鍵上下限設(shè)置電路第3章軟件設(shè)計在硬件設(shè)計的基礎(chǔ)上,需要對它進行相應(yīng)的編寫應(yīng)用程序。本系統(tǒng)的軟件設(shè)計采用的是C語言進行編程,C是一種很具有結(jié)構(gòu)化的語言。不僅具有豐富的運算符和數(shù)據(jù)類型,以便于實現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu),它還可以直接訪問內(nèi)存地址,進行(bit)位操作,尤其能夠勝任開發(fā)操作系統(tǒng)的工作。由于C語言實現(xiàn)了對硬件的編程操作,因此C語言既有較高語言的功能,也有低級語言的優(yōu)勢。C語言的維護也比匯編語言維護起來方便快捷,便于模塊方式組織程序,方便調(diào)試和維護,語言靈活。在C編程的基礎(chǔ)上,根據(jù)硬件電路原理圖,本系統(tǒng)的軟件程序主要包括了:主程序,初始化,LCD1602的溫度顯示,報警函數(shù)子程序設(shè)計,數(shù)據(jù)的AD轉(zhuǎn)換,485通信設(shè)計。3.1主程序的設(shè)計主程序就是監(jiān)控程序,主程序首先對各個IO口進行初始化,然后用Pt100溫度傳感器對溫度進行檢測。我們可以定義溫度的最高上限和下限的兩個閾值,并確認(rèn)。之后溫度傳感器采集到的溫度經(jīng)過AD轉(zhuǎn)換,由單片機處理過,將采集到的溫度值顯示在液晶顯示屏上。同時,如果采集到的溫度超過了閾值范圍,都將中斷進入報警系統(tǒng),對采集到的溫度產(chǎn)生報警信號;如果采集到的溫度在介于閾值范圍之間,則正常顯示溫度,并且循環(huán)顯示8路溫度,直到將8路溫度全部顯示完畢。根據(jù)這種流程思想,就可以確定一個主要的程序流程方向,來實現(xiàn)本系統(tǒng)的主流程圖如3-1所示。圖3-1函數(shù)主流程圖3.2AD轉(zhuǎn)換子程序設(shè)計該設(shè)計采用的是ADC0809,它是一個8路模擬輸入的8逐次逼近式ADC。它內(nèi)部還有一個8位通道選擇開關(guān),其作用就是可以根據(jù)地址譯碼的信號來選擇8路模擬輸入,8路模擬信號分時共用ADC轉(zhuǎn)換器進行轉(zhuǎn)換。其引腳功能如下:IN0—IN7:8位模擬量輸入端ADDA,ADDB,ADDC:模擬量輸入通道地址選擇線,其8位編碼分別對應(yīng)IN0—IN7,通道選擇表如下表3-1所示ALE:地址鎖存端START:ADC轉(zhuǎn)換啟動信號,正脈沖有效,該信號要求保持在200ns以上。其上升沿將內(nèi)部逐次逼近寄存器清0,下降沿啟動ADC轉(zhuǎn)換EOC:轉(zhuǎn)換結(jié)束信號,可作為中斷請求信號,或者供CPU查詢CLK:時鐘輸入端,要求頻率范圍在10kHz—1.2MHzOE:允許輸入信號VREF(+),VREF(-):基準(zhǔn)參考電壓的正,負值OUT1—0UT8:8路數(shù)字量輸出端表3-1通道選擇表CBA選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7ADC0809的信號設(shè)置為START=0,START=1,START=0,這樣就可以產(chǎn)生一個啟動轉(zhuǎn)換的正脈沖,進行AD轉(zhuǎn)換的時候,查詢EOC的標(biāo)志信號來檢測A/D轉(zhuǎn)換是否完畢,當(dāng)EOC是低電平是時候,就指示的是操作正在進行當(dāng)中,直到轉(zhuǎn)換完成后EOC就再次變成了高電平。當(dāng)微處理器收到變成高電平的EOC的時候,便立刻送出OE信號,讀取轉(zhuǎn)換結(jié)果。START產(chǎn)生一個啟動脈沖,將采集到的溫度數(shù)值進行A/D轉(zhuǎn)換,EOC為低電平對其進行轉(zhuǎn)換,將轉(zhuǎn)換后的采集的溫度值經(jīng)過OE送出,讀取轉(zhuǎn)換后的溫度再用顯示屏顯示出來。將采集到的信號,經(jīng)過A/D轉(zhuǎn)換并由單片機系統(tǒng)讀取。ADC0809應(yīng)用說明(1)ADC0809內(nèi)部帶有輸出鎖存器,可以與AT89S51單片機直接相連(2)

初始化時,使ST和OE信號全為低電平(3)

送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上(4)在ST端給出一個至少有100ns寬的正脈沖信號(5)是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號來判斷(6)當(dāng)EOC變?yōu)楦唠娖綍r,這時給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機在該設(shè)計中,濾波程序是抑制抗干擾的一種有效的措施,該系統(tǒng)程序中套用了濾波程序,將經(jīng)過AD轉(zhuǎn)換后的數(shù)值進行處理。對每路溫度的采集分5次采集,求出這5個數(shù)據(jù)中的最大值最小值,MAX—MIN求出差值,求出5個采集點的數(shù)學(xué)期望,將此進行比較,若差值大于期望值,則會認(rèn)為采集到的數(shù)據(jù)點不合要求,舍棄該采集值,重新進行采集。增加了該濾波程序,可以舍去偶然因素引起的波動和采集不穩(wěn)定引起的誤差,可以抑制信號的干擾成分,消除隨機誤差,使得溫度的采集更加的穩(wěn)定。主要的流程圖如圖3-2所示。圖3-2A/D轉(zhuǎn)換的流程圖3.3LCD溫度顯示程序設(shè)計在溫度的顯示上,采用LCD1602.可以顯示兩行字符,每行16個,顯示容量為162。通過并行接口,可與單片機的I/O口直接相連。1602的引腳和功能如下:VSS:電源地VDD:電源正極,接+5V電源VL:液晶顯示偏壓信號RS:數(shù)據(jù)/指令寄存器選擇端。高電平時選擇數(shù)據(jù)寄存器,低電平時選擇指令寄存器。R/W:讀/寫選擇端。高電平時為讀操作,低電平時為寫操作E(6):使能信號,下降沿觸發(fā)D0-D7:I/O口數(shù)據(jù)傳輸線BLA:背光源正極BLK:背光源負極當(dāng)RS及R/W的引腳信號為1且E的引腳由1變成了0時,讀取數(shù)據(jù):當(dāng)RS的引腳信號為1時,R/W引腳信號為0,且E的引腳由1變成了0,存入數(shù)據(jù)。故可以根據(jù)設(shè)置RS及R/W的高低電平來控制數(shù)據(jù)的讀取,存入。它具體的指令操作包括清屏,回車,輸入模式控制,顯示開關(guān)控制,以為控制,顯示模式控制如下3-2表所示。表3-2指令系統(tǒng)指令名稱控制信號指令代碼功能RSR/WD7D6D5D4D3D2D1D0清屏0000000000顯示清屏:(1)數(shù)據(jù)指針清0(2)所有顯示清除回車0000000010顯示回車,數(shù)據(jù)指針清0輸入模式控制00000001NS設(shè)置光標(biāo),顯示畫面移動方向顯示開關(guān)控制000000D/LDCB設(shè)置顯示,光標(biāo),閃爍開關(guān)移位控制000001S/CR/L××使光標(biāo)或顯示畫面移位顯示模式控制00001D/LNF××設(shè)置數(shù)據(jù)總線位數(shù),點陣方式GGRAM地址設(shè)置0001ACGDDRAM地址指針設(shè)置001ADD忙狀態(tài)檢查01BFAC讀數(shù)據(jù)11數(shù)據(jù)從RAM中讀取數(shù)據(jù)寫數(shù)據(jù)10數(shù)據(jù)對RAM進行寫數(shù)據(jù)數(shù)據(jù)指針設(shè)置0080H+地址碼(0~27H,40H~47H)設(shè)置數(shù)據(jù)地址指針在該系統(tǒng)之中,先對LCD進行初始化設(shè)置,將AD轉(zhuǎn)換后的數(shù)值向LCD發(fā)送,LCD讀取數(shù)據(jù),然后寫入函數(shù),最后將采集到的溫度值顯示在LCD1602的屏幕上。其流程圖如下圖3-3所示。

圖3-3LCD顯示流程圖3.4報警子程序設(shè)計該系統(tǒng)具有設(shè)定上下限報警功能,若采集到的溫度值超過了設(shè)置的上下限溫度值,則會驅(qū)動蜂鳴器產(chǎn)生報警信號LED也會閃爍報警,而如果在此范圍之內(nèi),則LED正常發(fā)亮,說明溫度顯示正常。如下3-4所示。用if語句控制,蜂鳴器在低電平有效,故采集到溫度不在范圍之內(nèi)時,將引腳置低電平,P02置0,三極管將會產(chǎn)生一個壓差,電路導(dǎo)通后,蜂鳴器就會報警,紅色LED也會閃爍。圖3-4報警子程序流程圖3.5按鍵設(shè)置程序設(shè)計從電路圖中可以看出,該系統(tǒng)中設(shè)計了3個按鍵,分別控制著系統(tǒng)的“通道+”,“通道-”,還有“確認(rèn)”這三個功能,用來選擇顯示的通道。通常,按鍵的閉合與否通常用高電平與低電平來進行檢測的。當(dāng)鍵閉合時,該鍵為低電平;當(dāng)鍵斷開時,該鍵為高電平。然而,按鍵的閉合與斷開之間存在著機械彈性,在機械彈性的作用下,按鍵在閉合斷開之間會出現(xiàn)抖動的過程。在抖動期間,檢測按鍵的通/斷作用,就很可能導(dǎo)致錯誤的出現(xiàn),按鍵的一次按下或者釋放都將被誤認(rèn)為是很多次的操作,因此,在按鍵的處理之中,應(yīng)該設(shè)置軟件上的去抖動方法。在軟件中去抖動就是利用延時子程序,再確認(rèn)按鍵是否仍然閉合,若仍然閉合,則確認(rèn)為按鍵按下,消除了這個抖動的影響,流程圖如下圖3-5所示。圖3-5按鍵設(shè)置處理程序流程圖3.6RS-485通信模塊程序設(shè)計上位機和下位機之間的串行通信采用RS-485標(biāo)準(zhǔn)接口,PC端接一個RS232的轉(zhuǎn)換電路,就實現(xiàn)RS485總線控制。MAX485的引腳功能如下:RO:接收器的輸入端DI:驅(qū)動器的輸入端RE:接收使能端DE:發(fā)送使能端A端:接收的差分信號端B端:發(fā)送的差分信號端GND:接地端在總的系統(tǒng)電路圖中可以看出,485與PC之間經(jīng)過了232的轉(zhuǎn)換,從而實現(xiàn)通信功能,RE與DE是共用了一個引腳,因為485是一個半雙工的工作狀態(tài),如圖3-6所示,可以滿足數(shù)據(jù)傳輸?shù)男枨?。?dāng)RE為邏輯0時,器件處于接收狀態(tài);當(dāng)DE為邏輯1時,器件處于發(fā)送狀態(tài)。當(dāng)A引腳的電平高于B時,代表發(fā)送的數(shù)據(jù)為1;當(dāng)A的電平低于B端時,代表發(fā)送的數(shù)據(jù)為0,其主要的流程圖如圖3-7所示。圖3-6半雙工工作方式圖3-7485通信流程圖第4章調(diào)試與仿真在完成了硬件設(shè)計跟軟件設(shè)計的基礎(chǔ)上,就將對產(chǎn)生的程序進行調(diào)試,本系統(tǒng)采用的調(diào)試是仿真調(diào)試,基于Keil和Proteus的聯(lián)調(diào)過程中,對系統(tǒng)進行調(diào)試仿真。Keil集成開發(fā)環(huán)境是眾多單片機應(yīng)用開發(fā)優(yōu)秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編語言,PLM語言,C語言的程序設(shè)計,容易操作。4.1軟件仿真4.1.1建立程序文件(1)打開KeiluVision4,新建Keil項目,選擇AT89C51單片機作為CPU;建立一個文件夾作為工作文件夾,進入集成開發(fā)環(huán)境中,選擇菜單“Project—NewuVisionProject”,在彈出的“NewuVisionProject”對話框中,將“保存在”下拉列表中選擇自己的工作文件夾,在“文件名”中鍵入文件名,保存,如圖4-1。關(guān)閉對話框,將會彈出“SelectDeviceforTargetTarget1”對話框,選擇芯片類型為AT89C51。單擊確定即可,如圖4-2。圖4-1建立新的工程名圖4-2選擇所需單片機型號(2)新建C源文件,編寫程序并將其導(dǎo)入到“SourceGroup1”之中;單擊“creatanyemptydocument”,在彈出的文本框中輸入C語言程序,輸入完畢之后,將其保存。在彈出的“SaveAs”中,確定保存在了自己的文件夾中,在文件名輸入源文件名和擴展名,單擊“保存”按鈕,關(guān)閉對話框,保存程序,如圖4-3所示。圖4-3保存C源文件單擊右鍵“Project”窗口中的“SourceGroup1”,在彈出的對話框選擇“AddfilestoGroup‘SourceGroup1’”,在“文件類型當(dāng)中選擇.C源文件”如圖4-4所示。圖4-4添加C源文件選中欲添加的源程序,單擊“Add”按鈕,將源程序添加到工程當(dāng)中。而在“SourceGroup1”中將出現(xiàn)該源程序文件名。(3)在“OptionforTarget”對話框中。選擇“Output”“CreateHEXFile”選項。如圖4-5所示。圖4-5設(shè)置生成.HEX文件(4)編譯源程序,修改程序中的錯誤直到通過。4.1.2加載目標(biāo)代碼文件(1)在ProteusISIS中,左鍵雙擊AT89C51元件,打開“EditComponent”對話框,設(shè)置單片機的頻率為12MHz;(2)在該窗口中“ProgramFilm”欄中,選擇先前生成的“.HEX”文件,如圖4-6所示;圖4-6設(shè)置單片機頻率及選擇“.HEX”文件(3)在ProteusISIS菜單欄目中選擇【File】【SaveDesign】選項,保存設(shè)計;(4)在ProteusISIS菜單欄中,打開“Debug”下拉菜單,在菜單中選擇“UseRemoteDebugMonitor”選項,以支持與Keil的聯(lián)調(diào)。4.1.3進行調(diào)試與仿真(1)在Keil的欄目中選擇【Debug】【Start/StopDebugSession】選項,或者在工具欄中直接點擊圖標(biāo),進入調(diào)試環(huán)境狀態(tài);(2)按“F5”鍵,順序執(zhí)行程序;(3)ProteusISIS界面中,按動按鍵設(shè)置上下閾值,撥動滑動變阻器仿真溫度值。在此說明的是,溫度的采集中PT100傳感器的工作原理是可調(diào)電阻原理,電阻值的變化引起電壓變化,經(jīng)過轉(zhuǎn)換得到溫度值,故在此用滑動變阻器來代替了傳感器來進行軟件的仿真。本仿真針對一路通道的溫度采集進行了仿真調(diào)試,其Proteus仿真圖如4-7所示。圖4-7Proteus溫度采集仿真圖按動開關(guān),可以看到LCD液晶屏上面顯示出了歡迎語句,LCD啟動,如圖4-8所示。圖4-8LCD啟動,進入主頁面撥動滑動變阻器,可以看到LCD上顯示的溫度數(shù)值的變化,如圖4-9,4-10可以看出其顯示的變化。圖4-9LCD顯示的溫度值圖4-10撥動滑動變阻器之后LCD顯示的溫度值4.2硬件調(diào)試經(jīng)過了軟件的仿真后,將程序燒到單品機中,進行硬件調(diào)試,即將生成的.hex文件載入系統(tǒng)控制中心單片機中。板子進入工作狀態(tài),電源指示燈亮,表示工作正常。LCD1602液晶上也顯示出了轉(zhuǎn)換后的溫度值,如圖4-11所示。圖4-11LCD的溫度值顯示用螺絲刀轉(zhuǎn)動滑動變阻器,可以觀察到各路溫度的變化。切換通道,可以觀察到不同通道的溫度值,如圖4-12所示。圖4-12比較不同通道,LCD顯示的溫度值其中在溫度報警模塊中,若溫度正常顯示,則LED綠色燈亮,若超出測量顯示范圍,則紅色的LED閃爍,如圖4-13所示。圖4-13溫度報警模塊顯示4.3產(chǎn)生的問題與分析在系統(tǒng)的調(diào)試過程中產(chǎn)生的問題多種多樣,下面就所產(chǎn)生的問題進行分析,以及它是如何得到解決作一些簡單的闡述。1.按鍵設(shè)置問題在按動按鍵的時候,發(fā)現(xiàn)出現(xiàn)轉(zhuǎn)換錯亂的現(xiàn)象,按動一下按鍵,顯示不變或者多次改變。經(jīng)過查看模塊程序,發(fā)現(xiàn)DELAY程序的延遲時間有的太短有的太長,所以造成了一次的按鍵操作系統(tǒng)沒有反應(yīng)或者系統(tǒng)當(dāng)成了多次操作。因此給程序中的延遲時間做適當(dāng)?shù)恼{(diào)整后,按鍵恢復(fù)正常狀態(tài)。2.第3路溫度變化問題第3路滑動變阻器用螺絲刀旋轉(zhuǎn),企圖得到溫度值顯示的變化,但是觀察到液晶顯示屏上沒有改變。進行了軟件的排查和硬件的排查,排查后發(fā)現(xiàn)變阻器出現(xiàn)故障,重新?lián)Q取了一個后發(fā)現(xiàn)顯示正常3.溫度采集數(shù)值的穩(wěn)定問題在數(shù)據(jù)的采集中,發(fā)現(xiàn)數(shù)值的顯示不穩(wěn)定,結(jié)果有誤差。觀察知,偶然因素引起的誤差可以使得數(shù)據(jù)不穩(wěn)定。采取的措施是在溫度的采集中加入數(shù)字濾波,采集5次數(shù)值,求取期望值,差值比較,這樣增加了系統(tǒng)的抗干擾性和抑制干擾因素的能力。第5章結(jié)論與展望最后本章對這個總體論文及其設(shè)計進行一個總結(jié),并提出不足之處與改進方法。5.1結(jié)論在硬件的器件選擇基礎(chǔ)上,根據(jù)電路結(jié)構(gòu)框圖及其原理圖的基礎(chǔ)。在軟件設(shè)計中,實現(xiàn)了溫度采集,AD轉(zhuǎn)換,溫度顯示等功能??傊?,本設(shè)計基本符合了設(shè)計的基本要求。在這次的畢業(yè)設(shè)計之中,對溫度傳感器,以及AD轉(zhuǎn)換等都有了一些認(rèn)識,同時也學(xué)習(xí)到了一些書本上學(xué)習(xí)不到的東西,不僅僅增強的是一種動手的能力,而且還培養(yǎng)了發(fā)現(xiàn)問題解決問題的意識,能力。在這次的畢業(yè)設(shè)計,使得我對學(xué)習(xí)到的理論知識有了深刻的理解與體會。同時,也發(fā)現(xiàn)自己的很多不足,學(xué)習(xí)的理論知識功底不足,C語言學(xué)習(xí)不牢靠,不能夠完全融會貫通所學(xué)到的知識。對知識的運用能力很不到位,考慮問題不充分不全面。所以在今后的學(xué)習(xí)之中,必須努力的充實自己,鍛煉自己的各種能力,使得自身的理論素養(yǎng)與實踐動手能力得到更大的提高。5.2展望這個系統(tǒng)的設(shè)計基本完成了它的功能,但是當(dāng)然還存在一些不足的地方,所以,可以改進。(1)在該設(shè)計中是有線溫度控制,可以采用無線模塊方式實現(xiàn)遠程溫度數(shù)據(jù)采集。實現(xiàn)遠端環(huán)境數(shù)據(jù)的采集,可以不受距離的限制。(2)RS-485可以實現(xiàn)數(shù)據(jù)之間的轉(zhuǎn)換,通過協(xié)議以及軟硬件配合,可以實現(xiàn)上位機,與PC通信的功能,在本設(shè)計中沒有充分體現(xiàn)這個特性。(3)在測量精度上還有待提高。參考文獻[1]何麗華,譚成武,許治平,單片機多路溫度巡檢儀[J],自動化儀表,1998[2]張紅兵王華凌編著,基于鉑電阻Pt100的溫度傳感器設(shè)計[J],電子制作,2012(11):36[3]溫宗周,單片機原理及接口技術(shù)(第1版)[M],北京:中國電力出版社,2009:1-101[4]薛紀(jì)文,C語言程序設(shè)計教程(第1版)[M],北京:北京郵電大學(xué)出版社,2010:14-160[5]朱清慧,翟天嵩,王志奎,Proteus教程—電子線路設(shè)計,制版與仿真(第1版)[M],北京:清華大學(xué)出版社,2008:200-210[6]杜克銘,姚燕,李景涌,\o"基于STC89C52的多路溫度傳感器標(biāo)定系統(tǒng)"基于STC89C52的多路溫度傳感器標(biāo)定系統(tǒng)[J],電子技術(shù)應(yīng)用,2009(04)[7]鐘偉雄,\o"基于8051單片機的溫度采集系統(tǒng)"基于8051單片機的溫度采集系統(tǒng),科技創(chuàng)新導(dǎo)報,2008(31)[8]陳忠平,51單片機C語言程序設(shè)計經(jīng)典實例(第1版)[M],北京:電子工業(yè)出版社,2012:271-280,337-346[9]劉鯤,孫春亮,單片機C語言入門(第1版)[M],北京:人民郵電出版社,2008:43-116[10]KonicaCorporation.Konica7040WorkgroupDocumentSystemuser’sManual.KonicaBusinessTechnologies,Inc,1998.[11]康光華,電子技術(shù)基礎(chǔ)(第5版)[M],北京:高等教育出版社,2005:102-113[12]何祥林,基于AT89C51的溫度檢測系統(tǒng),鄂州大學(xué)學(xué)報,2009(2)18—20[13]喬智偉,王洪林,智能多路溫度檢測儀系統(tǒng)的設(shè)計[J],華北電力技術(shù),1999[14]JohnT.Kemper,Temperaturesinseveralvariables:Kernelfunctions,representations,andparabolicboundaryvalues,TransactionsoftheAmericanMathematicalSociety,1972[15]AshishSyal

,

VictorLee

,

AndréIvanov

,

JosepAltet,CMOSDifferentialandAbsoluteThermalSensors,JournalofElectronicTesting,2002[16]陶孝海,51單片機的C語言編程技巧[J],計算機時代,2009(06)41—42[17]王偉,李樹榮,基于8051單片機溫度采集及無線發(fā)送[J],現(xiàn)代電子技術(shù),2011(1):146—149[18]關(guān)健成,何碧霞,基于單片機的多點溫度采集系統(tǒng)[J],飛機設(shè)計,2010(04):76—80[19]譚浩強,C程序設(shè)計(第2版)[M],北京:清華大學(xué)出版社,2006:67-120[20]趙悅王冬梅羅建劉小焦,基于不同溫度傳感器的溫度檢測系統(tǒng),成都大學(xué)學(xué)報,2011(3):60—263[21]朱順華,,王成春,鄒逢興,單片機控制系統(tǒng)的硬件抗干擾設(shè)計微計算機信息[J],2007:86-88[22]虞日躍,史洪源,RS-485總線的理論與實踐[J].電子技術(shù)應(yīng)用,2001:55-57[23]吳林,仲崇權(quán),楊素英等.一種基于RS-485總線的多路溫度數(shù)據(jù)采集系統(tǒng)設(shè)計[J],2001,20(4):11—13致謝經(jīng)過這段時間的學(xué)習(xí),畢業(yè)設(shè)計也即將結(jié)束了。在這段時間內(nèi)得到了很多的幫助和支持。才讓自己對自己有了一個全面的認(rèn)識,使得自己得到了鍛煉與提升。首先應(yīng)該感謝指導(dǎo)老師的指導(dǎo),王延年老師使得我對系統(tǒng)有一個整體模塊脈絡(luò)的認(rèn)識,王老師廣博的知識,敏銳的思維方式讓人受益。其次還要感謝王老師給我們安排的學(xué)長,熊偉學(xué)長,在此過程中,很多細微的設(shè)計問題,還有一些不懂的不明白的地方學(xué)長都給了耐心的指導(dǎo),讓設(shè)計可以順利進行,對提出的問題也都認(rèn)真解答。論文中的細小問題都給與指導(dǎo)改正,認(rèn)真的審閱檢查。再次,感謝一起做設(shè)計的硬件同學(xué),從硬件選型到設(shè)計都給了很大的幫助,在設(shè)計中給了很多支持。最后,還要感謝西安工程大學(xué)通信教研室的全體老師、同學(xué),是他們創(chuàng)造了良好的工作和學(xué)習(xí)氛圍,在論文工作過程中給予了極大的支持?,F(xiàn)在,感謝所有幫助過給與支持的老師同學(xué)。祝所有畢業(yè)生同學(xué)在今后的人生道路上一帆風(fēng)順!附錄系統(tǒng)程序#include"reg52.h"#include"intrins.h"#defineucharunsignedchar#defineuintunsignedint#defineDPDRP2sbitRS=P0^6;//sbitRW=P0^7;sbitEN=P3^7;sbitST=P3^6;sbitEOC=P3^3;sbitOE=P3^4;sbitCLK=P3^5;sbitA1=P3^0;sbitB1=P3^1;sbitC1=P3^2;sbitLED_R=P0^1;sbitLED_G=P0^0;sbitbeep=P0^2;sbitS1=P0^3;sbitS2=P0^4;sbitS3=P0^5;uintTemperature;unsignedlongTEMP;ucharAD_DATA[2];voidbaojing();ucharcodeDispTab_1[]={'0','1','2','3','4','5','6','7','8','9','','-'};ucharDispBuf[6];charchar_char_1[]={"WENDUCAIJI"};charchar_char_2[]={"THANKYOU!"};charchar_char_3[]={"WELCOMETOUSE"};ucharn;voiddelay(uintz){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voiddelay1(uintz){while(--z);}voidinit() { EA=1; IT1=1; TMOD=0x01; TH0=(65536-100)/256;TL0=(65536-100)%256; TR0=1; ET0=1; ST=0; OE=0; }voidt0(void)interrupt1using0 { TH0=(65536-100)/256;TL0=(65536-100)%256; CLK=~CLK; }voidAD(){ ST=0; A1=0; B1=0; C1=0; delay1(10); ST=1; delay1(10); ST=0; while(EOC==0); OE=1; AD_DATA[0]=P1; OE=0; ST=0; A1=1;B1=0;C1=0; delay1(10); ST=1; delay1(10); ST=0; while(EOC==0); OE=1; AD_DATA[1]=P1; OE=0; ST=0; A1=0; B1=1; C1=0; delay1(10); ST=1; delay1(10); ST=0; while(EOC==0); OE=1; AD_DATA[2]=P1; OE=0; ST=0; A1=1; B1=1; C1=0; delay1(10); ST=1; delay1(10); ST=0; while(EOC==0); OE=1; AD_DATA[3]=P1;OE=0; ST=0; A1=0; B1=0; C1=1; delay1(10); ST=1; delay1(10); ST=0; while(EOC==0); OE=1; AD_DATA[4]=P1; OE=0; ST=0; A1=1; B1=0; C1=1; delay1(10); ST=1; delay1(10); ST=0; while(EOC==0); OE=1; AD_DATA[5]=P1; OE=0; ST=0; A1=0; B1=1; C1=1; delay1(10); ST=1; delay1(10); ST=0; while(EOC==0); OE=1; AD_DATA[6]=P1; OE=0; ST=0; A1=1; B1=1; C1=1; delay1(10); ST=1; delay1(10); ST=0; while(EOC==0); OE=1; AD_DATA[7]=P1; OE=0; }voidwrite_Directive(ucharcom) { RS=0; RW=0; delay(1); EN=0; DPDR=com; delay(1); EN=1; delay(1); EN=0; delay(1); }voidwrite_Data(uchardate) { RS=1; RW=0; delay(1); EN=0; DPDR=date; delay(1); EN=1; delay(1); EN=0; delay(1); }voidLCD_init() { write_Directive(0x38); write_Directive(0x38);write_Directive(0x06); write_Directive(0x01);write_Directive(0x0c); }voidwrite_Data_String(){ uchari,j; DispBuf[0]=n; DispBuf[1]=TEMP/100; DispBuf[2]=TEMP%100/10; DispBuf[3]=TEMP%100%10; i=DispBuf[0]; DispBuf[0]=DispTab_1[i]; i=DispBuf[1]; DispBuf[1]=DispTab_1[i]; i=DispBuf[2]; DispBuf[2]=DispTab_1[i]; i=DispBuf[3]; DispBuf[3]=DispTab_1[i]; write_Directive(0x80+0x19); write_Data('I'); write_Data('N'); write_Data(DispBuf[0]); write_Data('-'); write_Data(DispBuf[1]); write_Data(DispBuf[2]); write_Data(DispBuf[3]); write_Data(0xdf); write_Data(0x43);delay(400); write_Directive(0x80+0x58); for(j=0;j<16;j++) { write_Data(char_char_1[j]); delay(20); }}/*voidwrite_Directive_xiaoguo(){ uchark; for(k=0;k<16;k++) { write_Directive(0x06); delay(400); } //write_Directive(0x50); for(k=0;k<16;k++) { write_Directive(0x06); delay(20); }}*/voidwrite_Data_String2() {ucharj; write_Directive(0x80+0x40); for(j=0;j<15;j++) { write_Data(char_char_3[j]); delay(20); } write_Directive(0x80+0x01); for(j=0;j<15;j++) { write_Data(char_char_2[j]); delay(200); } } voidmain(){ucharj; uchari=0; init(); LCD_init(); n=0; write_Data_String2(); for(j=0;j<16;j++) { write_Directive(0x1c); delay(10); } while(1) { LED_G=0; AD(); Temperature=AD_DATA[n]; TEMP=Temperature*500/255; baojing(); if(S2==0){delay(10);if(S2==0){while(!S2);delay(10);n++; if(n==8)n=7;}} if(S3==0){delay(10);if(S3==0){while(!S2);delay(10);n--;if(n==-1)n=0;}} write_Data_String(); } }voidbaojing(){if(TEMP>200) {

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論