2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  數(shù)字溫度計顯示設(shè)計</b></p><p><b>  摘 要</b></p><p>  隨著時代的進(jìn)步和現(xiàn)代化信息技術(shù)的迅速發(fā)展,單片機(jī)技術(shù)日漸成熟,并且已經(jīng)普及到我們的生活、工作,學(xué)習(xí)和科研等各個方面,幾乎和我們息息相關(guān)。而在我們實行檢測和自動控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)是整個系統(tǒng)的核心部分。本論文將介

2、紹用單片機(jī)控制的數(shù)字顯示溫度計。該設(shè)計主要以STC89C51為主要控制器件,以DS18B20為測溫傳感器,由于采用了該溫度傳感器,所以與傳統(tǒng)的溫度計相比,具有測溫精確度高,測溫范圍廣,適用范圍也比較廣等特點(diǎn), 并且采用數(shù)字顯示,使讀數(shù)更加方便。此外,該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強(qiáng),適合在各種環(huán)境下進(jìn)行溫度測量??傮w來說這種溫度計的性價比是很高的,它的性能優(yōu)于傳統(tǒng)的感溫元件并且省去了A\D、和模擬開關(guān)的設(shè)計。此外STC89C51體積小并且還

3、可以直接驅(qū)動LED,這樣大大化簡了設(shè)計的難度并且降低了成本。</p><p>  關(guān)鍵詞:單片機(jī)STC89C51 溫度傳感器DS18B20 數(shù)碼管—LED 智能</p><p><b>  目 錄</b></p><p>  第一章 緒論- 1 -</p><p>  1.1 引言- 1 -</p>

4、;<p>  1.2研究背景及現(xiàn)狀- 1 -</p><p>  1.3設(shè)計目的- 2 -</p><p>  第2章 數(shù)字溫度計具體設(shè)計內(nèi)容- 3 -</p><p>  2.1數(shù)字溫度計設(shè)計方案論證- 3 -</p><p>  2.1.1方案一- 3 -</p><p>  2.1.2 方

5、案二- 3 -</p><p>  2.2所用主要元件清單- 4 -</p><p>  2.3 主控制器STC89C51的特點(diǎn)及功能介紹- 4 -</p><p>  2.3.1 STC89C51的特點(diǎn)及特性:- 4 -</p><p>  2.3.2 電源電路:- 6 -</p><p>  2.4溫度采

6、集部分的設(shè)計- 6 -</p><p>  2.5顯示部分電路設(shè)計- 9 -</p><p>  2.5.1 LED 顯示電路- 9 -</p><p>  2.5.2整機(jī)電路- 9 -</p><p><b>  總結(jié)- 10 -</b></p><p>  附錄A 主電路原理圖-

7、 11 -</p><p>  附錄B 實物圖- 12 -</p><p>  附錄C 程序- 14 -</p><p>  參考文獻(xiàn)- 19 -</p><p><b>  緒論</b></p><p><b>  1.1 引言</b></p>&

8、lt;p>  隨著人們對生活的水平和質(zhì)量要求的不斷提高,科技的發(fā)展也不斷的突破,以滿足人類生活的需求。單片機(jī)控制技術(shù)的日益發(fā)展正是我們所追求的目標(biāo)之一,而在整個過程中,人們越來越關(guān)注精密而實用的儀器,能夠去方便我們的生活和工作。數(shù)字溫度計就是一個典型的例子,人們對它的要求越來越高,所以從單片機(jī)入手,未來的生活可能會向著數(shù)字化控制、智能化控制方向發(fā)展。自單片機(jī)問世以來,它的性能不斷提高和完善,其資源又很多應(yīng)用場合的需要,另外單片機(jī)具

9、有集成度高、功能強(qiáng)、速度快、體積小、功耗低、使用方便、成本低等特點(diǎn),因此,在工業(yè)控制、家電 、智能儀器儀表測量、數(shù)據(jù)的采集和處理、通信系統(tǒng)等領(lǐng)域的應(yīng)用日益廣泛,所以單片機(jī)的發(fā)展前景越來越被我們所重視。另外,單片機(jī)的技術(shù)在農(nóng)業(yè)方面也有很大的應(yīng)用。 </p><p>  我們都知道,溫度是我們在日常生活、工作和學(xué)習(xí)中最容易涉及到的一個物理量。溫度的測量一般都是用各式各樣的溫度計來直接測量。如水銀和酒精溫度計,但是這些

10、溫度計都是以刻度的形式來表示溫度的高低,我們必須要用肉眼去看刻度,得出溫度值,在這過程中就存在一個誤差的問題,所以我們就要盡量去避免這種誤差,因此,利用單片機(jī)及溫度傳感器測得的溫度值,最終通過LED數(shù)碼管顯示出來,這樣一來,準(zhǔn)確性就大大提高了。</p><p>  1.2研究背景及現(xiàn)狀</p><p>  傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。雖然熱敏電阻的成本較低,但是需要后續(xù)信號處理

11、電路,而且可靠性相對較差,測量溫度準(zhǔn)確度低,檢測系統(tǒng)也會存在一定的誤差。</p><p>  溫度傳感器的發(fā)展現(xiàn)狀:溫度傳感器使用范圍廣,數(shù)量多,位居各種傳感器之首,其發(fā)展大致經(jīng)歷了以下3個階段: </p><p>  1、傳統(tǒng)的分立式溫度傳感器(含敏感元件)——熱電偶傳感器,主要是能夠進(jìn)行非電量和電量之間轉(zhuǎn)換。</p><p>  2、模擬集成溫度傳感器/控制器,

12、集成傳感器是采用硅半導(dǎo)體集成工藝制成的,因此亦稱硅傳感器或單片集成溫度傳感器。</p><p>  3、智能溫度傳感器。它是集微電子技術(shù)、計算機(jī)技術(shù)和自動測試技術(shù)(ATE_)為一體的。智能溫度傳感器內(nèi)部包含溫度傳感器、A/D轉(zhuǎn)換器、信號數(shù)據(jù)處理器、存儲器(或寄存器)和外接電路。</p><p><b>  1.3設(shè)計目的</b></p><p>

13、;  1、掌握單片機(jī)的工作原理</p><p>  2、能夠進(jìn)行單片機(jī)簡單系統(tǒng)進(jìn)行設(shè)計,包括電源模塊、復(fù)位模塊、鍵盤模塊、及相應(yīng)的控制模塊的設(shè)計</p><p>  3、掌握單片機(jī)的指令系統(tǒng),能夠?qū)唧w的設(shè)計要求編寫相應(yīng)的控制程序</p><p>  4、能夠根據(jù)相應(yīng)的控制要求選擇相應(yīng)的外圍器件實現(xiàn)控制任務(wù)</p><p>  5、利用pro

14、tel繪制原理,利用Proteus進(jìn)行仿真</p><p>  第2章 數(shù)字溫度計具體設(shè)計內(nèi)容</p><p>  2.1數(shù)字溫度計設(shè)計方案論證</p><p><b>  2.1.1方案一</b></p><p>  由于本文設(shè)計的是溫度測量電路,所以可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將其被測溫度變化的電壓或

15、電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計需要用到A/D轉(zhuǎn)換電路,溫度感應(yīng)電路 ,比較麻煩。</p><p>  2.1.2 方案二 </p><p>  進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值

16、,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計要求。</p><p>  從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)計也比較簡單,所以采用了方案二。</p><p>  方案二的總體設(shè)計框圖</p><p>  溫度計電路設(shè)計總體設(shè)計方框圖如圖2.1 所示,本系統(tǒng)采用單片機(jī)作為微控制器,控制器采用單片機(jī)STC89C51,溫度傳感器采用DS18B20,采用12MHZ晶振

17、,電源電路采用+5V電路,用4位LED數(shù)碼管以串口傳送數(shù)據(jù)來實現(xiàn)溫度的顯示。最終該電路經(jīng)過設(shè)計分析、繪圖、仿真、調(diào)試、制板、焊接、等工作后該數(shù)字溫度計成形,并且要進(jìn)行實際的調(diào)試與應(yīng)用。由于采用數(shù)字溫度芯片DS18B20測量溫度,輸出的信號全為數(shù)字化,這樣與傳統(tǒng)的測溫方法相比較,省去了很多外圍電路,并且數(shù)字溫度芯片的物理性質(zhì)和化學(xué)性質(zhì)都特別穩(wěn)定,可用于工業(yè)作業(yè)中使用。溫度傳感器DS18B20采用了單總線的數(shù)據(jù)傳輸?shù)奶攸c(diǎn),由數(shù)字溫度計DS1

18、8B20和微控制器STC89C51構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計算機(jī)連接。這樣一來,溫度測量系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不會很大。軟件編程的空間比較大,可以通過編程來實現(xiàn)各種算法和邏輯控制,硬件安裝也很方</p><p>  圖2.1 總體設(shè)計框圖 </p><p>  2.2所用主要元件清單</p><p>  萬用板7*9,3pin圓

19、孔母座,2.2K電阻*4,stc89C51單片機(jī),40腳IC座,DS18B20溫度傳感器,10K電阻*2,10uF電容,小按鍵,12MHz晶振,30pF瓷片電容*2,9012三極管*4,四位一體共陽數(shù)碼管0.56,DC電源插座,USB電源線,自鎖開關(guān),導(dǎo)線若干,焊錫,電烙鐵。</p><p>  2.3 主控制器STC89C51的特點(diǎn)及功能介紹</p><p>  2.3.1 STC89

20、C51的特點(diǎn)及特性:</p><p>  89C51單片機(jī)是一款基于8位單片機(jī)處理芯片STC89C52RC,其功能非常強(qiáng)大,可以實現(xiàn)單片機(jī)開發(fā)的 多種要求。具有報警、跑馬燈、串行通信、段碼液晶和字符液晶顯示、電機(jī)控制、A\D轉(zhuǎn)換、D\A轉(zhuǎn)換、溫度采集、數(shù)字信號合成、實時時鐘電路、PWM輸出、紅外檢測等多種功能,以供學(xué)習(xí)者開發(fā)使用。</p><p>  以下為STC89C51 系列單片機(jī)的具

21、體特點(diǎn)和管腳功能說明:</p><p>  (1) 增強(qiáng)型 1T 流水線/ 精簡指令集結(jié)構(gòu) 8051 CPU</p><p>  (2) 工作電壓:3.4V - 5.5V (5V 單片機(jī)) / 2.0V - 3.8V (3V 單片機(jī))</p><p>  (3) 工作頻率范圍:0 - 35 MHz,相當(dāng)于普通 8051 的 0~420MHz.實際工作頻率可達(dá)48MH

22、z.</p><p>  (4)用戶應(yīng)用程序空間 12K / 10K / 8K / 6K / 4K / 2K 字節(jié)</p><p>  (5) 片上集成 512 字節(jié) RAM</p><p>  (6) 通用 I/O 口(27/23 個),復(fù)位后為: 準(zhǔn)雙向口/ 弱上拉(普通 8051 傳統(tǒng) I/O 口)可設(shè)置成四種模式:準(zhǔn)雙向口/ 弱上拉,推挽/ 強(qiáng)上拉,僅為輸

23、入/ 高阻,開漏每個 I/O 口驅(qū)動能力均可達(dá)到 20mA,但整個芯片最大不得超過 55mA</p><p>  (7) ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器可通過串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片</p><p>  (8) EEPROM 功能</p><p><b>  (9) 看門狗</b&g

24、t;</p><p>  (10)內(nèi)部集成 MAX810 專用復(fù)位電路(外部晶體 20M 以下時,可省外部復(fù)位電路)</p><p>  (11)時鐘源:外部高精度晶體/ 時鐘,內(nèi)部 R/C 振蕩器。用戶在下載用戶程序時,可選擇是使用內(nèi)部 R/C 振蕩器還是外部晶體/ 時鐘。常溫下內(nèi)部 R/C 振蕩器頻率為:5.2MHz ~6.8MHz。精度要求不高時,可選擇使用內(nèi)部時鐘,因為有溫漂,請選

25、 4MHz ~ 8MHz</p><p>  (12)有 2 個 16 位定時器/ 計數(shù)器</p><p>  (13)外部中斷 2 路,下降沿中斷或低電平觸發(fā)中斷,Power Down 模式可由外部中斷低電平觸發(fā)中斷方式喚醒</p><p>  (14)PWM ( 4 路)/ P C A(可編程計數(shù)器陣列),也可用來再實現(xiàn) 4 個定時器或 4 個外部中斷(上升沿中

26、斷/ 下降沿中斷均可支持)</p><p>  (15) STC89Cc516AD 具有 ADC 功能。 10 位精度 ADC,共 8 路</p><p>  (16) 通用異步串行口(UART)</p><p>  (17) SPI 同步通信口, 主模式/ 從模式</p><p>  (18)工作溫度范圍: 0 - 75℃ / -40 -

27、+85℃</p><p>  (19)封裝: PDIP-28,SOP-28,PDIP-20,SOP-20,PLCC-32,TSSOP-20(超小封狀,定貨)</p><p>  STC89C52RC 系列單片機(jī)為真正的看門狗,缺省為關(guān)閉(冷啟動),啟動后無法關(guān)閉,可省去外部看門狗 。 此 系 列 單 片 機(jī) P4 口 地 址 為 E8H , 并 有 2 個 附 加 外 部 中 斷 ,<

28、;/p><p>  P4.2/INT3,P4.3/INT2。</p><p>  晶振電路部分,使用 11.0592M 晶體,和 20PF 的電容。</p><p>  在復(fù)位電路中,采用阻容復(fù)位時,電容為 10uF,電阻為 10k。</p><p>  因為 STC89C52RC 系列單片機(jī) RESET 腳內(nèi)部沒有下拉電阻,必須接 10k 電阻

29、</p><p>  2.3.2 電源電路:</p><p>  電源電路采用外部供電的方式,通過變壓器將 220V 交流電轉(zhuǎn)變?yōu)?12V,再通過接口 J0向?qū)嶒灠骞╇?,為保護(hù)系統(tǒng)的安全性,增加了開關(guān) k0,防止因電源不當(dāng)引起硬件的燒壞,電源經(jīng)過 k0 后, 經(jīng)過整流橋,再通過電源芯片 7805 和 7809 得到+5V 和+9V,為系統(tǒng)及周圍芯片提供電源。電源供電原理圖如圖 2.2<

30、;/p><p>  圖 2.2電源供電原理圖</p><p>  2.4溫度采集部分的設(shè)計</p><p>  溫度采集部分采用的是DS18B20溫度傳感器,DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。<

31、/p><p>  溫度傳感器DS18B20將被測環(huán)境溫度轉(zhuǎn)化成帶符號的數(shù)字信號(以十六位補(bǔ)碼形式,占兩個字節(jié))在通過單片機(jī)發(fā)出命令送給顯示器。它的輸出腳I/O直接與單片機(jī)相連,并接一個上拉電阻,傳感器采用外部電源供電。傳感器控制程序是按照DS18B20的通信協(xié)議編制。系統(tǒng)的工作是在程序控制下,完成對傳感器的讀寫和對溫度的顯示。</p><p>  DS18B20特點(diǎn):(1)采用單總線專用技術(shù),

32、既可通過串行口線,也可通過其它I/O口線與微機(jī)接口,無須經(jīng)過其它變換電路,直接輸出被測溫度值(9位二進(jìn)制數(shù),含符號位);</p><p>  (2) 測溫范圍為-55℃~+125℃,測量分辨率為0.0625℃;</p><p>  (3) 內(nèi)含64位經(jīng)過激光修正的只讀存儲器ROM;</p><p>  (4) 適配各種單片機(jī)或系統(tǒng)機(jī);</p><

33、p>  (5) 用戶可分別設(shè)定各路溫度的上、下限;</p><p>  (6) 內(nèi)含寄生電源。</p><p>  其管腳圖如圖2.4.1-1</p><p><b>  圖2.4.1-1</b></p><p>  圖2.4.1-2 DS18B20實物圖</p><p>  圖2.4.1-

34、3 DS18B20底視圖 </p><p>  表2-1 DS18B20詳細(xì)引腳功能描述</p><p>  DS18B20的性能特點(diǎn)如下:</p><p>  ●獨(dú)特的單線接口僅需要一個端口引腳進(jìn)行通信;</p><p>  ●多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點(diǎn)組網(wǎng)功能;</p><p><b&

35、gt;  ●無須外部器件;</b></p><p>  ●可通過數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;</p><p><b>  ●零待機(jī)功耗;</b></p><p>  ●溫度以9或12位數(shù)字;</p><p>  ●用戶可定義報警設(shè)置;</p><p>  ●報警搜索命令識別

36、并標(biāo)志超過程序限定溫度(溫度報警條件)的器件;</p><p>  ●負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作; </p><p>  DS18B20采用3腳PR-35封裝或8腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖2-3所示。</p><p>  圖2-3 DS18B20結(jié)構(gòu)框圖</p><p>  現(xiàn)場溫度直接以“一線

37、總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。支持 3V~5.5V的電壓范圍, 電源輸入端。</p><p>  2.5顯示部分電路設(shè)計</p><p>  2.5.1 LED 顯示電路</p><p>  通過排阻與LED顯示器相連組成,電路圖如圖2.5.1</p><p><b>  圖2.5.1</b></

38、p><p><b>  2.5.2整機(jī)電路</b></p><p>  當(dāng)接通電源以后,溫度傳感器正常工作,溫度傳感器將根據(jù)被測溫度的不同來采集不同的數(shù)據(jù),然后將所采集到的數(shù)據(jù)傳送到比較器到中,然后由比較器將采集到的數(shù)據(jù)轉(zhuǎn)變成高低電平,在送入單片機(jī),單片機(jī)通過控制各個引腳電平的高低來來控制溫度的顯示輸出。整機(jī)電路圖如圖2.5.2</p><p> 

39、 圖2.5.2 整機(jī)電路</p><p><b>  總結(jié)</b></p><p>  在本次設(shè)計中,我查閱了大量的設(shè)計資料,因為有實際的產(chǎn)品設(shè)計,需要我們自己親手做出一個實物出來,所以為了讓自己的設(shè)計更加完善,查閱這方面的實際資料是十分必要的,也是必不可少的。并且將本次設(shè)計的完整內(nèi)容整理寫出設(shè)計報告,但是這段時間經(jīng)過自身的不懈努力,不但加深了對單片機(jī)與傳感器的進(jìn)一步

40、的認(rèn)識和理解,在這次課程設(shè)計中,全面實踐一個基于單片機(jī)的應(yīng)用系統(tǒng)的開發(fā)過程,我們運(yùn)用了以前學(xué)過的專業(yè)課知識,如:C語言、單片機(jī)知識等是一個綜合性很高的實踐。并將以前所學(xué)理論知識充分應(yīng)用到了實踐中。</p><p>  通過畢業(yè)設(shè)計,受益匪淺,使我深刻認(rèn)識到理論聯(lián)系實際的重要性,并且在實踐中擴(kuò)展了知識面,這主要得益于認(rèn)真負(fù)責(zé)的工作態(tài)度、嚴(yán)謹(jǐn)活潑的治學(xué)精神和深厚專業(yè)的理論水平,不但掌握了本專業(yè)的相關(guān)知識,而且對其他專

41、業(yè)的知識也有所了解,從各方面提高了自身的綜合素質(zhì)。經(jīng)過這次一個較完整的產(chǎn)品設(shè)計和制作過程,對于將來學(xué)習(xí)和工作也是有所裨益的。</p><p>  在本系統(tǒng)的設(shè)計過程和論文編寫過程中,得到了老師的悉心指導(dǎo)與幫助,在我做畢業(yè)設(shè)計的過程中給我提出了很多指導(dǎo)性的意見,使我很是受用。同時很多同學(xué)和朋友給予了我許多無私的幫助,給我的設(shè)計和論文提出了很多寶貴的修改意見,在這里,我向這些無私幫助我的人表示衷心的感謝和良好的祝愿。

42、</p><p>  至此,衷心感謝各位老師及同學(xué)多年來的辛勤培育和教導(dǎo)!</p><p>  附錄A 主電路原理圖</p><p><b>  附錄B 實物圖</b></p><p><b>  附錄C 程序</b></p><p>  #include<re

43、g52.h> </p><p>  #define ui unsigned int</p><p>  #define uc unsigned char //宏定義</p><p>  sbit DQ =P3^7; //定義DS18B20總線I/O</p><p>  bit bdata fuhao;</p&

44、gt;<p>  uc qian,bai,shi,ge;</p><p>  uc code led[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7};</p><p>  uc code led_dian[]={0x7f,0x64,0xbd,0xf5,0xe6,0xf3,0xfb,0x67,0xff,0xf

45、7};</p><p>  //============================================================================================</p><p>  //====================================DS18B20================================

46、=================</p><p>  //============================================================================================</p><p>  /*****延時子程序*****/</p><p>  void Delay(int num)<

47、/p><p><b>  {</b></p><p>  while(num--) ;</p><p><b>  }</b></p><p>  /*****初始化DS18B20*****/</p><p>  void Init_DS18B20()</p>&l

48、t;p><b>  {</b></p><p>  DQ = 1; //DQ復(fù)位</p><p>  Delay(8); //稍做延時</p><p>  DQ = 0; //單片機(jī)將DQ拉低</p><p>  Delay(80); //精確延時,大于480us</

49、p><p>  DQ = 1; //拉高總線</p><p>  Delay(40);</p><p><b>  }</b></p><p>  /*****讀一個字節(jié)*****/</p><p>  uc ReadOneChar()</p><p><

50、b>  {</b></p><p><b>  uc i=0;</b></p><p>  uc dat = 0;</p><p>  for (i=8;i>0;i--)</p><p><b>  {</b></p><p>  DQ = 0;

51、 // 給脈沖信號</p><p><b>  dat>>=1;</b></p><p>  DQ = 1; // 給脈沖信號</p><p><b>  if(DQ)</b></p><p>  dat|=0x80;</p><p><b>

52、  Delay(4);</b></p><p><b>  }</b></p><p>  return(dat);</p><p><b>  }</b></p><p>  /*****寫一個字節(jié)*****/</p><p>  void WriteOneCh

53、ar(uc dat)</p><p><b>  {</b></p><p><b>  uc i=0;</b></p><p>  for (i=8; i>0; i--)</p><p><b>  {</b></p><p><b>

54、  DQ = 0;</b></p><p>  DQ = dat&0x01;</p><p><b>  Delay(5);</b></p><p><b>  DQ = 1;</b></p><p><b>  dat>>=1;</b><

55、/p><p><b>  }</b></p><p><b>  }</b></p><p>  /*****讀取溫度*****/</p><p>  ui ReadTemperature()</p><p><b>  {</b></p>&

56、lt;p>  ui a=0,b=0,t=0;</p><p>  float tt=0;</p><p>  Init_DS18B20();</p><p>  WriteOneChar(0xCC); //跳過讀序號列號的操作</p><p>  WriteOneChar(0x44); //啟動溫度轉(zhuǎn)換</p><

57、;p>  Init_DS18B20();</p><p>  WriteOneChar(0xCC); //跳過讀序號列號的操作</p><p>  WriteOneChar(0xBE); //讀取溫度寄存器</p><p>  a=ReadOneChar(); //讀低8位</p><p>  b=ReadOneChar()

58、; //讀高8位</p><p><b>  t=b;</b></p><p><b>  t<<=8;</b></p><p><b>  t=t|a;</b></p><p>  if(t&0xf800)</p><p>&

59、lt;b>  {</b></p><p><b>  t=~t+1;</b></p><p><b>  fuhao=1;</b></p><p><b>  }</b></p><p><b>  else</b></p>

60、<p><b>  fuhao=0;</b></p><p>  tt=t*0.0625;</p><p>  t=tt*10+0.5; //放大10倍輸出并四舍五入</p><p>  return(t);</p><p><b>  }</b></p><

61、p>  /*****讀取溫度*****/</p><p>  void check_wendu()</p><p><b>  {</b></p><p><b>  ui f;</b></p><p>  f=ReadTemperature(); //獲取溫度值并減去DS18B20的

62、溫漂誤差</p><p>  qian=f/1000;</p><p>  bai=(f%1000)/100; //計算得到十位數(shù)字</p><p>  shi=((f%1000)%100)/10; //計算得到個位數(shù)字</p><p>  ge=((f%1000)%100)%10;

63、//計算得到小數(shù)位</p><p><b>  }</b></p><p>  /*****顯示開機(jī)初始化等待畫面*****/</p><p>  void Disp_init()</p><p><b>  {</b></p><p>  P0 = 0x7f; /

64、/顯示----</p><p>  P2 = 0x7f;</p><p>  Delay(100);</p><p>  P2 = 0xdf;</p><p>  Delay(100); </p><p>  P2 = 0xf7;</p><p>  Delay(100);</p>

65、;<p>  P2 = 0xfd;</p><p>  Delay(100);</p><p>  P2 = 0xff; //關(guān)閉顯示</p><p><b>  }</b></p><p>  /*****顯示溫度子程序*****/</p><p>  void D

66、isp_Temperature() //顯示溫度</p><p><b>  {</b></p><p>  if(qian==0)</p><p><b>  {</b></p><p>  if(fuhao==1)</p><p>  P0=0x7f;

67、//1011 1111</p><p><b>  else</b></p><p><b>  P0=0xff;</b></p><p><b>  P2=0xfd;</b></p><p>  Delay(100);</p><p>  P2 = 0

68、xff;</p><p><b>  }</b></p><p>  else if(qian!=0)</p><p><b>  {</b></p><p>  P0 =~led[qian];</p><p>  P2 = 0xfd;</p><p>

69、;  Delay(100);</p><p>  P2 = 0xff;</p><p><b>  }</b></p><p>  if((bai==0)&&(qian==0))</p><p><b>  {</b></p><p>  P0=0xff;

70、 //</p><p><b>  P2=0xf7;</b></p><p>  Delay(100);</p><p><b>  P2=0xff;</b></p><p><b>  }</b></p><p>  else if((bai==0)

71、&&(qian!=0))</p><p><b>  {</b></p><p>  P0=~led[bai];</p><p><b>  P2=0xf7;</b></p><p>  Delay(100);</p><p><b>  P2=0x

72、ff;</b></p><p><b>  }</b></p><p>  else if(bai!=0)</p><p><b>  {</b></p><p>  P0=~led[bai]; //</p><p><b>  P2=0xf7;&

73、lt;/b></p><p>  Delay(100);</p><p><b>  P2=0xff;</b></p><p><b>  }</b></p><p>  P0=~led_dian[shi]; //</p><p><b>  P2=0x

74、df;</b></p><p>  Delay(100);</p><p><b>  P2=0xff;</b></p><p>  P0=~led[ge]; //顯示符號</p><p><b>  P2=0x7f;</b></p><p>  Delay

75、(100);</p><p>  P2=0xff; //關(guān)閉顯示</p><p><b>  }</b></p><p>  /*****主函數(shù)*****/</p><p>  void main()</p><p><b>  {</b></p>

76、<p><b>  uc z;</b></p><p>  for(z=0;z<100;z++)</p><p><b>  {</b></p><p>  Disp_init();</p><p>  check_wendu();</p><p><

77、;b>  }</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  check_wendu();</p><p>  for(z=0;z<10;z++)</p><p>  Disp_

78、Temperature();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李朝青.單片機(jī)原理及接口技術(shù)[M].杭州:北京航空航天大學(xué)出版社,1998,42-48.&l

79、t;/p><p>  [2] 李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1994.12-18.</p><p>  [3] 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版)[M]. 北京:高等教育出版社,1989,5-9.</p><p>  [4] 劉高潮.一種實用的多功能數(shù)字溫度計設(shè)計[J].電子測量技術(shù), 2007,8-10. </p><

80、p>  [5] 白澤生. 用MCS-51單片機(jī)實現(xiàn)溫度的檢測[J].現(xiàn)代電子技術(shù),2005,12-15.</p><p>  [6] 何立民.單片機(jī)應(yīng)用技術(shù)選編[M].北京:北京航空航天大學(xué)出版社,2004,56-60.[7] 楊剛,周群.電子系統(tǒng)設(shè)計與實踐[M].北京:電子工業(yè)出版社,2004,24-26.[8] 張洪潤.電子線路與電子技術(shù)[M],北京:清華大學(xué)出版社,2005,20-24.&

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論