基于單片機(jī)的無(wú)線多路數(shù)據(jù)(溫度)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(畢業(yè)論文)_第1頁(yè)
基于單片機(jī)的無(wú)線多路數(shù)據(jù)(溫度)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(畢業(yè)論文)_第2頁(yè)
基于單片機(jī)的無(wú)線多路數(shù)據(jù)(溫度)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(畢業(yè)論文)_第3頁(yè)
基于單片機(jī)的無(wú)線多路數(shù)據(jù)(溫度)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(畢業(yè)論文)_第4頁(yè)
基于單片機(jī)的無(wú)線多路數(shù)據(jù)(溫度)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(畢業(yè)論文)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、本文的下載地址:前言21 總體方案設(shè)計(jì)31.1 方案論證41.1.1 傳感器41.1.2 主控部分42 硬件電路的設(shè)計(jì)52.1 電源電路52.2 溫度采集電路62.2.1 DS18B20簡(jiǎn)介62.2.2 電路設(shè)計(jì)82.2.3 無(wú)線傳輸電路模塊93 無(wú)線發(fā)送與接收電路93.1 無(wú)線發(fā)送電路93.2 無(wú)線接收模塊104 顯示電路114.1 字符型液晶顯示模塊114.2 字符型液晶顯示模塊引腳114.3 字符型液晶顯示模塊內(nèi)部結(jié)構(gòu)125 單片機(jī)AT89S52135.1 AT89S52簡(jiǎn)介135.2 AT89S52引腳說(shuō)明146 軟件設(shè)計(jì)166.1 系統(tǒng)概述166.2 程序設(shè)計(jì)流程圖166.3 溫度傳

2、感器多點(diǎn)數(shù)據(jù)采集177 調(diào)試及結(jié)果177.1 測(cè)試環(huán)境及工具177.2 測(cè)試方法177.3 測(cè)試結(jié)果分析178 總結(jié)18附錄1: 電路原理總圖19附錄2: 發(fā)射部分主程序20附錄3: 接收部分主程序26參考文獻(xiàn)31無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生:XX 指導(dǎo)教師:XX內(nèi)容摘要:由于數(shù)據(jù)采集系統(tǒng)的應(yīng)用范圍越來(lái)越寬、所涉及到的測(cè)量信號(hào)和信號(hào)源的類型越來(lái)越多、對(duì)測(cè)量的要求也越來(lái)越高,國(guó)內(nèi)現(xiàn)在已有不少數(shù)據(jù)測(cè)量和采集的系統(tǒng),但很多系統(tǒng)存在功能單一、采集通道少、采集速率低、操作復(fù)雜,并且對(duì)測(cè)試環(huán)境要求較高等問(wèn)題。人們需要一種應(yīng)用范圍廣、性價(jià)比高的數(shù)據(jù)采集系統(tǒng)。在分析了不同類型的單片機(jī)的特點(diǎn)及單片機(jī)與PC機(jī)

3、通信技術(shù)的基礎(chǔ)上,設(shè)計(jì)了單片機(jī)控制的采集系統(tǒng),并通過(guò)串口通信實(shí)現(xiàn)單片機(jī)與P(:機(jī)之間的通信,實(shí)現(xiàn)數(shù)據(jù)的傳送并將數(shù)據(jù)在PC機(jī)上顯示及存儲(chǔ),完成單機(jī)的多通道數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)?;趩纹瑱C(jī)的多通道數(shù)據(jù)采集系統(tǒng)是由將來(lái)自傳感器的信號(hào)通過(guò)放大、線性化、濾波、同步采樣保持等處理后,輸入AD轉(zhuǎn)換為數(shù)字信號(hào)后由單片機(jī)采集,然后利用單片機(jī)與PC機(jī)的通信將數(shù)據(jù)送到PC機(jī)進(jìn)行數(shù)據(jù)的存儲(chǔ)、后期處理與顯示,實(shí)現(xiàn)了數(shù)據(jù)處理功能強(qiáng)大、顯示直觀、界面友好、性價(jià)比高、應(yīng)用廣泛的特點(diǎn),可廣泛應(yīng)用于工業(yè)控制、儀器、儀表、機(jī)電一體化、智能家居等諸多領(lǐng)域。關(guān)鍵詞:多通道 數(shù)據(jù)采集 單片機(jī)Design and implementa

4、tion of wireless data acquisition systemAbstract: since the wide range of data acquisition system, which involves the measurement signal and the type of signal source more and more, Surveyors are increasingly high requirements of the domestic now have a lot of data acquisition and measurement system

5、 But there are many single function systems, collecting less access, low collection rate, complicated operations, and the demands of the test environment and other issuesIt requires abroad scope of application, high reliability and low-cost data acquisition system Based on the analysis of the charac

6、teristics of different types of SCM and SCM and PC communication technology, SCM control of the collection system designed and adopted MCU serial communication between PC and communications, Data transmission and display of data stored on the PCSingle completed the multi-channel data acquisition sys

7、tem design and implementation.Based on SCMs multi-channel data acquisition system is adopted will come from the sensor signal amplification, linear filtering, After processing maintain synchronous sampling, which converted to digital signal input A/D conversion by SCM Acquisition, Then, SCM and PC t

8、o PC communications data to the data storage, post-processing and display. a powerful data processing, visual shows, friendly interface and high performance-price ratio, a wide range of features. can be widely used in industrial control equipment, instruments, and electrical engineering integration,

9、 intelligent home and many other fieldsKey words: Multi-channel Data Acquisition Microcontroller無(wú)線數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)前言 21世紀(jì)的今天,科學(xué)技術(shù)的發(fā)展日新月異,科學(xué)技術(shù)的進(jìn)步同時(shí)也帶動(dòng)了測(cè)量技術(shù)的發(fā)展,現(xiàn)代控制設(shè)備不同于以前,它們?cè)谛阅芎徒Y(jié)構(gòu)發(fā)生了翻天覆地的變化。我們已經(jīng)進(jìn)入了高速發(fā)展的信息時(shí)代,測(cè)量技術(shù)是當(dāng)今社會(huì)的主流,廣泛地深入到應(yīng)用工程的各個(gè)領(lǐng)域。溫度是工業(yè)、農(nóng)業(yè)生產(chǎn)中常見(jiàn)的和最基本的參數(shù)之一,在生產(chǎn)過(guò)程中常需對(duì)溫度進(jìn)行檢測(cè)和監(jiān)控,采用微型機(jī)進(jìn)行溫度檢測(cè)、數(shù)字顯示、信息存儲(chǔ)及實(shí)時(shí)控制

10、,對(duì)于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用。伴隨工業(yè)科技、農(nóng)業(yè)科技的發(fā)展,溫度測(cè)量需求越來(lái)越多,也越來(lái)越重要。但是在一些特定環(huán)境溫度監(jiān)測(cè)環(huán)境范圍大,測(cè)點(diǎn)距離遠(yuǎn),布線很不方便。這時(shí)就要采用無(wú)線方式對(duì)溫度數(shù)據(jù)進(jìn)行采集。 多路無(wú)線溫度采集系統(tǒng)可被廣泛應(yīng)用于溫度測(cè)量或相應(yīng)的可轉(zhuǎn)換為溫度量或供電故障監(jiān)控的工業(yè)、農(nóng)業(yè)、環(huán)保、服務(wù)業(yè)、安全監(jiān)控等工程中,例如:城市路燈故障檢測(cè)和供電線路防盜監(jiān)視、城市居民小區(qū)供熱檢測(cè)、大型倉(cāng)庫(kù)溫度檢測(cè)、工業(yè)生產(chǎn)測(cè)控、農(nóng)業(yè)生產(chǎn)溫度測(cè)控、環(huán)保工程、故障監(jiān)控工程等??紤]到許多工業(yè)環(huán)境中對(duì)多點(diǎn)溫度進(jìn)行監(jiān)控,一般需要測(cè)量幾十個(gè)點(diǎn)以上。本文設(shè)計(jì)多路無(wú)線溫度監(jiān)控系統(tǒng)。本設(shè)計(jì)是以A

11、tmel公司的AT89S51單片機(jī)作為控制核心,提出以DS18B20的單總線分布式溫度采集與控制系統(tǒng)。多個(gè)溫度傳感節(jié)點(diǎn)通過(guò)單總線與單片機(jī)相連形成分布式系統(tǒng)??刂破魍ㄟ^(guò)溫度傳感器實(shí)時(shí)檢測(cè)各節(jié)點(diǎn)的溫度變化,并在LCD1602上循環(huán)顯示各節(jié)點(diǎn)溫度的變化。通過(guò)串口將檢測(cè)到的溫度信息回饋到上位機(jī)(PC機(jī)),從而遠(yuǎn)程實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)的檢測(cè)。因?yàn)椴捎梦⑿蜋C(jī)進(jìn)行溫度檢測(cè)、數(shù)字顯示、信息存儲(chǔ)及實(shí)時(shí)控制,對(duì)于提高生產(chǎn)效率和產(chǎn)品質(zhì)量、節(jié)約能源等都有重要的作用,并且溫度參數(shù)對(duì)工業(yè)生產(chǎn)的重要性,所以溫度測(cè)量系統(tǒng)的精確度和智能化一直受到企業(yè)的重視。所以學(xué)習(xí)并研究溫度測(cè)量及相關(guān)知識(shí)可做為一個(gè)較為實(shí)用的課題的方向,能獲得較實(shí)用

12、的知識(shí)和方法。因此溫度測(cè)控技術(shù)是一個(gè)很實(shí)用、也很重要的技術(shù),值得去研究掌握。它應(yīng)用的領(lǐng)域也相當(dāng)廣泛,可以應(yīng)用到消防電氣的非破壞性溫度檢測(cè),電力、電訊設(shè)備的過(guò)熱故障預(yù)知檢測(cè),空調(diào)系統(tǒng)的溫度檢測(cè),各類運(yùn)輸工具之組件的過(guò)熱檢測(cè),保全與監(jiān)視系統(tǒng)之應(yīng)用,醫(yī)療與健診的溫度測(cè)試,化工、機(jī)械等設(shè)備溫度過(guò)熱檢測(cè)。因此前景是相當(dāng)?shù)目捎^。1 總體方案設(shè)計(jì)溫度檢測(cè)系統(tǒng)有則共同的特點(diǎn):測(cè)量點(diǎn)多、環(huán)境復(fù)雜、布線分散、現(xiàn)場(chǎng)離監(jiān)控室遠(yuǎn)等。若采用一般溫度傳感器采集溫度信號(hào),則需要設(shè)計(jì)信號(hào)調(diào)理電路、A/D 轉(zhuǎn)換及相應(yīng)的接口電路,才能把傳感器輸出的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)送到計(jì)算機(jī)去處理。這樣,由于各種因素會(huì)造成檢測(cè)系統(tǒng)較大的偏差;

13、又因?yàn)闄z測(cè)環(huán)境復(fù)雜、測(cè)量點(diǎn)多、信號(hào)傳輸距離遠(yuǎn)及各種干擾的影響,會(huì)使檢測(cè)系統(tǒng)的穩(wěn)定性和可靠性下降 。所以多點(diǎn)溫度檢測(cè)系統(tǒng)的設(shè)計(jì)的關(guān)鍵在于兩部分:溫度傳感器的選擇和主控單元的設(shè)計(jì)。溫度傳感器應(yīng)用范圍廣泛、使用數(shù)量龐大,也高居各類傳感器之首。1.1 方案論證1.1.1 傳感器方案一:采用熱敏電阻,可滿足40攝氏度至90攝氏度測(cè)量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對(duì)于檢測(cè)1攝氏度的信號(hào)是不適用的。方案二:采用單片模擬量的溫度傳感器,比如AD590,LM35等。但這些芯片輸出的都是模擬信號(hào),必須經(jīng)過(guò)A/D轉(zhuǎn)換后才能送給計(jì)算機(jī),這樣就使得測(cè)溫裝置的結(jié)構(gòu)較復(fù)雜。另外,這種測(cè)溫裝置的一根線上只能掛一個(gè)

14、傳感器,不能進(jìn)行多點(diǎn)測(cè)量。即使能實(shí)現(xiàn),也要用到復(fù)雜的算法,一定程度上也增加了軟件實(shí)現(xiàn)的難度。方案三:采用數(shù)字溫度傳感器DS18B20測(cè)量溫度,輸出信號(hào)全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測(cè)溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測(cè)溫元件,此元件線性度較好。在0100攝氏度時(shí),最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS1820和微控制器AT89S52構(gòu)成的溫度測(cè)量裝置,它直接輸出溫度的數(shù)字信號(hào),可直接與計(jì)算機(jī)連接。這樣,測(cè)溫系統(tǒng)的結(jié)構(gòu)就比較簡(jiǎn)單,體積也不大,且由于AT89S52可以帶多個(gè)DSB1820,因此可以非常容

15、易實(shí)現(xiàn)多點(diǎn)測(cè)量。輕松的組建傳感器網(wǎng)絡(luò)。采用溫度芯片DS18B20測(cè)量溫度,可以體現(xiàn)系統(tǒng)芯片化這個(gè)趨勢(shì)。部分功能電路的集成,使總體電路更簡(jiǎn)潔,搭建電路和焊接電路時(shí)更快。而且,集成塊的使用,有效地避免外界的干擾,提高測(cè)量電路的精確度。所以集成芯片的使用將成為電路發(fā)展的一種趨勢(shì)。本方案應(yīng)用這一溫度芯片,也是順應(yīng)這一趨勢(shì)。1.1.2 主控部分方案一:采用AT89S52八位單片機(jī)實(shí)現(xiàn)。單片機(jī)軟件編程的自由度大,可通過(guò)編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制。而且體積小,硬件實(shí)現(xiàn)簡(jiǎn)單,安裝方便。既可以單獨(dú)對(duì)多DS18B20控制工作,還可以與PC機(jī)通信.運(yùn)用主從分布式思想,由一臺(tái)上位機(jī)(PC微型計(jì)算機(jī)),下位機(jī)

16、(單片機(jī))多點(diǎn)溫度數(shù)據(jù)采集,組成兩級(jí)分布式多點(diǎn)溫度測(cè)量的巡回檢測(cè)系統(tǒng),實(shí)現(xiàn)遠(yuǎn)程控制。另外AT89C51在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟1。方案二:使用MSP430作控制器,德州儀器 (TI) 的超低功率16位RISC 混合信號(hào)處理器MSP430產(chǎn)品系列為電池供電測(cè)量應(yīng)用提供了最終解決方案。作為混合信號(hào)和數(shù)字技術(shù)的領(lǐng)導(dǎo)者,TI創(chuàng)新生產(chǎn)的MSP430,使系統(tǒng)設(shè)計(jì)人員能夠在保持獨(dú)一無(wú)二的低功率的同時(shí)同步連接至模擬信號(hào)、傳感器和數(shù)字組件。但在溫度采集和實(shí)施控制這個(gè)重要的場(chǎng)合低功耗相對(duì)來(lái)說(shuō)顯得就不是那么重要了,而應(yīng)該考慮它的穩(wěn)定性、準(zhǔn)確性,同時(shí)對(duì)比AT89S52能夠

17、在性能和資源都可以到達(dá)一個(gè)最佳的狀態(tài),可以避免用MSP430的不必要的資源浪費(fèi)。綜上,我們傳感器采用方案二,控制器采用方案一。系統(tǒng)框圖如下圖。 圖1.1.2-1 發(fā)射電路系統(tǒng)框圖 圖1.1.2-2 接收電路系統(tǒng)框圖2 硬件電路的設(shè)計(jì)本課題所設(shè)計(jì)的外圍電路包括:電源電路、溫度采集、時(shí)鐘電路、存儲(chǔ)電路、報(bào)警電路、模擬控制電路、按鍵電路、顯示電路以及串口等電路。下面將依次對(duì)各個(gè)模塊進(jìn)行說(shuō)明。2.1 電源電路電源變壓器是將交流電網(wǎng)220V的電壓變?yōu)樗枰碾妷褐?。交流電?jīng)過(guò)二極管整流之后,方向單一了,但是電流強(qiáng)度大小還是處在不斷地變化之中。這種脈動(dòng)直流一般是不能直接用來(lái)給集成電路供電的,而要通過(guò)整流電

18、路將交流電變成脈動(dòng)的直流電壓。由于此脈動(dòng)的直流電壓還含有較大的紋波,必須通過(guò)濾波電路加以濾除,從而得到平滑的直流電壓。濾波的任務(wù),就是把整流器輸出電壓中的波動(dòng)成分盡可能地減小,改造成接近穩(wěn)恒的直流電。但這樣的電壓還隨電網(wǎng)電壓波動(dòng),一般有±10%左右的波動(dòng),負(fù)載和溫度的變化而變化,因而在整流、濾波電路之后,還需要接穩(wěn)壓電路。穩(wěn)壓電路的作用是當(dāng)電網(wǎng)電壓波動(dòng),負(fù)載和溫度變化時(shí),維持輸出直流電壓穩(wěn)定。220V交流電通過(guò)9V變壓器變?yōu)?V的交流電,9V交流電通過(guò)四個(gè)二極管的全橋整流后變?yōu)?V直流電,然后經(jīng)過(guò)電解電容(470F)進(jìn)行一級(jí)濾波,以去除直流電里面的雜波,防止干擾。9V直流電出來(lái)后再經(jīng)

19、過(guò)三端穩(wěn)壓器LM7805穩(wěn)壓成為穩(wěn)定的5V電源,其中7805的Vin腳是輸入腳,接9V直流電源正極,GND是接地腳,接9V直流電源負(fù)極,Vout為輸出腳,它和接地腳的電壓就是+5V了。5V電源出來(lái)再經(jīng)過(guò)電解電容的二級(jí)濾波,使5V電源更加穩(wěn)定可靠。同時(shí)在5V穩(wěn)壓電源加上一個(gè)10K的電阻和一個(gè)紅色發(fā)光二極管,當(dāng)上電后,紅色發(fā)光二極管點(diǎn)亮,表示電源工作正常。此時(shí)一個(gè)穩(wěn)定輸出5V的電源已經(jīng)設(shè)計(jì)好,對(duì)于本設(shè)計(jì)它完全能夠滿足單片機(jī)及集成塊所需電源的要求2。電源原理圖如圖2.1-1所示。圖2.1-1 電源原理圖2.2 溫度采集電路2.2.1 DS18B20簡(jiǎn)介溫度芯片DS18B20是Dallas公司生產(chǎn)的一

20、線式數(shù)字溫度傳感器,具有3引腳TO92小體積封裝形式。測(cè)溫分辨率可達(dá)0.0625,被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出。測(cè)量溫度范圍為 -55+125,在-10+85范圍內(nèi),精度為±0.5。其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。由于每一個(gè)DS18B20都有唯一系列號(hào),因此多個(gè)DS18B20可以存在同一條單總線上。這允許許多不同地方放置溫度靈敏器件。此特性的應(yīng)用范圍包括HAVC環(huán)境控制,建筑物、設(shè)備或機(jī)械內(nèi)的溫度檢測(cè),以及過(guò)程監(jiān)控和控制中的溫度檢測(cè)等3。DS18B

21、20的內(nèi)部結(jié)構(gòu)如圖2.2.1-1所示。圖2.2.1-1 DS18B20方框圖DS18B20有4個(gè)主要的數(shù)據(jù)部件:A、64位激光ROM。64位激光ROM從高位到低位依次為8位CRC、48位序列號(hào)和8位家族代碼(28H)組成。B、溫度靈敏元件。 C、非易失性溫度報(bào)警觸發(fā)器TH和TL??赏ㄟ^(guò)軟件寫(xiě)入用戶報(bào)警上下限值。D、配置寄存器。配置寄存器為高速暫存存儲(chǔ)器中的第五個(gè)字節(jié)。其中R0、R1:溫度計(jì)分辨率設(shè)置位,其對(duì)應(yīng)四種分辨率如下表所列,出廠時(shí)R0、R1置為缺省值:R0=1,R1=1(即12位分辨率),用戶可根據(jù)需要改寫(xiě)配置寄存器以獲得合適的分辨率。 表 2.2.1-1 分辨率關(guān)系表R0R1分辨率/b

22、it最大轉(zhuǎn)換時(shí)間/us00993.750110187.510113751112750高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成,其分配如表2.2.1-2所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過(guò)單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式如表2.2.1-2所示。對(duì)應(yīng)的溫度計(jì)算:當(dāng)符號(hào)位S=0時(shí),直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),先將補(bǔ)碼變?yōu)樵a,再計(jì)算十進(jìn)制值。表2.2.1-2 DS18B20存儲(chǔ)器溫度LSB溫度MSBTHTL保留保留計(jì)數(shù)寄存器計(jì)數(shù)寄存器8位CRC2.2.2 電路設(shè)計(jì) 本系統(tǒng)為多點(diǎn)溫度測(cè)試。DS18B20

23、采用外部供電方式,理論上可以在一根數(shù)據(jù)總線上掛256個(gè)DS18B20,但時(shí)間應(yīng)用中發(fā)現(xiàn),如果掛接25個(gè)以上的DS18B20仍舊有可能產(chǎn)生功耗問(wèn)題。另外單總線長(zhǎng)度也不宜超過(guò)80M,否則也會(huì)影響到數(shù)據(jù)的傳輸。在這種情況下我們可以采用分組的方式,用單片機(jī)的多個(gè)I/O來(lái)驅(qū)動(dòng)多路DS18B20。在實(shí)際應(yīng)用中還可以使用一個(gè)MOSFET將I/O口線直接和電源相連,起到上拉的作用4。電路如圖2.2.2-1。圖2.2.2-1 單總線原理圖對(duì)DS18B20的設(shè)計(jì),需要注意以下問(wèn)題:A、對(duì)硬件結(jié)構(gòu)簡(jiǎn)單的單線數(shù)字溫度傳感器DS18B20 進(jìn)行操作,需要用較為復(fù)雜的程序完成。編制程序時(shí)必須嚴(yán)格按芯片數(shù)據(jù)手冊(cè)提供的有關(guān)操

24、作順序進(jìn)行,讀、寫(xiě)時(shí)間片程序要嚴(yán)格按要求編寫(xiě)。尤其在使用DS18B20 的高測(cè)溫分辨力時(shí),對(duì)時(shí)序及電氣特性參數(shù)要求更高。B、有多個(gè)測(cè)溫點(diǎn)時(shí),應(yīng)考慮系統(tǒng)能實(shí)現(xiàn)傳感器出錯(cuò)自動(dòng)指示,進(jìn)行自動(dòng)DS18B20 序列號(hào)和自動(dòng)排序,以減少調(diào)試和維護(hù)工作量。C、測(cè)溫電纜線建議采用屏蔽4 芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地。DS18B20 在三線制應(yīng)用時(shí),應(yīng)將其三線焊接牢固;在兩線應(yīng)用時(shí),應(yīng)將VCC與GND接在一起,焊接牢固。若VCC脫開(kāi)未接,傳感器只送85的溫度值。D、實(shí)際應(yīng)用時(shí),要注意單線的驅(qū)動(dòng)能力,不能掛接過(guò)多的DS18B20,同時(shí)還應(yīng)注意最遠(yuǎn)接線距離。另外還應(yīng)

25、根據(jù)實(shí)際情況選擇其接線拓?fù)浣Y(jié)構(gòu)。2.2.3 無(wú)線傳輸電路模塊 無(wú)線傳輸模塊,采用集成芯片PT2262和PT2272來(lái)構(gòu)建收發(fā)電路。PT2262/PT2272 是臺(tái)灣普城公司生產(chǎn)的一種CMOS 工藝制造的低功耗低價(jià)位通用編解碼電路,PT2262/PT2272 最多可有12 位(A0-A11)三態(tài)地址端管腳(懸空,接高電平,接低電平),任意組合可提供531441 地址碼,PT2262 最多可有6 位(D0-D5)數(shù)據(jù)端管腳,設(shè)定的地址碼和數(shù)據(jù)碼從17 腳串行輸出,可用于無(wú)線遙控發(fā)射電路。編碼芯片 PT2262 發(fā)出的編碼信號(hào)由:地址碼、數(shù)據(jù)碼、同步碼組成一個(gè)完整的碼字,解碼芯片PT2272 接收到

26、信號(hào)后,其地址碼經(jīng)過(guò)兩次比較核對(duì)后,VT 腳才輸出高電平,與此同時(shí)相應(yīng)的數(shù)據(jù)腳也輸出高電平,如果發(fā)送端一直按住按鍵,編碼芯片也會(huì)連續(xù)發(fā)射。當(dāng)發(fā)射機(jī)沒(méi)有按鍵按下時(shí),PT2262 不接通電源,其17 腳為低電平,所以315MHz 的高頻發(fā)射電路不工作,當(dāng)有按鍵按下時(shí),PT2262 得電工作,其第17 腳輸出經(jīng)調(diào)制的串行數(shù)據(jù)信號(hào),當(dāng)17 腳為高電平期間315MHz 的高頻發(fā)射電路起振并發(fā)射等幅高頻信號(hào),當(dāng)17 腳為低平期間315MHz 的高頻發(fā)射電路停止振蕩,所以高頻發(fā)射電路完全收控于PT2262 的17 腳輸出的數(shù)字信號(hào),從而對(duì)高頻電路完成幅度鍵控(ASK調(diào)制)相當(dāng)于調(diào)制度為100的調(diào)幅。在通常使

27、用中,一般采用8 位地址碼和4 位數(shù)據(jù)碼,這時(shí)編碼電路PT2262 和解碼PT2272 的第18腳為地址設(shè)定腳,有三種狀態(tài)可供選擇:懸空、接正電源、接地三種狀態(tài),3 的8 次方為6561,所以地址編碼不重復(fù)度為6561 組,只有發(fā)射端PT2262 和接收端PT2272 的地址編碼完全相同,才能配對(duì)使用,例如將發(fā)射機(jī)的PT2262 的第2 腳接地第3 腳接正電源,其它引腳懸空,那么接收機(jī)的PT2272 只要第2 腳接地第3 腳接正電源,其它引腳懸空就能實(shí)現(xiàn)配對(duì)接收。當(dāng)兩者地址編碼完全一致時(shí),接收機(jī)對(duì)應(yīng)的D1D4端輸出約4V 互鎖高電平控制信號(hào),同時(shí)VT 端也輸出解碼有效高電平信號(hào)。用戶可將這些信

28、號(hào)加一級(jí)三極管放大,便可驅(qū)動(dòng)繼電器等負(fù)載進(jìn)行遙控操縱5。設(shè)置地址碼的原則是:同一個(gè)系統(tǒng)地址碼必須一致;不同的系統(tǒng)可以依靠不同的地址碼加以區(qū)分。至于設(shè)置什么樣的地址碼完全隨客戶喜歡。3 無(wú)線發(fā)送與接收電路3.1 無(wú)線發(fā)送電路原理如圖3.1-1所示。圖3.1-1 PT2262發(fā)射原理圖 PT2262的發(fā)射原理如上圖所示,采用8 位地址碼和4 位數(shù)據(jù)碼的格式。PT2262的第18引腳設(shè)置地址為“00000000”,及18腳都接地。第1013引腳為數(shù)據(jù)輸入端,這四個(gè)引腳分別與單片機(jī)AT89S51的P2.0P2.3口相連。要發(fā)送的數(shù)據(jù)通過(guò)單片機(jī)AT89S51的P2.0P2.3口寫(xiě)入PT2262的數(shù)據(jù)輸入

29、管腳1013。由于第14腳接地,所以編碼啟動(dòng)端一直有效,當(dāng)PT2262的管腳1013有輸入(有一個(gè)為“1”即有編碼發(fā)出),則輸入的4位數(shù)據(jù)再經(jīng)過(guò)第17腳串行輸出通過(guò)天線發(fā)送出去。3.2 無(wú)線接收模塊無(wú)線接收模塊電路圖如圖3.2-1所示:PT2272的接收原理如上圖所示,由于PT2262采用8位地址碼和4 位數(shù)據(jù)碼的格式,所以PT2272也要采用同樣的格式。PT2272要與PT2262的地址相匹配才能進(jìn)行傳輸,所以PT2272的地址引腳18也要設(shè)置為“00000000”,及都接地。數(shù)據(jù)出端1013引腳與單片機(jī)AT89S51的P1.0P1.3口相連。接收到的數(shù)據(jù)再通過(guò)單片機(jī)的外圍接口P1.0P1.

30、3讀入到單片機(jī)內(nèi)部進(jìn)行處理。第17腳連接到單片機(jī)的P3.2(INT0)的外中斷0的輸入端,同時(shí)接一個(gè)發(fā)光二極管來(lái)確定解碼有沒(méi)有效。當(dāng)解碼有效時(shí)17腳輸出瞬間的高電平同時(shí)使單片機(jī)產(chǎn)生中斷來(lái)讀取數(shù)據(jù)和二極管瞬間發(fā)光。每解碼有效一次,發(fā)光二極管的閃爍一次6。圖3.2-1 PT2262接收原理圖4 顯示電路4.1 字符型液晶顯示模塊圖4.1-1 液晶面板 字符型液晶顯示模塊是一類專門用于顯示字母,數(shù)字,符號(hào)等的點(diǎn)陣式液晶顯示模塊。在顯示器件上的電極圖型設(shè)計(jì),它是由若干個(gè)5*7或5*11等點(diǎn)陣符位組成。每一個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。點(diǎn)陣字符位之間有一空點(diǎn)距的間隔起到了字符間距和行距的作用。4.2

31、字符型液晶顯示模塊引腳VSS為地電源,VDD接5V正電源,VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。RW為讀寫(xiě)信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和RW共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。DB0DB7為8位雙向數(shù)據(jù)線,BLK和BLA是背光燈電源7。模塊引腳如表4

32、.2-1。 表4.2-1 字符型液晶顯示模塊引腳編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3VL液晶顯示偏壓信號(hào)11D4Data I/O4RS數(shù)據(jù)/命令12D5Data I/O5R/W讀/寫(xiě)13D6Data I/O6E使能信號(hào)14D7Data I/O7D0Data I/O45BLA背光源正級(jí)8D1Data I/O16BLK背光源負(fù)級(jí)4.3 字符型液晶顯示模塊內(nèi)部結(jié)構(gòu) 液晶顯示模塊WM-C1602N的內(nèi)部結(jié)構(gòu)如圖4.3-1分為三部份:一為L(zhǎng)CD控制器,二為L(zhǎng)CD驅(qū)動(dòng)器,三為L(zhǎng)CD顯示裝置。圖4.3-1 LCD1602內(nèi)部結(jié)構(gòu) 圖4

33、.3-2 液晶接口5 單片機(jī)AT89S52 5.1 AT89S52簡(jiǎn)介如圖5.1-1所示為AT89S52芯片的引腳圖。兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)的AT89S52單片機(jī)是一個(gè)低功耗、高性能CHMOS的單片機(jī),片內(nèi)含4KB在線可編程Flash存儲(chǔ)器的單片機(jī)。它與通用80C51系列單片機(jī)的指令系統(tǒng)和引腳兼容。AT89S52單片機(jī)片內(nèi)的Flash可允許在線重新編程,也可用通用非易失性存儲(chǔ)編程器編程;片內(nèi)數(shù)據(jù)存儲(chǔ)器內(nèi)含128字節(jié)的RAM;有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口;具有兩個(gè)16位可編程定時(shí)器;中斷系統(tǒng)是具有6個(gè)中斷源、5個(gè)中斷矢量、2級(jí)中斷優(yōu)先級(jí)的中斷結(jié)構(gòu);震蕩器頻率0到33

34、MHZ,因此我們?cè)诖诉x用12MHZ的晶振是比較合理的;具有片內(nèi)看門狗定時(shí)器;具有斷電標(biāo)志POF等等。AT89S51具有PDIP、TQFP和PLCC三種封裝形式8。圖5.1-1 AT89S52引腳圖上圖就是PDIP封裝的引腳排列,下面介紹各引腳的功能。5.2 AT89S52引腳說(shuō)明P0口:8位、開(kāi)漏級(jí)、雙向I/O口。P0口可作為通用I/O口,但須外接上拉電阻;作為輸出口,每各引腳可吸收8各TTL的灌電流。作為輸入時(shí),首先應(yīng)將引腳置1。P0也可用做訪問(wèn)外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器時(shí)的低8位地址/數(shù)據(jù)總線的復(fù)用線。在該模式下,P0口含有內(nèi)部上拉電阻。在FLASH編程時(shí),P0口接收代碼字節(jié)數(shù)據(jù);在編程效

35、驗(yàn)時(shí),P0口輸出代碼字節(jié)數(shù)據(jù)(需要外接上拉電阻)。P1口:8位、雙向I/0口,內(nèi)部含有上拉電阻。P1口可作普通I/O口。輸出緩沖器可驅(qū)動(dòng)四個(gè)TTL負(fù)載;用作輸入時(shí),先將引腳置1,由片內(nèi)上拉電阻將其抬到高電平。P1口的引腳可由外部負(fù)載拉到低電平,通過(guò)上拉電阻提供電流。在FLASH并行編程和校驗(yàn)時(shí),P1口可輸入低字節(jié)地址。在串行編程和效驗(yàn)時(shí),P1.5/MO-SI,P1.6/MISO和P1.7/SCK分別是串行數(shù)據(jù)輸入、輸出和移位脈沖引腳。 P2口:具有內(nèi)部上拉電阻的8位雙向I/O口。P2口用做輸出口時(shí),可驅(qū)動(dòng)4各TTL負(fù)載;用做輸入口時(shí),先將引腳置1,由內(nèi)部上拉電阻將其提高到高電平。若負(fù)載為低電平

36、,則通過(guò)內(nèi)部上拉電阻向外部輸出電流。CPU訪問(wèn)外部16位地址的存儲(chǔ)器時(shí),P2口提供高8位地址。當(dāng)CPU用8位地址尋址外部存儲(chǔ)時(shí),P2口為P2特殊功能寄存器的內(nèi)容。在FLASH并行編程和校驗(yàn)時(shí),P2口可輸入高字節(jié)地址和某些控制信號(hào)。P3口:具有內(nèi)部上拉電阻的8位雙向口。P3口用做輸出口時(shí),輸出緩沖器可吸收4各TTL的灌電流;用做輸入口時(shí),首先將引腳置1,由內(nèi)部上拉電阻抬位高電平。若外部的負(fù)載是低電平,則通過(guò)內(nèi)部上拉電阻向輸出電流。在與FLASH并行編程和校驗(yàn)時(shí),P3口可輸入某些控制信號(hào)。P3口除了通用I/O口功能外,還有替代功能,如表5.3-1所示。表5.3-1 P3口的替代功能引腳符號(hào)說(shuō)明P3

37、.0RXD串行口輸入P3.1TXD串行口輸出P3.2/INT0外部中斷0P3.3/INT1外部中斷1P3.4T0T0定時(shí)器的外部的計(jì)數(shù)輸入P3.5T1T1定時(shí)器的外部的計(jì)數(shù)輸入P3.6/WR外部數(shù)據(jù)存儲(chǔ)器的寫(xiě)選通P3.7/RD外部數(shù)據(jù)存儲(chǔ)器的讀選通RST:復(fù)位端。當(dāng)振蕩器工作時(shí),此引腳上出現(xiàn)兩個(gè)機(jī)器周期的高電平將系統(tǒng)復(fù)位。ALE/ :當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE(允許地址鎖存)是一個(gè)用于鎖存地址的低8位字節(jié)的書(shū)粗脈沖。在Flash 編程期間,此引腳也可用于輸入編程脈沖()。在正常操作情況下,ALE以振蕩器頻率的1/6的固定速率發(fā)出脈沖,它是用作對(duì)外輸出的時(shí)鐘,需要注意的是,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器

38、時(shí),將跳過(guò)一個(gè)ALE脈沖。如果希望禁止ALE操作,可通過(guò)將特殊功能寄存器中位地址為8EH那位置的“0”來(lái)實(shí)現(xiàn)。該位置的“1”后。ALE僅在MOVE或MOVC指令期間激活,否則ALE引腳將被略微拉高。若微控制器在外部執(zhí)行方式,ALE禁止位無(wú)效。:外部程序存儲(chǔ)器讀選取通信號(hào)。當(dāng)AT89S51在讀取外部程序時(shí), 每個(gè)機(jī)器周期 將PSEN激活兩次。在此期間內(nèi),每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)兩個(gè)信號(hào)。/Vpp:訪問(wèn)外部程序存儲(chǔ)器允許端。為了能夠從外部程序存儲(chǔ)器的0000H至FFFFH單元中取指令,必須接地,然而要注意的是,若對(duì)加密位1進(jìn)行編程,則在復(fù)位時(shí),的狀態(tài)在內(nèi)部被鎖存。執(zhí)行內(nèi)部程序應(yīng)接VCC。不

39、當(dāng)選擇12V編程電源時(shí),在Flash編程期間,這個(gè)引腳可接12V編程電壓。XTAL1:振蕩器反向放大器輸入端和內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器輸出端9。6 軟件設(shè)計(jì)6.1 系統(tǒng)概述整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來(lái)了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來(lái)完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)

40、行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。6.2 程序設(shè)計(jì)流程圖 圖6.2-1 發(fā)射流程圖 圖6.2-2 接收流程圖6.3 溫度傳感器多點(diǎn)數(shù)據(jù)采集DS18B20 可設(shè)定912 位的分辨率,本系統(tǒng)采用12位分辨率,轉(zhuǎn)換精度為0.0625,轉(zhuǎn)換溫度信號(hào)所需最長(zhǎng)時(shí)間為750ms。溫度數(shù)據(jù)由2 字節(jié)組成,以符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ),最低4 位是小數(shù)部分,中間7 位是整數(shù)部分, 1 位符號(hào)位。DS18B20 內(nèi)部RAM 由9 個(gè)字節(jié)的高速緩存器和E2PROM 組成,前2 個(gè)字節(jié)即為溫度數(shù)據(jù)。通過(guò)復(fù)位指令、ROM 和RAM 功能命令,即可完成對(duì)指定DS18B20溫度數(shù)據(jù)的采集和讀取。在一線制總線上串接多個(gè)

41、DS18B20 器件時(shí),需要先發(fā)送跳過(guò)ROM 指令,將所有傳感器都進(jìn)行一次溫度轉(zhuǎn)換,之后通過(guò)匹配ROM依次讀取每個(gè)傳感器的溫度數(shù)據(jù),實(shí)現(xiàn)對(duì)單I/O 口上的多個(gè)DS18B20 器件的操作10。在系統(tǒng)安裝及工作之前應(yīng)將主機(jī)逐個(gè)與DS1820掛接,以讀出其序列號(hào)。其工作過(guò)程為:主機(jī)發(fā)出一個(gè)脈沖,待“0”電平大于480s后,復(fù)位DS1820,在DS1820所發(fā)響應(yīng)脈沖由主機(jī)接收后,主機(jī)再發(fā)讀ROM命令代碼33H,然后發(fā)一個(gè)脈沖(15s),并接著讀取DS1820序列號(hào)的一位。用同樣方法讀取序列號(hào)的56位。另外,由于DS1820單線通信功能是分時(shí)完成的,遵循嚴(yán)格的時(shí)隙概念,系統(tǒng)對(duì)DS1820和各種操作必須

42、按協(xié)議進(jìn)行,即:初始化DS18B20(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。7 調(diào)試及結(jié)果7.1 測(cè)試環(huán)境及工具測(cè)試溫度:0100攝氏度(模擬多點(diǎn)不同溫度值環(huán)境)。測(cè)試儀器及軟件:數(shù)字萬(wàn)用表,溫度計(jì)0100攝氏度,串口調(diào)試助手。測(cè)試方法:目測(cè)。7.2 測(cè)試方法使系統(tǒng)運(yùn)行,觀察系統(tǒng)硬件檢測(cè)是否正常(包括單片機(jī)最小系統(tǒng),鍵盤電路,顯示電路,溫度測(cè)試電路等)。系統(tǒng)自帶測(cè)試表格數(shù)據(jù),觀察顯示數(shù)據(jù)是否相符合即可。采用溫度傳感器和溫度計(jì)同時(shí)測(cè)量多點(diǎn)水溫變化情況(取溫度值不同的多點(diǎn)),目測(cè)顯示電路是否正常。并記錄各點(diǎn)溫度值,與實(shí)際溫度值比較,得出系統(tǒng)的溫度指標(biāo)。使用串口調(diào)試助手與單片機(jī)通訊,

43、觀察單片機(jī)與串口之間傳輸數(shù)據(jù)正確否。7.3 測(cè)試結(jié)果分析自檢正常,各點(diǎn)溫度顯示正常,串口傳輸數(shù)據(jù)正確。因?yàn)樾酒撬芰戏庋b,所以對(duì)溫度的感應(yīng)靈敏度不是相當(dāng)高,需要一個(gè)很短的時(shí)間才能達(dá)到穩(wěn)定。8 總結(jié)本文研究的課題是基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng),該系統(tǒng)的實(shí)現(xiàn)的功能是將來(lái)自傳感器的信號(hào)通過(guò)放大、線性化、濾波、同步采樣保持等處理后,輸入A/D轉(zhuǎn)換為數(shù)字信號(hào)后由單片機(jī)采集,然后利用單片機(jī)與PC機(jī)的通信將數(shù)據(jù)送到PC機(jī)進(jìn)行數(shù)據(jù)的存儲(chǔ)、后期處理與顯示,該系統(tǒng)的數(shù)據(jù)處理功能強(qiáng)大、顯示直觀、界面友好、性價(jià)比商,可廣泛應(yīng)用于工業(yè)控制、儀器、儀表、機(jī)電一體化、智能家居等諸多領(lǐng)域。本系統(tǒng)還是一個(gè)不完善的系統(tǒng),還有許

44、多需要改進(jìn)的地方。設(shè)計(jì)中所采用的DS18B20搜索算法還存在不足,有時(shí)會(huì)發(fā)生重復(fù)或遺漏搜索。在通信協(xié)議不完整,沒(méi)有進(jìn)行發(fā)送超時(shí)出錯(cuò)處理。還有各種不足之處有待將來(lái)改進(jìn)。設(shè)計(jì)得以順利完成,得感謝我的指導(dǎo)老師,在這個(gè)過(guò)程中他都一直指導(dǎo)著我,雖然他沒(méi)有時(shí)時(shí)刻刻在我們身邊親歷指導(dǎo),但是他每天都詢問(wèn)我的進(jìn)展情況,對(duì)我遇到的問(wèn)題給予我解答,并對(duì)我的設(shè)計(jì)進(jìn)行一些優(yōu)化。附錄1: 電路原理總圖附錄2: 發(fā)射部分主程序#include<regx51.h>#include”ds18b20.h”#define uchar unsigned char /*pt2262發(fā)射函數(shù)*/void send_dat(u

45、char x) uchar x1,x2; x1=x&0x0f; P2=x1;/將數(shù)據(jù)的低4位先發(fā)送出去 x2=x>>4; P2=x2;/再將數(shù)據(jù)的高4位發(fā)送出去/*主函數(shù)*/void main() while(1) read_ds18b20();/讀取溫度 send_dat(temp1);/發(fā)射溫度1send_dat(temp2);/發(fā)射溫度2send_dat(temp3);/發(fā)射溫度3 Ds18b20.h頭文件:#ifndef _ds18b20#define _ds18b20 uchar temperature,y1,y2,x2,y3; #define DQ P1_0 /

46、溫度接收口uchar tpl;uchar tph;/*/void delay_b(uint t) uint i; while(t-) for(i=0;i<125;i+); /*/void txreset(void) uint i;DQ=0; i=100; while(i>0) i-; DQ=1; i=4; while(i>0) i-;/*/void rxwait(void) uint i; while(DQ); while(!DQ); i=4; while(i>0) i-;/*/bit rdbit(void) uint i;bit b; DQ=0;i+; DQ=1;i+

47、;i+; b=DQ; i=8;while(i>0) i-;return (b);/*Function:讀18B20的一個(gè)字節(jié)*/uchar rdbyte(void) uchar i,j,b;for(i=1;i<=8;i+) j=rdbit();b=(j<<7) | (b>>1); return (b); /*Function:向18B20寫(xiě)入一個(gè)字節(jié)*/ void wrbyte(uchar b) uint i; uchar j, btm; for(j=1; j<=8;j+) btm=b&0x01; b=b>>1; if(btm=1)

48、 DQ=0;i+;i+;DQ=1; i=8; while(i>0) i-; else DQ=0; i=8;while(i>0) i-;DQ=1;i+; i+; /*Function:溫度轉(zhuǎn)換*/void convert(void)txreset();rxwait();delay_b(1);/延時(shí)wrbyte(0xcc);wrbyte(0x44);/*/void rdtemp(void)txreset(); rxwait(); delay_b(1); /延時(shí)wrbyte(0xcc); wrbyte(0xbe); tpl=rdbyte();tph=rdbyte();/*/void de

49、lay_2ms() /動(dòng)態(tài)掃描顯示時(shí)間unsigned char i,j;for(i=0;i<8;i+) for(j=0;j<30;j+);void disp_led() P0=ay1; P2=b0; delay_2ms();P2=0XFF;P0=ay2&0x7f; / 顯示帶小數(shù)點(diǎn)的數(shù) P2=b1; delay_2ms();P2=0XFF; P0=ay3; P2=b2; delay_2ms();P2=0XFF;/*/void delay_2(uchar a)/延時(shí)函數(shù) uchar b,c; for(b=0;b<a;b+) for(c=0;c<10;c+); /

50、*/void read_ds18b20() convert(); delay_2(500); rdtemp(); temperature=(tpl&0xf0)/16+(tph&0x07)*16;y1=temperature/10; /整數(shù) 溫度十位y2=temperature%10; / 溫度個(gè)位x2=(tpl&0x0f)*(100/16);y3=x2/10; /小數(shù) 溫度十位/*/#endif附錄3: 接收部分主程序#include<regx51.h>#include "lcd1602.h"#define uchar unsigned charuchar flag=0,flag_dat=0; /定義flag標(biāo)志變量表示接收的數(shù)據(jù)的高4位還是低4位,flag_dat表示接收的是第幾個(gè)溫度傳感器的數(shù)據(jù)uchar dat,dat1,da

溫馨提示

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

評(píng)論

0/150

提交評(píng)論