畢業(yè)論文格式 (1)
《畢業(yè)論文格式 (1)》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)論文格式 (1)(47頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 鄭州航空工業(yè)管理學(xué)院 畢 業(yè) 論 文(設(shè) 計(jì)) 2013 屆 電子信息 專業(yè) 0913083 班級 題 目 高溫加工設(shè)備中分布式溫度測試系統(tǒng) 姓 名 蔡傳婷 學(xué)號091308303 指導(dǎo)教師 張臻 職稱 副教授 二О 一三 年 五 月 二十四 日 內(nèi) 容 提 要 本次設(shè)計(jì)的題目名為高溫環(huán)境下的分布式溫度測試系統(tǒng),我們從實(shí)際運(yùn)用出發(fā),以基于DS18B20的多點(diǎn)溫度分布式測量系統(tǒng)進(jìn)行研究。而后,我們對高溫環(huán)境下的國內(nèi)
2、工業(yè)情況進(jìn)行展望。 本次設(shè)計(jì)系統(tǒng)地介紹了基于DS18B20的多點(diǎn)溫度分布式測量系統(tǒng)的組成、設(shè)計(jì)方案、電路原理、程序設(shè)計(jì)以及系統(tǒng)仿真過程。DS18B20多點(diǎn)溫度測量系統(tǒng)是以AT89C51單片機(jī)作為控制核心,智能溫度傳感DS18B20為控制對象,運(yùn)用匯編語言編程實(shí)現(xiàn)系統(tǒng)的各種功能。 該系統(tǒng)由單片機(jī)最小系統(tǒng)、傳感器電路、報(bào)警電路、LCD顯示電路、行列式鍵盤電路、電源電路六大部分組成。借助PROTEUS軟件,實(shí)現(xiàn)了系統(tǒng)電路設(shè)計(jì)和仿真。它適用于電力工業(yè)、煤礦、森林、火災(zāi)、高層建筑等場所,還可以用于環(huán)境惡劣的工業(yè)控制現(xiàn)場。通過DS18B20的單總線技術(shù),實(shí)現(xiàn)對遠(yuǎn)程環(huán)境的溫度測量與監(jiān)控。
3、關(guān)鍵詞 DS18B20; 仿真,;測量系統(tǒng);PROTEUS The distributed temperature measurement system under the environment of high temperature Author:Cai Chuanting Adviser:Zhang Zhen Abstract The topic of this design is called the distributed temperature measurement system in high temperature en
4、vironment. But starting from the practical application, we can study the distributed multipoint temperature measurement system based on DS18B20 . And then we can look forward to the domestic industry under the environment of high temperature. The system introduces design scheme, circuit princip
5、le , program design and system simulation process of the design of distributed multi-point temperature measurement system based on DS18B20 the composition. DS18B20 multi-point temperature measurement system based on AT89C51 use single chip microcomputer as control core, the intelligent temperature
6、 sensor DS18B20 as control object, and use assembly language programming to realize various functions of the system. System is made up of six important parts: single chip microcomputer minimum system, sensor circuit, alarm circuit, LCD display circuit, the determinant keyboard circuit, a
7、nd power circuit six major parts. With the aid of PROTEUS software, we have realized the circuit design and simulation system. It is suitable for the electric power industry, coal mine, forest, fire, high-rise building etc, and also can be used in industrial control field conditions. Through DS18B20
8、 single bus technology, we have realized the temperature measurement and monitoring of remote environment. Keywords DS18B20; Simulation ; Measurement system; PROTEUS 目 錄 第一章 緒論 3 1.1 課題設(shè)計(jì)背景 3 1.2 課題研究的目的意義 3 1.3 國內(nèi)外現(xiàn)狀及水平 4 1.4 課題研究內(nèi)容 5 第二章 系統(tǒng)的需求分析與總體方案論證 7 2.1基于數(shù)字溫度傳感器設(shè)計(jì)方案 7
9、 2.2基于模擬溫度傳感器設(shè)計(jì)方案 9 2.3 方案論證 11 第三章 電路設(shè)計(jì) 13 3.1溫度傳感器DS18B20 14 3.1.1 DS18B20的引腳功能 14 3.1.2 DS18B20內(nèi)部結(jié)構(gòu) 14 3.1.3 DS18B20 的測溫原理 15 3.2顯示電路設(shè)計(jì) 16 3.3開關(guān)電路設(shè)計(jì) 17 3.3.1開關(guān)設(shè)計(jì) 17 3.3.1單片機(jī)的外部中斷擴(kuò)展 18 3.4.1時鐘電路 18 3.4.2報(bào)警電路 19 第四章 軟件設(shè)計(jì) 20 4.1主程序設(shè)計(jì) 20 4.2按鍵處理子程序 21 4.3顯示子程序 21 4.4溫度轉(zhuǎn)換程序及讀取溫度程序 22
10、 4.4.1 溫度傳感程序及讀取溫度程序的總體流程圖 22 4.4.2初始化子程序及應(yīng)答程序 23 4.4.3 DS18B20寫子程序 24 4.2.4 DS18B20 讀子程序 26 第五章 PROTEUS仿真 28 5.1 PROTEUS仿真環(huán)境介紹 28 5.2 原理圖繪制 28 5.3 程序加載 29 5.3.1 程序編譯 29 5.3.2 程序加載 29 5.3.3仿真結(jié)果 30 結(jié)束語與展望 31 致 謝 32 參考文獻(xiàn) 33 附錄一 34 附錄二 35 高溫環(huán)境下的分布式溫度測試系統(tǒng)
11、 作者:蔡傳婷 指導(dǎo)教師:張臻 職稱:副教授 第一章 緒論 1.1 課題設(shè)計(jì)背景 溫度是表示物體冷熱程度的物理量,和人們的生活環(huán)境密切的關(guān)系,同時,也是在生產(chǎn)生活科研等領(lǐng)域中需要測量控制的重要標(biāo)量,更是國際單位制中七個基本量之一,另一方面,溫度又是一種基本的環(huán)境參數(shù)。工業(yè)中有著重要應(yīng)用,比如,化工廠一些器件的生產(chǎn)必須控制在一定的溫度范圍內(nèi)。沒有合適的溫度環(huán)境,許多電子設(shè)備不能正常工作。可見,研究溫度的測量具有重要的生產(chǎn)實(shí)踐意義。這之中,高溫環(huán)境更是經(jīng)常運(yùn)用在工業(yè)生產(chǎn)之中,所以高溫環(huán)境中溫度的測量研究,尤為重要。 隨著現(xiàn)代科技的發(fā)展,溫度傳感器的作用日益突出。溫度傳感器逐漸
12、成為自動檢測、自動控制系統(tǒng)和計(jì)量測試中重要必須的工具。本設(shè)計(jì)目的在于高溫環(huán)境中溫度的測量。 本設(shè)計(jì)從時基應(yīng)用出發(fā),以四點(diǎn)對溫度進(jìn)行測試,每個測試點(diǎn)有一個開關(guān)控制,從而模擬實(shí)現(xiàn)分布式,另外介于高溫設(shè)備不宜實(shí)現(xiàn),我們以日常溫度模擬高溫。 1.2 課題研究的目的意義 隨著科技技術(shù)飛快地發(fā)展,測量在現(xiàn)代控制設(shè)備在性能和結(jié)構(gòu)上均有了顯著的作用。在這個信息高速發(fā)展的時代,測量技術(shù)被廣泛應(yīng)用于各個領(lǐng)域,本次設(shè)計(jì)的目的在于: (1)對常用數(shù)字溫度傳感器DS18B20的原理、性能、使用特點(diǎn)和方法等進(jìn)一步了解掌握,同時利用C51進(jìn)行編程,對機(jī)械語言進(jìn)一步熟悉。 (2)本課題的研究可以使學(xué)生更好地掌握基于
13、單片機(jī)應(yīng)用系統(tǒng)的分析與設(shè)計(jì)方法,培養(yǎng)創(chuàng)新意識,增強(qiáng)電子信息專業(yè)休養(yǎng)能力。 (3)本課題不僅綜合了現(xiàn)代測控、電子信息、計(jì)算機(jī)技術(shù)專業(yè)領(lǐng)域方方面面的知識,而且具有科學(xué)性、綜合性、代表性,可全面檢測所學(xué)知識,加強(qiáng)實(shí)際應(yīng)用能力。 1.3 國內(nèi)外現(xiàn)狀及水平 傳感器作為信息技術(shù)的前沿尖端產(chǎn)品,在社會各個領(lǐng)域有著廣泛的應(yīng)用,而社會生產(chǎn)中隨處可見溫度傳感器的使用,數(shù)量更是各傳感器之首。溫度傳感器經(jīng)過三個階段的發(fā)展以后,新型溫度傳感器不僅開始具有分辨力高、線性度好、成本低等優(yōu)點(diǎn),同時更由模擬式向數(shù)字式、由集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。而我國更為新型傳感器的研究奠定了基礎(chǔ)。 DS18B20是美國DAL
14、LAS公司生產(chǎn)的單總線數(shù)字溫度傳感器,可把溫度信號直接轉(zhuǎn)換成串行數(shù)字信號供微機(jī)處理,而且可以在一條總線上掛接任意多個DS18B20芯片,構(gòu)成分布式溫度檢測系統(tǒng)無需任何外加硬件(《單總線數(shù)字溫度傳感器DS18B20及其在單片機(jī)系統(tǒng)的應(yīng)用》)。 單總線數(shù)字溫度傳感器,具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易于與微控制器接口優(yōu)點(diǎn),適合于各種溫度測控系統(tǒng)(《數(shù)字溫度傳感器DS18B20及其應(yīng)用》)。以DS18B20為例,介紹數(shù)字式溫度傳感器的功能特點(diǎn)及由DS18B20組成的溫度測控網(wǎng)絡(luò)系統(tǒng)的設(shè)計(jì)。 隨著社會的發(fā)展、農(nóng)業(yè)生產(chǎn)也進(jìn)人了工廠化、數(shù)字化時代,人們開始“使用人工設(shè)施、人工控制環(huán)境因素,使
15、植物獲得最適宜的生長條件,從而延長生產(chǎn)季節(jié),獲得最佳產(chǎn)出”,由此“工廠化農(nóng)業(yè)”應(yīng)運(yùn)而生并被廣泛接受(《單總線溫度傳感器DS18B20及其在溫室系統(tǒng)中的應(yīng)用》)。 基于DS18B20設(shè)計(jì)的溫度檢測系統(tǒng)就可以實(shí)現(xiàn)溫度測試的需求。另外作為工業(yè)生產(chǎn)中經(jīng)常被要求的高溫環(huán)境,此檢測更具有實(shí)際 應(yīng)用意義。 1.4 課題研究內(nèi)容 軟件和硬件兩個方面是本次設(shè)計(jì)的難點(diǎn)。軟件開發(fā)的難點(diǎn)在于DS18B20的時序設(shè)置,對于正確讀出溫度值有著重大影響,而硬件則在于各種元器件的選擇如電阻、電容等及其使用方法。故可將本設(shè)計(jì)研究的主要內(nèi)容分為如下: (1)在廣泛查閱溫度檢測控制理論和方法、測溫技術(shù)和溫度控制技
16、術(shù)等資料的基礎(chǔ)上,根據(jù)不同的控制要求及應(yīng)用領(lǐng)域完成對系統(tǒng)方案的總體設(shè)計(jì)。本設(shè)計(jì)采用以AT89C51為核心的單片機(jī)系統(tǒng),來實(shí)現(xiàn)對溫度的檢測、報(bào)警等功能。 (2)系統(tǒng)硬件設(shè)計(jì)。系統(tǒng)硬件設(shè)計(jì)主要包括:溫度檢測、單片機(jī)數(shù)據(jù)采集處理、顯示、按鍵控制、報(bào)警電路等部分。研究需要比較各相關(guān)元器件的功能與特點(diǎn),選擇合適的元器件。 (3)系統(tǒng)軟件設(shè)計(jì)。本課題采用匯編語言,利用Keil編譯器進(jìn)行編程及調(diào)試。主要研究DS18B20與單片機(jī)的通信協(xié)議等。 1 第二章 系統(tǒng)的需求分析與總體方案論證 2.1基于數(shù)字溫度傳感器設(shè)計(jì)方案 該方案使用了AT89C51單片機(jī)作為控制核心,以智能溫度傳感器DS
17、18B20為溫度測量元件,采用多個溫度傳感器對各點(diǎn)溫度進(jìn)行檢測,多線連接,就是多個DS18B20分別連接到單片機(jī)的多個IO口,這種方案雖然占用單片機(jī)的多個IO口,但采用這種方案大大的簡化了編程難度,縮短了設(shè)計(jì)周期,同時也能保證系統(tǒng)的穩(wěn)定。 溫度傳感器DS18B20 單 片 機(jī) LCD顯示電路 溫度傳感器 溫度傳感器 溫度傳感器 報(bào)警器 集成功效 溫度傳感器 4×4鍵盤 圖2.1 基于數(shù)字溫度傳感器測量系統(tǒng)方案 本課題采用數(shù)字溫度傳感器DS1
18、8B20作為測為測溫元件,它具有如下特點(diǎn): (1)只要求一個端口即可實(shí)現(xiàn)通信。 (2)在DS18B20中的每個器件上都有獨(dú)一無二的序列號。 (3)實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測溫。 (4)測量溫度范圍在-55℃到+128℃之間。 (5)數(shù)字溫度計(jì)的分辨率用戶可以從9位到12位選擇。 (6)內(nèi)部有溫度上、下限告警設(shè)置。 43 2.2基于模擬溫度傳感器設(shè)計(jì)方案 本方案采用模擬溫度傳感器AD590作為測溫元件,傳感器將測量的溫度變換轉(zhuǎn)換成電流的變化,再通過電路轉(zhuǎn)換成電壓的變化,再通過運(yùn)算放大器交將信號進(jìn)行適當(dāng)?shù)姆糯?,最后通過模數(shù)轉(zhuǎn)換器將模擬信號轉(zhuǎn)換成數(shù)字信號,
19、傳給給單片機(jī),單片機(jī)將溫度值進(jìn)行處理之后用LCD顯示 ,當(dāng)溫度值超過設(shè)定值時,系統(tǒng)開始報(bào)警。如圖2.1所示,該方案由模擬溫度傳感器AD590、多路運(yùn)算放大器、A/D轉(zhuǎn)換器、4×4鍵盤、單片機(jī)、LCD顯示電路、集成功率放大器、報(bào)警器組成。 模擬傳感器AD590 多 路 運(yùn) 算 放大器 LCD顯示電路 單 片 機(jī) A/D 轉(zhuǎn) 換 多路選擇器 模擬溫度傳感器 模擬溫度傳感器 模擬溫度傳感器 報(bào)警器 集成功放 模擬溫度傳感器 4×4鍵盤
20、 圖2.2 基于模擬溫度傳感器的測量系統(tǒng)方案 本方案使用的測溫元件的性能指標(biāo)如下: (1)AD590的測溫范圍為﹣55℃~+150℃。 (2)AD590的電源電壓范圍為4V~30V,電源電壓可在4V~6V范圍變化,電流變化1mA,相當(dāng)于溫度變化1K。AD590可以承受44V正向電壓和20V反向電壓,因而器件反接也不會被損壞。 (3)輸出電阻為710MW。? (4)精度高,AD590共有I、J、K、L、M五檔,其中M檔精度最高,在﹣55℃~+150℃范圍內(nèi),非線性誤差為±0.3℃。 2.3 方案論證 本設(shè)計(jì)要求測量的點(diǎn)數(shù)為4,測溫范圍為-55℃~+128℃,精度為0.
21、1℃,其中100℃以上可近似作為高溫環(huán)境。綜合集成電路的性能指標(biāo)兩種方案均可實(shí)現(xiàn)。 方案一采用了數(shù)字溫度傳感器DS18B20,相對而言,改變了傳統(tǒng)溫度的測量方式。把DS18B20的四個DQ端分別接到單片機(jī)的四個不同的IO口,這種接法雖然占用的IO口比較多,但時序比較簡單,不需要讀取ROM序列號程序,搜索ROM序列號程序,匹配ROM序列號程序,軟件上簡化了很多。因而使用DS18B20可使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高,大大提高系統(tǒng)的抗干擾能力。DS18B20體積小、經(jīng)濟(jì)、使用方便靈活,測試精度高,較高的性能價格比,有CRC校驗(yàn),系統(tǒng)簡明直觀。適合于惡劣環(huán)境的現(xiàn)場溫度測試,如:環(huán)境控制等。
22、 另外,對于DS18B20,大學(xué)學(xué)習(xí)中,有過深入學(xué)習(xí),會使用PROTEUS實(shí)現(xiàn)系統(tǒng)的仿真。因此,該方案完既具有可行性又體現(xiàn)了先進(jìn)的技術(shù),經(jīng)濟(jì)也更加節(jié)約。全綜上所述,本課題采用方案二對系統(tǒng)進(jìn)行設(shè)計(jì)。 第三章 電路設(shè)計(jì) 基于DS18B20分布式溫度測量系統(tǒng)以AT89C51為核心器件,以Keil為系統(tǒng)開發(fā)平臺,用匯編語言進(jìn)行程序設(shè)計(jì),以PROTEUS作為仿真軟件設(shè)計(jì)而成的。本課題研究的多點(diǎn)測溫系統(tǒng)是以單片機(jī)和單總線數(shù)字溫度傳感器DS18B20為核心,充分利用單片機(jī)優(yōu)越的內(nèi)部和外部資源及數(shù)字溫度傳感器DS18B20的優(yōu)越性能構(gòu)成一個完備的測溫系統(tǒng),實(shí)現(xiàn)對溫度的多點(diǎn)測量。本課題
23、設(shè)計(jì)了一種合理、可行的單片機(jī)監(jiān)控軟件,完成測量和顯示的任務(wù)。由于單片機(jī)具有強(qiáng)大的運(yùn)算和控制功能,使得整個系統(tǒng)具有模塊化、硬件電路簡單以及操作方便等優(yōu)點(diǎn)。 本課題的整個系統(tǒng)是由單片機(jī)、顯示電路、鍵盤電路、驅(qū)動電路,等構(gòu)成。系統(tǒng)原理圖如圖3.1所示。 圖3.1 系統(tǒng)原理圖 3.1溫度傳感器DS18B20 3.1.1 DS18B20的引腳功能 DS18B20的引腳功能描述見表3.1。 表3.1 DS18B20引腳功能描述 序號 名稱 引腳功能描述 1 GND 地信號 2 DQ 數(shù)字輸入輸出引腳,開漏單總線接口引腳,當(dāng)使用寄生電源時,可向電源提供電源
24、3 VDD 可選擇的VDD引腳,當(dāng)工作于寄生電源時,該引腳必須接地 3.1.2 DS18B20內(nèi)部結(jié)構(gòu) 圖3.2為DS18B20 的內(nèi)部框圖,它主要包括寄生電源、溫度傳感器、64 位激光ROM 單線接口、存放中間數(shù)據(jù)的高速暫存器(內(nèi)含便箋式RAM),用于存儲用戶設(shè)定的溫度上下限值的TH 和TL 觸發(fā)器存儲與控制邏輯、8 位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等七部分。64位光刻ROM 的排列是:開始8位是產(chǎn)品類型標(biāo)號,接著的48位是該DS18B20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗(yàn)碼。光刻ROM 的作用是使每一個DS18B20都各不相同,這可實(shí)現(xiàn)一根總線上掛接多個DS18
25、B20的目的。暫存存儲器包含了8個連續(xù)字節(jié),前2個字節(jié)是測得的溫度信息,第1個字節(jié)的內(nèi)容是溫度的低8位,第2個字節(jié)是溫度的高8位。第3個和第4個字節(jié)是TH、TL的易失性拷貝,第5個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這3個字節(jié)的內(nèi)容在每一次上電復(fù)位時被刷新。第6、7、8個字節(jié)用于內(nèi)部計(jì)算。第9個字節(jié)是冗余檢驗(yàn)字節(jié) 存儲器和控制器 64位ROM和單線接口 高速 緩存 存儲器 溫度靈敏元件 低溫觸發(fā)器TL 高溫觸發(fā)器TH 電 源檢測 配置寄存器
26、 8位CRC生成器 圖3.2 DS18B20內(nèi)部結(jié)構(gòu)圖 3.1.3 DS18B20 的測溫原理 DS18B20測溫原理如圖3.3所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計(jì)數(shù)器1。 計(jì)數(shù)器1 預(yù)置 比較 =0 溫度寄存器 計(jì)數(shù)器2 =0 高溫度系數(shù)晶振 低溫度系數(shù)晶振 斜率累加器 預(yù)置 圖3.3 DS18B20測溫原理圖 計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),
27、當(dāng)計(jì)數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計(jì)數(shù)器1的預(yù)置將重新被裝入,計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到計(jì)數(shù)器2計(jì)數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。 3.2顯示電路設(shè)計(jì) CPU輸出端口控制的4位數(shù)碼顯示電路如圖3.4所示。該電路中4位數(shù)碼管的字型由P0口送出,字位由P2口送出。數(shù)碼管采用4位共陰極LED顯示器,數(shù)碼顯示采用動態(tài)顯示方式。先由P2口送出要顯示的字位,然后由P0口送出要顯示的字型碼,根據(jù)人眼的分辨率,設(shè)置閃爍時間間隙。通常人眼的分辨率在25次以上,據(jù)此設(shè)定合適的時間。也可以自己設(shè)置一個較短的時間間隔
28、,但占用CPU時間比較長,而且占用CPU接口資源,不適合在多個外部擴(kuò)展電路中使用。 P0口的P0.0-P0.6分別對應(yīng)數(shù)碼管的a、b、c、d、e、f、g七個字段,P2口的P2.0-P2.3分別對應(yīng)低到高的4位數(shù)碼管的字位。 圖3.4 顯示電路 3.3開關(guān)電路設(shè)計(jì) 3.3.1開關(guān)設(shè)計(jì) 對于這次設(shè)計(jì),我們采用四個按鍵來控制LED數(shù)碼顯示管的實(shí)時顯示,他們一端接地,另一端分別與P1.0,P1.1,P1.2,P1.3四個端口連接。如圖3.5 圖3.5 按鍵電路 3.3.1單片機(jī)的外部中斷擴(kuò)展 如圖3.6所示,四個開關(guān)均接地,當(dāng)
29、有一個開關(guān)按下時,按下開關(guān)輸入低電平,通過四輸入與門產(chǎn)生外部中斷,而后通過開關(guān)與單片機(jī)接口,判斷中斷,從而實(shí)現(xiàn)四個按鍵各自控制LED溫度顯示。 圖3.6外部中斷擴(kuò)展電路 3.4單片機(jī)系統(tǒng)設(shè)計(jì) 本次設(shè)計(jì)利用Intel的89C51控制整個系統(tǒng)。89C51單片機(jī)包含下列幾個部件:1個8位CPU、1個片內(nèi)震蕩器及時鐘電路、4KB ROM程序存儲器、128B RAM數(shù)據(jù)存儲器、可尋址64KB外部數(shù)據(jù)存儲器和64KB外部程序存儲器的控制電路、32條可編程的I/O線、2個16位的定時/計(jì)數(shù)器、1個可編程全雙工串行接口、5個中斷源、2個優(yōu)先級嵌套中斷結(jié)構(gòu)。此次設(shè)計(jì)包含晶振,報(bào)警燈板塊
30、。 3.4.1時鐘電路 本次設(shè)計(jì)的時鐘電路如圖3.789C51單片機(jī)的時鐘信號通常用內(nèi)部振蕩和外部振蕩方式。在引腳XTAL1和XTAX2外接晶體振蕩器,就夠成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器并產(chǎn)生振蕩時鐘脈沖。晶振通常選用6MHZ、12MHZ或24MHZ。內(nèi)部振蕩器方式如下。 圖3.7時鐘電路 電容器C1、C2起穩(wěn)定振蕩頻率、快速起振的作用,電容值一般為5-30PF。內(nèi)部振蕩方式所得的時鐘信號比較穩(wěn)定。外部振蕩方式是把已有的時鐘信號引入單片機(jī)內(nèi),這種方式適用于用來使單片機(jī)的時鐘與外部信號保持一致。 3.4.2報(bào)警電路 當(dāng)
31、實(shí)際溫度超過設(shè)置的溫度值時,單片機(jī)引腳輸出一定頻率的信號,經(jīng)由三極管發(fā)出報(bào)警聲。 圖3.8 報(bào)警裝置 第四章 軟件設(shè)計(jì) 4.1主程序設(shè)計(jì) 開始 主程序的功能就是通過調(diào)用各個模塊的子程序,來完成對溫度的采集、轉(zhuǎn)換,計(jì)算以及實(shí)時顯示,并通過主程序的不斷循環(huán)來檢測外界環(huán)境溫度的變化,按照命令執(zhí)行顯示,主程序模塊可以分為三個部分,即程序說明部分,調(diào)用子程序部分。在程序說明部分主要是aj11,aj21,aj31,aj41,aj1變量進(jìn)行初始化即全部置1.調(diào)用子程序部分,在程序說明部分就是要依次調(diào)用讀取溫度子程序,溫度轉(zhuǎn)換程序,按鍵子程序,以及顯示子程序,這樣就完成溫度的測量與顯示,主程序流
32、程圖如4.1所示。 圖4.1 主流程圖 返回 返回 返回 返回 顯示第四路溫度 顯示第三路溫度 顯示第二路溫度 顯示第一路溫度 調(diào)用讀取DS18B20溫度程序 調(diào)用讀取DS18B20溫度程序 調(diào)用讀取DS18B20溫度程序 調(diào)用讀取DS18B20溫度程序 調(diào)用溫度轉(zhuǎn)換程序 調(diào)用溫度轉(zhuǎn)換程序 調(diào)用溫度轉(zhuǎn)換程序 調(diào)用溫度轉(zhuǎn)換程序 如果按按鍵4產(chǎn)生外部中斷1000us 如果按按鍵3產(chǎn)生外部中斷1000us 如果按按鍵2 產(chǎn)生外部中斷 如果按按鍵1按產(chǎn)生外部中斷 初始化aj11,aj21,aj31,aj41全置1,aj1置1 4.2按鍵處理子程序
33、這一模塊主要進(jìn)行的是對按鍵的識別,在程序中定義了一個可位尋址片內(nèi)RAM數(shù)據(jù)FLAGO。當(dāng)按鍵一按下時,只有按鍵一對應(yīng)的那一比特為1,其它比特全為0。當(dāng)按鍵二按下時,只有按鍵二對應(yīng)的那個比特為1,其他比特全為0,以此類推。按鍵處理程序框圖如圖4.2所示。 返回 aj41=0---aj1=1,aj2=1,aj3=1,aj4=0 aj31=0---aj1=1,aj2=1,aj4=1,aj3=0 aj21=0---aj3=1,aj1=1,aj4=1,aj2=0 aj11=0---aj2=1,aj3=1,aj4=1,aj1=0 開始
34、 圖4.2 按鍵處理流程 4.3顯示子程序 在該次設(shè)計(jì)中,單片機(jī)和LED數(shù)碼管顯示器采用動態(tài)顯示掃描方法,即逐個地循環(huán)地點(diǎn)亮各個顯示器,這樣雖然在任一時刻只有一位顯示器被點(diǎn)亮,但是由于人眼具有視覺殘留效應(yīng),使人眼看起來就好像在同時顯示,其流程圖如圖4.3所示。 返回 位選小數(shù)位,段選顯示小數(shù)位,延時 位選個位,段選顯示個位,延時 位選十位,段選顯示十位,延時 位選回路數(shù),段選顯示回路數(shù),延時 取十位=a,個位=b,小數(shù)=c 開始
35、 圖4.4顯示流程圖 4.4溫度轉(zhuǎn)換程序及讀取溫度程序 4.4.1 溫度傳感程序及讀取溫度程序的總體流程圖 由于四片DS18B20是串接在不同的I/O口上,因此它們的讀溫子程序是各自獨(dú)立的,但其工作原理是相同的。以第一片DS18B20為例介紹讀溫塊的設(shè)計(jì)思路。 溫度轉(zhuǎn)換程序首先要調(diào)用DS18B20的初始化子程序以及應(yīng)答信號程序。對DS18B20進(jìn)行初始化操作;然后再判斷DS18B20是否存在,若存在則程序往下繼續(xù)進(jìn)行;不存在則返回主程序,當(dāng)檢測到DS18B20的存在時,就可以發(fā)跳過ROM命令,繼而發(fā)溫度轉(zhuǎn)換開始命令,該命令主要是完成溫度的A/D轉(zhuǎn)換。 讀取溫度程序
36、是在A/D轉(zhuǎn)換結(jié)束后,對鍵盤進(jìn)行多次掃描,然后進(jìn)行初始化操作,初始化結(jié)束后再發(fā)跳過ROM指令后才能讀取當(dāng)前溫度值,并將該值放入一個特定單元。 依次類推,其它DS18B20的溫度轉(zhuǎn)換程序及讀取溫度程序過程也是如此,四片DS18B20的存放溫度值特定單元:TEMPERH,TEMPEL。下面的圖4.5和圖4.6分別為DS18B20的溫度轉(zhuǎn)換程序和讀取程序。 開始 開始 初 始 化 初始化DS18B201 讀取應(yīng)答信號脈沖,延時脈沖 讀取應(yīng)答脈沖 寫命令:跳過序列號 寫命令:讀溫度數(shù)據(jù) 延時 寫命令:跳過序列號 寫命令:啟動溫度轉(zhuǎn)換 Y乘以0.0625
37、轉(zhuǎn)為實(shí)際溫度值 返回 讀溫度低值,讀溫度高值 結(jié)束 把溫度值送入y 圖4.5 溫度轉(zhuǎn)換程序 圖4.6 讀取程序 4.4.2初始化子程序及應(yīng)答程序 首先介紹DS18B20的初始化程序,初始化程序是完全按照DS18B20的時序來編寫的。 主機(jī)總線開始發(fā)送一復(fù)位脈沖(最短為480us的低電平信號),接著在480us之后釋放總線并進(jìn)入接收狀態(tài)。 應(yīng)答信號程序是:在DS18B20檢測到總線的上升沿之后等待15-16us,接著DS18B20在上升沿等待之后,發(fā)出存在脈沖(低電平持續(xù)60-
38、240us)。在本課題中的晶振為12M。 開 始 開始 下面的圖4.6和圖4.7分別是DS18B20初始化程序和應(yīng)答信號程序。 如果temp=1,等待 DS18B20置1 如果temp1=0,延時 稍作延時 結(jié) 束 DS18B20清零 主機(jī)發(fā)出480us復(fù)位延時脈沖 圖4.7應(yīng)答信號程序。 DS18B20置1 延時3個機(jī)器周期,等待應(yīng)答信號啊 結(jié) 束 圖4.6初始化程序 4.4.3 DS18B20寫子程序 當(dāng)主機(jī)把數(shù)據(jù)從高邏輯電平拉至低
39、邏輯電平時產(chǎn)生寫時間片,有兩種類型的寫時間片,寫1時間片和寫0時間片,所有時間片必須有最短為60us的持續(xù)期。在各寫周期之間必須有最短為1us的回復(fù)時間。在I/O線由高電平變?yōu)榈碗娖街驞S18B20在15s至16s的窗口之間對I/O線采樣,如果線為高電平寫1就發(fā)生,如果為低電平便發(fā)生寫0。 結(jié)束 結(jié)束 拉低temp1,15us,拉高temp1,60us 拉低temo1,延時60us,拉高temp1 是否btemp=0? b>>1 要寫的數(shù)b與0X01相與,送入btemp字符 設(shè)置參數(shù)循環(huán)8次 拉高temp1位 單片機(jī)對DS18B20的寫程序也是一個比特一個比特完成的,先從
40、單片機(jī)中的B中把一位比特寫到DS18B20中,再讓B右移一位,直至所有比特全部移至DS18B20,下面的圖4.8就是所描述的DS18B20的寫程序。 結(jié)束 結(jié)束 拉低temp1,15us,拉高temp1,60us 拉低temo1,延時60us,拉高temp1 是否btemp=0? b>>1 要寫的數(shù)b與0X01相與,送入btemp字符 設(shè)置參數(shù)循環(huán)8次 拉高temp1位 開 始 圖 4.8寫程序流程 4.2.4 DS18B20 讀子程序 當(dāng)從DS18B20讀數(shù)據(jù)時主機(jī)產(chǎn)生讀時間片,當(dāng)主機(jī)把數(shù)據(jù)線
41、從邏輯高電平拉至低電平時產(chǎn)生讀時間片,數(shù)據(jù)線必須保持在低邏輯電平至少1us,來自DS18B20的輸出數(shù)據(jù)在讀時間片下降沿之后15us有效,因此為了讀出從讀時間片開始算起15us的狀態(tài)主機(jī)必須停止把I/O引腳驅(qū)動至低電平,在讀時間片結(jié)束時I/O引腳經(jīng)過外部的上拉電阻拉回至高電平所有讀時間片的最短持續(xù)期限為60us,各個讀時間片之間必須有最短為1us的回復(fù)時間,把主機(jī)采樣時間定在15us期間的末尾系統(tǒng)時序關(guān)系就有最大的余地。 主機(jī)從DS18B20中讀取數(shù)據(jù)是一個比特一個比特讀的,每讀進(jìn)一個比特的數(shù)據(jù)到單片機(jī)的特定單元A,A左移1次與B相或,直至DS18B20的數(shù)據(jù)全部移到B中,到此單片機(jī)就對DS
42、18B20完成了讀字節(jié)操作。下面的圖4.9和圖4.10分別是讀比特和讀細(xì)節(jié)程序。 返回b 把數(shù)據(jù)送到b,延時60us 拉高temo1 15us DS18B20輸出數(shù)據(jù) 拉低temp1至少1us 拉高temp1,稍作延時 開始 圖4.9讀比特程序 a左移i次與b相或(把8次的a值合并一字節(jié)送入b) 調(diào)用讀DS18B20送入 設(shè)置循環(huán)參數(shù)8次 開始 返回b 圖4.10 讀細(xì)節(jié)流程 第五章 PROTEUS仿真 5.
43、1 PROTEUS仿真環(huán)境介紹 Proteus是英國Labcenter electronics公司研發(fā)的EDA設(shè)計(jì)軟件, 是一個基于ProSPICE混合模型仿真器的,完整的嵌入式系統(tǒng)軟、硬件設(shè)計(jì)仿真平臺。 Proteus不僅可以做數(shù)字電路、模擬電路、數(shù)?;旌想娐返姆抡妫€可進(jìn)行多種CPU的仿真,涵蓋了51、PIC、AVR、HC11、ARM等處理器,真正實(shí)現(xiàn)了在計(jì)算機(jī)上從原理設(shè)計(jì)、電路分析、系統(tǒng)仿真、測試到PCB板完整的電子設(shè)計(jì),實(shí)現(xiàn)了從概念到產(chǎn)品的全過程。 5.2 原理圖繪制 (1)新建文件:打開PROTEUS, 點(diǎn)FILE,在彈出的下拉菜單中選擇NEW DESIGN,在彈出的圖幅選
44、擇對話框中選Landscape A4。 (2)元器件選?。喊丛O(shè)計(jì)要求,在對象選擇窗口中點(diǎn)P,彈出PICK DEVICES對話框,在KEYWORDS中填寫要選擇的元器件,然后在右邊對話框中選中要選的元器件,則元器件列在對象選擇的窗口中。 (3)放置元器件、電源和地、連線,得到如圖5.3所示的系統(tǒng)電路圖,最后進(jìn)行電氣檢測。 圖5.1 系統(tǒng)電路仿真圖 5.3 程序加載 5.3.1 程序編譯 (1)啟動KEIL,選擇Project->New Project,在彈出的對話框中輸入工程的名字,點(diǎn)擊保存;選擇ATMEL公司的AT89C51單片機(jī)。 (2)在Source Group 1上點(diǎn)擊右
45、鍵,選擇“Add Files to Group Source Group 1 ”,把所有的源文件加進(jìn)來。 (3)點(diǎn)擊Project->Build target或者使用快捷鍵F9,編譯工程。當(dāng)Output Windows中提示“0 Error”時,則程序編譯成功,生成可執(zhí)行文件.HEX。 5.3.2 程序加載 在編輯環(huán)境中雙擊AT89C51,在彈出的對話框中將編譯生成可執(zhí)行文件.HEX加載進(jìn)芯片中,設(shè)單片機(jī)的時鐘工作頻率為12MHZ。 5.3.3仿真結(jié)果 仿真結(jié)果見附錄 結(jié)束語與展望 本次設(shè)計(jì)雖然實(shí)現(xiàn)了多點(diǎn)分布式溫度測試,但是由于DS18B20所測的溫度有限,最高只能達(dá)到一百多
46、度,與高溫設(shè)備中的高溫還有這一定得差距,而測高溫的傳感器多為模擬溫度傳感器,如熱電偶傳感器,其所測溫度最高達(dá)1600攝氏度,并且種類多、適應(yīng)性強(qiáng)、結(jié)果簡單、經(jīng)濟(jì)方便,但多為模擬傳感器,需要對所得模擬數(shù)據(jù)進(jìn)行轉(zhuǎn)化,從而加重了電路及程序的復(fù)雜性,另外非接觸式傳感器,也具有測量高溫范圍大,不干擾被測溫度等特點(diǎn)。而本次設(shè)計(jì)為了便于實(shí)現(xiàn),只從便于簡單應(yīng)用出發(fā)。本次設(shè)計(jì)若用于高溫,在傳感器選擇上,跟據(jù)事實(shí)應(yīng)用,應(yīng)有所專選。 分布式是多點(diǎn)測試,以求測得的數(shù)據(jù)更加準(zhǔn)確。本次設(shè)計(jì)只選用了四點(diǎn)。而實(shí)際中,我們可以應(yīng)用更多的探測點(diǎn),測取更加全面的溫度值,使所測更接近于實(shí)際。對此,實(shí)際應(yīng)用中,我們可以應(yīng)用總線設(shè)計(jì),
47、因?yàn)榭偩€上可以加載更多的傳感器。 本次畢業(yè)設(shè)計(jì)讓我對大學(xué)所學(xué)知識有了進(jìn)一步了解,更加加強(qiáng)了實(shí)際應(yīng)用。對于此次設(shè)計(jì)的主題溫度檢測,雖然只做了簡單的設(shè)計(jì),但在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中,如電力、化工等對所需溫度進(jìn)行檢測,從而對實(shí)際要求環(huán)境進(jìn)行控制,有著實(shí)際的價值。 致 謝 在這里我要感謝所有曾經(jīng)關(guān)心和幫助過我的人,這篇論文的完成和他們中的任何一位都是分不開的。 首先,我要向張臻老師和其他老師致以由衷的感謝和誠摯的敬意,老師們?yōu)槲覀兲峁┝嗽S多巧妙的設(shè)計(jì)思想。 再者,我還要感謝設(shè)計(jì)中幫主我的同學(xué)們,真心的和他們說聲謝謝。 在寫這篇畢業(yè)設(shè)計(jì)論文的過程中,我也遇到了許多的困難
48、,之所以能堅(jiān)持至今,這都離不開我的導(dǎo)師和同學(xué)的幫助。可以說我的論文凝結(jié)了老師的辛勤汗水,張老師的淵博知識和對學(xué)生的負(fù)責(zé)的態(tài)度深深地影響了我,也將永遠(yuǎn)是我學(xué)習(xí)的榜樣。在寫本次畢業(yè)論文期間,我還得到了同學(xué)的幫助,在此也對他們表示衷心的感謝,感謝他們能在自己繁忙的工作中還給予了我這么多的幫助,并使我深切地感受到你們給我的溫暖,這也將留給了我許多美好的回憶。 最后,感謝我的母校;感謝在這四年來教給我知識的所有老師;也感謝所有在本次畢業(yè)設(shè)計(jì)中給過我?guī)椭睦蠋煛⑼瑢W(xué),是你們的鼓勵、支持和幫助,才使得我能堅(jiān)持完成畢業(yè)論文。 衷心祝愿鄭州航院的明天會更好! 愿各位老師們都能幸福安康!愿各位
49、同學(xué)們前程似錦,策馬平川! 參考文獻(xiàn) 【1】吳秀清 主編.微型計(jì)算機(jī)原理與接口技術(shù).中國科學(xué)技術(shù)出版社,2001 【2】 鄧亞平 主編.微型計(jì)算機(jī)接口技術(shù)編.清華大學(xué)出版社, 2001 【3】張毅 主編.基于proteus的單片機(jī)課程的基礎(chǔ)實(shí)驗(yàn)與課程設(shè)計(jì). 人民郵電出版社 ,2012 【4】朱清慧、張鳳蕊 主編.proteus教程——電子線路設(shè)計(jì)、制版與仿真.清華大學(xué)出版社 ,2008 【5】程琤 編.單片機(jī)原理與應(yīng)用系統(tǒng)開發(fā). 國防工業(yè)出版社, 2010 【6】魏立峰、王寶興編 單片機(jī)原理與應(yīng)用技術(shù).北京大學(xué)出版社 2006 【7】 吳
50、永春 著. 單總線數(shù)字溫度傳感器DS18B20及其在單片機(jī)系統(tǒng)的應(yīng)用[J].三明高等??茖W(xué)校學(xué)報(bào), 2010.02.
附錄一
仿真結(jié)果
附錄二
系統(tǒng)程序:
1.主程序
#include
51、lude "ds18b20-1.h" #include "ds18b20-2.h" #include "ds18b20-3.h" #include "ds18b20-4.h" uchar table[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//數(shù)碼管的段碼表 uchar table1[]={0xbF,0x86,0xdB,0xcF,0xe6,0xeD,0xfD,0x87,0xfF,0xeF};//帶小數(shù)點(diǎn) sbit button1 = P1^0; sbit button2 = P1^1; sbit button3
52、 = P1^2;
sbit button4 = P1^3;
uchar button=0xff;
uchar tempP =0xff;
void display(uint temp);//函數(shù)聲明
//延時函數(shù)
void delay_1ms(uint n)
{
uint i,j;
for(i=0;i 53、/外部中斷0的初始化函數(shù)
while(1)
{
//判斷哪個按鍵被按下,顯示不同的DS18B20的溫度
switch(button)
{
case 0xFE: display(ReadTemperature1());break;
case 0xFD: display(ReadTemperature2());break;
case 0xFB: display(ReadTemperature3());break;
case 0xF7: display(ReadTemperature4());break;
default:displa 54、y(ReadTemperature1());
}
delay_1ms(5);
}
}
//數(shù)碼管顯示函數(shù)
void display(uint temp)
{
//計(jì)算百十個位
uchar qian,bai,shi,ge;
qian = temp/1000;
bai = temp%1000/100;
shi = temp%100/10;
ge = temp%10;
//控制顯示
P0 = 0x00; //顯示百位
P2 = 0xfe;
P0 = table[qian];
delay_1ms(3);
55、
P0 = 0x00;
P2 = 0xfd;
P0 = table1[bai];
delay_1ms(3);
P0 = 0x00;
P2 = 0xfb;
P0 = table[shi];
delay_1ms(3);
P0 = 0x00;
P2 = 0xf7;
P0 = table[ge];
delay_1ms(3);
P0=0x00;
}
//外部中斷0 中斷服務(wù)程序
void ex0_in() interrupt 3
{
EX0 = 0; //先屏蔽中斷,中斷處理
P0 = 0x00;
//判斷是哪個按 56、鍵按下
if(button1 == 0) //button1 按下
{
button = 0xFE;
}
if(button2 == 0) //button2 按下
{
button = 0xFD;
}
if(button3 == 0) //button3 按下
{
button = 0xFB;
}
if(button4 == 0) //button4 按下
{
button = 0xF7;
}
EX0 = 1; //中斷處理完畢,打開中斷
}
2.DS18B20.1的程序
#includ 57、e "ds18b20-1.h"
uchar tempL=0;
uchar tempH=0;
bit zfflag;
void delay(uint i)
{
while(i--);
}
bit Init_DS18B20(void)
{
uchar x=0;
DQ1=1;
delay(8);
DQ1=0;
delay(80);
DQ1=1;
delay(14);
x=DQ1;
delay(20);
return x;
}
ReadOneChar(void)
{
uchar i=0;
uchar dat=0;
f 58、or(i=8;i>0;i--)
{
DQ1=1;
delay(1);
DQ1=0;
dat>>=1;
DQ1=1;
if(DQ1)
dat|=0x80;
delay(4);
}
return dat;
}
void WriteOneChar(uchar dat)
{
uchar i=0;
for(i=8;i>0;i--)
{
DQ1=0;
DQ1=dat&0x01;
delay(5);
DQ1=1;
dat>>=1;
}
delay(4); 59、
}
uint ReadTemperature1(void)
{
uint temp;
Init_DS18B20();
WriteOneChar(0xcc);
WriteOneChar(0x44);
delay(120);
Init_DS18B20();
WriteOneChar(0xcc);
WriteOneChar(0xbe);
tempL=ReadOneChar();
tempH=ReadOneChar();
temp =tempH;
temp <<= 8;
temp |= tempL;
if(temp&0 60、x8000)
{
zfflag=0;
temp=~temp;
temp+=1;
}
else
{
zfflag=1;
}
temp*=6.25; //將溫度值擴(kuò)大10倍以顯示小數(shù)點(diǎn)后一位
return temp;
}
3.DS18B20.2的程序
#include "ds18b20-2.h"
void delay2(uint i)
{
while(i--);
}
bit Init_DS18B202(void)
{
uchar x=0;
DQ2=1;
delay2(8);
DQ2=0;
61、 delay2(80);
DQ2=1;
delay2(14);
x=DQ2;
delay2(20);
return x;
}
ReadOneChar2(void)
{
uchar i=0;
uchar dat=0;
for(i=8;i>0;i--)
{
DQ2=1;
delay2(1);
DQ2=0;
dat>>=1;
DQ2=1;
if(DQ2)
dat|=0x80;
delay2(4);
}
return dat;
}
void WriteOneChar2(uch 62、ar dat)
{
uchar i=0;
for(i=8;i>0;i--)
{
DQ2=0;
DQ2=dat&0x01;
delay2(5);
DQ2=1;
dat>>=1;
}
delay2(4);
}
uint ReadTemperature2(void)
{
uchar tempL=0;
uchar tempH=0;
bit zfflag;
uint temp;
Init_DS18B202();
WriteOneChar2(0xcc);
WriteOneChar2(0x44) 63、;
delay2(120);
Init_DS18B202();
WriteOneChar2(0xcc);
WriteOneChar2(0xbe);
tempL=ReadOneChar2();
tempH=ReadOneChar2();
temp =tempH;
temp <<= 8;
temp |= tempL;
if(temp&0x8000)
{
zfflag=0;
temp=~temp;
temp+=1;
}
else
{
zfflag=1;
}
temp*=6.25; //將溫度值擴(kuò)大1 64、0倍以顯示小數(shù)點(diǎn)后一位
return temp;
}
3.DS18B20.3的程序
include "ds18b20-3.h"
void delay3(uint i)
{
while(i--);
}
bit Init_DS18B203(void)
{
uchar x=0;
DQ3=1;
delay3(8);
DQ3=0;
delay3(80);
DQ3=1;
delay3(14);
x=DQ3;
delay3(20);
return x;
}
ReadOneChar3(void)
{
uchar i=0;
65、 uchar dat=0;
for(i=8;i>0;i--)
{
DQ3=1;
delay3(1);
DQ3=0;
dat>>=1;
DQ3=1;
if(DQ3)
dat|=0x80;
delay3(4);
}
return dat;
}
void WriteOneChar3(uchar dat)
{
uchar i=0;
for(i=8;i>0;i--)
{
DQ3=0;
DQ3=dat&0x01;
delay3(5);
DQ3=1;
dat> 66、>=1;
}
delay3(4);
}
uint ReadTemperature3(void)
{
uchar tempL=0;
uchar tempH=0;
bit zfflag;
uint temp;
Init_DS18B203();
WriteOneChar3(0xcc);
WriteOneChar3(0x44);
delay3(120);
Init_DS18B203();
WriteOneChar3(0xcc);
WriteOneChar3(0xbe);
tempL=ReadOneChar3();
tempH=ReadOneChar3();
temp =tempH;
temp <<= 8;
temp |= tempL;
if(temp&0x8000)
{
zfflag=0;
temp=~temp;
temp+=1;
}
else
{
zfflag=1;
}
temp*=6.25; //將溫度值擴(kuò)大10倍以顯示小數(shù)點(diǎ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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。