欧美精品一二区,性欧美一级,国产免费一区成人漫画,草久久久久,欧美性猛交ⅹxxx乱大交免费,欧美精品另类,香蕉视频免费播放

畢業(yè)設(shè)計(jì)(論文)環(huán)境溫度監(jiān)測電路設(shè)計(jì)

上傳人:1888****888 文檔編號:37510123 上傳時間:2021-11-03 格式:DOC 頁數(shù):46 大小:1.14MB
收藏 版權(quán)申訴 舉報 下載
畢業(yè)設(shè)計(jì)(論文)環(huán)境溫度監(jiān)測電路設(shè)計(jì)_第1頁
第1頁 / 共46頁
畢業(yè)設(shè)計(jì)(論文)環(huán)境溫度監(jiān)測電路設(shè)計(jì)_第2頁
第2頁 / 共46頁
畢業(yè)設(shè)計(jì)(論文)環(huán)境溫度監(jiān)測電路設(shè)計(jì)_第3頁
第3頁 / 共46頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《畢業(yè)設(shè)計(jì)(論文)環(huán)境溫度監(jiān)測電路設(shè)計(jì)》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì)(論文)環(huán)境溫度監(jiān)測電路設(shè)計(jì)(46頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、 各專業(yè)完整優(yōu)秀畢業(yè)論文設(shè)計(jì)圖紙 NO: 桂林航天工業(yè)學(xué)院 畢業(yè)論文 題目:環(huán)境溫度監(jiān)測 電路設(shè)計(jì) 專業(yè):電子信息工程技術(shù) 姓名: 學(xué)號: 指導(dǎo)教師:

2、 2013年05月29日 摘 要 伴隨著國民經(jīng)濟(jì)的發(fā)展,各工業(yè)生產(chǎn)部門經(jīng)常會遇到對溫度進(jìn)行監(jiān)測和控制的需要,采用溫度監(jiān)測控制系統(tǒng)有很大的實(shí)用意義。不僅是生產(chǎn)部門,很多領(lǐng)域同樣需要對溫度監(jiān)測與控制。采用單片機(jī)控制不僅具有控制方便,簡單和 靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大的提高產(chǎn)品的質(zhì)量和數(shù)量。 在日常生活及工業(yè)生產(chǎn)過程中,經(jīng)常要用到溫度的檢測及控制,溫度是生產(chǎn)過程和科學(xué)實(shí)驗(yàn)中普遍而且重要的物理參數(shù)之一。在生產(chǎn)過程中,為了高效地進(jìn)行生產(chǎn),必須對它的主要參數(shù),如溫度、壓力、流量等進(jìn)行有效的控制。溫度控制在

3、生產(chǎn)過程中占有相當(dāng)大的比例。溫度測量是溫度控制的基礎(chǔ),技術(shù)已經(jīng)比較成熟。傳統(tǒng)的測溫元件有熱電偶和熱電阻。而熱電偶和熱電阻測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,這些方法相對比較復(fù)雜,需要比較多的外部硬件支持。我們用一種相對比較簡單的方式來測量 。 本設(shè)計(jì)系統(tǒng)地介紹了基于環(huán)境溫度監(jiān)測系統(tǒng)的組成、設(shè)計(jì)方案、電路原理、程序設(shè)計(jì)以及系統(tǒng)仿真過程。環(huán)境溫度監(jiān)測系統(tǒng)是以STC-89C52RO單片機(jī)作為控制核心,智能溫度傳感DS18B20為控制對象,運(yùn)用C語言編程實(shí)現(xiàn)系統(tǒng)的各種功能。該系統(tǒng)由單片機(jī)最小系統(tǒng)、傳感器電路、液晶顯示電路、電源電路六大部分組成。并通過串口通信程序設(shè)計(jì)將溫度信息傳到PC機(jī),實(shí)現(xiàn)對遠(yuǎn)

4、程環(huán)境的溫度測量與監(jiān)控。 關(guān)鍵詞:[DS18B20][顯示電路][測量系統(tǒng)] Abstract With the development of national economy, the industrial production department often meet temperature monitoring and control needs, and use temperature monitoring control system are of great practical significance. N

5、ot only is the production department, people also need of temperature monitoring and control. Using single chip microcomputer to control them is not only control convenient, simple and flexible etc, and can greatly improve the technical index of the accused of temperature, which can greatly improve

6、the quality of the products and quantity. In our daily life and industrial production process, often should use temperature detection and control, temperature is the process of the production and scientific experiment in common and important one of the physical parameters. In the process of producti

7、on, in order to highly efficient production, it is necessary to its main parameters, such as temperature, pressure, flow rate of effective control. Temperature control in the production process occupies a large proportion. Temperature measurement is the basis for the control of temperature, the tech

8、nology is already more mature. The traditional temperature measurement element have thermocouple and two resistance. And thermocouple and thermal resistance factors are generally voltage, and then converted to the corresponding temperature, these methods is relatively complex, need more external har

9、dware support. We use a relatively simple way to measure. This paper introduces the design of the system based on the environment temperature monitoring system composition, design, circuit principle, program design and system simulation process. Environmental temperature monitoring system is

10、based on STC-89 C52RO single chip microcomputer as control core, intelligent temperature sensor DS18B20 for control object, using C language programming realization of various of system function. The system consists of single chip minimize system, sensor circuit, liquid crystal display circuit, and

11、power circuit six parts.And through a serial port can take the temperature information to the PC, and to realize the remote environment temperature measurement and monitoring. Keywords: [DS18B20][display circuit][Measurement system] 目 錄 引言 1 1. 課題背景及研究內(nèi)容 2 1.1 國內(nèi)外現(xiàn)狀 2 1.2 課題的主要研究內(nèi)容 2 2

12、 系統(tǒng)總體方案設(shè)計(jì) 3 2.1 方案論證 3 2.2 傳感器 3 2.3 系統(tǒng)框圖 4 3 環(huán)境溫度監(jiān)測電路系統(tǒng)各模塊的功能 5 3.1 單片機(jī)介紹 5 3.1.1 STC89C52 簡介 5 3.1.2 STC89C52 引腳說明 6 3.2 溫度采集電路 7 3.2.1 DS18B20簡介 7 3.2.2 DS18B20的內(nèi)部結(jié)構(gòu) 8 3.2.3 DS18B20 硬件連接電路設(shè)計(jì) 9 3.2.4 DS1820使用中注意事項(xiàng) 10 3.3 無線發(fā)送與接收電路 11 3.3.1 KYL-610 無線數(shù)據(jù)傳輸模塊主要特征 11 3.3.3 軟件設(shè)置 11 3

13、.3.4 硬件使用方法 12 3.4 數(shù)碼管顯示電路 13 3.4.1 LED 數(shù)碼管簡介 13 3.4.2 數(shù)碼管顯示電路硬件設(shè)計(jì) 14 4 軟件電路設(shè)計(jì) 16 4.1 軟件設(shè)計(jì) 16 4.1.1系統(tǒng)概述 16 4.1.2 程序設(shè)計(jì)流程圖 16 4.1.3 數(shù)據(jù)采集程序設(shè)計(jì) 17 4.1.4 串口通信程序設(shè)計(jì) 21 5.1 測試環(huán)境及工具 25 5.2 測試方法 25 5.3 測試結(jié)果分析 26 6 結(jié)論 27 參考文獻(xiàn) 29 附 錄 30 附錄 1:電路原理圖 30 附錄 2:單片機(jī)主程序 31 41

14、 桂林航天工業(yè)學(xué)院畢業(yè)論文 第 41頁 共41頁 引言 資源浪費(fèi),管理不及時的問題。環(huán)境溫度監(jiān)測系統(tǒng)得到了普及和認(rèn)可,其應(yīng)用領(lǐng)域越來越廣泛,對其要求越來越高,需求越來越迫切。這些技術(shù)大大的提高了控制精度,不但使控制變得簡便,而且使產(chǎn)品的質(zhì)量更好,降低了產(chǎn)品的成本,提高了生產(chǎn)效率。因此,21世紀(jì)的今天,科學(xué)技術(shù)的發(fā)展日新月異,科學(xué)技術(shù)的進(jìn)步同時也帶動了測量技術(shù)的發(fā)展,現(xiàn)代控制設(shè)備不同于以前,它們在性能和結(jié)構(gòu)發(fā)生了翻天覆地的變化。我們已經(jīng)進(jìn)入了高速發(fā)展的信息時代,測量技術(shù)是當(dāng)今社會的主流,廣泛地深入到應(yīng)用工程的各個領(lǐng)域。隨著新技術(shù)的不斷開發(fā)與

15、應(yīng)用,近年來單片機(jī)發(fā)展十分迅速一個以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到很多工業(yè)領(lǐng)域。傳統(tǒng)的溫度采集方法不僅費(fèi)時費(fèi)力,而且精度差,單片機(jī)的出現(xiàn)使得溫度的采集和數(shù)據(jù)處理問題能夠得到很好的解決。溫度是工業(yè)對象中的一個重要的被控參數(shù)。而溫度監(jiān)控系統(tǒng)就可以解決這樣人才掌握對溫度監(jiān)測系統(tǒng)的深入研究以及其用法與用途有深遠(yuǎn)的意義。 本設(shè)計(jì)是以STC公司的STC89C52單片機(jī)作為控制核心,要求溫度參數(shù)監(jiān)測能對特定環(huán)境中的溫度參數(shù)進(jìn)行監(jiān)測,并可對一天的氣溫變化進(jìn)行檢測和顯示,滿足了人們在生活生產(chǎn)中對溫度測量系統(tǒng)方面的需求。通過串口將檢測到的溫度信息回饋到上位機(jī)(PC機(jī)),由液晶顯

16、示屏顯示環(huán)境的溫度,從而遠(yuǎn)程實(shí)現(xiàn)對整個系統(tǒng)的檢測。文中對每個部分功能、實(shí)現(xiàn)過程作了詳細(xì)介紹,完成了課題所要求的。 1. 課題背景及研究內(nèi)容 1.1 國內(nèi)外現(xiàn)狀 溫度監(jiān)測控制系統(tǒng)在國內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國內(nèi)生產(chǎn)的溫度監(jiān)測控制器來講,總體發(fā)展水平仍然不高,同日本、美國、德國等先進(jìn)國家相比,仍然有著較大的差距。成熟的溫控產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的 PID 控制器為主,它們只能適應(yīng)一般溫度系統(tǒng)控制,而用于較高控制場合的智能化、自適應(yīng)控制儀表,國內(nèi)技術(shù)還不十分成熟,形成商品化并廣泛應(yīng)用的控制儀

17、表較少。隨著我國經(jīng)濟(jì)的發(fā)展及加入 WTO,我國政府及企業(yè)對此都非常重視,對相關(guān)企業(yè)資源進(jìn)行了重組,相繼建立了一些國家、企業(yè)的研發(fā)中心,開展創(chuàng)新性研究,使我國儀表工業(yè)得到了迅速的發(fā)展。 1.2 課題的主要研究內(nèi)容 設(shè)計(jì)制作一臺環(huán)境溫度檢測系統(tǒng),該系統(tǒng)的功能要求如下: 1、對一天的氣溫變化進(jìn)行檢測和顯示。 2、顯示1分鐘內(nèi)的氣溫變化曲線。 3、顯示00:00:00到當(dāng)前時刻的平均溫度、最高溫度、最低溫度以及當(dāng)前溫度。 4、顯示當(dāng)前時間。 5、通過串口可將溫度信息傳到PC機(jī)。 6、溫度信息具有掉電保存功能。 2 系統(tǒng)總

18、體方案設(shè)計(jì) 2.1 方案論證 溫度檢測系統(tǒng)有則共同的特點(diǎn):環(huán)境復(fù)雜、布線分散、現(xiàn)場離監(jiān)控室遠(yuǎn)等。若采用一般溫度傳感器采集溫度信號,則需要設(shè)計(jì)信號調(diào)理電路、A/D 轉(zhuǎn)換及相應(yīng)的接口電路,才能把傳感器輸出的模擬信號轉(zhuǎn)換成數(shù)字信號送到計(jì)算機(jī)去處理。這樣,由于各種因素會造成檢測系統(tǒng)較大的偏差;又因?yàn)闄z測環(huán)境復(fù)雜、信號傳輸距離遠(yuǎn)及各種干擾的影響,會造成檢測系統(tǒng)的穩(wěn)定性和可靠性下降。所以溫度檢測系統(tǒng)的設(shè)計(jì)的關(guān)鍵在于兩部分:溫度傳感器的選擇和主控單元的設(shè)計(jì)。溫度傳感器應(yīng)用范圍廣泛、使用數(shù)量龐大,也高居各類傳感器之首。 2.2 傳感器 方案一:采用熱敏電阻,可滿足40℃

19、至90℃測量范圍,隨著環(huán)境溫度的變化,它的阻值也發(fā)生線性變化,用處理器采集電阻兩端的電壓,然后根據(jù)某個公式就可以計(jì)算出當(dāng)前環(huán)境溫度,但熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測1攝氏度的信號是不適用的。測量范圍難以覆蓋諸多的檢測環(huán)境溫度。 方案二:采用單片模擬量的溫度傳感器,比如AD590,LM35 等。但這些芯片輸出的都是模擬信號,必須經(jīng)過A/D轉(zhuǎn)換后才能送給計(jì)算機(jī),這樣就使得測溫裝置的結(jié)構(gòu)較復(fù)雜。另外,這種測溫裝置的一根線上只能掛一個傳感器,不能進(jìn)行多點(diǎn)測量。即使能實(shí)現(xiàn),也要用到復(fù)雜的算法,一定程度上也增加了軟件實(shí)現(xiàn)的難度。 方案三:采用數(shù)字溫度傳感器DS18B20測量溫度,輸出信號

20、全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)特性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線性度較好。在0~100℃時,最大線形偏差小于1℃。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS1820和微控制器STC89C52構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計(jì)算機(jī)連接[1]。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。 采用溫度芯片DS18B20測量溫度,可以體現(xiàn)系統(tǒng)芯片化這個趨勢。部分功能電路的集成,使總體電路更簡潔,搭建電路和焊接電路時更快。而且集成塊的使用,有效地避免外界的干擾,提高測量電路的精確度。所以集成芯

21、片的使用將成為電路發(fā)展的一種趨勢。本方案應(yīng)用這一溫度芯片。 2.2.1 主控部分 方案一:采用STC89C52八位單片機(jī)實(shí)現(xiàn)。單片機(jī)軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。既可以單獨(dú)對DS18B20控制工作,還可以與PC機(jī)通信。另外STC89C52在工業(yè)控制上也有著廣泛的應(yīng)用。 方案二:利用ARM處理器的強(qiáng)大功能,通過讀取溫度傳感器數(shù)據(jù),并與設(shè)定值進(jìn)行比較,然后對溫度進(jìn)行控制。通過內(nèi)嵌的操作系統(tǒng)獲得極好的實(shí)時性,并且通過TCP/IP協(xié)議能與PC機(jī)很快的通訊。其優(yōu)勢不只是溫度控制精度高,而且能夠通過現(xiàn)場跟遠(yuǎn)程兩種方式來設(shè)定控制溫

22、度。ARM嵌入式溫度控制系統(tǒng)對軟件要求比較高,與網(wǎng)絡(luò)技術(shù)結(jié)合緊密,適合遠(yuǎn)程控制,但是開發(fā)復(fù)雜,并且對工程人員要求很高。 方案三:使用MSP430作控制器,德州儀器(TI)的超低功率16位RISC混合信號處理器MSP430產(chǎn)品系列為電池供電測量應(yīng)用提供了最終解決方案。作為混合信號和數(shù)字技術(shù)的領(lǐng)導(dǎo)者,TI創(chuàng)新生產(chǎn)的MSP430,使系統(tǒng)設(shè)計(jì)人員能夠在保持獨(dú)一無二的低功率的同時同步連接至模擬信號、傳感器和數(shù)字組件。但在溫度采集和實(shí)施控制這個重要的場合低功耗相對來說顯得就不是那么重要了,而應(yīng)該考慮它的穩(wěn)定性、準(zhǔn)確性,同時對比STC89C52能夠在性能和資源都可以到達(dá)一個最佳的狀態(tài),可以避免用MSP4

23、30的不必要的資源浪費(fèi)。 2.3 系統(tǒng)框圖 綜上,傳感器采用方案三,控制器采用方案一。系統(tǒng)框圖如下圖1.1。 圖2.1電路系統(tǒng)框圖 3 環(huán)境溫度監(jiān)測電路系統(tǒng)各模塊的功能 3.1 單片機(jī)介紹 3.1.1 STC89C52 簡介 如圖3.1所示為STC89C52芯片的引腳圖[2]。兼容傳統(tǒng)8051指令系統(tǒng)的 STC89C52單片機(jī)是新一代低功耗、高性能、超強(qiáng)抗干擾的單片機(jī),片內(nèi)含8KB在線可編程Flash存儲器。 STC89C52單片機(jī)片內(nèi)的Flash可允許在線重新編程,也可用通用非易失性存儲編程器編程;片內(nèi)數(shù)據(jù)存儲器內(nèi)含512字節(jié)的RAM;

24、有40個引腳,32個外部雙向輸入/輸出(I/O)端口;具有3個16位可編程定時/計(jì)數(shù)器;具有2K字節(jié)的EEPROM功能;具有看門狗功能;共有6個中斷源,其中T2是52單片機(jī)特有的。STC89C52 具有PDIP、TQFP和PLCC三種封裝形式。 圖 3.1 STC89C52 引腳圖 圖3.1是 PDIP 封裝的引腳排列,下面介紹各引腳的功能。 3.1.2 STC89C52 引腳說明 P0口(32腳-39腳)位、開漏級、雙向I/O口。P0口可作為通用I/O口,但須外接:8上拉電阻;作為輸出口,每個引腳可吸收8個TTL的灌電流。作為輸入時,首先應(yīng)將引腳置1。P0也可用做訪問外

25、部程序存儲器和數(shù)據(jù)存儲器時的低8位地址/數(shù)據(jù)總線的復(fù)用線。在該模式下,P0口含有內(nèi)部上拉電阻。在FLASH編程時,P0口接收代碼字節(jié)數(shù)據(jù);在編程校驗(yàn)時,P0口輸出代碼字節(jié)數(shù)據(jù)(需要外接上拉電阻)。 P1口(1腳-8腳)位、雙向I/0口,內(nèi)帶上拉電阻。P1口可作普通I/O口。輸出緩:8沖器可驅(qū)動四個TTL負(fù)載;用作輸入時,先將引腳置1,由片內(nèi)上拉電阻將其抬到高電平,然后單片機(jī)內(nèi)部才可以正確讀出外部信號。此外,P1.0引出腳的第二功能為T2定時器/計(jì)數(shù)器的外部輸入,P1.1引腳的第二功能為T2EX捕捉、重裝觸發(fā),T2的外部控制器。在即對Flash ROM編程和程序校驗(yàn)時,P1可接收低8位地址。

26、 P2口(21腳-28腳):具有內(nèi)部上拉電阻的8位雙向I/O口。P2口用做輸出口時,可驅(qū)動四個TTL負(fù)載;用做輸入口時,先將引腳置1,由內(nèi)部上拉電阻將其提高到高電平。若負(fù)載為低電平,則通過內(nèi)部上拉電阻向外部輸出電流。CPU訪問外部16位地址的存儲器時,P2口提供高8位地址。在對Flash ROM編程和程序校驗(yàn)期間,P2 也接收高位地址和一些控制信號。 P3口:具有內(nèi)部上拉電阻的8位雙向I/O口。P3的輸出緩沖器可驅(qū)動(吸收或輸出電流方式)4個TTL輸入。對端口寫入1時,通過內(nèi)部的上拉電阻把端口拉到高電位,這時可用作輸入口。在對 Flash ROM編程或程序校驗(yàn)時,P3口還接收一些控制信號。P

27、3口除作為通用I/O口外,還有其他一些復(fù)用功能,如表3.1所示。 表 3.1 P3 口引腳復(fù)用功能 RST(9腳):復(fù)位端。當(dāng)振蕩器工作時,此引腳上出現(xiàn)兩個機(jī)器周期的高電平將系統(tǒng)復(fù)位。 ALE/(30腳):地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在Flash編程時,此引腳(PRQG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。同時,ALE使能標(biāo)志位的設(shè)置對微控制器對于外部執(zhí)行模式下無效。 PSEN(29腳):外

28、部程序存儲器讀選取通信號。當(dāng)STC89C52在讀取外部程序時,每個機(jī)器周期將PSEN激活兩次。在此期間內(nèi), 每當(dāng)訪問外部數(shù)據(jù)存儲器時,將跳過兩個信號。 EA/Vpp(31 腳):訪問外部程序存儲器允許端。為了能夠從外部程序存儲器的0000H至FFFFH單元中取指令,在復(fù)位時,程期間,必須接GND,然而要注意的是,若對加密位1進(jìn)行編程,則應(yīng)該接VCC。在Flash編的狀態(tài)在內(nèi)部被鎖存。為了執(zhí)行內(nèi)部程序指令,也可接收12V編程電壓。 XTAL1(19腳):振蕩器反向放大器輸入端和內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2(18腳):振蕩器反相放大器輸出端。 3.2 溫度

29、采集電路 3.2.1 DS18B20簡介 溫度芯片DS18B20是Dallas公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式[4]。測溫分辨率可達(dá)0.0625℃,被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出。測量溫度范圍為-55℃~+125℃,在-10℃~+85℃范圍內(nèi),精度為0.5℃。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。DS18B20的內(nèi)部結(jié)構(gòu)如圖3.2所示。 圖 3.2 DS18B20 方框圖 DS18B20有4個主要的數(shù)據(jù)部

30、件: A、64位激光ROM。64位激光ROM從高位到低、位依次為8位CRC、48位序列號和8位家族代碼(28H)組成。 B、溫度靈敏元件。 C、非易失性溫度報警觸發(fā)器TH和TL。可通過軟件寫入用戶報警上下限值。 D、配置寄存器。配置寄存器為高速暫存存儲器中的第五個字節(jié)。其中R0、R1:溫度計(jì)分辨率設(shè)置位,其對應(yīng)四種分辨率如下表3.2所列,出廠時R0、R1置為缺省值:R0=1, R1=1(即12位分辨率),用戶可根據(jù)需要改寫配置寄存器以獲得合適的分辨率[5]。 表3.2 分辨率關(guān)系表 高速暫存存儲器由9個字節(jié)組成

31、。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后,數(shù)據(jù)格式如表3.3所示。對應(yīng)的溫度計(jì)算:當(dāng)符號位S=0時,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時,先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。 表3.3DS18B20 存儲器 3.2.2 DS18B20的內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列如圖3.3所示。 圖3.3 DS18B20的管腳排列

32、 DQ為數(shù)字信號輸入/輸出端;GND為電源地;VDD為外接供電電源輸入端(在寄生電源接線方式時接地)。 光刻ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼。64位光刻ROM的排列是:開始8位(28H)是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一個DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個DS18B20的目的。 DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例。其溫度表示見表3.4。用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)

33、形式提供,以0.0625℃/LSB形式表達(dá),其中S為符號位。 表3.4 DS18B20傳感器的溫度寄存器 這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。 3.2.3 DS18B20 硬件連接電路設(shè)計(jì) 目前常用的單片機(jī)與外設(shè)之間進(jìn)行數(shù)據(jù)傳輸?shù)拇锌偩€主要有I2C,SPI和SCI總線。其中I2C總線以同步串行二線方式進(jìn)行通信(一條時鐘線,一條

34、數(shù)據(jù)線),SPI總線則以同步串行三線方式進(jìn)行通信(一條時鐘線,一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線),而SCI總線是以異步方式進(jìn)行通信(一條數(shù)據(jù)輸入線,一條數(shù)據(jù)輸出線)。這些總線至少需要兩條或兩條以上的信號線,DS18B20使用的單總線技術(shù)與上述總線不同,而它采用單條信號線,既可傳輸時鐘,又可傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線技術(shù)具有線路簡單,硬件開銷少,成本低廉,便于總線擴(kuò)展和維護(hù)等優(yōu)點(diǎn)。 單片機(jī)通過一個漏極開路或三態(tài)端口連至該數(shù)據(jù)線,以允許設(shè)備在不發(fā)送數(shù)據(jù)時能夠釋放總線,而讓其他設(shè)備使用總線[6]。單總線通常要求外接一個約為10kΩ的上拉電阻。DS18B20典型電路如下圖3.4。

35、 圖 3.4 DS18B20 典型電路 3.2事項(xiàng).4 DS1820使用中注意 DS1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題: a.較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS1820進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進(jìn)行系統(tǒng)程序設(shè)計(jì)時,對DS1820操作部分最好采用匯編語言實(shí)現(xiàn)。 b.在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個DS

36、1820,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS1820超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點(diǎn)在進(jìn)行多點(diǎn)測溫系統(tǒng)設(shè)計(jì)時要加以注意。 c.連接DS1820的總線電纜是有長度限制的。有試驗(yàn)顯示,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫?cái)?shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS1820進(jìn)行長距離測溫系統(tǒng)設(shè)計(jì)時要充分考慮總線分布電容和阻抗匹配問題。 d.在DS1820測溫程序設(shè)計(jì)中,向DS1820發(fā)出溫

37、度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號,一旦某個DS1820接觸不好或斷線,當(dāng)程序讀該DS1820時,將沒有返回信號,程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS1820硬件連接和軟件設(shè)計(jì)時也要給予一定的重視。 測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地。 3.3 無線發(fā)送與接收電路 3.3.1 KYL-610 無線數(shù)據(jù)傳輸模塊主要特征 無線收發(fā)一體數(shù)據(jù)傳輸MODEM模塊KYL-610芯片性能優(yōu)異,居業(yè)界領(lǐng)先水平。它所需外圍元件少,是目前集成度較高的無線數(shù)據(jù)傳輸產(chǎn)品,在內(nèi)部集成了高頻接收、PLL 合成、FSK

38、調(diào)制/解調(diào)、參量放大、功率放大、頻道切換等功能[7]。 KYL-610的主要特征:(1)載波頻率為433MHz;(2)多種可選的通訊接口,RS-232、如TTL或RS-485接口等;(3)數(shù)據(jù)格式為8N1/8E1/8O1;(4)傳輸數(shù)率多;(5)16個通訊信道;(6)透明的數(shù)據(jù)傳輸;(7)收發(fā)一體,半雙工工作模式;(8)采用單片射頻集成電路及單片MCU,外圍電路少,功耗低,可靠性高;(9)工作溫度為-35~+75℃(工業(yè)級);(10)天線阻抗為50Ω。 3.3.2 接口定義 KYL-610 的端口定義見表 3.5。 表 3.5 端口定義表 3.3.3 軟件設(shè)置

39、 用戶可以通過PC軟件設(shè)置模塊的工作信道、通訊速率等相關(guān)信息。信道與頻率的對應(yīng)關(guān)系見表3.6。 表3.6信道頻率表 3.3.4 硬件使用方法 (1)電源。KYL-610無線數(shù)據(jù)傳輸模塊使用直流電源,工作電壓為3.1—5.5V。 (2)接收模塊與終端的連接。如圖3.5所示,模塊通過接線端子的3、4PIN和終端進(jìn)行 異步數(shù)據(jù)通訊。 (3)發(fā)送模塊與單片機(jī)的連接。如圖3.6所示,模塊通過接線端子的3、4PIN和單片機(jī)進(jìn)行通信。 (4)指示燈描述。發(fā)射數(shù)據(jù)時紅燈常亮,發(fā)射完成后熄滅。收到數(shù)據(jù)時綠燈常亮,接收完成后熄滅。 (5)數(shù)據(jù)傳輸。KY

40、L-610系列產(chǎn)品提供透明的數(shù)據(jù)傳輸接口,可支持用戶的各種應(yīng)用和協(xié)議,實(shí)現(xiàn)點(diǎn)對點(diǎn)、點(diǎn)對多點(diǎn)透明傳輸。 圖 3.5 模塊與計(jì)算機(jī)連接 圖 3.6 模塊與單片機(jī)連接 3.4 數(shù)碼管顯示電路 3.4.1 LED 數(shù)碼管簡介 LED數(shù)碼管是由發(fā)光二極管構(gòu)成的數(shù)碼顯示器,內(nèi)部用7個發(fā)光二極管組成字符的七段,每段用小寫英文字母表示,主要用來顯示0~9這10個數(shù)字,也可以顯示某些英文字母或符號。圖3.7是數(shù)碼管的段位結(jié)構(gòu)和引腳位置圖[8],該圖為正面視圖,中間兩個引腳 是公共引腳

41、。按照一定組合使有關(guān)的段發(fā)光,就可以顯示字符,故稱為七段數(shù)碼管。如果該數(shù)字后面有小數(shù)點(diǎn),則七段就不夠用了,所以又增加了一個發(fā)光二極管,用來顯示小數(shù)點(diǎn),用字母dp表示。 圖 3.7 數(shù)碼管引腳圖 按照內(nèi)部發(fā)光二極管接法的不同,LED數(shù)碼管分為共陽極和共陰極兩類。共陽型數(shù) 碼管內(nèi)部的8個發(fā)光二極管的陽極均連在一起,共陰型的則陰極全連在一起,如圖3.8所示。 圖 3.8 共陰型和共陽型 LED 數(shù)碼管 對于共陽型數(shù)碼管來說,在使用時要將它們的公共陽極引腳通過一個限流電阻與電 源的正極相連,然后使某些二極管的陰極接低電平,這樣,數(shù)碼管就會顯示某一

42、個數(shù)字,也就是說共陽型數(shù)碼管的段碼值為0時,該段發(fā)光[9]。 對于共陰型來說,正好與此相反,段碼值為1時,該段發(fā)光。 要讓數(shù)碼管顯示某一個字符,就要使某些段的組合二極管發(fā)光,這些對應(yīng)某一個字符的七個段位組合,稱為七段碼。顯然,共陽型數(shù)碼管與共陰型數(shù)碼管的段碼是不同的, 各字符的七位段碼如表3.6所列。要注意的是,這些段碼不包括小數(shù)點(diǎn)。如果要在某一位數(shù) 字后面顯示小數(shù)點(diǎn),則須另外處理。 表3.7七段LED數(shù)碼管段碼表 3.4.2 數(shù)碼管顯示電路硬件設(shè)計(jì) 顯示模塊用6位LED共陰型數(shù)碼管,分別顯示溫度正負(fù)、百位、十位、個位、小數(shù)位及溫度符號。

43、通過軟件設(shè)置溫度數(shù)值的刷新時間為1s,本系統(tǒng)用動態(tài)掃描,每個數(shù)碼管需要一個8位并行口驅(qū)動,這樣6個LED數(shù)碼管就需要6個8位并行口驅(qū)動,顯然單片機(jī)無 法提供這么多的口線。因此,本設(shè)計(jì)使用一片74HC573鎖存器和74HC138譯碼器來分別控制數(shù)碼管的段選與位選。74HC573的數(shù)據(jù)輸入端連接單片機(jī)的P0口,輸出端與數(shù)碼管的所有陽極相連。74HC138的輸入端與單片機(jī)的P2.0、P2.1、P2.2引腳相連,通過接收3位二進(jìn)制加權(quán)地址輸入,并當(dāng)使能時,提供8個互斥的低有效輸出,來選擇哪一位數(shù)碼管工作[10]。硬件電路如圖 3.9 所示。

44、 圖 3.9 數(shù)碼管與單片機(jī)接口電路 4 軟件電路設(shè)計(jì) 4.1 軟件設(shè)計(jì) 4.1.1系統(tǒng)概述 整個系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一類是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二類是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測量、計(jì)算、顯示、通訊等。每一個執(zhí)行軟件也

45、就是一個小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進(jìn)行功能 定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。 4.1.2 程序設(shè)計(jì)流程圖 整個系統(tǒng)由兩套模塊組成,一套負(fù)責(zé)采集溫度數(shù)據(jù)并通過KYL-610無線數(shù)傳模塊發(fā)送,另一套負(fù)責(zé)接收數(shù)據(jù)并通過串口將數(shù)據(jù)送入上位機(jī)存盤處理。下位機(jī)和上位機(jī)的工作流程框圖分別如圖4.1和4.2所示。 圖4.1 下位機(jī)工作流程圖 圖 4.2 上位機(jī)工作流程圖 4.1.3 數(shù)據(jù)采集程序設(shè)計(jì) 訪問一個DS18B20,必

46、須經(jīng)過初始化、ROM命令和功能命令這三個步驟,且缺一不可,否則DS18B20不會響應(yīng)主機(jī)的任何命令[11]。由于本系統(tǒng)中只使用了一個DS18B20,并采用外部供電方式,因此,編程的工作也較容易。 在初始化之后,如果DS18B20有應(yīng)答,主機(jī)就可發(fā)出跳過ROM(CCH)命令,接著再發(fā)溫度轉(zhuǎn)換功能命令啟動溫度轉(zhuǎn)換。啟動轉(zhuǎn)換后,單片機(jī)可通過發(fā)送讀時隙來判斷溫度轉(zhuǎn)換是否結(jié)束,DS18B20會做出響應(yīng),發(fā)回0表示轉(zhuǎn)換還在進(jìn)行,發(fā)回1表示已經(jīng)轉(zhuǎn)換完畢[12]。本系統(tǒng)根據(jù)DS18B20的典型轉(zhuǎn)換時間,經(jīng)過適當(dāng)?shù)难訒r程序之后,再讀取轉(zhuǎn)換結(jié)果。讀出的溫度值還須進(jìn)行適當(dāng)?shù)母袷睫D(zhuǎn)換,以便顯示或做進(jìn)一步處理。圖4

47、.3為時序圖中各總線狀態(tài)。 圖4.3時序圖中各總線狀態(tài) (1). DS18B20初始化 單線總線上的所有操作都是從初始化開始的[13]。時序圖見4.4所示,過程如下: 圖 4.4 初始化時序圖 ①請求:主機(jī)通過拉低單線480us以上,產(chǎn)生復(fù)位脈沖,然后釋放該線, 進(jìn)入Rx接收模式。主機(jī)釋放總線時,會產(chǎn)生一個上升沿脈沖。 DQ:1 0(480us+) 1 ②響應(yīng):DS18B20檢測到該上升沿后,延時15~60us,通過拉低總線60~240us 來產(chǎn)生應(yīng)答脈沖。 DQ:1(15~60us)0(60~240us) ③接收響

48、應(yīng):主機(jī)接收到從機(jī)的應(yīng)答脈沖后,說明有單線器件在線。至此,初始化完成。 DQ:0 具體程序如下: void Init_DS18B20(void) //DS18B20 初始化 { unsigned char x=0; DQ = 1; //DQ復(fù)位 delay(8); //稍做延時 DQ = 0; //單片機(jī)將DQ拉低 delay(80); //精確延時大于480us DQ = 1; delay(10); x=DQ; //稍做延時后 如果 x=0 則初始化成功 x=1 則初始化失敗 //拉高總線 delay(5);

49、 } (2). DS18B20 讀數(shù)據(jù) 讀數(shù)據(jù)時序圖見圖4.5所示。 圖4.5讀數(shù)據(jù)時序圖 ①將數(shù)據(jù)線拉高到“1”。 ②延時2us。 ③將數(shù)據(jù)線拉低到“0”。 ④延時6us。 ⑤將數(shù)據(jù)線拉高到“1”。 ⑥延時4us。 ⑦讀數(shù)據(jù)線的狀態(tài)得到1個狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。 ⑧延時30us。 ⑨重復(fù)①~⑦步驟,直到讀取完一個字節(jié)。 具體程序如下: unsigned char ReadOneChar(void) // 讀一個字節(jié) { unsigned char i=0; unsigned cha

50、r dat = 0; for (i=8;i>0;i--) { DQ = 0; //單片機(jī)將 DQ 拉低 dat>>=1; DQ = 1; //拉高總線 if(DQ) dat|=0x80; delay(5); } return(dat); 、 } (3). DS18B20 寫數(shù)據(jù) 寫數(shù)據(jù)時序圖如圖 4.6 所示。 圖 4.6 寫數(shù)據(jù)時序圖 ①數(shù)據(jù)線先置低電平“0”。 ②延時確定的時間為15us。 ③按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位) 。 ④延時時間為45us。

51、 ⑤將數(shù)據(jù)線拉到高電平1。 ⑥重復(fù)上①~⑤的操作直到所有的字節(jié)全部發(fā)送完為止。 ⑦ 最后將數(shù)據(jù)線拉高 1。 具體程序如下: void WriteOneChar(unsigned char dat) //寫入一個字節(jié) { unsigned char i=0; for (i=8; i>0; i--) { DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat>>=1; } delay(5); } (4). 溫度數(shù)值顯示處理程序 處理溫度數(shù)據(jù),先判斷正負(fù),若為

52、負(fù)值則設(shè)數(shù)碼管第一位為“—”,取出小數(shù)位(低四位),將小數(shù)位移出,剩下的位整數(shù),通過進(jìn)行除法、取余運(yùn)算得到溫度值的百位、十位和個位。由于DS18B20采用12位溫度轉(zhuǎn)換,最高溫度分辨率為0.0625oC,而實(shí)際使用只要精確到小數(shù)點(diǎn)后一位,故需要對轉(zhuǎn)化后的溫度數(shù)值進(jìn)行處理,此處將寄存器低四位乘以0.6近似處理得到小數(shù)點(diǎn)后一位[14]。 溫度數(shù)值顯示處理程序具體如下: while(1) { str[5]=0x39; //顯示 C 符號 str[1]=tab[TempH/100]; //百位溫度 str[2]=tab[(TempH%100)/1

53、0]; //十位溫度 str[3]=tab[(TempH%100)%10]|0x80; //個位溫度,帶小數(shù)點(diǎn) str[4]=tab[TempL]; //小數(shù) if(flag_get==1) //定時讀取當(dāng)前溫度 { temp=ReadTemperature(); if(temp&0x8000) { str[0]=0x40;//負(fù)號標(biāo)志 temp=~temp; // 取反加1 temp +=1; } else str[0]=0; TempH=temp>>4;

54、 TempL=temp&0x0F; TempL=TempL*6/10;//小數(shù)部分近似處理 printf("%d.%d\n",TempH,TempL); //以整型 int 輸出 flag_get=0; } } 4.1.4 串口通信程序設(shè)計(jì) (1). 發(fā)送端程序設(shè)計(jì) 發(fā)送端程序是將溫度信息實(shí)時打包發(fā)送,主程序中循環(huán)進(jìn)行溫度的采集與發(fā)送。本系統(tǒng)采用最常用的通信方式——串行口方式1。方式1是10位數(shù)據(jù)的異步通信口,其中1位起始位,8位數(shù)據(jù)位,1位停止位。當(dāng)數(shù)據(jù)被寫入SBUF寄存器后,單片機(jī)自動開始從起始位發(fā)送數(shù)據(jù),發(fā)送到停止位的開

55、始時,由內(nèi)部硬件將TI置1,向CPU申請中斷,接下來可在中斷服務(wù)程序中做相應(yīng)處理,也可選擇不進(jìn)入中斷。 本設(shè)計(jì)由于只需要發(fā)送采集到到溫度數(shù)據(jù),無需對數(shù)據(jù)輸入進(jìn)行處理。在具體操作串行口之前,需要對單片機(jī)的一些與串口有關(guān)的特殊功能寄存器進(jìn)行初始化設(shè)置,主要是設(shè)置產(chǎn)生波特率的定時器1、串行口控制和中斷控制。具體步驟如下: ① 確定 T1 的工作(編程 TMOD 寄存器); ② 計(jì)算 T1 的初值,裝載 TH1,TL1; ③ 啟動 T1(編程 TCON 的 TR1 位); ④ 確定串行口工作方式(編程 SCON 寄存器); ⑤ 串行口工作在中斷方式時,要

56、進(jìn)行中斷設(shè)置。 對于51單片機(jī),其傳輸波特率是可變的,波特率由定時器1的溢出率決定。系統(tǒng)晶振選用頻率11.0592MHz,波特率設(shè)為9600bps,由此可算出裝入定時器的初值為0xfd。通過調(diào)用printf 函數(shù),將溫度數(shù)值發(fā)送出去。 發(fā)送端程序流程圖如下圖4.7所示。 圖 4.7 發(fā)送端程序流程圖 具體程序如下: void UARTinit(void) /*串行口初始化*/ { SCON = 0x50; /* SCON: 模式 1, 8-bit UART, 使能接收*/ TMOD |= 0x20; /* TMOD: timer 1,

57、mode 2, 8-bit reload*/ TH1 = 0xFD; /* 裝初值*/ TR1 = 1; /* TR1: timer 1 run */ TI = 1; } void main() { UARTinit(); While(1) { temp=ReadTemperature(); if(temp&0x8000) { str[0]=0x40; //負(fù)號標(biāo)志 temp=~temp; // 取反加 1 temp +=1;

58、 } else str[0]=0; TempH=temp>>4; TempL=temp&0x0F; TempL=TempL*6/10; //小數(shù)近似處理 printf("%d.%d\n",TempH,TempL); //以整型數(shù)據(jù)的實(shí)際長度輸出,往串口發(fā)送溫度數(shù)據(jù)字符串 } } (2).接收端程序設(shè)計(jì) 接收端程序首先是對初始化狀態(tài)的設(shè)置,接收數(shù)據(jù),送PC機(jī)顯示。本設(shè)計(jì)采用Visual Basic串口通信技術(shù),利用MSComm控件來接收數(shù)據(jù)、處理數(shù)據(jù)和顯示數(shù)據(jù)。其工作流程圖如下圖4.

59、8所示。 圖 4.8 接收端程序流程圖 在進(jìn)行通信前,首先要有一個通信雙方所必須遵守的規(guī)則,即通信協(xié)議。本設(shè)計(jì)的通信協(xié)議代碼如下: Private Sub Form_Load() MSComm1.Settings="9600,N,8,1"波特率9600bit/s,無校驗(yàn),8位數(shù)據(jù),1位停止位 MSComm1.DTREnable=True使DTR線有效,等待接收傳輸 MSComm1.EOFEnable=False MSComm1.CommPort =1設(shè)定串口com1,此處默認(rèn)是端口1,可選擇其他端口 MSComm1.InBuffer

60、Size = 1024設(shè)置返回接收緩沖區(qū)的大小,以字符為單位 MSComm1.OutBufferSize = 512 MSComm1.RThreshold = 0設(shè)置并返回產(chǎn)生oncomm事件的字符數(shù),以字符為單位 MSComm1.SThreshold = 0 MSComm1.InputLen = 0設(shè)置從接收緩沖區(qū)讀取的字符數(shù),為0讀取整個緩沖區(qū) MSComm1.InputMode =0-comInputModeText以文本方式接收 MSComm1.InBufferCount = 0MSComm1.NullDiscard=False MSComm1.RT

61、SEnable=False End Sub 4.1.5 上位機(jī)軟件設(shè)計(jì) 串口通信作為一種非常基礎(chǔ)而靈活的通信方式,被廣泛地應(yīng)用于PC間的通信以及PC和單片機(jī)之間的通信之中。在Visual Basic中有一個Microsoft Communication Control(簡稱MSComm)的通信控件,就可以輕松地實(shí)現(xiàn)串口通信[15]。上位機(jī)所有程序與代碼都是使用Microsoft Visual Basic 6.0企業(yè)版編寫。 (1). 界面設(shè)計(jì) 在窗口中主要有控制命令按鈕、溫度顯示、溫度曲線、端口選擇、當(dāng)前時間這5類功能。主窗體如圖4.9所示。 圖 4.9 主

62、窗體 (2). 溫度曲線繪制 為較簡潔地顯示出溫度的變化,此處使用繪制溫度變化曲線,刷新時間為1s,縱坐標(biāo)為溫度軸(范圍為-150~150oC),橫坐標(biāo)為時間軸(范圍為0~100s) ,溫度的變化將實(shí)時呈現(xiàn)在界面上。具有接收數(shù)據(jù)及顯示代碼如下: Private Sub Timer1_Timer() Dim strBuff As String strBuff = strBuff + MSComm1.Input 讀入到緩沖區(qū) TimeDelay 500 Label1.Caption = strBuff DataFromCom = Val(strBuff)

63、 Label3.Caption = Now TimeCount = TimeCount + 1 時間軸加1 DrawRealLine Picture1, TimeCount, DataFromCom * 30, DataFromComLast *30,&HFFFF&出實(shí)時的曲線4 If TimeCount > 100 Then Picture1.Cls TimeCount = 0 PicMidleLine Picture1 在圖像框中畫一條中線 End If DataFromComLast = DataFromCom End Sub 5 調(diào)劑及結(jié)果

64、 5.1 測試環(huán)境及工具 測試溫度:0~100攝氏度。 測試儀器及軟件:數(shù)字萬用表,溫度計(jì)0~100攝氏度,VB6.0(企業(yè)版)。 測試方法:目測。 5.2 測試方法 使系統(tǒng)運(yùn)行,觀察系統(tǒng)硬件檢測是否正常(包括單片機(jī)最小系統(tǒng),顯示電路,溫度測試電路,串口通信電路等)。 采用溫度傳感器和溫度計(jì)同時測量氣溫變化情況(采用吹風(fēng)機(jī)升溫,模擬外界溫度變化),目測顯示電路是否正常。并記錄各點(diǎn)溫度值,與實(shí)際溫度值比較,得出系統(tǒng)的溫度指標(biāo)。 使用VB6.0調(diào)用MSComm控件接收、處理、顯示溫度數(shù)據(jù),通過對比數(shù)碼管上溫度值,判斷單片機(jī)與串口之間傳輸數(shù)據(jù)是否正確。 5.3 測試結(jié)果分

65、析 自檢正常,溫度顯示正常,串口傳輸數(shù)據(jù)正確。 因?yàn)樾酒撬芰戏庋b,所以對溫度的感應(yīng)靈敏度不是相當(dāng)高,需要一個很短的時間才能達(dá)到穩(wěn)定。測試采用吹風(fēng)機(jī)模擬外界溫度變化,發(fā)現(xiàn)溫度可及時將溫度的變化情況顯示在上位機(jī)窗口上。測試結(jié)果如下圖5.1所示。 圖5.1 測試過程界面 6 結(jié)論 本設(shè)計(jì)介紹了用單片機(jī)控制DS18B20以及著重分析各單元電路的設(shè)計(jì),以及各電路與單片機(jī)的接口技術(shù)。系統(tǒng)采用單總線技術(shù),按照DS18B20的通信協(xié)議,由主機(jī)向DS18B20發(fā)送命令,讀取DS18B20轉(zhuǎn)換的溫度,從而實(shí)現(xiàn)各個時刻環(huán)境的溫度的數(shù)值。雖然設(shè)

66、計(jì)的模塊具有體積小,功耗低,數(shù)據(jù)傳輸穩(wěn)定,成本低,但是使用方式靈活,因此適用于短距離對多種環(huán)境下對溫度的監(jiān)控。 經(jīng)過了這段時間的努力和學(xué)習(xí),在陳陳錫華老師的耐心指導(dǎo)下,以及一些同學(xué)的熱心幫助下,本次畢業(yè)設(shè)計(jì)“環(huán)境溫度監(jiān)測電路設(shè)計(jì)”即將結(jié)束,這次畢業(yè)設(shè)計(jì)基本上完成了老師所規(guī)定的各項(xiàng)任務(wù)指標(biāo)。此次畢業(yè)設(shè)計(jì)我總結(jié)論了以下幾點(diǎn): 1.在設(shè)計(jì)時必須要鞏固和加深了對計(jì)算機(jī)硬件設(shè)計(jì)的理解, 提高綜合運(yùn)用本課程所學(xué)知識的能力。 2.在畢業(yè)設(shè)計(jì)過程中,讓我更加深刻認(rèn)識了理論知識的重要性,你必須在熟練掌握理論知識的時候才能更好的運(yùn)用理論知識去實(shí)踐。 3.通過本次畢業(yè)設(shè)計(jì),我不僅培養(yǎng)了自己懂得積極查閱手冊材料及文獻(xiàn)資料的能力,更讓我學(xué)會了獨(dú)立思考,深入研究,分析問題、解決問題的能力。 謝 辭 經(jīng)過一段時間的努力,畢業(yè)設(shè)計(jì)已經(jīng)告一段落。作為一個本科生的畢業(yè)設(shè)計(jì),由于各方面的原因,難免有許多考慮不周全的地方,倘若沒有陳錫華老師的指與幫助導(dǎo),要完成這個設(shè)計(jì)想必在這段時間是難以實(shí)現(xiàn)的。在跟陳錫

展開閱讀全文
溫馨提示:
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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!