電子溫度計的溫度采集系統(tǒng)程序設(shè)計_第1頁
電子溫度計的溫度采集系統(tǒng)程序設(shè)計_第2頁
電子溫度計的溫度采集系統(tǒng)程序設(shè)計_第3頁
電子溫度計的溫度采集系統(tǒng)程序設(shè)計_第4頁
電子溫度計的溫度采集系統(tǒng)程序設(shè)計_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、畢 業(yè) 論 文 正 文 第39頁哈爾濱職業(yè)技術(shù)學(xué)院印制摘 要在我的論文中,是以AT89C51單片機為核心的,對溫度的檢測與顯示進行了簡單的設(shè)計與闡述。本次設(shè)計可以說是軟硬結(jié)合,又以硬件為主。電子溫度計溫度采集系統(tǒng)由主控制器、溫度采集電路、溫度顯示電路、報警控制電路及鍵盤輸入控制電路組成。它利用單片機AT89C51做控制及數(shù)據(jù)處理器、智能溫度傳感器DS18B20做溫度檢測器、LED數(shù)碼顯示管做溫度顯示輸出設(shè)備。硬件電路比較簡單,成本較低,測溫范圍大,測量精度高,讀數(shù)顯示直觀,使用方便。關(guān)鍵詞:環(huán)控系統(tǒng);數(shù)字;溫度;傳感器;單片機;控制目 錄 TOC o 1-3 h z u HYPERLINK l

2、 _Toc358356629 一、一線總線介紹 PAGEREF _Toc358356629 h 3 HYPERLINK l _Toc358356630 (一)一線總線器件工作原理 PAGEREF _Toc358356630 h 3 HYPERLINK l _Toc358356633 (二)一線總線協(xié)議簡介 PAGEREF _Toc358356633 h 5 HYPERLINK l _Toc358356634 二、電子溫度計硬件電路設(shè)計 PAGEREF _Toc358356634 h 7 HYPERLINK l _Toc358356635 (一)方案確定 PAGEREF _Toc35835663

3、5 h 7 HYPERLINK l _Toc358356639 (二)溫度采集電路設(shè)計 PAGEREF _Toc358356639 h 8 HYPERLINK l _Toc358356642 (三)單片機控制電路設(shè)計 PAGEREF _Toc358356642 h 10 HYPERLINK l _Toc358356644 (四)顯示電路設(shè)計 PAGEREF _Toc358356644 h 12 HYPERLINK l _Toc358356645 (五)報警控制電路設(shè)計 PAGEREF _Toc358356645 h 13 HYPERLINK l _Toc358356646 (六)電源電路設(shè)計

4、PAGEREF _Toc358356646 h 14 HYPERLINK l _Toc358356647 (七)看門狗電路 PAGEREF _Toc358356647 h 14 HYPERLINK l _Toc358356648 三、電子溫度計的溫度采集系統(tǒng)程序設(shè)計 PAGEREF _Toc358356648 h 16 HYPERLINK l _Toc358356649 (一)主程序設(shè)計 PAGEREF _Toc358356649 h 16 HYPERLINK l _Toc358356650 (二)子程序設(shè)計 PAGEREF _Toc358356650 h 16 HYPERLINK l _To

5、c358356652 四、系統(tǒng)調(diào)試與仿真 PAGEREF _Toc358356652 h 21 HYPERLINK l _Toc358356653 (一)系統(tǒng)調(diào)試 PAGEREF _Toc358356653 h 21 HYPERLINK l _Toc358356654 (二)系統(tǒng)的仿真 PAGEREF _Toc358356654 h 22 HYPERLINK l _Toc358356655 (三)系統(tǒng)的運行 PAGEREF _Toc358356655 h 22 HYPERLINK l _Toc358356656 結(jié) 論 PAGEREF _Toc358356656 h 23 HYPERLINK

6、l _Toc358356657 參考文獻 PAGEREF _Toc358356657 h 24 HYPERLINK l _Toc358356658 附錄A 電路圖 PAGEREF _Toc358356658 h 25 HYPERLINK l _Toc358356659 附錄B 程序代碼 PAGEREF _Toc358356659 h 26 HYPERLINK l _Toc358356660 附錄C 元件清單 PAGEREF _Toc358356660 h 38 HYPERLINK l _Toc358356661 致 謝 PAGEREF _Toc358356661 h 39緒 論地鐵是一類特殊的

7、建筑,是由多個車站通過隧道連接成的一個整體。地鐵主體建筑(車站和行車隧道)一般位于地下數(shù)米至數(shù)十米深處,其上覆蓋土層,是一個相對封閉的場所。內(nèi)部空間(包括隧道和站臺,站廳等)較大,但與外界連通的開口相對較少,只有少量的通風井和車站的出入口與外界直接連通,其他部分基本上與大氣隔絕。由于功能上的要求,地鐵一般是全年運行的,在車站和隧道內(nèi)有大量的人流和車流,而且流量在不斷地變化。地鐵運營和乘客進出站口揮發(fā)出大量的熱量,使空氣濕度增大,同時還產(chǎn)生一些有害氣體,如不及時排除就會降低地鐵的運營環(huán)境。同時,當列車因非火災(zāi)事故阻塞在區(qū)間隧道內(nèi)時,因不能產(chǎn)生“活塞效應(yīng)”而無法提供新鮮空氣而導(dǎo)致停留在車廂內(nèi)的乘客

8、和向安全地疏散的乘客感到不舒適。隨著人們生活水平的提高,地鐵必須給乘客提供一個舒適度高的環(huán)境。因此,建立一套完整的環(huán)控系統(tǒng)不僅是乘客舒適乘車的要求也是確保地鐵安全運營的要求。地鐵環(huán)控系統(tǒng)主要由以下幾部分組成:隧道通風系統(tǒng);車站空調(diào)通風系統(tǒng)(大系統(tǒng));車站管理用房和設(shè)備用房空調(diào)通風系統(tǒng)(小系統(tǒng));空調(diào)制冷循環(huán)水系統(tǒng);隧洞口空氣幕系統(tǒng);折返線通風系統(tǒng)等。環(huán)控系統(tǒng)的作用是控制和調(diào)節(jié)地鐵內(nèi)的熱環(huán)境,保證地鐵內(nèi)的IAQ(室內(nèi)空氣品質(zhì))在一個合理舒適的范圍之內(nèi),滿足乘客和工作人員的舒適性、健康和安全需求,滿足設(shè)備的工作要求。此外,它應(yīng)當在事故及災(zāi)害情況下進行通風、排煙和排熱,起到生命保障及輔助滅火作用。

9、環(huán)控系統(tǒng)的運行模式分為開式運行模式、閉式運行模式、屏蔽門模式3種形式。設(shè)置站臺屏蔽門,就是通過在地鐵車站的站臺候車區(qū)與行車軌道之間設(shè)置屏蔽門裝置,將地鐵車站與區(qū)間隧道從空間上分隔開來,將車站和區(qū)間分隔成兩個不同的空氣環(huán)境區(qū)域。站臺屏蔽門可以減少列車活塞風對車站站臺環(huán)境的影響,列車運行產(chǎn)生的熱量大部分通過設(shè)置在車站端部的活塞風道及車站行車道頂部和站臺下排熱風道直接排放到地面,因而可以阻止大部分的列車散熱量進入車站。溫度是人們?nèi)粘I钪薪佑|最多的物理量,人們的日常生活、動植物的生存繁衍和周圍環(huán)境的溫度息息相關(guān),石油、化工、冶金、紡織、機械制造、航空航天、制藥、煙草、檔案保管、糧食存初等領(lǐng)域?qū)囟纫?/p>

10、有著較高的要求,還有,對于地鐵中更是不可忽略的部分。例如:印刷車間的溫度控制水平對印刷質(zhì)量有很大的影響;為防止庫存武器彈藥、金屬材料等物品霉爛、生銹,必須保持環(huán)境溫度不能過高和干燥;而水果、種子、肉類等的保存也需要保證一定的溫度;在礦山、棉麻、塑料、食品生產(chǎn)加工等企業(yè)的生產(chǎn)環(huán)境中,如果空氣溫度不適應(yīng),極易發(fā)生不良反應(yīng)。溫度是溫度監(jiān)控系統(tǒng)中最基本、最為核心的衡量指標,也是測溫系統(tǒng)中最為重要的被控參數(shù),因此對溫度進行準確的檢測一直是一個重要的研究課題。因此,測量溫度的儀器在測溫系統(tǒng)中占有至關(guān)重要的地位。隨著科學(xué)技術(shù)的發(fā)展和人們生活水平的提高,單片機控制無疑是人們追求的目標之一,他給人們帶來的方便也

11、是不可否定的,但是人們的要求越來越高,要為現(xiàn)代人工作、科研、生活提供更好的更方便的設(shè)施就需要從單片機技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。所以,本次設(shè)計是為了對于地鐵內(nèi)環(huán)控系統(tǒng)內(nèi)溫度采集裝置而設(shè)計的。一、一線總線介紹一線總線(1-Wire Bus)技術(shù)采用單根信號線,既傳輸時鐘,又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,其線路簡單、硬件開銷少、成本低廉、軟件設(shè)計更方便,因此具有無可比擬的優(yōu)勢(一)一線總線器件工作原理1. 一線總線技術(shù)簡介目前,常用的微機與外設(shè)串行總線主要有我們熟知的I2C總線,SPI總線,SCI總線等等。其中I2C總線是以同步串行2線方式進行通信(一條時鐘線,一條數(shù)據(jù)線)

12、,SPI總線是以同步串行3線方式進行通信(一條時鐘線,一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線),SCI總線是以異步方式進行通信(一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線)。這些總線至少需要有兩條或兩條以上的信號線。近年來,美國的達拉斯半導(dǎo)體公司(DALLAS SEMICONDUCTOR)推出了一線總線(1-Wire Bus)技術(shù),與上述的總線不同,它采用一單根信號線,既傳輸時鐘,又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,其具有線路簡單,減少硬件開銷,成本低廉,便于總線的擴展和維護等優(yōu)點微控制器微控制器(主機)一線總線器件#1一線總線器件#2一線總線器件#3一線總線器件#4圖1-1 一線總線硬件接口示意圖一線總線要求外接

13、一個約4.7k的上拉電阻,這樣,當總線閑置時,其狀態(tài)為高電平。主機和從機之間的通信總體上說是通過以下3個步驟完成的:初始化1-wire器件;識別1-wire器件;交換數(shù)據(jù)。由于二者是主從結(jié)構(gòu),只有主機呼叫從機時,從機才能應(yīng)答,因此主機訪問1-wire器件都必須嚴格遵循一線總線命令序列:初始化、ROM命令、功能命令9。如果出現(xiàn)順序混亂,1-wire器件就不會響應(yīng)主機(搜索ROM命令,報警搜索命令除外)。通信信號方式要求所有的一線總線器件要求遵循嚴格的通信協(xié)議,以保證數(shù)據(jù)的完整性。2. 一線總線工作原理顧名思義,一線總線只有一根數(shù)據(jù)線,系統(tǒng)中的數(shù)據(jù)交換、控制都在這根線上完成。設(shè)備(主機或從機)通過

14、一個漏極開路或三態(tài)端口連至該數(shù)據(jù)線,這樣允許設(shè)備不發(fā)送數(shù)據(jù)時釋放總線,以便其他設(shè)備使用。其內(nèi)部等效電路如下圖1-2所示。圖1-2 一線總線硬件接口示意圖一線總線要求外接一個約4.7k的上拉電阻,這樣,當總線閑置時,其狀態(tài)為高電平。主機和從機之間的通信總體上說是通過以下3個步驟完成的:初始化1-wire器件;識別1-wire器件;交換數(shù)據(jù)。由于二者是主從結(jié)構(gòu),只有主機呼叫從機時,從機才能應(yīng)答,因此主機訪問1-wire器件都必須嚴格遵循一線總線命令序列:初始化、ROM命令、功能命令9。如果出現(xiàn)順序混亂,1-wire器件就不會響應(yīng)主機(搜索ROM命令,報警搜索命令除外)。通信信號方式要求所有的一線總

15、線器件要求遵循嚴格的通信協(xié)議,以保證數(shù)據(jù)的完整性。(二)一線總線協(xié)議簡介一線總線系統(tǒng)網(wǎng)絡(luò)的主機和從機之間,遵循一線總線協(xié)議進行通信。目前大多數(shù)傳感器系統(tǒng)是采用放大、傳輸、數(shù)模變換這種處理模式。這種模式中傳輸?shù)姆绞讲捎貌⒖诨虿捎么冢@兩種方式一般要占用數(shù)根數(shù)據(jù)/控制線,限制了單片機使用功能的擴展10。一線總線協(xié)議就解決了這種問題。數(shù)字式傳感器的核心之一就是采用什么協(xié)議能最大限度的高速安全的傳輸數(shù)據(jù),另外就是如何更好的節(jié)省硬件資源。一線總線協(xié)議通過一根總線實現(xiàn)主設(shè)備對從設(shè)備的控制(主設(shè)備往往是微控器等),一線總線器件在采用這種工作方式時就充當著從設(shè)備的作用11。由于只有一根線,并且沒有譯碼功能,

16、所以這些器件是一線總線系統(tǒng)唯一的從設(shè)備,所有的數(shù)據(jù)和命令都在這根總線上傳送,數(shù)據(jù)和命令字節(jié)傳送順序是從低位到高位。為了使其它的設(shè)備也能使用這根線,一線總線協(xié)議通過一個三態(tài)門轉(zhuǎn)換傳輸狀態(tài),使得每一個設(shè)備在不傳送數(shù)據(jù)時空出該數(shù)據(jù)線給其它設(shè)備12。因為一線總線在外部有一個上拉電阻,所以在總線空閑時是高電平。為保證信號的完整性,一線總線協(xié)議定義了以下幾種信號:復(fù)位脈沖、存在脈沖、讀寫0或1。除存在脈沖外,其它的信號均由主設(shè)備發(fā)出。RX和TX分別是內(nèi)部數(shù)據(jù)的發(fā)送和接收端,外界的環(huán)境量變化引起敏感膜的變化,產(chǎn)生的電信號被編碼成數(shù)字量,存儲在專用寄存器當中,經(jīng)由DQ端讀入到單片機當中。主設(shè)備給低電平并保持4

17、80s就空出總線并進入接收模式RX。此時上拉電阻器使總線為高電平,即空閑狀態(tài)。一旦一線總線器件檢測到這一上升沿,就會等待15-60s,并給出存在脈沖使總線保持60-240s的低電平。而寫操作均在讀、寫時隙之間進行,在每個時隙中,系統(tǒng)只傳送一個二進制位。二、電子溫度計硬件電路設(shè)計(一)方案確定1.傳感器部分在測溫系統(tǒng)中,傳統(tǒng)的測溫方法是將模擬信號遠距離采樣進行AD轉(zhuǎn)換,而為了獲得較高的測溫精度,就必須采用措施解決由長線傳輸測量切換及放大電路零點漂移等造成的誤差補償問題。采用數(shù)字溫度芯片DS18B20測量溫度,輸出信號全數(shù)字化。便于單片機處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理

18、化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0100攝氏度時,最大線形偏差小于1攝氏度。DS18B20的最大特點之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計DS1820和微控制器AT89C51構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計算機連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大,且由于AT89C51可以帶多個DSB1820,因此可以非常容易實現(xiàn)多點測量。輕松的組建傳感器網(wǎng)絡(luò)。2.主控制部分此方案采用AT89C51八位單片機實現(xiàn)。單片機軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實現(xiàn)簡單,安裝方便。既可以單獨對多DS18B20控制工

19、作,還可以與PC機通信。運用主從分布式思想,由一臺上位機(PC微型計算機),下位機(單片機)多點溫度數(shù)據(jù)采集,組成兩級分布式多點溫度測量的巡回檢測系統(tǒng),實現(xiàn)遠程控制。另外AT89C51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。3.系統(tǒng)方案由于PC機不能與DS18B20直接連接,所以使用不方便。因為其結(jié)構(gòu)復(fù)雜,穩(wěn)定性不強不能在任何條件下長期工作,且PC機體積龐大,攜帶不便。而AT89C51可與DS18B20直接工作,硬件實現(xiàn)簡單,系統(tǒng)穩(wěn)定,適合各種環(huán)境下應(yīng)用。按照系統(tǒng)設(shè)計功能的要求,系統(tǒng)由5個模塊組成:主控制器、溫度采集電路1、溫度顯示電路、報警控制電路、看門狗電路

20、。電子溫度計總體電路結(jié)構(gòu)框圖如圖2-1所示單單片機溫度傳感器電源顯示電路看門狗電路報警電路圖2-1 電子溫度計硬件統(tǒng)結(jié)構(gòu)框圖采用智能溫度傳感器(DS18B20)采集環(huán)境溫度并進行簡單的模數(shù)轉(zhuǎn)換;單片機(AT89C51)執(zhí)行程序?qū)囟葌鞲衅鱾鬏數(shù)臄?shù)據(jù)進行進一步的分析處理,轉(zhuǎn)換成環(huán)境對應(yīng)的溫度值,通過I/O口輸出到數(shù)碼顯示管(LED)顯示;由鍵盤輸入控制選擇某采集電路檢測溫度及顯示;報警電路對設(shè)定的最高最低報警溫度進行監(jiān)控報警。(二)溫度采集電路設(shè)計溫度采樣處理電路由溫度傳感器、放大電路、A/D轉(zhuǎn)換電路等組成。采用分塊結(jié)構(gòu)的溫度采樣處理電路,其硬件電路結(jié)構(gòu)復(fù)雜,也不便于數(shù)據(jù)的處理。采用智能溫度傳感

21、器采樣處理電路,能夠方便的進行溫度的采集及簡單的數(shù)據(jù)處理。并且可以達到設(shè)計的技術(shù)指標要求。本系統(tǒng)選擇智能溫度傳感器DS18B20作為溫度采集電路的核心器件。由DS18B20及輔助電路構(gòu)成溫度采集電路。1.DS18B20簡介(1)、DS18B20的性能特點DS18B20是美國DALLAS半導(dǎo)體公司推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等溫度傳感器相比,它能夠直接讀出被測溫度,并可根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù)方式。它的測溫精度可達到0.0625/LSB。它的測溫范圍是-55+125(2)、DS18B20供電方式外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定

22、可靠,抗干擾能力強,而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點溫度監(jiān)控系統(tǒng)。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點,即使電源電壓VCC降到3V時,依然能夠保證測量精度。所以本系統(tǒng)采用外部電源供電方式。在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證轉(zhuǎn)換精度,同時在總線上可以掛接任意多個DS18B20傳感器,組成多點測溫系統(tǒng)。外部電源供電方式如圖2-2所示。圖2-2 外部電源供電方式2.溫度采集電路結(jié)構(gòu)溫度采集電路結(jié)構(gòu)如圖2-3所示。圖中給出了溫度采集電路,1只智能溫度傳感器DS18B20的信號

23、輸出端都連接到單片機的P1.7端,電阻R6作為上拉電阻。如果需要增加,可以在P1.7端再連接更多的智能溫度傳感器DS18B20。工作時,由程序控制讀取某智能溫度傳感器DS18B20采集的溫度數(shù)據(jù),送單片機處理。圖2-3 電子溫度計溫度采集電路(三)單片機控制電路設(shè)計1.單片機芯片選擇MCS8031和AT89C51都具有4個8位I/O接口,但MCS8031沒有內(nèi)部程序存儲器,需要外接,增加了電路的復(fù)雜性;AT89C2051和AT89C51都具有Flash ROM,可以省去外接程序存儲器;但AT89C2051接口少,不利于功能擴展;故選用AT89C51。2.AT89C51單片機工作基本電路設(shè)計AT

24、89C51單片機正常工作,必須連接基本電路?;倦娐钒ňд耠娐泛蛷?fù)位電路。(1)晶振電路單片機的時鐘信號通常有兩種產(chǎn)生方式:一是內(nèi)部時鐘方式,二是外部時鐘方式。本設(shè)計采用內(nèi)部時鐘方式,在單片機的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振),作為單片機內(nèi)部振蕩電路的負載,構(gòu)成自激振蕩器,可在單片機內(nèi)部產(chǎn)生時鐘脈沖信號。(2)復(fù)位電路復(fù)位是使單片機處于某種確定的初始狀態(tài)。單片機工作從復(fù)位開始。本設(shè)計采用復(fù)位電路。電路如圖2-4中所示圖2-4 單片機控制電路(四)顯示電路設(shè)計顯示電路采用LED數(shù)碼管顯示。LED數(shù)碼顯示管有靜態(tài)顯示方式和動態(tài)顯示方式,本系統(tǒng)采用串行輸出的靜態(tài)顯示方式。1.LE

25、D數(shù)碼顯示管靜態(tài)顯示工作原理LED顯示器工作于靜態(tài)顯示方式時,各位的陰極(或陽極)選擇線連接在一起并接地(或+5V);每位的段碼線分別與1個8位的鎖存器輸出連接。2.顯示電路結(jié)構(gòu)顯示電路由單片機AT89C51的P3.0端作數(shù)據(jù)輸出,連接到低位74LS164的數(shù)據(jù)輸入引腳端,其余2片74LS164的數(shù)據(jù)輸入端分別接到它前面一位74LS164的數(shù)據(jù)輸出端的最高位引腳端。顯示電路如圖2-5所示。圖2-5顯示電路結(jié)構(gòu)3.顯示電路工作過程AT89C51單片機工作在串行口方式0下(移位寄存器方式),P3.0(RXD)為數(shù)據(jù)輸出端,P3.1(TXD)為移位脈沖輸出端,P1.4為74LS164允許輸出控制端。

26、串行口發(fā)送緩沖區(qū)的數(shù)據(jù)在移位脈沖的作用下,一位一位地從P3.0口移入到74LS164中,并在控制信號的控制作用下,通過LED數(shù)碼顯示管顯示。(五)報警控制電路設(shè)計1.報警控制電路結(jié)構(gòu)報警控制電路由單片機AT89C51的P3.7端作輸出,通過一個限流電阻與三極管C945的基極相連接。報警控制電路如圖2-6所示。圖2-6 報警工作電路2.報警控制電路工作過程(1)壓電蜂鳴器工作原理壓電蜂鳴器以壓電陶瓷制作而成。壓電陶瓷是一類有將壓力與電流相互轉(zhuǎn)換能力的特殊陶瓷。當壓電陶瓷在一定方向上受到一個壓力使其晶體結(jié)構(gòu)發(fā)生形變時,它就會在內(nèi)部產(chǎn)生一個電流,電流的變化與壓力的變化密切相關(guān)。反之,當在壓電陶瓷上加

27、上一定頻率的電壓,就會在內(nèi)部產(chǎn)生一定頻率的電流,從而就會引起壓電陶瓷微小形變,這一形變帶動空氣發(fā)生振動。(2)報警控制電路工作過程報警控制信號由單片機AT89C51的P3.7端輸出,通過一個限流電阻加到三極管C945的基極。當P3.7端的輸出信號發(fā)生變化時,則三極管C945將交替的工作于截止、飽和狀態(tài),形成高低電平的波,從而使壓電蜂鳴器發(fā)出聲音。(六)電源電路設(shè)計電源電路由變壓器、單相橋式整流電路、濾波電路和三端穩(wěn)壓電路構(gòu)成。其電路圖如圖2-7所示,圖中“output”端輸出為+5V。圖2-7 電源電路電子設(shè)備中常使用輸出電壓固定的集成穩(wěn)壓器。在本系統(tǒng)中,要求電源電壓為+5V,由于三端式穩(wěn)壓器

28、輸出電壓固定,故在設(shè)計中選擇三端式穩(wěn)壓器L7805。根據(jù)有效值與峰-峰值的關(guān)系選擇220V/6V的變壓器。根據(jù)經(jīng)驗選擇電解電容,其容值分別為C4=220F、C5=47F;C6、C7為高頻濾波電容,均選0.1F的無極性電容。根據(jù)FG1112004正向電流為5mA及管壓降為+2V,選擇限流電阻R5= 680。(七) 看門狗電路圖2-8 看門狗電路本設(shè)計為單片機電路添加一個外部看門狗電路,定時查詢單片機的工作狀態(tài),一旦發(fā)現(xiàn)異常即對單片機延時重起,以保證系統(tǒng)安全可靠的運行。其電路如圖2-8所示。三、電子溫度計的溫度采集系統(tǒng)程序設(shè)計(一)主程序設(shè)計主程序主要功能是控制調(diào)用子程序,實現(xiàn)溫度的實時顯示、讀出

29、并處理DS18B20的測量溫度值(溫度測量每1s進行一次)。其程序流程圖如圖3-1所示。調(diào)用顯示子程序調(diào)用顯示子程序1s到?初次上電?讀出溫度值溫度計算處理顯示數(shù)據(jù)刷新NYYN初始化發(fā)出報警YN溫度超過報警值?調(diào)用鍵盤掃描子程序發(fā)出溫度轉(zhuǎn)換開始命令圖3-1 電子溫度計主程序流程圖(二)子程序設(shè)計1.DS18B20的通信協(xié)議根據(jù)DS18B20的通訊協(xié)議,主機(單片機AT98C51)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行初始化操作,初始化成功后發(fā)送一條存儲器操作命令(ROM指令),最后處理數(shù)據(jù)(發(fā)送RAM指令),這樣才能對DS18B20進行預(yù)定的操作

30、。所用各ROM、RAM操作指令分別如表3-1、表3-2所示。表3-1 ROM指令表指令約定代碼功能讀ROM33H讀DS18B20溫度傳感器ROM中的編碼(即64位地址)符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問單總線上與該編碼相對應(yīng)的DS18B20使之做出響應(yīng),為下一步對該DS18B20的讀寫做準備.搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個數(shù)和識別64位ROM地址。為操作各器件作好準備。跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令。適用于單片工作。告警搜索命令0ECH執(zhí)行后溫度超過設(shè)定值上限或下限的片子才能做出響應(yīng)。表3-2

31、 RAM指令表指令約定代碼功能溫度轉(zhuǎn)換44H啟動DS18B20進行溫度轉(zhuǎn)換,12位轉(zhuǎn)換時最長為750ms(9位為93.75ms)。結(jié)果存入內(nèi)部9字節(jié)RAM中。讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容。寫暫存器4EH發(fā)出向內(nèi)部RAM的3、4字節(jié)寫上、下限溫度數(shù)據(jù)命令,緊跟該命令之后,是傳送兩字節(jié)的數(shù)據(jù)。2.子程序(1)鍵盤掃描子程序鍵盤掃描子程序?qū)Π聪碌逆I進行判斷,并轉(zhuǎn)到按下的相應(yīng)鍵對應(yīng)的程序段,執(zhí)行相應(yīng)的功能。其程序流程圖如圖3-2所示。(2)溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)送溫度轉(zhuǎn)換開始命令。在發(fā)送匹配ROM命令后,緊跟著發(fā)送要進行測溫的DS18B20的64位ROM序列。采用1

32、2位分辨率,轉(zhuǎn)換時間約為750ms。其程序流程圖如圖3-3所示。開始確定鍵號有鍵按下?開始確定鍵號有鍵按下?開始Y轉(zhuǎn)至相應(yīng)的程序,執(zhí)行相應(yīng)的功能N其它子程序返回發(fā)DS18B20復(fù)位命令命令匹配ROM、64位地址發(fā)溫度轉(zhuǎn)換開始命令返回圖3-2鍵盤掃描子程序流程圖 圖3-3溫度轉(zhuǎn)換命令子程序流程圖(3)讀出溫度子程序讀出溫度子程序主要功能是讀出RAM中的9個字節(jié),在讀出時需進行CRC校驗,校驗有錯時不進行溫度數(shù)據(jù)的改寫。其程序流程圖如圖3-4所示。(4)計算溫度子程序從DS18B20讀取出的二進制值必須先轉(zhuǎn)換成十進制值,才能用于字符的顯示。低字節(jié)的高半字節(jié)乘以0.0625恰好就是原整數(shù)。采用1位數(shù)

33、碼管來顯示小數(shù),可以精確到0.1。表3-3就是二進制和十進制小數(shù)的近似對應(yīng)關(guān)系。其程序流程圖如圖3-5所示。表3-3小數(shù)部分二進制和十進制的近似對應(yīng)關(guān)系表小數(shù)部分二進制數(shù)0123456789ABCDEF十進制數(shù)0011233455667889發(fā)DS18B20復(fù)位命令命令發(fā)匹配ROM、64位地址移入溫度暫存區(qū)發(fā)DS18B20復(fù)位命令命令發(fā)匹配ROM、64位地址移入溫度暫存區(qū)發(fā)讀取溫度命令讀取RAM中的9個字節(jié)9字節(jié)完?返回YNYNCRC校驗正確?開始置“+”標志計算小數(shù)位溫度BCD值計算整數(shù)位溫度BCD值溫度值取補碼置“”標志溫度零下?返回YN開始始圖3-4讀出溫度子程序流程圖 圖3-5 計算溫

34、度子程序流程圖(5)顯示數(shù)據(jù)刷新子程序顯示數(shù)據(jù)刷新子程序主要是對顯示緩沖區(qū)中的顯示數(shù)據(jù)進行刷新操作,當最高顯示位為0時將符號顯示位移入下一位。其程序流程圖如圖3-6所示。十位數(shù)顯示符號,百位數(shù)不顯示十位數(shù)0?返回十位數(shù)顯示符號,百位數(shù)不顯示十位數(shù)0?返回YN溫度數(shù)據(jù)移入顯示寄存器百位數(shù)0?百位數(shù)顯示數(shù)據(jù)(不顯示符號)YN開始返回N設(shè)定最高溫度報警值設(shè)定值小于顯示緩沖區(qū)的值?Y發(fā)出報警開始圖3-6 顯示數(shù)據(jù)刷新子程序流程圖 圖3-7 報警控制子程序流程圖(6)報警控制子程序當設(shè)定的最高報警溫度值大于顯示緩沖區(qū)中的數(shù)據(jù)時,發(fā)出報警,提示溫度超過設(shè)定的最大值。其程序流程圖如圖3-7所示。四、系統(tǒng)調(diào)試

35、與仿真(一)系統(tǒng)調(diào)試系統(tǒng)調(diào)試分為硬件調(diào)試和軟件調(diào)試兩步1、硬件調(diào)試硬件調(diào)試比較簡單,首先檢查電路的焊接是否正確及電路中有沒有虛焊等問題,然后可用萬用表測試或通電檢測電路。實物焊出來之后,先要進行硬件調(diào)試。把電子元器件連接起來,實現(xiàn)特定功能的關(guān)鍵一步是調(diào)試。具體的調(diào)試步驟如下:(1) 電前檢查。檢查的方法是對照電路圖,按一定的順序逐級對應(yīng)檢查。特別是注意電源是否接錯,輕輕撥一撥元器件,觀察焊點是否牢固等。(2)通電檢查。先調(diào)試好所需電源電壓數(shù)值,然后再給電路接通電源。電源一經(jīng)接通,先要觀察是否有異?,F(xiàn)象,如冒煙、異常氣味、放電的聲光、元器件發(fā)燙等。如果有,應(yīng)立即關(guān)斷電源,待故障排除后,方可重新接

36、通電源。然后,測量每個集成塊的電源引腳電壓是否正常,以確信集成電路是否已通電工作。(3)分塊調(diào)試。調(diào)試順序按信號的流向進行,這樣可以把前面調(diào)試過的輸出信號作為后一級的輸入信號,為最后的整機聯(lián)調(diào)創(chuàng)造條件。(4)整機聯(lián)調(diào)。整機聯(lián)調(diào)時應(yīng)觀察各單元電路連接后各級之間的信號關(guān)系,主要觀察動態(tài)結(jié)果,檢查電路的性能和參數(shù),分析測量的數(shù)據(jù)和波形是否符合設(shè)計要求。實物經(jīng)過硬件調(diào)試后還要進行軟件調(diào)試,即將程序?qū)懭氲絾纹瑱C存儲器中,實現(xiàn)設(shè)計功能。2.軟件調(diào)試軟件調(diào)試以程序為主。先編寫一段顯示程序?qū)τ布恼9ぷ鬟M行檢驗,然后進行主程序、匹配ROM子程序、讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、計算溫度子程序、顯示數(shù)據(jù)刷

37、新子程序等的編程及調(diào)試。由于DS18B20與單片機采用單線串行數(shù)據(jù)傳送,因此,對DS18B20進行讀寫編程時必須嚴格地保證讀寫時序,否則將無法讀取測量結(jié)果。(二) 系統(tǒng)的仿真此設(shè)計的電路在Proteus軟件中進行仿真,運行 Proteus 的 ISIS 程序后,進入該仿真軟件的主界面。通過元件選擇按鈕 P (從庫中選擇元件命令) 命令,在彈出的 Pick Devices 窗口中選擇電路所需的元件,放置元件并調(diào)整其相對位置,對元件參數(shù)設(shè)置及元器件間連線,完成單片機系統(tǒng)的硬件原理圖繪制。用制作的測溫系統(tǒng)和已有的成品溫度計(如水銀溫度計)來同時測量環(huán)境溫度,并對測量的結(jié)果進行比較分析。(三)系統(tǒng)的運

38、行(1)首先啟動KEIL C51軟件的集成開發(fā)環(huán)境,從桌面上雙擊uVision圖標以啟動軟件。(2)建立工程文件。通常單片機應(yīng)用系統(tǒng)軟件包含多個源程序文件,KEIL C51使用工程這一概念,將這些參數(shù)設(shè)置和所需的所有文件都加在一個工程中。(3)建立并添加源文件。使用菜單或者單擊工具欄的新建文件按鈕,出現(xiàn)文本便捷窗口,在該窗口中輸入新編制的源程序。然后,我打開已經(jīng)畫好的仿真圖,再將生成的HEX文件導(dǎo)入單片機里,點擊開始按鈕,電路正常工作,并且能夠?qū)崿F(xiàn)預(yù)先設(shè)想的所有功能,而且效果很好,從而驗證了我的程序的正確性。結(jié) 論基于單片機的電子溫度計主要實現(xiàn)了溫度的測試與顯示功能。在復(fù)雜和惡劣的環(huán)境中能穩(wěn)定

39、而有效的完成測試與顯示。在我的畢業(yè)設(shè)計中,主要是以AT89C51單片機為核心的,對溫度的檢測與顯示進行了簡單的設(shè)計與闡述。本次設(shè)計可以說是軟硬結(jié)合,又以硬件為主。硬件設(shè)計中主要運用了TA89C51單片機和DS18B20溫度傳感器。還設(shè)計了像顯示電路、溫度采集電路、報警電路等輔助電路。以DS18B20為溫度傳感器的溫度采集電路主要作用是隨時感應(yīng)周圍環(huán)境的溫度變化,再通過AT89C51單片機作為媒介,就可以在LED顯示屏上顯示出溫度。本設(shè)計的不足之處是:本設(shè)計只能監(jiān)測、采集與顯示周圍環(huán)境的溫度變化,但不能改變其溫度。參考文獻1 王涌.MCS-51系列單片機基本實驗.華北電力大學(xué)信息工程綜合實驗室.

40、19962 林繼鵬,王君,凌振寶.溫度傳感器和一線總線協(xié)議.傳感器技術(shù).20023 美國德克薩斯儀器公司TTL集成電路特性應(yīng)用手冊.上海半導(dǎo)體器件工業(yè)公司.上海半導(dǎo)體器件研究所.19764 羅文廣.單總線數(shù)字溫度傳感器的自動識別技術(shù).電子產(chǎn)品世界.20025 D.皮茨,L.西索姆著.葛新石等譯.傳熱學(xué).科學(xué)出版社.20016 魏智.解析DALLAS通用的單總線網(wǎng)絡(luò).Semiconductor technology. 20017 王彥平,任延群,危勝軍.Protel 99電路設(shè)計指南.清華大學(xué)出版社8 1-Wire網(wǎng)絡(luò)可靠設(shè)計指南.Dallas Semiconductor應(yīng)用筆記9 姬鐵蘭.火災(zāi)

41、報警系統(tǒng)的研究.科技情報開發(fā)與經(jīng)濟.2004 10 陳志英,李光輝.單總線技術(shù)及其應(yīng)用.電氣時代.2003 11 黃攀,王俊杰.單總線數(shù)字溫度傳感器DS1820及其應(yīng)用.清華大學(xué)自動化系.元器件與應(yīng)用.200112 龔榮勝,張阿卜.一線總線的軟件接口.自動化技術(shù)及應(yīng)用.2003,附錄A 電路圖圖A 系統(tǒng)的硬件電路圖附錄B 程序代碼;*;*;工作內(nèi)存區(qū)定義。BITS EQU 20HTIMEOK BIT BITS.1 ;1秒定時到標志。TEMPON BIT BITS.2 ;第一次溫度轉(zhuǎn)換標志。TEMPL EQU 26H ;從DS18B20中讀取溫度低位的存放處。TEMPH EQU 27H ;從DS

42、18B20中讀取溫度高位的存放處。TEMPCL EQU 28H ;轉(zhuǎn)換后溫度的小數(shù)位與個位存放處。TEMPCH EQU 29H ;轉(zhuǎn)換后溫度的十位與百位存放處,如果溫度為負,則百位為符號位。TEMPHEAD EQU 36H ;從DS18B20高速緩存RAM中讀出數(shù)據(jù)的存放處的第一位。;*;常數(shù)定義。K0 EQU P2.0 ;按鍵K0定義。K1 EQU P2.1 ;按鍵K1定義。DQ EQU P1.7 ;數(shù)據(jù)傳送腳定義。;*;多路溫度采集系統(tǒng)源程序。;*ORG 0000HLJMP STARTORG 000BHLJMP DVTO ;T0中斷入口地址。;*;系統(tǒng)初始化。 ORG 0030HSTART

43、: MOV SP,#60H ;數(shù)據(jù)存儲區(qū)20H80H清“0”。CLS: MOV R0,#20H MOV R1,#60HCLS1: MOV R0,#00H INC R0 DJNZ R1,CLS1 CLR P1.4 ;關(guān)移位脈沖。 CLR P3.6 ;關(guān)閉報警器。 MOV TMOD,#21H ;選擇定時器0工作方式1; MOV TH0,#0E0H ;20ms定時初值。 MOV TL0,#0B1H MOV SCON,#00H ;選擇串行口工作方式0; NOP NOP SETB ET0 ;開定時器T0。計時開始。 SETB TR0 SETB EA MOV PSW,#00H CLR TEMPONE LJ

44、MP MAIN;*;主程工作內(nèi)存區(qū)定義秒定時到標志第一次溫度轉(zhuǎn)換標志從DS18B20中讀取溫度低位的存放處從DS18B20中讀取溫度高位的存放處轉(zhuǎn)換后溫度的小數(shù)位與個位存放處從DS18B20高速緩存RAM中讀出數(shù)據(jù)的存放處的第一位。;轉(zhuǎn)換后溫度的十位與百位存放處,如果溫度為負,則百位為符號位按鍵K0定義按鍵K1定義;數(shù)據(jù)傳送腳定義。多路溫度采集系統(tǒng)源程序T0中斷入口地址系統(tǒng)初始化。 ;數(shù)據(jù)存儲區(qū)20H80H清“0”關(guān)移位脈沖關(guān)閉報警器選擇定時器0工作方式120ms定時初值選擇串行口工作方式開定時器T0。計時開始;主程序。MAIN: LCALL KEYBORD ;調(diào)用鍵盤掃描子程序。LOOP1:

45、 LCALL DISP ;調(diào)用顯示子程序。 JNB TIMEOK,LOOP1 ;測溫每1秒一次。 CLR TIMEOK JNB TEMPONE,LOOP2 ;上電時先溫度轉(zhuǎn)換一次。 LCALL READTEMP ;讀出溫度值子程序。 LCALL TEMPBCD ;溫度BCD碼計算處理子程序。 LCALL DISPBCD ;顯示區(qū)BCD碼溫度值刷新子程序。 LCALL ALARM ;最高溫度報警子程序。LOOP2: LCALL TEMPCONV ;溫度開始轉(zhuǎn)換子程序。 SETB TEMPONE SJMP MAIN;*;定時器T0中斷服子程序。DVT0: PUSH PSW MOV PSW,#10H

46、 MOV TH0,#0E0H MOV TL0,#0B1H INC R7 CJNZ R7,#32H,DVT01 MOV R7,#00H SETB TIMEOK ;1秒定時到標志。 DVT01: POP PSW RETI;*;鍵盤掃描子程序。KEYBORD: JB K0,L1 JNB K0,$ LCALL FUNCTION LJMP KEYBORD L1: JB K1,L2 JNB K1,$ LCALL FUNCTION1 LJMP KEYBORD L2: RETFUNCTION0: MOV 40H,#28H ;第一路DS18B20的64位序列號裝入存儲單元40H47H。 MOV 41H,#0D6

47、H MOV 42H,#0B1H MOV 43H,#8AH MOV 44H,#00H MOV 45H,#00H MOV 46H,#00H MOV 47H,#0E3H RETFUNCTION0: MOV 40H,#28H ;第二路DS18B20的64位序列號裝入存儲單元40H47H。 MOV 41H,#0D6H MOV 42H,#0B1H MOV 43H,#8AH MOV 44H,#00H MOV 45H,#00H MOV 46H,#01H MOV 47H,#0E3H RET;*;DS18B20復(fù)位子程序。RETET: SETB DQ NOP NOP CLR DQ MOV R6,#0A0H ;延時

48、480us DJNZ R6,$ MOV R6,#0A0H DJNZ R6,$ SETB DQ MOV R6,#32H ;延時70us DJNZ R6,$ MOV R6,#3CHRESET1: MOV C,DQ JC RESET2 DJNZ R6,RESET1 MOV R6,#64H ;延時200us DJNZ R6,$ SJMP RESET RETRESET2: SETB DQ RET;*;讀DS18B20子程序,從DS18B20中讀出一個字節(jié)的數(shù)據(jù)。READ: MOV R7,#08H SETB DQ NOP NOPREAD1: CLR DQ NOP NOP NOP SETB DQ MOV R

49、6,#07H ;延時15us。 DJNZ R6,$ MOV C,DQ MOV R6,#3CH ;延時120us。 DJNZ R6,$ RRC A SETB DQ DJNZ R7,READ1 MOV R6,#3CH ;延時120us。 DJNZ R6,$ RET;*;寫DS18B20子程序,給DS18B20中寫入一個字節(jié)的數(shù)據(jù)。WRITE: MOV R7,#08H SETB DQ NOP NOPWRITE1: CLR DQ MOV R6,#07H ;延時15us。 DJNZ R6,$ RRC A MOV DQ,C MOV R6,#34H ;延時104us。 DJNZ R6,$ SETB DQ D

50、JNZ R7,WRITE1 RET;*;溫度開始轉(zhuǎn)換子程序。TEMPCONV: LCALL RESET MOV A,#55H ;發(fā)送匹配ROM命令。 LCALL WRITE MOV R6,#34H ;延時104us。 DJNZ R6,$ MOV R7,#08H ;發(fā)送64位ROM編碼。 MOV R0,#40HTEMPVONV1: MOV A,R0 LCALL WRITE INC R0 DJNZ R7,TEMPCONV1 ;64位ROM編碼發(fā)送完沒有? MOV R6,#34H ;延時104us。 DJNZ R6,$ MOV A,#44H ;發(fā)送啟動溫度轉(zhuǎn)換命令。 LCALL WRITE MOV

51、R6,#34H ;延時104us。 DJNZ R6,$ RET;*;讀出溫度值子程序。READTEMP: LCALL RESET MOV A,#55H ;發(fā)送匹配ROM命令。 LCALL WRITE MOV R6,#34H ;延時104us。 DJNZ R6,$ MOV R7,#08H ;發(fā)送64位ROM編碼。 MOV R0,#40HREADTEMP1: MOV A,R0 LCALL WRITE INC R0 DJNZ R7,TEMPCONV1 MOV R6,#34H ;延時104us。 DJNZ R6,$ LCALL WRITE MOV R6,#34H ;延時104us。 DJNZ R6,$

52、 MOV R5,#09H MOV R0,#TEMPHEAD MOV B,#00HTEADTEMP2: LCALL READ MOV R0,A INC R0READTEMP3: LCALL CRC DJNZ R5,READTEMP2 MOV A,B MOV R0,#TEMPHEDA MOV TEMPL,R0 ;讀取轉(zhuǎn)換后的溫度低位到TEMPL中。 INC R0 MOV TEMPH,R0 ;讀取轉(zhuǎn)換后的溫度高位到TEMPH中。READTEMP4: RET;*;溫度BCD碼計算處理子程序。TEMPBCD: MOV A,TEMPH ANL A,#80H JZ TEMPBCD1 ;溫度值為正。 CLR

53、C ;溫度值為負時,求補碼。 MOV A,TEMPL CPL A ADD A,#01H MOV TEMPL,A MOV A,TEMPH CPL A ADDC A,#00H MOV TEMPH,A MOV TEMPCH,#0BH ;執(zhí)符號位“-”。 SJMP TEMPBCD2TEMPBCD1: MOV TEMPCH,#0AH ;執(zhí)符號位“+”。TEMPBCD2: MOV A,TEMPCH SWAP A MOV TEMPCH,A MOV A,TEMPL ;小數(shù)部分處理。 ANL A,#0FH MOV DPRT,#TEMPDOTTAB MOVC A,A+DPRT MOV TEMPCL,A ;小數(shù)位放入TEMPL低位中。 MOV A,TEMPL ;整數(shù)部分處理。 ANL A,#0F0H SWAP A MOV TEMPL,A MOV A,TEMPH ANL A,#0

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論