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

下載本文檔

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

文檔簡介

1、摘 要溫度是工業(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)換,隨后將溫度顯示在液晶屏上,并對溫度設置上下閾值來實現(xiàn)溫度報警功能。論文首先簡單介紹了該系統(tǒng)的基本原理及整體結(jié)構(gòu),接著分硬件、軟件兩部分對整個系

2、統(tǒng)進行闡述,其中軟件部分詳細描述。最后是系統(tǒng)的調(diào)試與分析,對系統(tǒng)的功能進行了驗證。關(guān)鍵詞:at89s52, rs-485, ad轉(zhuǎn)換, pt100溫度傳感器abstracttemperature is one of the most common parameters in industrial production and automatic control of technological, there is the need of the detection and control in the productive process. in order to meet the requi

3、rement of temperature acquisition and measurement to detect eight-channels temperature, so we will design a simply temperature detection system which focus on the at89s52.this system can detect the temperature, display the values of number with rs-485 communication function. this system includes the

4、 collection of temperature, the control of the single chip microcomputer, ad conversion, display the temperature value and rs-485 communication. it detect temperature and transfer the temperature which is mainly use a pt100 temperature sensor. then display the temperature on the liquid crystal displ

5、ay. and set up the top and the bottom temperature value. if the temperature doesnt reach the range of the top and bottom ,the system will give an alarm. this paper first introduces the basic principle and the massive structure of the system. then it is divided into two parts to the whole system hard

6、 ware and software are described, the software part will give a detail description. finally there is a need to debug and analyze the system to testify the system.key words:at89s52, rs-485 communication, ad conversion, pt100 temperature sensor 目 錄 前 言1第1章 緒論31.1基本原理31.1.1傳感器部分31.1.2 主控制部分41.1.3 ad轉(zhuǎn)換模

7、塊41.1.3.1 adc0809簡介41.1.3.2 adc0809原理51.1.4 485通信模塊61.2系統(tǒng)方案61.2.1系統(tǒng)的整體結(jié)構(gòu)61.2.2 軟件介紹71.3 章節(jié)安排8第2章 硬件設計92.1 總體設計92.2 系統(tǒng)主要器件的介紹102.2.1 單片機at89s52102.2.2 a/d轉(zhuǎn)換芯片112.2.3 溫度傳感器122.2.4 顯示lcd 1602122.2.5 max485芯片122.3 總體電路圖13第3章 軟件設計153.1 主程序的設計153.2 ad轉(zhuǎn)換子程序設計173.3 lcd溫度顯示程序設計193.4 報警子程序設計223.5 按鍵設置程序設計223.

8、6 rs-485通信模塊程序設計24第4章 調(diào)試與仿真264.1 軟件仿真264.1.1 建立程序文件264.1.2 加載目標代碼文件294.1.3 進行調(diào)試與仿真294.2 硬件調(diào)試314.3 產(chǎn)生的問題與分析33第5章 結(jié)論與展望345.1 結(jié)論345.2 展望34參考文獻35附錄 系統(tǒng)程序38前 言在人類的生產(chǎn)生活之中,溫度扮演著極其重要的角色,溫度對工業(yè)的發(fā)展有著及其重要的影響,因此傳感器也有著飛速的發(fā)展,來適應這種對溫度的檢測要求?;诖耍驹O計就是一個對溫度的循環(huán)檢測系統(tǒng),以滿足生產(chǎn)生活對溫度檢測的需要。隨著時代的進步和發(fā)展,單片機技術(shù)已經(jīng)普及到我們生活、工作、科研、各個領(lǐng)域,已經(jīng)

9、成為一種比較成熟的技術(shù),本文主要介紹了一個基于at89s52單片機的測溫系統(tǒng),描述了利用溫度傳感器pt100測溫系統(tǒng)的過程,對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進行了分析,對各部分的電路也一一進行了介紹,該系統(tǒng)可以方便的實現(xiàn)溫度采集和顯示,靈敏度高、體積小、功耗低等優(yōu)點,適合于我們?nèi)粘I顪囟葴y量,也可以當作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展1。pt100在-50600范圍內(nèi)具有其他任何溫度傳感器無可比擬的優(yōu)勢,包括高精度、穩(wěn)定性好、抗干擾能力強等,正是基于此,pt100在各個行業(yè)中受到廣泛應用。此系統(tǒng)設計了一款基于pt100的多路溫度巡檢儀,可同時測量8

10、路pt100信號,通過lcd1602 ,同時循環(huán)顯示8路溫度值。其中pt100是鉑熱電阻,它的阻值跟溫度的變化成正比。pt100的阻值與溫度變化關(guān)系為:當pt100溫度為0時它的阻值為100歐姆,在100時它的阻值約為138.5歐姆。它的工業(yè)原理:當pt100在0攝氏度的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成勻速增長的。由于pt100熱電阻的溫度與阻值變化關(guān)系,人們便利用它的這一特性,發(fā)明并生產(chǎn)了pt100 熱電阻溫度傳感器。它是集溫度濕度采集于一體的智能傳感器。溫度的采集范圍可以在-200+200,濕度采集范圍是0%100%2。因此本設計中選擇該鉑熱電阻進行溫度的采集,達到精準

11、且范圍廣的要求。本設計以at89s52為核心部件,因為它與mcs-51 兼容,4k字節(jié)可編程flash 存儲器,壽命可達1000寫/擦循環(huán),數(shù)據(jù)保留時間長達10年,全靜態(tài)工作時的頻率為0hz-24mhz,三級程序存儲器鎖定,1288位內(nèi)部ram,32可編程i/o線,兩個16位定時器/計數(shù)器,5個中斷源,可編程串行通道,低功耗的閑置和掉電模式?;谶@些特性,該設計以此單片機為核心部件來處理控制溫度的循環(huán)顯示采集系統(tǒng)。以at89s52為處理控制核心,利用pt100溫度傳感器來采集溫度,經(jīng)過ad轉(zhuǎn)換將采集到的數(shù)值經(jīng)過轉(zhuǎn)換后進行溫度值的顯示,其中rs-485可以實現(xiàn)串口通信。根據(jù)該系統(tǒng)的要求,將要完成

12、如下的任務:1、設計一個8通道的溫度巡檢儀程序。2、帶rs-485傳輸接口用于傳輸檢測數(shù)據(jù)。3、循環(huán)檢測8路-50200的pt100傳感器溫度信號。4、可以對每一路信號設置報警上限和下限。5、帶顯示器件,用于顯示:各路測量信號和報警狀態(tài)。6、帶報警繼電器觸點輸出?;诖耍谲浖脑O計上將分為系統(tǒng)的初始化,溫度的采集,rs-485通信傳輸,溫度的顯示,溫度上限以及下限的報警等模塊來組成。主要實現(xiàn)8路溫度的巡檢。 第1章 緒論 本章將會主要對溫度顯示,rs-485通信原理,pt100溫度傳感器等及其系統(tǒng)的總設計方案進行一個簡單大致的介紹。1.1基本原理 本系統(tǒng)由單片機、溫度采集、按鍵、顯示、報警、

13、數(shù)據(jù)傳輸?shù)炔糠纸M成。其中at89s52單片機為系統(tǒng)核心,主要完成對溫度數(shù)據(jù)的采集和處理,控制系統(tǒng)的工作,協(xié)調(diào)串行通信向上位機發(fā)送數(shù)據(jù)信息。本系統(tǒng)能實現(xiàn)對8路溫度的檢測和顯示,可預設各路溫度的上、下限值,設置定點和巡回檢測方式及報警功能。測溫的模擬電路是把當前pt100熱電阻傳感器的電阻值,經(jīng)過a/d轉(zhuǎn)換器把模擬電壓轉(zhuǎn)為數(shù)字信號后傳給單片機at89s52,單片機再根據(jù)處理換算把測量得的溫度傳感器的電阻值轉(zhuǎn)換為溫度值,并將數(shù)據(jù)送出到顯示屏上進行顯示。1.1.1傳感器部分鉑電阻的特點是精度高,穩(wěn)定性好,性能可靠。鉑在氧化性氣氛中,甚至在高溫下的物理、化學性質(zhì)都非常穩(wěn)定。因此鉑被公認為是目前制造熱電阻

14、材料。鉑電阻主要為標準電阻溫度計使用,也常被用在工業(yè)測量中。鉑電阻的阻值溫度之間的關(guān)系 :在0850范圍內(nèi)可用下式表示, (11)在-2000范圍內(nèi)則用下式表示, (12)式中 rt-溫度為t 時的鉑電阻的阻值; r0-溫度為0 時的鉑電阻的阻值; a、b、c 為常數(shù), /; /; /; 對滿足上述關(guān)系的熱電阻,其溫度系數(shù)約為3.910-3。pt100是鉑熱電阻,它的阻值跟溫度的變化成正比。pt100的阻值與溫度變化關(guān)系為:當pt100溫度為0時它的阻值為100歐姆,在100時它的阻值約為138.5歐姆。當pt100在0攝氏度的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成勻速增長的。

15、1.1.2 主控制部分設計采用pt100模擬溫度傳感器采集數(shù)據(jù),單片機通電后,pt100由于溫度變化,引起電阻發(fā)生變化,進而橋式測溫電路的電壓值發(fā)生變化,經(jīng)過差分放大、ad轉(zhuǎn)換后送入單片機,單片機始終等待ad轉(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

16、向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時鐘電路。另外,at89s52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工作,允許ram、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,ram內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。1.1.3 ad轉(zhuǎn)換模塊1.1.3.1 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路模擬開

17、關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型a/d轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時電路組成。故可實現(xiàn)該系統(tǒng)的8路溫度的轉(zhuǎn)換要求。1.1.3.2 adc0809原理首先輸入3位地址,并使ale=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。start上升沿將逐次逼近寄存器復位。下降沿啟動 a/d轉(zhuǎn)換,之后eoc輸出信號變低,指示轉(zhuǎn)換正在進行。直到a/d轉(zhuǎn)換完成,eoc變?yōu)楦唠娖?,指示a/d轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當oe輸入高電平時,輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)字量輸出到數(shù)據(jù)總線上。轉(zhuǎn)換數(shù)據(jù)的傳送 a/d轉(zhuǎn)換后得到的數(shù)據(jù)應及時傳送給單片機

18、進行處理。數(shù)據(jù)傳送的關(guān)鍵問題是如何確認a/d轉(zhuǎn)換的完成,因為只有確認完成后,才能進行傳送。為此可采用下述三種方式。(1)定時傳送方式對于一種a/d轉(zhuǎn)換器來說,轉(zhuǎn)換時間作為一項技術(shù)指標是已知的和固定的。例如adc0809轉(zhuǎn)換時間為128s,相當于6mhz的mcs-51單片機共64個機器周期??蓳?jù)此設計一個延時子程序,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),即可確認轉(zhuǎn)換是否完成,并接著進行數(shù)據(jù)傳送。(3)中斷方式把表明轉(zhuǎn)換完成的狀

19、態(tài)信號(eoc)作為中斷請求信號,以中斷方式進行數(shù)據(jù)傳送。不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進行數(shù)據(jù)傳送。首先送出口地址并以信號有效時,oe信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機接收。1.1.4 485通信模塊 rs485由于傳輸速率高, 傳輸距離遠, 故本系統(tǒng)采用rs485 標準。但由于微機標準配置通常只提供rs232c串行端口, 因此需要使用rs232c / rs485通信接口進行轉(zhuǎn)接。通過rs232/rs485轉(zhuǎn)換電路將pc機串口rs232信號轉(zhuǎn)換成rs485信號。rs485采用差分傳輸方式, 可以有效地提高共??垢蓴_能力, 最高傳輸速率可達1200 kb /

20、s。rs485的特性包括:(1)rs-485的電氣特性:邏輯“1”以兩線間的電壓差為+(26)v表示;邏輯“0”以兩線間的電壓差為-(26)v表示。接口信號電平比rs-232-c降低了,就不易損壞接口電路的芯片, 且該電平與ttl電平兼容,可方便與ttl 電路連接。(2)rs-485的數(shù)據(jù)最高傳輸速率為10mbps 。(3)rs-485接口強,即抗噪聲干擾性好。(4)rs-485接口的最大傳輸距離標準值為4000英尺,實際上可達 3000米(理論上的數(shù)據(jù),在實際操作中,極限距離僅達1200米左右)。1.2系統(tǒng)方案1.2.1系統(tǒng)的整體結(jié)構(gòu)該設計需要完成對8路溫度的檢測。通過一些硬件及其配套的軟件

21、來實現(xiàn)rs-485通信功能的8路溫度檢測功能。其經(jīng)過pt100對溫度采集,adc0809進行ad轉(zhuǎn)換,lcd溫度數(shù)據(jù)的顯示,傳輸?shù)冗^程。其系統(tǒng)的整體結(jié)構(gòu)框圖如下圖1所示 。圖11 系統(tǒng)原理模塊1.2.2 軟件介紹(1)keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(vision)將這些部分組合在一起。運行keil軟件需要win98、nt、win20

22、00、winxp等操作系統(tǒng)。如果你使用c語言編程,那么keil幾乎就是你的不二之選。keil c5的優(yōu)點如下:a. keil c51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。b.與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用c來開發(fā),體會更加深刻。 (2) proteus是世界上著名的eda工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到pcb設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、pcb設計軟件和虛擬模型仿真軟

23、件三合一的設計平臺,其處理器模型支持8051、hc11、avr、arm、8086、pic10/12/16/18/24/30/dspic33和msp430等,2010年又增加了cortex和dsp系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持iar、keil和mplab等多種編譯器。功能是:1原理布圖2pcb自動或人工布線 3spice電路仿真。1.2.3 系統(tǒng)測試為了驗證系統(tǒng)的可靠性,在系統(tǒng)設計完畢后就需要對各功能模塊進行測試。首先在keil上面對編寫的程序進行編譯檢測錯誤,根據(jù)proteus的仿真原理圖進行軟件的仿真。其次進行硬件測試,上電前仔細檢查各元器件是否正確焊接在電路

24、板上,硬件測試完畢后,將生成的hex文件載入到單片機中;最后進行系統(tǒng)總體調(diào)試,驗證系統(tǒng)功能。1.3 章節(jié)安排本論文共分為五章。第1章是緒論,主要闡述了設計中的一些基本原理和系統(tǒng)總體方案設計。第2章是硬件設計,主要介紹簡單的原理圖,及其硬件功能模塊的實現(xiàn)。第3章是軟件設計,詳細闡述各個模塊軟件設計,及其各個子程序的流程介紹,實現(xiàn)方式等。第4章是調(diào)試與分析,通過測試程序,驗證各模塊的功能,并對調(diào)試過程中產(chǎn)生的問題進行分析與總結(jié)。第5章是系統(tǒng)設計的結(jié)論與展望,在這一章中,結(jié)論對系統(tǒng)的設計結(jié)果作了簡單的總結(jié),展望則根據(jù)系統(tǒng)中存在的不足提出了一些相應的改進的方法。第2章 硬件設計在設計過程中,將系統(tǒng)功能

25、分為硬件和軟件兩部分來分別實現(xiàn)。本章詳細介紹了系統(tǒng)設計的硬件部分在電路實現(xiàn)的過程中的硬件原理圖及其選擇的主要器件。2.1 總體設計根據(jù)系統(tǒng)的功能要求,硬件方面需要完成如下設計:以單片機at89s52為核心部件,pt100溫度的采集, 基于adc0809的數(shù)模轉(zhuǎn)換,數(shù)據(jù)通信,控制報警, 按鍵設計,溫度顯示等,其整體設計框圖如圖2-1所示。 圖2-1 硬件總體設計框圖其中,各個模塊的功能如表2-1所示。 表21 各模塊功能部件功能測量pt100采集溫度值a/d轉(zhuǎn)換 adc0809對采樣的值進行數(shù)模轉(zhuǎn)換數(shù)據(jù)通信 rs-485使得該系統(tǒng)具有通信功能控制報警 蜂鳴器在溫度低于上限或者高于上限時驅(qū)動報警按

26、鍵模塊通過按鍵設置上下限進行確認顯示模塊采用液晶顯示屏對數(shù)值進行顯示單片機控制整個系統(tǒng)的核心控制處系統(tǒng)性能特點及工作原理: 本系統(tǒng)由單片機、溫度采集、按鍵、顯示、報警、數(shù)據(jù)傳輸?shù)炔糠纸M成。pt100由于溫度變化,引起電阻發(fā)生變化,進而橋式測溫電路的電壓值發(fā)生變化,經(jīng)過差分放大、ad轉(zhuǎn)換后送入單片機,之后通過液晶顯示溫度數(shù)值。 其中at89s52單片機為系統(tǒng)核心,主要完成對溫度數(shù)據(jù)的采集和處理,控制系統(tǒng)的工作,協(xié)調(diào)rs485串行通信 。本系統(tǒng)能實現(xiàn)對8路溫度的檢測和顯示,可預設各路溫度的上、下限值,設置定點或巡回檢測方式及報警功能。2.2 系統(tǒng)主要器件的介紹2.2.1 單片機at89s52at8

27、9s52 是一種低功耗、高性能cmos8位微控制器,具有 8k 在系統(tǒng)可編程flash存儲器。使用atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完 全兼容。片上flash允許程序存儲器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應用系統(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口線

28、;(7)三個16位定時器/計數(shù)器;(8)8個中斷源;(9)全雙工uart串行通道;(10)低功耗空閑和掉電模式;(11)掉電后中斷可喚醒;(12)看門狗定時器;(13)雙數(shù)據(jù)指針;(14)掉電標識符。2.2.2 a/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)換起??刂贫耍唬?)轉(zhuǎn)換時間為100s(時鐘為640khz時),130s(時鐘為500khz時);(4)單個+5v電

29、源供電;(5)模擬輸入電壓范圍0+5v,不需零點和滿刻度校準;(6)工作溫度范圍為-40+85攝氏度;(7)低功耗,約15mw。2.2.3 溫度傳感器pt100是鉑熱電阻,它的阻值會隨著溫度的變化而改變。pt后的100即表示它在0時阻值為100歐姆,在100時它的阻值約為138.5歐姆。它的工業(yè)原理:當pt100在0攝氏度的時候他的阻值為100歐姆,它的阻值會隨著溫度上升而成勻速增長的但他們之間的關(guān)系并不是簡單的正比的關(guān)系,而更應該趨近于一條拋物線。pt100由于溫度變化,引起電阻發(fā)生變化,進而橋式測溫電路的電壓值發(fā)生變化,經(jīng)過差分放大 。2.2.4 顯示lcd 16021602液晶也叫160

30、2字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它的特性有:(1)3.3v或5v工作電壓,對比度可調(diào);(2)內(nèi)含復位電路;(3)提供各種控制命令,如:清屏、字符閃爍、光標閃爍、顯示移位等多種功能;(4)有80字節(jié)顯示數(shù)據(jù)存儲器ddram;(5)內(nèi)建有192個5x7點陣的字型的字符發(fā)生器cgrom;(6)8個可由用戶自定義的5x7的字符發(fā)生器cgram。2.2.5 max485芯片 max485接口芯片是maxim公司的一種rs485芯片。采用單一電源+5 v工作,額定電流為300 a,采用半雙工通訊方式。它完成將ttl電平轉(zhuǎn)換為rs485電平的功能。max485芯片的結(jié)構(gòu)

31、和引腳都非常簡單,內(nèi)部含有一個驅(qū)動器和接收器。max485的驅(qū)動器擺率不受限制, 可以實現(xiàn)最高2.5mbps的傳輸速率。驅(qū)動器具有短路電流限制,并可以通過熱關(guān)斷電路將驅(qū)動器輸出置為高阻狀態(tài)。接收器輸入具有失效保護特性,當輸入開路時,可以確保邏輯高電平輸出。具有較高的抗干擾性能。 2.3 總體電路圖 該設計以at89s52為核心構(gòu)造,對總體的功能進行設計。上述對系統(tǒng)的器件進行了介紹,根據(jù)系統(tǒng)的總體框圖,及其各模塊的作用。以系統(tǒng)的性能工作原理為核心,得到的主控電路圖如圖2-2所示。圖2-2 系統(tǒng)總體電路圖 其中包括:(1)pt100測溫及其放大電路 (2)ad 轉(zhuǎn)換連接電路(3)單片機at89s5

32、2的復位電路(4) 單片機at89s52的時鐘電路(5)1602液晶顯示電路(6)報警及其按鍵上下限設置電路 第3章 軟件設計在硬件設計的基礎(chǔ)上,需要對它進行相應的編寫應用程序。本系統(tǒng)的軟件設計采用的是c語言進行編程,c是一種很具有結(jié)構(gòu)化的語言。不僅具有豐富的運算符和數(shù)據(jù)類型,以便于實現(xiàn)各類復雜的數(shù)據(jù)結(jié)構(gòu),它還可以直接訪問內(nèi)存地址,進行(bit)位操作,尤其能夠勝任開發(fā)操作系統(tǒng)的工作。由于c語言實現(xiàn)了對硬件的編程操作,因此c語言既有較高語言的功能,也有低級語言的優(yōu)勢。c語言的維護也比匯編語言維護起來方便快捷,便于模塊方式組織程序,方便調(diào)試和維護,語言靈活。在c編程的基礎(chǔ)上,根據(jù)硬件電路原理圖,

33、本系統(tǒng)的軟件程序主要包括了:主程序,初始化,lcd1602的溫度顯示,報警函數(shù)子程序設計 ,數(shù)據(jù)的ad轉(zhuǎn)換,485通信設計。3.1 主程序的設計主程序就是監(jiān)控程序,主程序首先對各個io口進行初始化,然后用pt100溫度傳感器對溫度進行檢測。我們可以定義溫度的最高上限和下限的兩個閾值,并確認。之后溫度傳感器采集到的溫度經(jīng)過ad轉(zhuǎn)換,由單片機處理過, 將采集到的溫度值顯示在液晶顯示屏上。同時,如果采集到的溫度超過了閾值范圍,都將中斷進入報警系統(tǒng),對采集到的溫度產(chǎn)生報警信號;如果采集到的溫度在介于閾值范圍之間,則正常顯示溫度,并且循環(huán)顯示8路溫度,直到將8路溫度全部顯示完畢。根據(jù)這種流程思想,就可以

34、確定一個主要的程序流程方向,來實現(xiàn)本系統(tǒng)的主流程圖如3-1所示。圖3-1 函數(shù)主流程圖3.2 ad轉(zhuǎn)換子程序設計 該設計采用的是adc0809,它是一個8路模擬輸入的8逐次逼近式adc 。它內(nèi)部還有一個8位通道選擇開關(guān),其作用就是可以根據(jù)地址譯碼的信號來選擇8路模擬輸入,8路模擬信號分時共用adc轉(zhuǎn)換器進行轉(zhuǎn)換。其引腳功能如下:in0in7: 8位模擬量輸入端add a, add b, add c: 模擬量輸入通道地址選擇線,其8位編碼分別對應in0in7,通道選擇表如下表3-1所示ale: 地址鎖存端start: adc轉(zhuǎn)換啟動信號,正脈沖有效,該信號要求保持在200ns以上。其上升沿將內(nèi)部

35、逐次逼近寄存器清0,下降沿啟動adc轉(zhuǎn)換 eoc: 轉(zhuǎn)換結(jié)束信號,可作為中斷請求信號,或者供cpu查詢 clk: 時鐘輸入端,要求頻率范圍在10khz1.2mhz oe: 允許輸入信號 vref(+),vref(-): 基準參考電壓的正,負值 out10ut8:8路數(shù)字量輸出端 表3-1 通道選擇表cba選擇的通道000in0001in1010in2011in3100in4101in5110in6111in7 adc0809的信號設置為start=0,start=1, start=0,這樣就可以產(chǎn)生一個啟動轉(zhuǎn)換的正脈沖,進行ad轉(zhuǎn)換的時候,查詢eoc的標志信號來檢測a/d轉(zhuǎn)換是否完畢,當eoc

36、是低電平是時候,就指示的是操作正在進行當中,直到轉(zhuǎn)換完成后eoc就再次變成了高電平。當微處理器收到變成高電平的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應用說明 (1)adc0809內(nèi)部帶有輸出鎖存器,可以與at89s51單片機直接相連(2)初始化時,使st和oe信號全為低電平(3)送要轉(zhuǎn)換的哪一通道的地址到a,b,c端口上(4)在st端給出一個至少有100ns寬的

37、正脈沖信號(5)是否轉(zhuǎn)換完畢,我們根據(jù)eoc信號來判斷(6)當eoc變?yōu)楦唠娖綍r,這時給oe為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機在該設計中,濾波程序是抑制抗干擾的一種有效的措施,該系統(tǒng)程序中套用了濾波程序,將經(jīng)過ad轉(zhuǎn)換后的數(shù)值進行處理。對每路溫度的采集分5次采集,求出這5個數(shù)據(jù)中的最大值最小值,maxmin求出差值,求出5個采集點的數(shù)學期望,將此進行比較,若差值大于期望值,則會認為采集到的數(shù)據(jù)點不合要求,舍棄該采集值,重新進行采集。增加了該濾波程序,可以舍去偶然因素引起的波動和采集不穩(wěn)定引起的誤差,可以抑制信號的干擾成分,消除隨機誤差,使得溫度的采集更加的穩(wěn)定。主要的流程圖如圖3-2所示。 圖

38、3-2 a/d轉(zhuǎn)換的流程圖 3.3 lcd溫度顯示程序設計 在溫度的顯示上,采用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:背光源負極 當rs及r/w的引腳信號為1且e的引腳由1變成了0時,讀取數(shù)據(jù):當rs的引

39、腳信號為1時,r/w引腳信號為0,且e的引腳由1變成了0,存入數(shù)據(jù)。故可以根據(jù)設置rs及r/w的高低電平來控制數(shù)據(jù)的讀取,存入。它具體的指令操作包括清屏,回車,輸入模式控制,顯示開關(guān)控制,以為控制,顯示模式控制如下3-2表所示。 表3-2 指令系統(tǒng)指令名稱控制信號指令代碼功能rsr/wd7 d6 d5 d4 d3 d2 d1 d0清屏000 0 0 0 0 0 0 0顯示清屏:(1)數(shù)據(jù)指針清0(2)所有顯示清除回車000 0 0 0 0 0 1 0顯示回車,數(shù)據(jù)指針清0輸入模式控制000 0 0 0 0 1 n s設置光標,顯示畫面移動方向顯示開關(guān)控制000 0 0 0 d/l d c b設

40、置顯示,光標,閃爍開關(guān)移位控制000 0 0 1 s/c r/l 使光標或顯示畫面移位顯示模式控制000 0 1 d/l n f 設置數(shù)據(jù)總線位數(shù),點陣方式ggram地址設置000 1 acgddram地址指針設置001 add忙狀態(tài)檢查01bf ac讀數(shù)據(jù)11數(shù)據(jù)從ram中讀取數(shù)據(jù)寫數(shù)據(jù)10數(shù)據(jù)對ram進行寫數(shù)據(jù)數(shù)據(jù)指針設置0080h+地址碼(027h,40h47h)設置數(shù)據(jù)地址指針 在該系統(tǒng)之中,先對lcd進行初始化設置,將ad轉(zhuǎn)換后的數(shù)值向lcd發(fā)送,lcd讀取數(shù)據(jù),然后寫入函數(shù),最后將采集到的溫度值顯示在lcd1602的屏幕上。其流程圖如下圖3-3所示。 圖3-3 lcd顯示流程圖3.

41、4 報警子程序設計該系統(tǒng)具有設定上下限報警功能,若采集到的溫度值超過了設置的上下限溫度值,則會驅(qū)動蜂鳴器產(chǎn)生報警信號led也會閃爍報警,而如果在此范圍之內(nèi),則led正常發(fā)亮,說明溫度顯示正常。如下3-4所示。 用if語句控制,蜂鳴器在低電平有效,故采集到溫度不在范圍之內(nèi)時,將引腳置低電平,p02置0,三極管將會產(chǎn)生一個壓差,電路導通后,蜂鳴器就會報警,紅色led也會閃爍。圖3-4 報警子程序流程圖3.5 按鍵設置程序設計從電路圖中可以看出,該系統(tǒng)中設計了3個按鍵,分別控制著系統(tǒng)的“通道+”,“通道-”,還有“確認”這三個功能,用來選擇顯示的通道。通常,按鍵的閉合與否通常用高電平與低電平來進行檢

42、測的。當鍵閉合時,該鍵為低電平;當鍵斷開時,該鍵為高電平。 然而,按鍵的閉合與斷開之間存在著機械彈性,在機械彈性的作用下,按鍵在閉合斷開之間會出現(xiàn)抖動的過程。在抖動期間,檢測按鍵的通/斷作用,就很可能導致錯誤的出現(xiàn),按鍵的一次按下或者釋放都將被誤認為是很多次的操作,因此,在按鍵的處理之中,應該設置軟件上的去抖動方法。在軟件中去抖動就是利用延時子程序,再確認按鍵是否仍然閉合,若仍然閉合,則確認為按鍵按下,消除了這個抖動的影響,流程圖如下圖3-5所示。圖3-5 按鍵設置處理程序流程圖3.6 rs-485通信模塊程序設計上位機和下位機之間的串行通信采用rs -485標準接口, pc端接一個rs232

43、 的轉(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ù)男枨?。當re為邏輯0時,器件處于接收狀態(tài);當de為邏輯1時,器件處于發(fā)送狀態(tài)。當a引腳的電平高于b時,代表發(fā)送的數(shù)據(jù)為1;當a的電平低于b端時,代表發(fā)送的數(shù)據(jù)為0,其主要的流程圖如圖3-7所示。 圖3-6 半

44、雙工工作方式 圖3-7 485通信流程圖 第4章 調(diào)試與仿真在完成了硬件設計跟軟件設計的基礎(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)境是眾多單片機應用開發(fā)優(yōu)秀軟件之一,它集編輯,編譯,仿真于一體,支持匯編語言,plm語言,c語言的程序設計,容易操作。4.1 軟件仿真4.1.1 建立程序文件(1)打開keil uvision4,新建keil項目,選擇at89c51單片機作為cpu; 建立一個文件夾作為工作文件夾,進入集成開發(fā)環(huán)境中,選擇菜單“projectnew uvision project”,在

45、彈出的“new uvision project”對話框中,將“保存在”下拉列表中選擇自己的工作文件夾,在“文件名”中鍵入文件名,保存,如圖4-1。關(guān)閉對話框,將會彈出“select device for target target 1”對話框,選擇芯片類型為at89c51。單擊確定即可,如圖4-2。 圖4-1 建立新的工程名圖4-2 選擇所需單片機型號(2)新建c源文件,編寫程序并將其導入到“source group 1”之中;單擊“creat any empty document”,在彈出的文本框中輸入c語言程序,輸入完畢之后,將其保存。在彈出的“save as”中,確定保存在了自己的文件夾

46、中,在文件名輸入源文件名和擴展名,單擊“保存”按鈕,關(guān)閉對話框,保存程序,如圖4-3所示。 圖4-3 保存c源文件單擊右鍵“ project” 窗口中的“source group 1”,在彈出的對話框選擇“add files to groupsource group 1”,在“文件類型當中選擇.c源文件”如圖4-4所示。 圖4-4 添加c源文件選中欲添加的源程序,單擊“add”按鈕,將源程序添加到工程當中。而在“source group 1”中將出現(xiàn)該源程序文件名。(3)在“option for target”對話框中。選擇“output”“create hex file”選項。如圖4-5所示

47、。圖4-5 設置生成.hex文件(4)編譯源程序,修改程序中的錯誤直到通過。4.1.2 加載目標代碼文件(1)在proteus isis中,左鍵雙擊at89c51元件,打開“edit component”對話框,設置單片機的頻率為12mhz;(2)在該窗口中“program film”欄中,選擇先前生成的“.hex”文件,如圖4-6所示;圖4-6 設置單片機頻率及選擇“.hex”文件(3)在proteus isis菜單欄目中選擇【file】【save design】選項,保存設計;(4)在proteus isis菜單欄中,打開“debug”下拉菜單,在菜單中選擇“ use remote deb

48、ug monitor”選項,以支持與keil的聯(lián)調(diào)。4.1.3 進行調(diào)試與仿真(1)在keil的欄目中選擇【debug】【start/stop debug session】選項,或者在工具欄中直接點擊圖標,進入調(diào)試環(huán)境狀態(tài);(2)按“f5”鍵,順序執(zhí)行程序;(3)proteus isis界面中,按動按鍵設置上下閾值,撥動滑動變阻器仿真溫度值。在此說明的是,溫度的采集中pt100傳感器的工作原理是可調(diào)電阻原理,電阻值的變化引起電壓變化,經(jīng)過轉(zhuǎn)換得到溫度值,故在此用滑動變阻器來代替了傳感器來進行軟件的仿真。 本仿真針對一路通道的溫度采集進行了仿真調(diào)試,其proteus仿真圖如4-7所示。 圖4-7

49、 proteus溫度采集仿真圖 按動開關(guān),可以看到lcd液晶屏上面顯示出了歡迎語句,lcd啟動,如圖4-8所示。 圖4-8 lcd啟動,進入主頁面 撥動滑動變阻器,可以看到lcd上顯示的溫度數(shù)值的變化,如圖4-9,4-10可以看出其顯示的變化。圖4-9 lcd顯示的溫度值 圖4-10 撥動滑動變阻器之后lcd顯示的溫度值4.2 硬件調(diào)試 經(jīng)過了軟件的仿真后,將程序燒到單品機中,進行硬件調(diào)試,即將生成的.hex 文件載入系統(tǒng)控制中心單片機中。板子進入工作狀態(tài),電源指示燈亮,表示工作正常。lcd1602液晶上也顯示出了轉(zhuǎn)換后的溫度值,如圖4-11所示。 圖4-11 lcd的溫度值顯示用螺絲刀轉(zhuǎn)動滑

50、動變阻器,可以觀察到各路溫度的變化。切換通道,可以觀察到不同通道的溫度值,如圖4-12所示。 圖4-12 比較不同通道,lcd顯示的溫度值其中在溫度報警模塊中,若溫度正常顯示,則led綠色燈亮,若超出測量顯示范圍,則紅色的led閃爍,如圖4-13所示。 圖4-13 溫度報警模塊顯示4.3 產(chǎn)生的問題與分析 在系統(tǒng)的調(diào)試過程中產(chǎn)生的問題多種多樣,下面就所產(chǎn)生的問題進行分析,以及它是如何得到解決作一些簡單的闡述。1. 按鍵設置問題 在按動按鍵的時候,發(fā)現(xiàn)出現(xiàn)轉(zhuǎn)換錯亂的現(xiàn)象,按動一下按鍵,顯示不變或者多次改變。經(jīng)過查看模塊程序,發(fā)現(xiàn)delay程序的延遲時間有的太短有的太長,所以造成了一次的按鍵操作系

51、統(tǒng)沒有反應或者系統(tǒng)當成了多次操作。因此給程序中的延遲時間做適當?shù)恼{(diào)整后,按鍵恢復正常狀態(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é)論與展望最后本章對這個總體論文及其設計進行一個總結(jié), 并

52、提出不足之處與改進方法。5.1 結(jié)論 在硬件的器件選擇基礎(chǔ)上,根據(jù)電路結(jié)構(gòu)框圖及其原理圖的基礎(chǔ)。在軟件設計中,實現(xiàn)了溫度采集,ad轉(zhuǎn)換,溫度顯示等功能??傊?,本設計基本符合了設計的基本要求。 在這次的畢業(yè)設計之中,對溫度傳感器,以及ad轉(zhuǎn)換等都有了一些認識,同時也學習到了一些書本上學習不到的東西,不僅僅增強的是一種動手的能力,而且還培養(yǎng)了發(fā)現(xiàn)問題解決問題的意識,能力。在這次的畢業(yè)設計,使得我對學習到的理論知識有了深刻的理解與體會。 同時,也發(fā)現(xiàn)自己的很多不足,學習的理論知識功底不足,c語言學習不牢靠,不能夠完全融會貫通所學到的知識。對知識的運用能力很不到位,考慮問題不充分不全面。所以在今后的學

53、習之中,必須努力的充實自己,鍛煉自己的各種能力,使得自身的理論素養(yǎng)與實踐動手能力得到更大的提高。5.2 展望 這個系統(tǒng)的設計基本完成了它的功能,但是當然還存在一些不足的地方,所以,可以改進。(1)在該設計中是有線溫度控制,可以采用無線模塊方式實現(xiàn)遠程溫度數(shù)據(jù)采集。實現(xiàn)遠端環(huán)境數(shù)據(jù)的采集,可以不受距離的限制。(2)rs-485 可以實現(xiàn)數(shù)據(jù)之間的轉(zhuǎn)換,通過協(xié)議以及軟硬件配合,可以實現(xiàn)上位機,與pc通信的功能,在本設計中沒有充分體現(xiàn)這個特性。(3)在測量精度上還有待提高。 參考文獻1 何麗華,譚成武,許治平,單片機多路溫度巡檢儀j,自動化儀表,19982 張紅兵 王華凌 編著,基于鉑電阻pt100的溫度傳感器設計j,電子制作,20

溫馨提示

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

最新文檔

評論

0/150

提交評論