

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 畢 業(yè) 設(shè) 計(論 文)</p><p> 論文題目: 數(shù)字溫度計控制 </p><p> 所屬系部: 自動化工程學(xué)院</p><p> 專 業(yè): 電氣自動化技術(shù)</p><p> 畢業(yè)設(shè)計(論文)任務(wù)書</p>&l
2、t;p> 題目: 數(shù)字顯示溫度計</p><p><b> 任務(wù)與要求:</b></p><p> 使用數(shù)碼管顯示實(shí)時溫度,可以手動調(diào)節(jié)校正溫度,使用單片機(jī)實(shí)現(xiàn)A/D轉(zhuǎn)換和顯示控制。該數(shù)字溫度計的測量范圍為-55℃~128℃,顯示分辨率為12位,誤差≤±0.5℃ 利用溫度傳感器DS18B20測量某一點(diǎn)環(huán)境溫度。&
3、lt;/p><p> 時間 2012 年 10 月 15 日 至 2012 年 12 月 15 日 共 8 周</p><p><b> 數(shù)字顯示溫度計</b></p><p><b> 【摘要】</b></p><p> 本文介紹一種基于AT89C51單片機(jī)的一種溫度
4、測量及控制電路,該電路采用DS18B20作為溫度監(jiān)測元件,測量范圍-55℃~+128℃,使用LED模塊顯示,可以手動調(diào)節(jié)校正溫度。正文著重給出了軟硬件系統(tǒng)的各部分電路,介紹了集成溫度傳感器DS18B20的原理,AT89C51單片機(jī)功能和應(yīng)用等。</p><p> 關(guān)鍵詞: 溫度測量;AT89C51;DS18B20 </p><p> 【Abstract】</p><
5、p> The introduction of a cost-based AT89C51 MCU a temperatur measurement circuits, the circuits used DS18B20 high-precision temperatur sensor, measuring scope -55℃~+128℃,can set the warning limitation, the use of sev
6、en segments LED that can be display the current temperature. The paper focuses on providing a software and hardware system components circuit, introduced the theory of DS18B20, the founctions and applications of AT89C51
7、.</p><p> Key words:Temperatur measurement;DS18B20;AT89C51</p><p><b> 目 錄</b></p><p><b> 1 引言1</b></p><p><b> 1.1研究背景2</b><
8、/p><p><b> 1.2研究現(xiàn)狀3</b></p><p> 2 總體設(shè)計方案4</p><p><b> 2.1設(shè)計思路5</b></p><p> 2.2總體設(shè)計框圖6</p><p> 2.3所用主要元器件7</p><p>
9、;<b> 3 硬件設(shè)計8</b></p><p> 3.1 單片機(jī)的選擇9</p><p> 3.1.1 AT89C51單片機(jī)的主要特性10</p><p> 3.1.2 引腳功能及管腳電壓3</p><p> 3.2 溫度傳感器的選擇3</p><p> 3.2.1 DS
10、18B20的主要特性3</p><p> 3.2.2 DS18B20的實(shí)物圖3</p><p> 3.2.3 DS18B20使用中注意事項3</p><p> 4 電路及原理圖3</p><p> 4.1溫度檢測電路3</p><p><b> 4.2復(fù)位電路3</b><
11、;/p><p> 4.3 時鐘電路3</p><p> 4.4溫度控制電路3</p><p><b> 4.5顯示電路3</b></p><p> 4.6 主電路原理圖3</p><p> 4.7數(shù)字顯示溫度計的工作原理3</p><p><b>
12、 5 軟件設(shè)計3</b></p><p><b> 5.1概述3</b></p><p> 5.2 主程序模塊3</p><p><b> 6 仿真3</b></p><p> 6.1 Proteus介紹3</p><p> 6.2 Prot
13、eus功能3</p><p><b> 7調(diào)試3</b></p><p><b> 結(jié)束語3</b></p><p><b> 參考文獻(xiàn)19</b></p><p><b> 附錄 A3</b></p><p>&
14、lt;b> 附錄 B3</b></p><p><b> 1 引言</b></p><p> 隨著現(xiàn)代信息技術(shù)的飛速發(fā)展和傳統(tǒng)工業(yè)改造的逐步實(shí)現(xiàn),人們在生產(chǎn)過程中會越來越關(guān)注精密而實(shí)用的儀器,能夠獨(dú)立工作的溫度檢測和顯示系統(tǒng)應(yīng)用于諸多領(lǐng)域。其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活等提供更好更方便快
15、捷的設(shè)施就需要從單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。</p><p><b> 1.1研究背景</b></p><p> 目前溫度計的發(fā)展很快,從原始的玻璃管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等,溫度計中傳感器是它的重要組成部分,它的精度、靈敏度基本決定了溫度計的精度、測量范圍、控制范圍和用途等。傳感器應(yīng)用
16、極其廣泛,目前已經(jīng)研制出多種新型傳感器。</p><p> 傳統(tǒng)的溫度檢測以熱敏電阻為溫度敏感元件。熱敏電阻的成本低,但需后續(xù)信號處理電路,而且可靠性相對較差,測溫準(zhǔn)確度低,檢測系統(tǒng)也有一定的誤差。本設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫精確,數(shù)字顯示,適用范圍寬等特點(diǎn),主要用于對測溫比較準(zhǔn)確的場所或科研實(shí)驗室使用,可廣泛用于工業(yè)控溫系統(tǒng)、溫度計、消費(fèi)產(chǎn)品以及其它溫度測控系統(tǒng)。
17、目前,該產(chǎn)品已在溫控系統(tǒng)中得到了廣泛使用。</p><p> 因此本設(shè)計就嘗試通過編程與芯片的結(jié)合來解決傳統(tǒng)數(shù)字溫度計的弊端,設(shè)計出新型數(shù)字溫度計。</p><p><b> 1.2研究現(xiàn)狀</b></p><p> 溫度傳感器的發(fā)展現(xiàn)狀:溫度傳感器使用范圍廣,數(shù)量多,居各種傳感器之首,其發(fā)展大致經(jīng)歷了以下3個階段: </p>
18、<p> (1) 傳統(tǒng)的分立式溫度傳感器(含敏感元件)——熱電偶傳感器,主要是能夠進(jìn)行非電量和電量之間轉(zhuǎn)換。</p><p> (2) 模擬集成溫度傳感器/控制器,集成傳感器是采用硅半導(dǎo)體集成工藝制成的,因此亦稱硅傳感器或單片集成溫度傳感器。</p><p> (3) 智能溫度傳感器。它是微電子技術(shù)、計算機(jī)技術(shù)和自動測試技術(shù)(ATE_)的結(jié)晶。智能溫度傳感器內(nèi)部包含溫度
19、傳感器、A/D傳感器、信號處理器、存儲器(或寄存器)和接口電路。</p><p><b> 2 總體設(shè)計方案</b></p><p><b> 2.1設(shè)計思路</b></p><p> 本設(shè)計是一個基于單片機(jī)AT89C51的數(shù)字顯示溫度計和溫度傳感DS18B20的設(shè)計,用來測量環(huán)境溫度,測量范圍為-55~128℃,顯
20、示分辨率為12位,誤差≤±0.5℃.整個設(shè)計系統(tǒng)主要包括硬件電路的設(shè)計和系統(tǒng)軟件的設(shè)計。硬件電路主要包括主控制器,測溫電路和顯示電路等。主控制器采用單片機(jī)AT89C51, 溫度傳感器采用美國DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20來實(shí)現(xiàn)環(huán)境溫度的采集和A/D轉(zhuǎn)換,同時因其輸出為數(shù)字形式,且為串行輸出,這就方便了單片機(jī)進(jìn)行數(shù)據(jù)處理,但同時也對編程提出了更高的要求。單片機(jī)把采集到的溫度進(jìn)行相應(yīng)的轉(zhuǎn)換后,顯示電路采用LE
21、D顯示器以動態(tài)掃描法直讀顯示。系統(tǒng)程序主要包括主程序,讀出溫度子程序,寫入溫度子程序等。</p><p><b> 2.2總體設(shè)計框圖</b></p><p> 本系統(tǒng)采用單片機(jī)作為微控制器,由復(fù)位電路,時鐘電路,控制電路,溫度檢測電路,溫度數(shù)字顯示五大模塊組成,復(fù)位電路與時鐘電路構(gòu)成單片機(jī)最小系統(tǒng),溫度檢測電路主要檢測周圍環(huán)境的溫度,然后再由LED顯示器顯示出來
22、。通過控制電路來手動調(diào)節(jié)溫度的高低。如圖2.1所示。單片機(jī)用AT89C51、溫度傳感器用DS18B20,采用12MHZ晶振,電源采用5V。該電路經(jīng)過設(shè)計分析、繪圖、仿真調(diào)試、制板、焊接等工作后數(shù)字顯示溫度計成形。</p><p> 采用數(shù)字溫度芯片DS18B20測量溫度,輸出信號全數(shù)字化。便于單片機(jī)處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在
23、0—100攝氏度時,最大線形偏差小于1攝氏度。DS18B20的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計DS18B20和微控制器AT89C51構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計算機(jī)連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。采用51單片機(jī)控制,軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。</p><p> 圖2.1 總體
24、設(shè)計框圖</p><p> 2.3所用主要元器件</p><p> 單片機(jī)AT89C51一個,溫度傳感器DS18B20一個,12MHz晶振一個,LED顯示屏一個,電源一個,排阻一個,按鈕開關(guān)三個,電阻電容及導(dǎo)線若干等。</p><p><b> 3 硬件設(shè)計</b></p><p> 3.1 單片機(jī)的選擇<
25、/p><p> AT89C51作為溫度測試系統(tǒng)設(shè)計的核心器件。該器件是INTEL公司生產(chǎn)的MCS一5l系列單片機(jī)中的基礎(chǔ)產(chǎn)品,采是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT8
26、9S51單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。單片機(jī)小系統(tǒng)的電路圖如圖3.1所示。</p><p> 圖3.1 單片機(jī)小系統(tǒng)電路</p><p> 3.1.1 AT89C51單片機(jī)的主要特性</p><p> ?。?)兼容MCS-51指令系統(tǒng),4K字節(jié)可編程閃爍存儲器;</p><p> ?。?)8k可反復(fù)擦寫(大于1000次)Flash
27、ROM;</p><p> ?。?)壽命為1000次寫/擦周期,數(shù)據(jù)保留時間可10年以上;</p><p> ?。?)全靜態(tài)工作模式:0Hz-33Hz;</p><p> (5)三級程序存儲器鎖定;</p><p> (6)128*8位內(nèi)部RAM,32可編程I/O線;</p><p> ?。?)兩個16位定時器/計
28、數(shù)器,6個中斷源;</p><p> ?。?)全雙工串行UART通道,低功耗的閑置和掉電模式;</p><p> ?。?)低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能;</p><p> (10)有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p> 3.1.2 引腳功能及管腳電壓</p&g
29、t;<p> AT89C51為8位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的89C52相同。如圖3.2所示。</p><p> 圖3.2 AT89C51引腳圖</p><p><b> ?。?)P0口</b></p><p> P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為
30、輸出口用時,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口P0寫“1”時,可作為高阻抗輸入端用。</p><p> 在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。</p><p> 在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。</p><p>
31、;<b> ?。?)P1口</b></p><p> P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉</p><p> 到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。</p><
32、;p> 與AT89C51不同之處是,P1.0和P1.1還可分別作為定時/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX),參見表3.1。</p><p> Flash編程和程序校驗期間,P1接收低8位地址。</p><p> 表3.1 P1.0和P1.1的第二功能</p><p><b> ?。?)P2口</b>
33、;</p><p> P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。</p><p> 在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX@DPTR指
34、令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@RI指令)時,P2口輸出P2鎖存器的內(nèi)容。</p><p> Flash編程或校驗時,P2亦接收高位地址和一些控制信號。</p><p><b> ?。?)P3口</b></p><p> P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動
35、(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。</p><p> P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能。</p><p> P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號。</p><p><b>
36、?。?)RST</b></p><p> 復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機(jī)器周期以上高電平將使單片機(jī)復(fù)位。</p><p> ?。?)ALE/PROG</p><p> 當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸
37、出時鐘或用于定時目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。 如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單</p><p> 元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機(jī)執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。</p>
38、<p><b> ?。?)PSEN</b></p><p> 程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當(dāng)AT89C52由外部程序存儲器取指令(或數(shù)據(jù))時,每個機(jī)器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。</p><p><b> ?。?)EA/VPP</b><
39、;/p><p> 外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。</p><p> 如EA端為高電平(接VCC端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。</p><p> Flash存儲器編程時,該引腳加上+12V的編程允許電源VPP,當(dāng)然
40、這必須是該器件是使用12V編程電壓VPP。</p><p><b> ?。?)XTAL1</b></p><p> 振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。</p><p><b> ?。?0)XTAL2</b></p><p> 振蕩器反相放大器的輸出端。</p><p
41、> 3.2 溫度傳感器的選擇</p><p> DS18B20溫度傳感器是美國DALLAS公司推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且具有耐磨耐碰,體積小,使用方便,封裝形式多樣等特點(diǎn),適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。</p><p> 3.2.1 DS18B20的主要特性</p><p>
42、(1)適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電;</p><p> (2)獨(dú)特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊;</p><p> (3)DS18B20支持多點(diǎn)組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫;</p><p> ?。?
43、)DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi);</p><p> ?。?)溫范圍-55℃~+128℃,在-10℃~+85℃時精度為±0.5℃;</p><p> ?。?)可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測溫;</p><p&g
44、t; (7)在9位分辨率時最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快;</p><p> ?。?)測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時可傳送CRC校驗碼,具有極強(qiáng)的抗干擾糾錯能力;</p><p> (9)負(fù)壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。</p><
45、;p> 3.2.2 DS18B20的實(shí)物圖</p><p><b> 如圖3.3所示</b></p><p> 圖3.3 DS18B20實(shí)物圖</p><p> 3.2.3 DS18B20使用中注意事項</p><p> DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際
46、應(yīng)用中也應(yīng)注意以下幾方面的問題: </p><p> ?。?)較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此 ,在對DS18B20進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進(jìn)行系統(tǒng)程序設(shè)計時,對 DS18B20操作部分最好采用匯編語言實(shí)現(xiàn)。 </p><p> ?。?)在DS18B20的有關(guān)資
47、料中均未提及單總線上所掛DS18B20數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個 DS18B20,在實(shí)際應(yīng)用中并非如此。當(dāng)單總線上所掛DS18B20超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點(diǎn)在進(jìn)行多點(diǎn)測溫系統(tǒng)設(shè)計時 要加以注意。 </p><p> ?。?)連接DS18B20的總線電纜是有長度限制的。試驗中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時
48、,正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號波</p><p> 形產(chǎn)生畸變造成的。因此,在用DS18B20進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考 慮總線分布電容和阻抗匹配問題。 </p><p> ?。?)在DS18B20測溫程序設(shè)計中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS1820的返回信號
49、,一旦某個DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時,將沒有返回信號,程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計時也要給予 一定的重視。 測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地。</p><p><b> 4電路及原理圖</b></p><p><b> 4.
50、1溫度檢測電路</b></p><p> DS18B20最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,DS18B20的數(shù)據(jù)I/O均由同一條線來完成。DS18B20的電源供電方式有2種:外部供電方式和寄生電源方式。工作于寄生電源方式時,VDD和GND均接地,他在需要遠(yuǎn)程溫度探測和空間受限的場合特別有用,原理是當(dāng)1Wire總線的信號線DQ為高電平時,竊取信號能量給DS18B20供電,同時一部分能量給內(nèi)部電容充電,當(dāng)D
51、Q為低電平時釋放能量為DS18B20供電。但寄生電源方式需要強(qiáng)上拉電路,軟件控制變得復(fù)雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到E2PROM時),同時芯片的性能也有所降低。因此,在條件允許的場合,盡量采用外供電方式。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電。在這里采用前者方式供電。DS18B20與芯片連接電路如圖4.1所示:</p><p> 圖4.1 DS18B20和單片機(jī)的接口連接<
52、/p><p> 外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。在開發(fā)中使用外部電源供電方式,畢竟比寄生電源方式只多接一根VCC引線。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC降到3V時,依然能夠保證溫度量精度。</p><p> 由于DS18B20只有一根數(shù)據(jù)線
53、,因此它和主機(jī)(單片機(jī))通信是需要串行通信,而AT89C51有兩個串行端口,所以可以不用軟件來模擬實(shí)現(xiàn)。經(jīng)過單線接口訪問DS18B20必須遵循如下協(xié)議:初始化、ROM操作命令、存儲器操作命令和控制操作。要使傳感器工作,一切處理均嚴(yán)格按照時序。</p><p><b> 4.2復(fù)位電路</b></p><p> 如圖4.2所示。上電復(fù)位用RC電路,電容用10uF,電
54、阻用10K。根據(jù)DS18B20的通訊協(xié)議,主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。</p><
55、;p> 單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其它功能部件都處在一個確定的初始狀態(tài),復(fù)位是單片機(jī)的初始化操作,其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。單片機(jī)復(fù)位的條件是:必須使RST引腳加上持續(xù)兩個機(jī)器周期的高電平,復(fù)位電路在接電瞬間,RESET端的電位與VCC相同,隨著充電電流的減少,RESET的電位逐漸下降。只要保證RESET為高電平的時間大于兩個機(jī)器周期,便能正常復(fù)位。復(fù)位后PC值為0000H,
56、表明復(fù)位后程序從0000H開始執(zhí)行,從第一個單元取指令。例如,若時鐘頻率為12MHz,每機(jī)器周期為1us,則只需2us以上的高電平,在RST引腳出現(xiàn)高電平后的第二個機(jī)器周期執(zhí)行復(fù)位。單片機(jī)復(fù)位期間不產(chǎn)生ALE信號,即ALE=1.表明單片機(jī)復(fù)位期間不會有任何取指操作。</p><p><b> 圖4.2 復(fù)位電路</b></p><p><b> 4.3
57、時鐘電路</b></p><p> 單片機(jī)的晶振頻率低于40MHZ,所用我們采用12MHZ,加兩個30pF電容。如圖4.3所示。時鐘電路用于產(chǎn)生單片機(jī)工作所需要的時鐘信號,單片機(jī)本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時鐘</p><p> 信號控制下嚴(yán)格的按時序進(jìn)行工作。一般的晶振振蕩電路都是在一個反相放大器的兩端接入晶振,再有兩個電容分
58、別接到晶振的兩端,另一端接地,這兩個電容串聯(lián)的容量值應(yīng)該等于負(fù)載電容。</p><p> 在單片機(jī)內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2,在芯片的外部通過這兩個引腳跨接晶體震蕩器和微調(diào)電容,形成反饋電路,就構(gòu)成一個穩(wěn)定的自激震蕩器,一般的晶振的負(fù)載電容為20pF-45pF之間,考慮到元件引腳的等效輸入電容,本設(shè)計采用兩個30pF的電容構(gòu)成晶振的振蕩電路。設(shè)計電路中所使用
59、的是12MHz的晶振,機(jī)器周期為1us,具體的時鐘電路如圖4.3所示。</p><p><b> 圖4.3晶振電路</b></p><p><b> 4.4溫度控制電路</b></p><p> 通過三個按鈕開關(guān),可以手動調(diào)節(jié)校正溫度,如圖4.4所示。</p><p><b> 圖
60、4.4控制電路</b></p><p><b> 4.5顯示電路</b></p><p> 溫度的顯示可以采用LED數(shù)碼管來顯示,LED亮度高、醒目。如圖4.5所示。</p><p><b> 圖4.5顯示電路</b></p><p> 4.6 主電路原理圖</p>
61、<p> 通過仿真主電路原理圖可以得到理想的效果,主電路原理圖如圖4.6所示</p><p> 圖4.6 主電路原理圖</p><p> 4.7數(shù)字顯示溫度計的工作原理</p><p> 基于AT89C51的溫度測量系統(tǒng)電路圖把溫度轉(zhuǎn)化成帶符號的數(shù)字信號(以十六位補(bǔ)碼形式,占兩個字節(jié)),若采用帶屏蔽的雙絞電纜線,連線的長度可以達(dá)到150m,輸出
62、腳I/0直接與單片機(jī)的P3.4相連,R1為上拉電阻,傳感器采用外部電源供電。AT89C51是整個系統(tǒng)的核心部分,內(nèi)含2 KB的FLASH ROM,用戶程序存放在這里。顯示器模塊由四位一體的共陽數(shù)碼管組成。系統(tǒng)程序分傳感器控制程序和顯示器程序兩部分,傳感器控制程序是按照DSl8B20的通信協(xié)議編制。系統(tǒng)的工作是在程序控制下,完成對傳感器的讀寫和對溫度的顯示。本系統(tǒng)采用單片機(jī)作為微控制器,由復(fù)位電路,時鐘電路,控制電路,溫度檢測電路,溫度數(shù)
63、字顯示五大模塊組成,復(fù)位電路與時鐘電路構(gòu)成單片機(jī)最小系統(tǒng),溫度檢測電路主要檢測周圍環(huán)境的溫度,然后再由LED顯示器顯示出來。通過控制電路來手動調(diào)節(jié)溫度的高低。將溫度傳感器置于被監(jiān)測溫度處,接通系統(tǒng)電源,系統(tǒng)開始運(yùn)行,本次設(shè)計制作的數(shù)字顯示溫度計簡單好用,隨著溫度的不斷上升,顯示溫度不斷變化升高,離開被監(jiān)測溫度處,顯示溫度不斷下降。</p><p><b> 5 軟件設(shè)計</b></p
64、><p><b> 5.1概述</b></p><p> 整個系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測量、計算、顯示、通訊等。每一個執(zhí)行軟件是一個小的功
65、能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。</p><p><b> 5.2 主程序模塊</b></p><p> 主程序需要調(diào)用2個子程序,各模塊程序功能如下:&
66、lt;/p><p> ?。?)數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部</p><p> ?。?)溫度測試及處理程序:對溫度芯片送過來的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。</p><p> 主程序流程見圖5.1,主程序見附錄B。</p><p> 圖5.1主程序流程圖</p><p><b> 6 仿
67、真</b></p><p> 6.1 Proteus介紹</p><p> Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機(jī)愛好者、從事單片
68、機(jī)教學(xué)的教師、致力于單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計。是目前世界上唯一將電路仿真軟件、PCB設(shè)計軟件和虛擬模型仿真軟件三合一的設(shè)計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年
69、即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。</p><p> 6.2 Proteus功能</p><p> Proteus軟件具有其它EDA工具軟件的功能。這些功能是: </p><p><b> ?。?)原理布圖;</b></p>&l
70、t;p> ?。?)PCB自動或人工布線;</p><p> ?。?)SPICE電路仿真。</p><p><b> 革命性的特點(diǎn):</b></p><p> (1)互動的電路仿真</p><p> 用戶甚至可以實(shí)時采用諸如RAM,ROM,鍵盤,馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。
71、</p><p> ?。?)仿真處理器及其外圍電路</p><p> 可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型 上編程,再配合顯示及輸出,能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,Proteus建立了完備的電子設(shè)計開發(fā)環(huán)境。</p><p><b> 7調(diào)試</b>
72、;</p><p> 對于整個系統(tǒng)的調(diào)試是將溫度傳感器置于被監(jiān)測溫度處,接通系統(tǒng)電源,系統(tǒng)開始運(yùn)行,本次設(shè)計制作的數(shù)字顯示溫度計簡單好用,隨著溫度的不斷上升,顯示溫度不斷變化升高,離開被監(jiān)測溫度處,顯示溫度不斷下降。</p><p><b> 結(jié)束語</b></p><p> 由于自己知識水平的局限和時間的倉促,設(shè)計中或還存在著一些不足,
73、我真誠的接受老師的批評和指正.。</p><p> 經(jīng)過了*老師幾周的幫助和我的努力學(xué)習(xí),終于完成了畢業(yè)論文。從課題選擇、方案論證到具體設(shè)計,每一步對我來說無疑是巨大的嘗試和挑戰(zhàn),我不斷地給自己提出新的問題,然后去論證、推翻,不懂就請教老師或同學(xué),再接著提出新的問題,在這個往復(fù)的過程中,我這篇稚嫩的設(shè)計日趨完善。每一次改進(jìn)我都收獲良多,雖然我的設(shè)計作品不是很成熟,而且借鑒了前人的很多資料,但我仍然心里有一種莫大
74、的幸福感,因為我實(shí)實(shí)在在地走過了一個完整的設(shè)計所應(yīng)該走的每一個過程,并且享受了每一個過程,更重要的是這個設(shè)計中我加入了自己鮮活的思想。</p><p> 在做這次畢業(yè)設(shè)計過程中使我學(xué)到了很多,加深了對單片機(jī)課程的理解,驗證了所學(xué)理論知識,提高了基本的解決實(shí)際問題的能力,并增加了對電子設(shè)計方面的興趣。更重要的是我體會到不論做什么事都要真真正正用心去做,才會使自己更好的成長,沒有學(xué)習(xí)就不可能有實(shí)踐的能力,實(shí)踐才是最
75、終的目的,沒有實(shí)踐就不會有自己的突破和創(chuàng)新,希望這次的經(jīng)歷能讓我在以后的工作和生活中不斷成長與進(jìn)步。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]:高吉祥.全國大學(xué)生電子設(shè)計競賽培訓(xùn)系列教程——數(shù)字系統(tǒng)與自動控制系統(tǒng)設(shè)計。北京: 電子工業(yè)出版社,2007.</p><p> [2]:陳梓城等.實(shí)用電子電路設(shè)計與調(diào)試
76、.北京:中國電力出版社,2006.</p><p> [3]:黃智偉.全國大學(xué)生電子設(shè)計競賽系統(tǒng)設(shè)計.北京北京航空航天大學(xué)出版社,2008.</p><p> [4]:高等學(xué)校畢業(yè)設(shè)計(論文)指導(dǎo)手冊-電子信息卷.高等教育出版社.</p><p> [5]: 李全利.單片機(jī)原理及應(yīng)用技術(shù)第三版.高等教育出版社,2001.</p><p>
77、; [6]:王曙霞單片機(jī)實(shí)驗與實(shí)訓(xùn)指導(dǎo) 西安電子科技大學(xué)出版社,2007.</p><p> [7]:夏繼強(qiáng) 單片機(jī)實(shí)驗與實(shí)踐教程北京航空航天大學(xué)出版社,2001.</p><p> [8]:電子技術(shù)基礎(chǔ)模擬部分高等教育出版社,1996.</p><p><b> 附錄 A </b></p><p><b
78、> 主電路原理圖</b></p><p><b> 附錄 B</b></p><p> TEMPER_L DATA 36H</p><p> TEMPER_H DATA 35H</p><p> TEMPER_NUM DATA 60H</p><p>
79、FLAG BIT 00H</p><p> DQ BIT P1.0</p><p> ORG 0000H</p><p> AJMP START </p><p> ORG 0030H</p><p> START: MOV P2,#00H</p
80、><p> CALL GET_TEMPER</p><p> CALL TEMPER_COV</p><p> MOV R0,A</p><p> CALL DISP</p><p> CALL DELAY</p><p> AJMP START</p>&l
81、t;p> GET_TEMPER: SETB DQ</p><p> CALL CHECK</p><p> MOV A,#0CCH</p><p> CALL DSWRITE</p><p> MOV A,#44H</p><p> CALL DSWRITE</p>&l
82、t;p><b> NOP</b></p><p> CALL DELAY</p><p> CALL DELAY</p><p> CALL CHECK</p><p> MOV A,#0CCH</p><p> CALL DSWRITE</p><
83、p> MOV A,#0BEH</p><p> CALL DSWRITE</p><p> CALL DSREAD</p><p> MOV R0,#TEMPER_L </p><p> MOV @R0,A</p><p> CALL DSREAD</p><p&
84、gt;<b> DEC R0</b></p><p> MOV @R0,A</p><p><b> RET</b></p><p> DSREAD: MOV R2,#8</p><p> READ1: CLR C</p><p>&l
85、t;b> SETB DQ</b></p><p><b> NOP </b></p><p><b> NOP</b></p><p><b> CLR DQ</b></p><p><b> NOP</b></p>
86、;<p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETB DQ</b></p><p> MOV R3,#01</p><p><b> DJNZ R3,$</b></
87、p><p><b> MOV C,DQ</b></p><p> MOV R3,#23</p><p><b> DJNZ R3,$</b></p><p><b> RRC A</b></p><p> DJNZ R2,READ1</
88、p><p><b> RET</b></p><p> DSWRITE: MOV R2,#8</p><p><b> CLR C</b></p><p> WRITE1: CLR DQ</p><p> MOV R3,#6</p>&
89、lt;p><b> DJNZ R3,$</b></p><p><b> RRC A</b></p><p><b> MOV DQ,C</b></p><p> MOV R3,#23</p><p><b> DJNZ R3,$</b&g
90、t;</p><p><b> SETB DQ</b></p><p><b> NOP</b></p><p> DJNZ R2,WRITE1 </p><p><b> SETB DQ</b></p><p><b> RET&l
91、t;/b></p><p> TEMPER_COV: MOV A,#0F0H</p><p> ANL A,TEMPER_L </p><p><b> SWAP A</b></p><p> MOV TEMPER_NUM,A</p><p> MOV A,TEMPER_L
92、</p><p> JNB ACC.3,TEMPER_COV1</p><p> INC TEMPER_NUM</p><p> TEMPER_COV1:MOV A,TEMPER_H</p><p> ANL A,#07H</p><p><b> SWAP A</b></
93、p><p> ORL A,TEMPER_NUM</p><p> MOV TEMPER_NUM,A</p><p> CALL BIN_BCD </p><p><b> RET</b></p><p> CHECK:CALL INIT_18B20</p><p>
94、 JB FLAG,CHECK1</p><p> AJMP CHECK</p><p> CHECK1:CALL DELAY1</p><p><b> RET</b></p><p> INIT_18B20:SETB DQ</p><p><b> NOP</b>
95、</p><p><b> CLR DQ</b></p><p> MOV R0,#0FBH</p><p> TSR1:DJNZ R0,TSR1</p><p><b> SETB DQ</b></p><p> MOV R0,#25H</p>&l
96、t;p> TSR2:JNB DQ,TSR3</p><p> DJNZ R0,TSR2</p><p> TSR3:SETB FLAG</p><p><b> SETB P2.0</b></p><p><b> AJMP TSR5</b></p><p>
97、 TSR4:CLR FLAG</p><p><b> LJMP TSR5</b></p><p> TSR5:MOV R0,#06BH</p><p> TSR6:DJNZ R0,TSR6</p><p> TSR7:SETB DQ</p><p><b> RET<
98、/b></p><p> BIN_BCD: MOV DPTR,#TAB</p><p> MOV A,TEMPER_NUM</p><p> MOVC A,@A+DPTR</p><p> MOV TEMPER_NUM,A</p><p><b> RET</b></p>
99、;<p> DISP: MOV A,R0</p><p> ANL A, #0FH</p><p><b> setb p1.0</b></p><p><b> clr p1.1</b></p><p> ACALL DSEND</p><p>&
100、lt;b> MOV A, R0</b></p><p><b> SWAP A</b></p><p> ANL A,#0FH</p><p><b> setb p1.1</b></p><p><b> clr p1.0</b></p&g
101、t;<p> ACALL DSEND</p><p><b> RET</b></p><p> DSEND: MOV DPTR,#SGTB1</p><p> MOVC A,@A+DPTR</p><p> MOV P0,A</p><p><b> RE
102、T</b></p><p> DELAY: MOV R7, #00H </p><p> DELAY1: MOV R6, #00H </p><p> DJNZ R6, $ </p><p> D
103、JNZ R7, DELAY1</p><p><b> RET</b></p><p> DELAY2: MOV R7, #20H</p><p><b> DJNZ R7,$</b></p><p><b> RET</b></p><p>
104、 SGTB1: DB 0c0H, 0f9H, 0a4H, 0b0H, 99H, 92H</p><p> DB 82H, 0f8H ,80H, 90H, 88H, 83H</p><p> DB 0c6H, 0a1H, 86H, 8eH, 0bfH, 0ffH</p><p> TAB:DB 00H,01H,02H,03H,04H,05H,06H,07H&l
105、t;/p><p> DB 08H,09H,10H,11H,12H,13H,14H,15H</p><p> DB 16H,17H,18H,19H,20H,21H,22H,23H</p><p> DB 24H,25H,26H,27H,28H,29H,30H,31H</p><p> DB 32H,33H,34H,35H,36H,37H,3
106、8H,39H</p><p> DB 40H,41H,42H,43H,44H,45H,46H,47H</p><p> DB 48H,49H,50H,51H,52H,53H,54H,55H</p><p> DB 56H,57H,58H,59H,60H,61H,62H,63H</p><p> DB 64H,65H,66H,67H,6
107、8H,69H,70H,71H</p><p> DB 72H,73H,74H,75H,76H,77H,78H,79H</p><p> DB 80H,88H,82H,83H,84H,85H,86H,87H</p><p> DB 88H,89H,90H,91H,92H,93H,94H,95H</p><p> DB 96H,97H,9
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字溫度計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---數(shù)字溫度計
- 數(shù)字溫度計畢業(yè)設(shè)計
- 數(shù)字溫度計畢業(yè)設(shè)計
- 數(shù)字溫度計設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計--數(shù)字溫度計設(shè)計
- 數(shù)字溫度計設(shè)計畢業(yè)設(shè)計
- 數(shù)字溫度計畢業(yè)設(shè)計論文
- 畢業(yè)設(shè)計---數(shù)字溫度計作
- 數(shù)字溫度計的設(shè)計畢業(yè)設(shè)計
- 數(shù)字溫度計的設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---數(shù)字溫度計的設(shè)計
- 畢業(yè)設(shè)計開題報告(數(shù)字溫度計)
- 數(shù)字溫度計畢業(yè)設(shè)計論文1
- 畢業(yè)設(shè)計---數(shù)字溫度計設(shè)計與實(shí)現(xiàn)
- 多點(diǎn)數(shù)字溫度計設(shè)計 畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(論文)數(shù)字溫度計的設(shè)計
- 數(shù)字溫度計論文數(shù)字溫度計設(shè)計論文
- 基于單片機(jī)控制的數(shù)字溫度計----畢業(yè)設(shè)計
- 畢業(yè)設(shè)計(論文)單片機(jī)的數(shù)字溫度計控制
評論
0/150
提交評論