溫度檢測(cè)系統(tǒng)
《溫度檢測(cè)系統(tǒng)》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《溫度檢測(cè)系統(tǒng)(27頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、。 機(jī) 電 專(zhuān) 業(yè) 課 程 設(shè) 計(jì) 溫度檢測(cè)系統(tǒng) 學(xué)生姓名 李 曉 曉 學(xué) 院 中國(guó)礦業(yè)大學(xué) 年級(jí)專(zhuān)業(yè) 2011 機(jī)電專(zhuān)本 指導(dǎo)教師 孫 長(zhǎng) 青 完成日期 2012 年 6 月 。 - 1 - 。
2、 前言 溫度是表征物體冷熱程度的物理量, 是工業(yè)生產(chǎn)和自動(dòng)控制中最常見(jiàn)的工藝參數(shù)之一,生產(chǎn)過(guò)程中常常需要對(duì)溫度進(jìn)行檢測(cè)和監(jiān)控。 在傳統(tǒng)的溫度測(cè)控系統(tǒng)設(shè)計(jì)中,往往采用模擬技術(shù)進(jìn)行設(shè)計(jì), 這樣就不可避免地遇到諸如傳感器外圍電路復(fù)雜及抗干擾能力差等問(wèn)題 ; 而其中任何一環(huán)節(jié)處理不當(dāng),就會(huì)造成整個(gè)系統(tǒng)性能的下降。采用數(shù)字溫度傳感器與單片機(jī)組成的溫度檢測(cè)系統(tǒng)進(jìn)行溫度檢測(cè)、數(shù)值顯示和數(shù)據(jù)存儲(chǔ),體積減小,精度提高,抗干擾能力強(qiáng),并可組網(wǎng)進(jìn)行多點(diǎn)協(xié)測(cè),還可以實(shí)現(xiàn)實(shí)時(shí)控制等技術(shù),在現(xiàn)代工業(yè)生產(chǎn)中應(yīng)用越來(lái)越廣泛。 本設(shè)計(jì)就采用以 51 單片機(jī)為核心, 和單總線(xiàn)數(shù)字式溫度傳感器 DS18B20模擬出一
3、溫度控制系統(tǒng), 當(dāng)溫度沒(méi)有超過(guò)預(yù)設(shè)溫度時(shí)數(shù)碼管顯示當(dāng)前溫度, 此本系統(tǒng)就是一個(gè)溫度計(jì)。當(dāng)溫度超過(guò)預(yù)設(shè)溫度時(shí)電路中的發(fā)光二極管就會(huì)閃爍報(bào)警, 當(dāng)溫度降下時(shí)就停止閃爍,此時(shí)本系統(tǒng)就是一個(gè)溫度監(jiān)控器。以 DS18B20 為代表的新型單總線(xiàn)數(shù)字式溫度傳感器集溫度測(cè)量和 A/D 轉(zhuǎn)換于一體 , 直接輸出數(shù)字量,與單片機(jī)接口電路結(jié)構(gòu)簡(jiǎn)單,廣泛使用于距離遠(yuǎn)、節(jié)點(diǎn)分布多的場(chǎng)合,具有較強(qiáng)的推廣應(yīng)用價(jià)值。
4、 。 - 2 - 。 目錄 前 言 1 1 總體設(shè)計(jì)方案 3 1.1 設(shè)計(jì)的目的及意義 3 1.2 總體設(shè)計(jì)思路 3 1.3 總體設(shè)計(jì)方案設(shè)計(jì) 3 2 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì) 4 2.1 器件的選擇 4 2.2 電路設(shè)計(jì)及功能 8 2.3 單片機(jī)的內(nèi)部資源 9 2.4 芯片 DS18B20器件介紹 10 3 系統(tǒng)的軟件設(shè)計(jì) 13 3.1 設(shè)計(jì)的流程圖 13 3.2 系統(tǒng)部分程序的設(shè)計(jì)和分析 14 結(jié) 論 16
5、 附錄Ⅰ 程序設(shè)計(jì) 17 附錄Ⅱ 參考文獻(xiàn) 21 附錄Ⅲ 結(jié)束語(yǔ) 22 附錄Ⅳ 實(shí)物照片 23 。 - 3 - 。 1 總體方案設(shè)計(jì) 1.1 設(shè)計(jì)目的及意義 ( 1)在學(xué)習(xí)了三年的課程后, 為了加深對(duì)理論知識(shí)的理解, 學(xué)習(xí)理論知識(shí)在實(shí)際中的運(yùn)用,培養(yǎng)動(dòng)手能力和解決實(shí)際問(wèn)題的經(jīng)驗(yàn)。 ( 2)通過(guò)實(shí)驗(yàn)提高對(duì)單片機(jī)的認(rèn)識(shí),通過(guò)實(shí)驗(yàn)提高焊接、布局、電路檢查能
6、 力。 ( 3)通過(guò)實(shí)驗(yàn)提高軟件調(diào)試能力。 ( 4)進(jìn)一步熟悉和掌握單片機(jī)的結(jié)構(gòu)及工作原理, 通過(guò)課程設(shè)計(jì), 掌握以單片機(jī)核心的電路設(shè)計(jì)的基本方法和技術(shù)。 ( 5)通過(guò)實(shí)際程序設(shè)計(jì)和調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法和調(diào)試技術(shù)。 ( 6) 熟悉水箱溫度控制的工作原理,選擇合適的元件,繪制系統(tǒng)電路原理圖,運(yùn)用單片機(jī)原理及其應(yīng)用, 進(jìn)行軟硬件系統(tǒng)的設(shè)計(jì)和調(diào)試, 加深對(duì)單片機(jī)的 了 解和 運(yùn)用 ,進(jìn) 而提 高自 己 的應(yīng) 用知識(shí)能 力、 設(shè)計(jì) 能力 和調(diào) 試能 力。 1.2 總體設(shè)計(jì)思路 本設(shè)計(jì)以單片機(jī)為基礎(chǔ),溫度監(jiān)控系統(tǒng)大致上可以分為以下幾個(gè)步驟 :
7、1.2.1 系統(tǒng)分析過(guò)程 (1)根據(jù)系統(tǒng)的目標(biāo),明確所采用溫度監(jiān)控系統(tǒng)的目的和任務(wù)。 (2)確定系統(tǒng)所在的工作環(huán)境。 (3)根據(jù)系統(tǒng)的工作要求,確定系統(tǒng)的基本功能和方案。 1.2.2 系統(tǒng)設(shè)計(jì)內(nèi)容 (1 )構(gòu)思設(shè)計(jì)溫度監(jiān)控系統(tǒng)的工作流程。 (2)對(duì)要求設(shè)計(jì)的系統(tǒng)進(jìn)行功能需求分析,考慮多種設(shè)計(jì)方案,比較各方 案的特點(diǎn),并確定合理可行的方案,并設(shè)計(jì)相應(yīng)的功能結(jié)構(gòu)。 (3)根據(jù)系統(tǒng)的控制要求,選擇合適型號(hào)的芯片及元器件。 (4) 設(shè)計(jì)以單片機(jī)為核心的控制程序。 (5) 電路板及其結(jié)構(gòu)的設(shè)計(jì)。 (6) 進(jìn)行系統(tǒng)的調(diào)試,完成最終的設(shè)計(jì)。
8、 1.3 總體設(shè)計(jì)方案設(shè)計(jì) 1.3.1 系統(tǒng)框圖 。 - 4 - 。 本設(shè)計(jì)為無(wú)線(xiàn)電控制電路,系統(tǒng)框圖如下所示: 圖 1-1 系統(tǒng)框圖 1.3.2 系統(tǒng)功能 此設(shè)計(jì)以單片機(jī)為核心的溫度監(jiān)控系統(tǒng),其功能是:平常狀態(tài)下可以做溫 度計(jì)使用。當(dāng)溫度超過(guò)預(yù)設(shè)溫度時(shí)二極管會(huì)閃爍報(bào)警, 當(dāng)溫度降下時(shí)二極管則停 止閃爍。
9、 2 系統(tǒng)的硬件結(jié)構(gòu)設(shè)計(jì) 2.1 器件的選擇 在本設(shè)計(jì)系統(tǒng)中用到的主要器件有單片機(jī)核心控制器、 溫度傳感器、 數(shù)碼管顯示器。選擇合適的器件完成設(shè)計(jì)任務(wù), 目前各半導(dǎo)體公司、 電氣商都向市場(chǎng)上推出了形形色色的器件, 如何選擇合適的器件使系統(tǒng)最大的簡(jiǎn)單化, 功能優(yōu)異化,可靠性強(qiáng),成本低廉,成為了器件選擇的重中之重。一般來(lái)說(shuō),選擇器件要考慮一下幾個(gè)方面: (1)芯片的封裝形式。如 DIP(雙列直插)封裝及表面貼附等。 (2)器件的基本性能參數(shù)。如單片機(jī)執(zhí)行速度、程序儲(chǔ)存器容量、 I/O 口引腳數(shù)量等。 。 - 5 - 。
10、 (3)芯片的功耗。如單片機(jī)選擇能滿(mǎn)足低功耗的要求。 (4)供貨渠道是否暢通,價(jià)格是否低廉。 STC89C516RD+ 系列單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾 / 高速 / 低 功耗的單片機(jī),指令代碼完全兼容傳統(tǒng) 8051 單片機(jī), 12 時(shí)鐘 / 機(jī)器周期和 6 時(shí)鐘 / 機(jī)器周期可任意選擇, 最新的 D 版本內(nèi)部集成 MAX810專(zhuān)用復(fù)位電路, 根據(jù) 本系統(tǒng)的實(shí)際情況, 選擇 STC89C516RD+單片機(jī)。溫度傳感器選擇 DS18B20,顯示 選擇共陰極數(shù)碼管。 2.1.1 單片機(jī) (STC89C516RD+)的引腳功能
11、圖 圖 2-1 STC98C16RD+引腳圖 2.1.2 各引腳及功能說(shuō)明 (1)電源引腳: Vcc :40 腳 正電源腳,工作電壓為 5V。 GND:20 腳 接地端。 (2)單片機(jī) I/O 口: P0 口: P0 口為一個(gè) 8 位漏極開(kāi)路雙向 I/O 口。 P0 口能用于外部程序數(shù)據(jù) 存儲(chǔ)器,它可以被定義為數(shù)據(jù) / 地址的第八位。在 FLASH編程時(shí), P0 口作為原碼 輸入口,
12、當(dāng) FALSH進(jìn)行校驗(yàn)時(shí), P0口輸出原碼,此時(shí) P0 口外部必須被拉高。 P1 口 : P1口是 一個(gè)內(nèi)部提供上拉電阻的 8 位雙向 I/O 口。 P1 口管腳寫(xiě)入 1 后,被內(nèi)部上拉為高, 可用作輸入, P1 口被外部下拉為低電平時(shí), 將輸出電流。 在 FALSH編程和校驗(yàn)時(shí), P1口作為第八位地址接收。 。 - 6 - 。 P2 口: P2 口為一個(gè)內(nèi)部上拉電阻的 8 位雙向 I/O 口。當(dāng) P2 口被寫(xiě)入“ 1” 時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。 P2 口當(dāng)用于外部程序存儲(chǔ)器或 16 位地址外部數(shù)據(jù)存
13、儲(chǔ)器進(jìn)行存取時(shí), P2 口輸出地址的高八位。 P2 口在 FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。 P3 口: P3 口管腳是 8 個(gè)帶內(nèi)部上拉電阻的雙向 I/O 口。當(dāng) P3 口寫(xiě)入“ 1” 后,它們被內(nèi)部上拉為高電平并用作輸入。 P3 口除作 I/O 口使用外,還有特殊功能如圖所示: 表 P3 口的特殊功能 P3 引腳 兼用功能 P3.0 串行通訊輸入( RXD) P3.1 串行通訊輸出( TXD) P3.2 外部中斷 0( INT0 ) P3.3 外部中斷 1( INT1) P3.4 定時(shí)器 0 輸
14、入 (T0) P3.5 定時(shí)器 1 輸入 (T1) P3.6 外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通 WR P3.7 外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通 RD (3) RST復(fù)位: 當(dāng)振蕩器復(fù)位器件時(shí), 要保持 RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 復(fù)位可分為上電復(fù)位和手動(dòng)復(fù)位兩種,如圖所示: 圖2-2 復(fù)位電路 。 - 7 - 。 (4) 晶振電路: XTAL1 :反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。
15、 XTAL2:來(lái)自反向振蕩器的輸出。 晶振電路如圖所示: 圖2-3 晶振電路 (5) ALE/PROG: 當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí), 地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。 在 FLASH編程期間,此引腳用于輸入編程脈沖。 在平時(shí), ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的 1/6 。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是: 每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí), 將跳過(guò)一個(gè) ALE 脈沖。如想禁止 ALE的輸出可在 S
16、FR8EH地址上置 0。此時(shí), ALE只有在執(zhí)行 MOVX,MOVC指令是 ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE禁止,置位無(wú)效。 (6) /PSEN : 外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周 期兩次 /PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí), 這兩次有效的 /PSEN信號(hào)將不出 現(xiàn)。 (7) /EA/VPP : 當(dāng) /EA保持低電平時(shí), 則在此期間外部程序存儲(chǔ)器 ( 0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。 注意加密方式 1時(shí),/EA將內(nèi)部鎖定為 RESET;當(dāng) /EA端保持高電平
17、時(shí),此間內(nèi)部程序存儲(chǔ)器。 。 - 8 - 。 2.1.3 單片機(jī)最小系統(tǒng)如圖所示: 圖 2-4 單片機(jī)最小系統(tǒng) 2.2 電路設(shè)計(jì)及功能 本設(shè)計(jì)大體可分為三個(gè)部分,即溫度采集,數(shù)碼顯示,報(bào)警電路。溫度采集部分利用 DS18B20進(jìn)行溫度采集,感知溫度,后數(shù)碼顯示出溫度,若溫度超過(guò)了預(yù)設(shè)溫度報(bào)警電路則啟亮發(fā)光二極管,閃爍。整體電路圖如下所示:
18、 圖 2-5 溫度監(jiān)控系統(tǒng)電路圖 。 - 9 - 。 2.3 單片機(jī)的內(nèi)部資源 51 單片機(jī)給用戶(hù)提供了豐富的內(nèi)部資源, 如定時(shí) / 計(jì)數(shù)器,串行口等,而沒(méi) 有中斷就無(wú)法用到單片機(jī)提供的資源。再者,中斷可以提高單片機(jī)的工作效率, 由于本設(shè)計(jì)中用到了中斷程序,所以我們先介紹一下中斷系統(tǒng)。 2.3.1 中斷系統(tǒng) : 在8位單片
19、機(jī)中, 51 單片機(jī)是中斷功能較強(qiáng)的一種,它提供了 5個(gè)中斷請(qǐng)求 源和兩個(gè)中斷優(yōu)先級(jí)控制。 在計(jì)算機(jī)運(yùn)行過(guò)程中要處理很多問(wèn)題, 既有主機(jī)內(nèi)部也有外部的, 既有預(yù)定的也有外設(shè)的,面對(duì)復(fù)雜多變的情況, CPU要從容的完成各種任務(wù),必須有中斷 功能。中斷系統(tǒng)解決了計(jì)算機(jī)與外圍設(shè)備交換信息時(shí), 慢速工作的外圍設(shè)備與快速工作的 CPU之間的矛盾,設(shè)置了中斷就可以提高 CPU的工作效率,具有實(shí)時(shí)處理功能,使 CPU能很快做出反應(yīng)解決現(xiàn)場(chǎng)的各種參數(shù)和狀態(tài)的變化,還具有故障處 理功能,處理工作時(shí)故障的中斷服務(wù)程序,此外還有實(shí)現(xiàn)分時(shí)操作、程序調(diào)試、 多機(jī)連接等方面。 運(yùn)行過(guò)
20、程如下: 現(xiàn)行程序 中斷 中斷斷點(diǎn) 服務(wù)程序 繼續(xù)執(zhí)行 圖2-6 中斷控制過(guò)程 不同的單片機(jī)的中斷源是不同的,在此系統(tǒng)中的單片機(jī)有五個(gè)中斷源,具 有兩個(gè)中斷優(yōu)先級(jí), 可以實(shí)現(xiàn)二級(jí)中斷服務(wù)程序嵌套。 每個(gè)中斷源可以編程為高 優(yōu)先級(jí)或低優(yōu)先級(jí)中斷,允許或禁止 CPU請(qǐng)求中斷。與中斷系統(tǒng)有關(guān)的特殊功能 寄存器有中斷允許寄存器 IE 、中斷優(yōu)先寄存器 IP 、中斷源寄存器( TCON、SCON)。從中斷響應(yīng)過(guò)程可以看出在執(zhí)行一種中斷服務(wù)程序時(shí), 另一個(gè)
21、同級(jí)中斷不能 。 - 10 - 。 被響應(yīng),必須在執(zhí)行 RET1指令后,在執(zhí)行一條其他條令, CPU才能響應(yīng)。利用這 一特點(diǎn),可以實(shí)現(xiàn)單步操作。其實(shí)現(xiàn)過(guò)程如下:設(shè)置中斷 P3.2 為電平觸發(fā)方式, 高優(yōu)先級(jí)中斷, CPU外部中斷 0開(kāi)中斷,即應(yīng)執(zhí)行以下指令: CLR IT0, SETB EA, SEB EX0 . 在中斷服務(wù)程序結(jié)尾增加以下指令: K0:jnb P3.2,K0 ;P3.2 變高前原地等待 K1:jb P3.2,K1 ;P3.2 變低前原地等待 RETI ;中斷返回 若 P3.2 為
22、低電平就進(jìn)入外中斷 0的中斷服務(wù)。由于上述幾條指令的存在,程 序?qū)⒃?JNB出原地等待,當(dāng)P3.2 端出現(xiàn)一個(gè)正脈沖, 程序就往下進(jìn)行, 在執(zhí)行 RET1 和返回后的一條其他指令后,又立即進(jìn)入外部中斷 P3.2服務(wù)程序,以等待 P3.2 端出現(xiàn)下一個(gè)脈沖, 這樣 P3.2 端沒(méi)出現(xiàn)一次正脈沖就執(zhí)行一條新的指令實(shí)現(xiàn)了單 步操作。 GATE: 定時(shí) / 計(jì)數(shù)器門(mén)控制位,用于設(shè)定定時(shí) / 計(jì)數(shù)器的啟動(dòng)是否受外部中斷請(qǐng)求 信號(hào)的控制 。 GATE= 1 時(shí), T0 和 T1 的啟動(dòng)分別受芯片 引腳 /INT0(P3.2) 和 /INT1(P3.3) 的
23、控制。 GATE=0時(shí),定時(shí) / 計(jì)數(shù)器的啟動(dòng)與引腳 /INT0 、/INT1 無(wú)關(guān)。 51單片機(jī)定時(shí) / 計(jì)數(shù)器工作模式: 51單片機(jī)的定時(shí) / 計(jì)數(shù)器有 4種工作模式,由TMOD寄存器的 M0、M1兩位確定。 這些在前邊已經(jīng)提到過(guò)了,而本次設(shè)計(jì)采用的是工作模式 1所以在此具體介紹這 一種,至于其他幾種,由于本次設(shè)計(jì)用的定時(shí)器中斷是 T1所以不能選用模式 3, 而模式 2的技術(shù)值太小,所以一般也不是經(jīng)常運(yùn)用,模式 0的計(jì)數(shù)比模式 1復(fù)雜, 技術(shù)值也不如它大,所以選用模式 1是最好的方案。 將TMOD的M1、M0位分別設(shè)為 0、 1,定時(shí) / 計(jì)數(shù)器
24、工作模式 1下。此時(shí)定時(shí) / 計(jì) 數(shù)器是一個(gè) 16位定時(shí) / 計(jì)數(shù)器,TLX組成定時(shí) / 計(jì)數(shù)器低 8位,THX組成定時(shí) / 計(jì)數(shù)器 16 的高 8位, TLX溢出后向 THX進(jìn)位,最大計(jì)數(shù)值位 2 = 65536。 2.4 芯片 DS18B20器件介紹 DSl820數(shù)字溫度計(jì)提供 9位溫度讀數(shù),指示器件的溫度。 信息經(jīng)過(guò)單線(xiàn)接口送 入 DSl820或從 DSl820送出,因此從中央處理器到 DSl820僅需連接一條線(xiàn) (和地)。讀、寫(xiě)和完成溫度變換所需的電源可以由數(shù)據(jù)線(xiàn)本身提供,而不需要外部電源。 因?yàn)槊恳粋€(gè) DSl820有唯一的系列號(hào)( silic
25、on serial number),因此多個(gè) DSl820 。 - 11 - 。 可以存在于同一條單線(xiàn)總線(xiàn)上。 這允許在許多不同的地方放置溫度靈敏器件。 此特性的應(yīng)用范圍包括 HVAC環(huán)境控制,建筑物、設(shè)備或機(jī)械內(nèi)的溫度檢測(cè), 以及過(guò)程監(jiān)視和控制中的溫度檢測(cè)。管腳圖如下: 圖2-7 DS18B20管腳圖 2.4.1 DS18B20 的主要性能特點(diǎn) (1) 只需一個(gè)端口即可實(shí)現(xiàn)通信。 (2) 可用數(shù)據(jù)線(xiàn)供電,電壓范圍:
26、 3.0V~ 5.5V。 (3) 實(shí)際應(yīng)用中不需要外部任何元器件即可實(shí)現(xiàn)測(cè)溫。 (4) 測(cè)溫范圍: -55 ℃~ +125℃,在 -10 ℃~ +85℃時(shí)精度為 0.5 ℃。 (5) 可編程的分辨率為 9 ~ 12 位,對(duì)應(yīng)的分辨溫度為 0.5 ℃、 0.25 ℃、 0.125 ℃和 0.0625 ℃。 (6) 負(fù)壓特性:電源極性接反時(shí), 溫度計(jì)不會(huì)因發(fā)熱而燒毀, 但不能正常工 作。 (7) 內(nèi)部有溫度上、下限告警設(shè)置。非易失性溫度報(bào)警觸發(fā)器 TH 和 TL 。 可通過(guò)軟件寫(xiě)入用戶(hù)報(bào)警上下限值。 (8) 每個(gè)芯片唯一編碼,支持聯(lián)網(wǎng)尋址,
27、零功耗等待。 2.4.2 DS18B20 的結(jié)構(gòu) DS18B20 的引腳排列采用 3腳PR-35封裝或 8 腳 SOIC 封裝。 I/O 為數(shù)據(jù)輸 入 / 輸出端 ( 即單線(xiàn)總線(xiàn) ) ,屬于漏極開(kāi)路輸出, 外接上拉電阻后常態(tài)下呈高電平。 UDD是可供選用的外部 +5V 電源端,不用時(shí)需接地。 GND為地, NC 為空腳。 。 - 12 - 。 DS18B20的內(nèi)部結(jié)構(gòu)框圖:
28、 圖2-8 DS18B20內(nèi)部結(jié)構(gòu)圖 2.4.3 DS18B20 的工作時(shí)序 (1)DS18B20的復(fù)位時(shí)序 圖 2-9 DS18B20復(fù)位時(shí)序圖 (2)DS18B20的讀時(shí)序 對(duì)于 DS18B20 的讀時(shí)序分為讀 0 時(shí)序和讀 1 時(shí)序兩個(gè)過(guò)程。對(duì)于 DS18B20 的讀時(shí)序是從主機(jī)把單總線(xiàn)拉低之后,在 15s 之內(nèi)就得釋放單總 線(xiàn),以讓 DS18B20 把數(shù)據(jù)傳輸?shù)絾慰偩€(xiàn)上。 DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要 60 μs才能完成。
29、 圖2-10 DS18B20讀時(shí)序圖 。 - 13 - 。 ( 3) DS18B20的寫(xiě)時(shí)序 對(duì)于 DS18B20 的寫(xiě)時(shí)序仍然分為寫(xiě) 0 時(shí)序和寫(xiě) 1 時(shí)序兩個(gè)過(guò)程。對(duì)于 DS18B20 寫(xiě) 0 時(shí)序和寫(xiě) 1 時(shí)序的要求不同,當(dāng)要寫(xiě) 0 時(shí)序時(shí),單總線(xiàn)要被拉低至少 60 μ s,保證 DS18B20能夠在 15 μs~45μs 之間能夠正確地采樣 IO 總線(xiàn)上的“ 0”電平,當(dāng)要寫(xiě) 1 時(shí)序時(shí),單總線(xiàn)被拉低之后,在 15 μs 之內(nèi)就得釋放單總線(xiàn)。
30、 圖 2-11 DS18B20寫(xiě)時(shí)序圖 3 系統(tǒng)的軟件結(jié)構(gòu)設(shè)計(jì) 3.1 設(shè)計(jì)的流程圖 。 - 14 - 。 3.2 系統(tǒng)部分程序設(shè)計(jì)及分析 3.2.1 復(fù)位子程序 (1) 主機(jī)將信號(hào)線(xiàn)置為低電平,時(shí)間為 480
31、-960uS。 (2) 主機(jī)將信號(hào)線(xiàn)置為高電平,時(shí)間為 15-60uS。 (3)DS18B20發(fā)出 60-240uS 的低電平作為應(yīng)答信號(hào), 主機(jī)收到此信號(hào)才操作。 復(fù)位子程序如下所示: char fuwei(void) { unsigned char i; s=0; for(i=255;i>0;i--); s=1; for(i=200;i>0;i--); } 3.2.2 讀子程序 (1) 主機(jī)將信號(hào)線(xiàn)從高電平拉至低電平 1uS 以上,再升為高電平,產(chǎn)生讀起始信號(hào)。 (2) 從主機(jī)將信號(hào)線(xiàn)從高電平拉至低電平
32、 15-60uS 的時(shí)間內(nèi), DS18B20將數(shù) 據(jù)放到信號(hào)線(xiàn)上 , 完成 1 個(gè)讀周期。 (3) 在開(kāi)始另一個(gè)讀周期前,必須有 1uS 以上的高電平恢復(fù)期。讀子程序如下所示: unsigned char duchu(void) { unsigned char i,j,t=0,w=1;; for(i=0;i<8;i++) { t=t>>1; s=0; _nop_(); _nop_(); s=1; 。 - 15 - 。 for(j=10;j>0;j--); if(s=
33、=1) t=t|0x80; else t=t|0x00; for(j=100;j>0;j--); } return(t); } 3.2.3 寫(xiě)子程序 (1) 主機(jī)將信號(hào)線(xiàn)從高電平拉至低電平,產(chǎn)生寫(xiě)起始信號(hào)。 (2) 從信號(hào)線(xiàn)的下降沿開(kāi)始,在 15-60uS 的時(shí)間內(nèi), DS18B20對(duì)信號(hào)線(xiàn)檢測(cè),如高則寫(xiě) 1,低則寫(xiě) 0,完成 1 個(gè)寫(xiě)周期。 (3) 在開(kāi)始另一個(gè)寫(xiě)周期前,必須有 1uS 以上的高電平恢復(fù)期。寫(xiě)子程序如下所示: unsigned char xieru(unsigned char o) { cha
34、r i,j; for(i=0;i<8;i++) { if((o&0x01)==0) { s=0; for(j=35;j>0;j--); s=1; } else { s=0; for(j=2;j>0;j--); s=1; 。 - 16 - 。 for(j=33;j>0;j--); } o=o>>1; } } 3.2.4 其他程序 本設(shè)計(jì)中除了上述三個(gè)子程序外, 還涉及到顯示程序, 數(shù)據(jù)處理程序, 中斷 程序和延時(shí)程序等,由于篇
35、幅原因不作具體介紹,詳見(jiàn)附錄Ⅰ。 結(jié) 論 通過(guò)這次畢業(yè)設(shè)計(jì), 提升了我的自學(xué)能力, 通過(guò)不斷的查閱資料, 通過(guò)老師的不斷講解,來(lái)解決其中遇到的困難,比如如何解決 DS18B20控制問(wèn)題,如何解決報(bào)警問(wèn)題等。 本文所討論的設(shè)計(jì)采用了宏晶科技的 STC89C516RD+單片機(jī)作為系統(tǒng)的中央 控制單元, DS18B20作為溫度采集器,并結(jié)合軟件編程,實(shí)現(xiàn)溫度傳感電路與單 片機(jī)的結(jié)合。 該系統(tǒng)具有更高速、更靈敏、更簡(jiǎn)捷地獲取被分析、檢測(cè)、控制對(duì)象的溫度 信息的能力,同時(shí)具有良好的抗干擾及環(huán)境適應(yīng)能力(測(cè)溫范圍 -
36、55 ℃ ~+ 125 ℃)。因其體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域,且系統(tǒng)結(jié)構(gòu)較為簡(jiǎn)單,可大規(guī)模的采用,成本低廉。 。 - 17 - 。 附錄Ⅰ 程序設(shè)計(jì) #include"reg51.h" #include"intrins.h" // 匯編語(yǔ)句的 C 語(yǔ)言調(diào)用接口 unsigned char g=0,a=0,b=0,c=0,d=0,e=0,t; Uns
37、igned char m[]={0xfa,0x82,0xd9,0xcb,0xa3,0x6b,0x7b,0xc2,0xfb,0xeb}; sbit s=P1^1; //DS18B20 的與單片機(jī)連接的 I/O 口 sbit z=P1^6; // 發(fā)光二極管 char fuwei(void) // 復(fù)位程序 { unsigned char i; s=0; for(i=255;i>0;i--); s=1; for(i=200;i>0;i--); } unsigned char xieru(unsigned char o) //
38、寫(xiě)入 18B20 子程序 { char i,j; for(i=0;i<8;i++) { if((o&0x01)==0) { s=0; for(j=35;j>0;j--); s=1; } else { s=0; 。 - 18 - 。 for(j=2;j>0;j--); s=1; for(j=33;j>0;j--); } o=o>>1; } } unsigned char duchu(void) // 讀出 18B20 子程序
39、 { unsigned char i,j,t=0,w=1; for(i=0;i<8;i++) { t=t>>1; s=0; _nop_(); _nop_(); s=1; for(j=10;j>0;j--); if(s==1) t=t|0x80; else t=t|0x00; for(j=100;j>0;j--); } return(t); } void display(void) // 顯示程序 { unsigned char i, j; for(i=0;i<10;i++) {
40、 P2=0x00; P0=0x04; P2=m[a]; for(j=0;j<160;j++); 。 - 19 - 。 P2=0x00; P0=0x02; P2=m[b]|0x04; for(j=0;j<160;j++); P2=0x00; P0=0x01; P2=m[c]; for(j=0;j<160;j++); P2=0x00; P0=0x08; P2=m[d]; for(j=0;j<160;j++); P2=0x00; } if(a>=2) z=~z;
41、 else z=1; } void smzh(void) // 數(shù)值轉(zhuǎn)換子程序 { unsigned int k,w; unsigned int n[]={0,0}; fuwei(); xieru(0xcc); xieru(0xbe); n[0]=duchu(); n[1]=duchu(); k=n[0]>>4; t=n[1]<<4; t=t&0x70; t=t|k; a=t%100/10; b=t%10; w=n[0]&0x0f; w=w*1000/16;
42、。 - 20 - 。 c=w/100; d=w%100/10; } main() // 主程序 { z=1; TMOD=0x01; EA=1; ET0=1; TH0=(65535-4000)/256; TL0=(65535-4000)%256; while(1) { fuwei(); xieru(0xcc); xieru(0x44); TR0=1; while(1) display(); } } void t0(void)interrupt 1
43、 // 中斷程序 { TH0=(65535-4000)/256; TL0=(65535-4000)%256; smzh(); display(); fuwei(); xieru(0xcc); xieru(0x44); } 。 - 21 - 。 附錄Ⅱ 參考文獻(xiàn) 1、張大明 《單片機(jī)控制應(yīng)用技術(shù)實(shí)操指導(dǎo)書(shū)》 機(jī)械工業(yè)出版社 2001 2、徐火明 《單片機(jī)原理及接口技術(shù)》 電子工業(yè)出版社 2001 3、李玉梅 《基于 MCS51系列單片機(jī)原理的應(yīng)用》 國(guó)防工
44、業(yè)出版社 2004 4、周良全 《模擬電子技術(shù)》 高等教育出版社 2005 5、周良全 《數(shù)字電子基礎(chǔ)》 高等教育出版社 2008 6、胡宴如 《高頻電子線(xiàn)路》 高等教育出版社 2004 7、潘永雄 《新編單片機(jī)原理與應(yīng)用》 西安電子科技大學(xué)出版社 2006 8、周堅(jiān) 《單片機(jī)輕松入門(mén)》 北京航空航天大學(xué)出版社 2006 9、寧凡 《單片機(jī)基礎(chǔ)教程》 北京航空航天大學(xué)出版社 2008
45、 。 - 22 - 。 附錄Ⅲ 結(jié)束語(yǔ) 轉(zhuǎn)眼大學(xué)生活就進(jìn)入到了尾聲, 而在這個(gè)時(shí)我也完成自己的畢業(yè)設(shè)計(jì)。 畢業(yè) 設(shè)計(jì)對(duì)任何一個(gè)畢業(yè)生來(lái)說(shuō)都應(yīng)該是非常重要的, 因?yàn)檫@需要通過(guò)自己所學(xué)到的 知識(shí)來(lái)解決實(shí)際的問(wèn)題, 是對(duì)自己綜合能力的一個(gè)考驗(yàn)。 畢業(yè)設(shè)計(jì)的水平在很大 程度上代表了畢業(yè)生的水平, 只有合格完成了畢業(yè)設(shè)計(jì)的人才能算做一個(gè)合格的 畢業(yè)生。
46、這次我設(shè)計(jì)的是基于單總線(xiàn)溫度傳感器的溫度監(jiān)控系統(tǒng)設(shè)計(jì)。在設(shè)計(jì)過(guò)程 中,我通過(guò)各種途徑查閱了大量的關(guān)于溫度傳感器和單片機(jī)的資料??紤]到 AT89C2051, 80C31 和 PIC 單片機(jī)的特點(diǎn),最后決定選用 AT89C516RD+。并利用 Proteus 來(lái)制作原理圖。 至此,所有關(guān)于畢業(yè)設(shè)計(jì)的內(nèi)容就介紹完了。 雖然我花費(fèi)了很多時(shí)間來(lái)盡力把畢設(shè)做好, 但是由于個(gè)人能力的原因, 整個(gè)系統(tǒng)還是不夠完善的, 還有許多地方值得改進(jìn)。今后有機(jī)會(huì)再將其完善。 本次設(shè)計(jì)是在劉欽東老師的悉心指導(dǎo)下完成的。 在整個(gè)過(guò)程中, 老師給予了大量指導(dǎo),并提供了很多與該研究相關(guān)的重要信息,
47、培養(yǎng)了我們對(duì)科學(xué)研究的嚴(yán)謹(jǐn)態(tài)度和創(chuàng)新精神, 對(duì)我影響深遠(yuǎn)。 不僅使我掌握了基本的科學(xué)研究方法, 還使我明白了許多待人接物與為人處世的道理,這將非常有利于我今后的學(xué)習(xí)和工作。 老師們常說(shuō)畢業(yè)設(shè)計(jì)重在過(guò)程,事實(shí)也確是如此。在整個(gè)畢設(shè)的過(guò)程,我學(xué) 到了許多過(guò)去沒(méi)有接觸過(guò)的新的知識(shí), 也將過(guò)去所學(xué)的知識(shí)又做了一次溫習(xí)。 這些收獲給我?guī)?lái)的幫助遠(yuǎn)不止作好畢業(yè)設(shè)計(jì)那么簡(jiǎn)單, 我相信在踏上工作崗位之后它們也將成為我向上的堅(jiān)實(shí)基礎(chǔ)。 。 - 23 - 。
48、附錄Ⅳ 實(shí)物照片 。 - 24 - 。 歡迎您的下載, 資料僅供參考! 致力為企業(yè)和個(gè)人提供合同協(xié)議, 策劃案計(jì)劃書(shū),學(xué)習(xí)資料等等 打造全網(wǎng)一站式需求 。 - 25 -
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案