191基于51單片機的教室智能照明控制系統(tǒng)資料
191基于51單片機的教室智能照明控制系統(tǒng)資料,基于,51,單片機,教室,智能,照明,控制系統(tǒng),資料
揚 州 市 職 業(yè) 大 學(xué)畢 業(yè) 設(shè) 計(論 文)設(shè)計(論文)題目: 基于 DS18B20 的溫度控制系統(tǒng)系 別 : 電子工程系專 業(yè) : 通信技術(shù)班 級 : 09通信(1)姓 名 : 高立元學(xué) 號 :指導(dǎo)教師 :完成時間 : 2012 年 5 月?lián)P 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 2 頁 共 39 頁目 錄第 1 章 緒論…………………………………………………………………………5第 2 章 設(shè)計任務(wù)及方案分析………………………………………………………62.1 設(shè)計任務(wù)及要求……………………………………………………………62.2 設(shè)計總體方案及方案論證………………………………………………62.2.1 系統(tǒng)總體設(shè)計………………………………………………………………62.2.2 主控制部分…………………………………………………………………62.2.3 溫度檢測部分………………………………………………………………7第 3 章 芯片功能簡介……………………………………………………………83.1 AT89S51 的功能簡介………………………………………………… 83.1.1 AT89S51 芯片簡介………………………………………………………… 83.1.2 引腳說明……………………………………………………………………83.2 DS18B20 的功能簡介……………………………………………………113.2.1 芯片簡介…………………………………………………………………113.2.2 DS18B20 外形和內(nèi)部結(jié)構(gòu)………………………………………………113.2.3 DS18B20 與單片機的典型接口設(shè)計……………………………………14第 4 章 系統(tǒng)硬件電路的設(shè)計…………………………………………………… 164.1 主控制電路和測溫控制電路原理圖………………………………………164.2 上電復(fù)位電路………………………………………………………………164.3 時鐘電路……………………………………………………………………164.4 按鍵電路……………………………………………………………………174.5 數(shù)碼管顯示電路……………………………………………………………174.6 溫度報警電路………………………………………………………………19第 5 章 系統(tǒng)軟件的設(shè)計…………………………………………………………20揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 3 頁 共 39 頁5.1 主程序流程圖 ……………………………………………………………205.2 DS18B20 復(fù)位檢測子程序流程圖…………………………………………205.3 溫度轉(zhuǎn)換子程序圖…………………………………………………………215.4 寫 DS18B20 子程序圖……………………………………………………215.5 讀 DS18B20 子程序圖………………………………………………………225.6 溫度計算子程序圖…………………………………………………………235.7 顯示子程序圖………………………………………………………………235.8 溫度比較報警子程序……………………………………………………245.9 按鍵掃描子程序…………………………………………………………25第 6 章 調(diào)試與仿真………………………………………………………………266.1 軟件調(diào)試仿真……………………………………………………………266.2 硬件測試…………………………………………………………………26結(jié) 論…………………………………………………………………………27致 謝……………………………………………………………………………28參考文獻 …………………………………………………………………………29附 錄 A 源程序…………………………………………………………………… 30附 錄 B 實物圖…………………………………………………………………36附 錄 C 原理圖…………………………………………………………………37附 錄 D 仿真圖………………………………………………………………… 38揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 4 頁 共 39 頁題目:基于 DS18B20 的溫度控制系統(tǒng)作者:高立元摘要:本論文介紹了一種以單片機為主要控制器件,以 DS18B20 為溫度傳感器的新型數(shù)字溫度計。主要包括硬件電路的設(shè)計和系統(tǒng)程序的設(shè)計。硬件電路主要包括主控制器,測溫控制電路和顯示電路等,主控制器采用單片機 AT89S51,溫度傳感器采用美國 DALLAS 半導(dǎo)體公司生產(chǎn)的DS18B20,顯示電路采用 4 位共陽極 LED 數(shù)碼管,通過三極管驅(qū)動顯示。測溫控制電路由溫度傳感器和預(yù)置溫度值比較報警電路組成,當實際測量溫度值超出預(yù)置溫度值時,發(fā)出報警信號,且發(fā)光二極管亮。系統(tǒng)程序主要包括主程序,測溫子程序和顯示子程序等。DS18B20 新型單總線數(shù)字溫度傳感器是 DALLAS 公司生產(chǎn)的單線數(shù)字溫度傳感器, 集溫度測量和 A /D 轉(zhuǎn)換于一體 ,直接輸出數(shù)字量,具有接口簡單、精度高、抗干擾能力強、工作穩(wěn)定可靠等特點。關(guān)鍵詞:數(shù)碼管, AT89S51,DS18B20揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 5 頁 共 39 頁第 1 章 緒論日常生活及工農(nóng)業(yè)生產(chǎn)中經(jīng)常要用到溫度的檢測及控制,在冶金、食品加工、化工等工業(yè)生產(chǎn)過程中,廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等,都要求對溫度進行嚴格控制。測量溫度的關(guān)鍵是溫度傳感器,溫度傳感器正從模擬式向數(shù)字式、從集成化向智能化、網(wǎng)絡(luò)化的方向發(fā)展。在測溫電路中,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),將隨被測溫度變化的電壓或電流采集過來,先進行 A/D 轉(zhuǎn)換,然后用單片機進行數(shù)據(jù)的處理,再在顯示電路上,將被測溫度顯示出來。這種設(shè)計需要用到A/D 轉(zhuǎn)換電路,因此感溫電路的設(shè)計比較復(fù)雜。本數(shù)字溫度計的設(shè)計采用美國 DALLAS 半導(dǎo)體公司推出的一種改進型智能溫度傳感器 DS18B20 作為檢測元件,其溫度值可以直接被讀出來,通過核心器件單片機AT89S51 控制溫度的讀寫和顯示,用 LED 數(shù)碼管顯示。測溫范圍為-55℃~+125℃,最大分辨率可達 0.0625℃。而且采用單總線與單片機相連,減少了外部的硬件電路,具有低成本和易使用的特點。 按照系統(tǒng)設(shè)計功能的要求,確定系統(tǒng)有 5 個模塊組成:主控制器、溫度傳感器DS18B20、報警電路、按鍵預(yù)置溫度值電路及顯示電路。控制器使用 AT89S51,溫度傳感器使用 DS18B20,用 4 位共陽極 LED 數(shù)碼管以動態(tài)掃描法實現(xiàn)溫度顯示。綜上所述,本設(shè)計以智能集成溫度傳感器 DS18B20 為例,介紹基于 DS18B20 傳感器的數(shù)字溫度計的設(shè)計,該設(shè)計適用于人們的日常生活及工農(nóng)業(yè)生產(chǎn)中用于溫度的檢測及控制。揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 6 頁 共 39 頁第 2 章 設(shè)計任務(wù)及方案分析2.1 設(shè)計任務(wù)及要求設(shè)計一個基于 DS18B20 的溫度控制系統(tǒng),其可實現(xiàn)的功能為:(1)用 DS18B20 溫度傳感自檢測溫度;(2)用數(shù)碼管顯示溫度,精確到 0.1 攝氏度;(3)當溫度在溫度上下限之外時,用聲光提示; (4)溫度上下限可設(shè)置;2.2 設(shè)計總體方案及方案論證2.2.1 系統(tǒng)總體設(shè)計系統(tǒng)主要包括單片機模塊、溫度采集模塊、溫度顯示模塊,溫度上下限調(diào)整模塊和報警模塊五部分。系統(tǒng)總體框架如圖 2-1 所示。單片機處理模塊溫度采集模塊 溫度顯示模塊溫度上下限調(diào)整模塊圖 2-1 系統(tǒng)總體框架報警模塊2.2.2 主控制部分方案一: 此方案采用 PC 機實現(xiàn),可在線仿真的功能,這讓調(diào)試變得方便.但是 PC機輸出信號不能直接與 DS18B20 通信.需要通過 RS232 電平轉(zhuǎn)換兼容,硬件的合成在線調(diào)試,較為繁瑣,很不簡便.而且在一些環(huán)境比較惡劣的場合,PC 機的體積大,攜帶揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 7 頁 共 39 頁安裝不方便,性能不穩(wěn)定,給工程帶來很多麻煩! 方案二: 此方案采用 AT89S51 八位單片機實現(xiàn).單片機軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術(shù)算法和邏輯控制.而且體積小,硬件實現(xiàn)簡單,安裝方便.既可以單獨對多 DS18B20 控制工作,還可以與 PC 機通信.2.2.3 溫度檢測部分方案一: 采用熱敏電阻,可滿足 40 攝氏度至 90 攝氏度測量范圍,但熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測 1 攝氏度的信號是不適用的.而且在溫度測量系統(tǒng)中,采用單片溫度傳感器,比如 AD590,LM35 等.但這些芯片輸出的都是模擬信號,必須經(jīng)過 A/D 轉(zhuǎn)換后才能送給計算機,這樣就使得測溫裝置的結(jié)構(gòu)較復(fù)雜.方案二:采用數(shù)字溫度芯片 DS18B20 測量溫度,輸出信號全數(shù)字化,便于單片機處理及控制,省去傳統(tǒng)的測溫方法的很多外圍電路,且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好.在 0—100 攝氏度時,最大線形偏差小于 1攝氏度。綜上,本設(shè)計采用以 AT89S51 作為主控,以溫度芯片 DS18B20 測量溫度的溫度控制系統(tǒng)。揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 8 頁 共 39 頁第 3 章 芯片功能簡介3.1 AT89S51 的功能簡 介3.1.1 AT89S51 芯片簡介單片機由單塊集成電路芯片構(gòu)成,內(nèi)部包含計算機的基本功能部件:CPU、存儲器、I/O接口電路、定時/計數(shù)器、串行口等。因此,單片機只需要在適當?shù)能浖巴獠吭O(shè)備相結(jié)合,便可成為一個單片機控制系統(tǒng)。MSC-51系列單片機是英特爾公司于1980年起推出的第二代產(chǎn)品。與8084相比,8051的硬件結(jié)構(gòu)和指令系統(tǒng)均有很大改進,可支持更大的存貯空間,擴充了更多的硬件功能I/O功能,速度提高了2- 5倍,可完成邏輯運算等。近年來推出的一些增強的MSC-51系統(tǒng)單片機,片內(nèi)還集成了許多特殊功能單元,只需要加一些擴展電路及必要的通道接口即可構(gòu)成各種計算機應(yīng)用系統(tǒng)。因此,MSC-51系統(tǒng)單片機在智能儀表、智能接口、功能模塊等領(lǐng)域得到了非常廣泛的應(yīng)用。 主要技術(shù)特性: ① 適于控制應(yīng)用的8位CPU。 ② 64KB程序存貯器空間和64KB數(shù)據(jù)存貯器空間。 ③ 4KB片內(nèi)程序存貯器。 ④ 128B片內(nèi)數(shù)據(jù)RAM。 ⑤ 2個16位定時/計數(shù)器。⑥ 擴展的邏輯處理能力。3.1.2 引腳說明揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 9 頁 共 39 頁圖 3-1 AT89S51 引腳示意圖VCC:供電電壓。 GND:接地。 P0口:8位雙向I/O口。在訪問外部存儲器時,P0口用于分時傳送低8位地址(地址總線)和8位數(shù)據(jù)信號(數(shù)據(jù)總線) 。P0口能驅(qū)動8個LSTTL門。在不接外ROM和外RAM時,P0口可做雙向I/O口用。P1口:P1口是一個內(nèi)部提供上拉電阻的8位準雙向I/O口,P1口負載能力為4個LSTTL門。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口:8位準雙向I/O口。在訪問外部存儲器時,P2口用于傳送高8位地址。P2口負載能力為4個LSTTL門。 P3口:8位準雙向I/O口。可做一般I/O口用,同時P3口每一引腳還具有第二功能,用于特殊信號輸入輸出和控制信號(屬控制總線) 。P3口第二功能如下。 P3.0--RXD (串行輸入口) P3.1--TXD (串行輸出口) P3.2--/INT0 (外部中斷0) 揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 10 頁 共 39 頁P3.3--/INT1 (外部中斷1) P3.4--T0 (定時/計數(shù)器0外部輸入) P3.5--T1 (定時/計數(shù)器1外部輸入) P3.6--/WR (外部數(shù)據(jù)存儲器寫選通) P3.7--/RD (外部數(shù)據(jù)存儲器讀選通) P3口負載能力為4個LSTTL門。RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE、/PROG:①正常使用為ALE功能,用來鎖存P0口送出的低8位地址。P0口一般分時傳送低8位地址還是8位數(shù)據(jù)地址呢?當ALE信號有效時,P0口傳送的是低8位地址信號;ALE信號無效時,P0口傳送的是8位數(shù)據(jù)信號。通常在ALE信號的下降沿,鎖定P0口傳送的內(nèi)容,即低8位地址信號。需要指出的是,當CPU不執(zhí)行訪問外RAM指令(MOVX)時,ALE以時鐘振蕩頻率1/6的固定速率輸出,因此ALE信號也可作為外部芯片CLK時鐘或其他需要。但是,當CPU執(zhí)行MOVX指令時,ALE將跳過一個ALE脈沖。ALE端可驅(qū)動8個LSTTL門電路。②/PROG在固化片內(nèi)存儲器的程序(也稱為“燒錄程序” )時,此引腳用于輸入編程脈沖,此時為低電平有效。/PSEN:外ROM的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外RAM或內(nèi)ROM時,這兩次有效的/PSEN信號將不出現(xiàn)。 /EA、VPP:正常工作時,/EA為內(nèi)外ROM選擇端。MCS-51型單片機ROM尋址范圍為64KB,其中4KB在片內(nèi),60KB在片外。當/EA保持高電平時,先訪問內(nèi)ROM,但當PC(程序計數(shù)器)值超過4KB時,將自動轉(zhuǎn)向執(zhí)行外ROM中的程序。當/EA保持低電平時,則只訪問外ROM,不管芯片內(nèi)有否內(nèi)ROM。對80C31芯片,片內(nèi)無ROM,因此/EA必須接地。揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 11 頁 共 39 頁XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。3.2 DS18B20 的功能簡 介3.2.1 芯片簡介(1) 適應(yīng)電壓范圍更寬,電壓范圍:3.0 V~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電。(2) 獨特的單線接口方式,DS18B20 在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與 DS18B20 的雙向通訊。(3) DS18B20 在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。(4) 測溫范圍-55℃~+125℃,在-10℃~+85℃時精度為±0.5℃。(5) 可編程的分辨率為 9~12 位,對應(yīng)的可分辨溫度分別為 0.5℃、0.25℃、0.125℃和 0.0625℃,可實現(xiàn)高精度測溫。(6) 在 9 位分辨率時最多在 93.75ms 內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12 位分辨率時最多在 750ms 內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。(7) 測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給 CPU,同時可傳送 CRC 校驗碼,具有極強的抗干擾糾錯能力。(8) 負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。3.2.2 DS18B20 外形和內(nèi)部結(jié)構(gòu)DS18B20 內(nèi)部結(jié)構(gòu)如圖 3-2 所示,主要由 4 部分組成:64 位 ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器 TH 和 TL、配置寄存器。DS18B20 的外形及管腳排列如圖3-3 和表 3-1 所示。揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 12 頁 共 39 頁64 位ROM和單線接 口高速緩存 存儲器 存儲器和控制器8 位 CRC 生成器溫度傳感器 低溫觸發(fā)器 TL高溫觸發(fā)器 TH配置寄存器電源檢測圖 3-2 DS18B20 的內(nèi)部結(jié)構(gòu)圖 3-3 DS18B20 的管腳排列表 3-1 DS18B20 引腳定義:序號 名稱 引腳功能描述1 GND 地信號2 DQ 數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當被用著在寄生電源下,也可以向器件提供電源。3 VDD 可選擇的 VDD 引腳。當工作于寄生電源時,此引腳必須接地。(1) 64 位 ROM 揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 13 頁 共 39 頁ROM 中的 64 位序列號是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列碼,每個 DS18B20 的 64 位序列號均不相同。64 位 ROM 的循環(huán)冗余校驗碼(CRC=X8+X5+X4+1) 。ROM 的作用是使每一個 DS18B20 都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個 DS18B20 的目的。DS18B20 中的溫度傳感器完成對溫度的測量,用 16 位符號擴展的二進制補碼讀數(shù)形式提供,以 0.0625℃/LSB 形式表達,其中 S 為符號位。DS18B20 溫度值格式表 3-2 如下所示。這是 12 位轉(zhuǎn)化后得到的 12 位數(shù)據(jù),存儲在 DS18B20 的兩個 8 比特的 RAM 中,二進制中的前面 5 位是符號位,如果測得的溫度大于 0,這 5 位為 0,只要將測到的數(shù)值乘于 0.0625 即可得到實際溫度;如果溫度小于 0,這 5 位為 1,測到的數(shù)值需要取反加 1 再乘于 0.0625 即可得到實際溫度。例如+25.0625℃的數(shù)字輸出為0191H,-25.0625℃的數(shù)字輸出為 FF6FH。 表 3-2 DS18B20 溫度值格式表bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0LS Byte 232 212 02 1?2 2 3?2 4bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8MS Byte S S S S S 2 6252 4(2)高低溫報警觸發(fā)器 TH 和 TLDS18B20 溫度傳感器的內(nèi)部存儲器包括一個高速暫存 RAM 和一個非易失性的可電擦除的 EEPRAM,后者存放高溫度和低溫度觸發(fā)器 TH、TL 和結(jié)構(gòu)寄存器。 (3)配置寄存器 該字節(jié)各位的意義如下表 3-3 所示。表 3-3:配置寄存器結(jié)構(gòu)TM R1 R0 1 1 1 1 1揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 14 頁 共 39 頁低五位一直都是“1” ,TM 是測試模式位,用于設(shè)置 DS18B20 在工作模式還是在測試模式。在 DS18B20 出廠時該位被設(shè)置為 0,用戶不要去改動。R1 和 R0 用來設(shè)置分辨率,如下表 3-4 所示(DS18B20 出廠時被設(shè)置為 12 位) 。表 3-4: 溫度分辨率設(shè)置表R1 R0 分辨率 溫度最大轉(zhuǎn)換時間0 0 9 位 93.75ms 0 1 10 位 187.5ms 1 0 11 位 375ms 1 1 12 位 750ms (4)高速暫存器是一個 9 字節(jié)的存儲器。開始兩個字節(jié)包含被測溫度的數(shù)字量信息;第 3、4、5 字節(jié)分別是 TH、TL、配置寄存器的臨時拷貝,每一次上電復(fù)位時被刷新;第 6、7、8 字節(jié)未用,表現(xiàn)為全邏輯 1;第 9 字節(jié)讀出的是前面所有 8 個字節(jié)的 CRC碼,可用來保證通信正確。高速暫存器 RAM 結(jié)構(gòu)圖如下表 3-5 所示。表 3-5: DS18B20 暫存寄存器分布寄存器內(nèi)容 字節(jié)地址溫度值低位 (LS Byte) 0溫度值高位 (MS Byte) 1高溫限值(TH) 2低溫限值(TL) 3配置寄存器 4保留 5保留 6保留 7CRC 校驗值 83.2.3 DS18B20 與單片機的典型接口設(shè)計圖 3-4(a)中 DS18B20 采用寄生電源方式,圖 3-4(b)中 DS18B20 采用外接電源方式,其 VDD 端用 3V~5.5V 電源供電。揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 15 頁 共 39 頁(a) 寄生電源工作方式 (b) 外接電源工作方式圖 3-4 電源工作方式圖揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 16 頁 共 39 頁第 4 章 系統(tǒng)硬件電路的設(shè)計4.1 主控制電路和測溫控制電路原理圖AT89S51 是此硬件電路設(shè)計的核心,通過 AT89S51 的管腳 P3.7 與 DS18B20 相連,控制溫度的讀出和顯示。電路原理圖如下圖 4-1 所示。圖 4-1 主控制電路和測溫控制電路原理圖4.2 上電復(fù)位電路圖 4-2 上電復(fù)位電路本設(shè)計中 AT89S51 是采用上電自動復(fù)位,如圖 4-2 所示。上電瞬間,RC 電路充電,RST 引線端出現(xiàn)正脈沖,只要 RST 端保持 10ms 以上的高電平,就能使單片機有效地復(fù)位。4.3 時鐘電路此處選用內(nèi)部時鐘方式。即利用其內(nèi)部的振蕩電路在 XTAL1 和 XTAL2 引線上外接定時元件,內(nèi)部振蕩電路產(chǎn)生自激振蕩。最常用的是在 XTAL1 和 XTAL2 之間接晶揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 17 頁 共 39 頁體振蕩器與電路構(gòu)成穩(wěn)定的自激振蕩器,如圖 4-3 電路.圖 4-3 時鐘電路4.4 按鍵電路鍵盤是一種常見的輸入設(shè)備,用戶可以向計算機輸入數(shù)據(jù)或命令。本設(shè)計是采用獨立式按鍵,用 5 個按鍵,分別接 P1.0—P1.4,當無按鍵按下時其口上的電平為高電平。當某按鍵按下時,與其相連的 I/O 線將得到低電平輸入。如圖 4-4。圖 4-4 按鍵電路4.5 數(shù)碼管顯示電路發(fā)光二極管LED是一種通電后能發(fā)光的半導(dǎo)體器件,其導(dǎo)電性質(zhì)與普通二極管類似。它使用了8個LED發(fā)光二極管,其中7個顯示字符,1個顯示小數(shù)點,故通常稱之為7段發(fā)光二極管數(shù)碼顯示器,如圖4-5所示。 為了顯示字符,要為 LED顯示器提供段碼(或稱字形代碼) ,組成一個“8”字形的7段,再加上1個小數(shù)點位,共計8段,因此提供給LED顯示的段碼為1個字節(jié)。各段碼位的對應(yīng)關(guān)系如下:表格4-1 各段碼位的對應(yīng)關(guān)系段碼位 D7 D6 D5 D4 D3 D2 D1 D0 顯示段 dp g f e d c b a 共陽極接法:把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 18 頁 共 39 頁+5 V, 每個發(fā)光二極管的陰極通過電阻與輸入端相連。當陽極端輸入低電平時,段發(fā)光二極管就導(dǎo)通點亮,而輸入高電平時則不點亮。共陽極 顯示段碼圖4-5 LED數(shù)碼顯示器的顯示段碼本設(shè)計采用LED數(shù)碼管顯示電路,該顯示電路由7段共陽數(shù)碼管,限流電阻,三極管,基極電阻,P0口,P2口等組成。P0口通過與8個270Ω電阻與數(shù)碼管的8個數(shù)據(jù)位相連,送顯示數(shù)碼。電阻即可起到限流作用,又可起到上拉電阻的作用。P2口的P2.0~P2.3通過4個4.7kΩ的電阻和4個三極管與4個7段數(shù)碼管相連,起位選的作用。數(shù)碼管顯示電路的原理圖如圖4-6 。圖4-6 數(shù)碼管顯示電路圖4.6 溫度報警電路揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 19 頁 共 39 頁溫度報警電路是檢測當前溫度的值并與預(yù)置的溫度上下限進行比較,當當前溫度超出預(yù)置的溫度上下限時,系統(tǒng)就會立即發(fā)出報警信號。此設(shè)計的溫度報警電路是由聲光報警電路組成,用到了蜂鳴器和 LED 發(fā)光二極管。原理圖如圖 4-7:圖 4-7 溫度報警電路揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 20 頁 共 39 頁第 5 章 系統(tǒng)軟件的設(shè)計5.1 主程序流程圖主程序首先進行初始化,當檢測到 DS18B20 存在時發(fā)出溫度轉(zhuǎn)換命令和讀溫度命令,在分別調(diào)用相應(yīng)的數(shù)據(jù)處理子程序,完成溫度測量及顯示工作。流程圖如圖5-1:開始DS18B20 復(fù)位檢測子程序溫度轉(zhuǎn)換子程序讀溫度子程序按鍵掃描子程序溫度計算子程序顯示子程序溫度比較子程序5-1 主程序流程圖5.2 DS18B20 復(fù)位檢測 子程序流程圖主機控制 DS18B20 完成任何操作之前必須先初始化,即主機發(fā)一復(fù)位脈沖(最短為480us 的低電平),接著主機釋放總線進入接收狀態(tài),DS18B20 在檢測到 I/O 引腳上YN開始延時 537us 復(fù)位低脈沖SETB DQCLR DQ100US 內(nèi)DQ=0FLAG1=1時序延時 216usSETB DQ返回FLAG1=0圖 5-2 DS18B20 復(fù)位檢測子程序揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 21 頁 共 39 頁的上升沿之后,等待 15-60us 然后發(fā)出存在脈沖(60-240us 的低電平)。如圖 5-3 所示。圖 5-3 初始化程序DS18B20 復(fù)位檢測子程序的主要功能為檢測 DS18B20 是否存在。若存在則將標志位 FLAG1 置 1,反則置 0.后續(xù)程序可以通過判斷標志位來決定進行何種操作。流程圖如圖 5-2:5.3 溫度轉(zhuǎn)換子程序圖溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換命令,當采用 12 位分辨率時轉(zhuǎn)換時間約為 750ms,流程圖如圖 5-4:5.4 寫 DS18B20 子程序 圖寫時間片:將數(shù)據(jù)從高電平拉至低電平,產(chǎn)生寫起始信號。在 15us 之內(nèi)將所需寫的位送到數(shù)據(jù)線上,在 15us 到 60us 之間對數(shù)據(jù)線進行采樣,如果采樣為高電平,就寫 1,如果為低電平,寫 0 就發(fā)生。在開始另一個寫周期前必須有 1us 以上的高電平恢復(fù)期。其寫時序圖 5-5,流程圖如圖 5-6:開始發(fā)跳過 rom 命令寫入子程序發(fā)溫度轉(zhuǎn)換命令返回圖 5-4 溫度轉(zhuǎn)換子程序揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 22 頁 共 39 頁圖 5-5 寫時序YN開始R2=8寫之前復(fù)位 CLR DQ延時 16us 以上RRC A延時 100us DQ=1R2=0返回SETB DQ圖 5-6 寫入 DS18B20 子程序圖CLR CYN開始發(fā) DS18B20 復(fù)位命令跳過 rom 命令發(fā)讀溫度命令8 字節(jié)完返回存入溫度暫存器圖 5-7 讀溫度子程序圖讀操作5.5 讀 DS18B20 子程序 圖讀時間片:主機將數(shù)據(jù)線從高電平拉至低電平 1us 以上,再使數(shù)據(jù)線升為高電平,從而產(chǎn)生讀起始信號。主機在讀時間片下降沿之后 15us 內(nèi)完成讀位。每個讀周期最短的持續(xù)期為 60us,各個讀周期之間也必須有 1us 以上的高電平恢復(fù)期。如圖 5-8.讀溫度子程序只讀出 DS18B20 暫存器前 4 個字節(jié)的數(shù)據(jù):溫度值 LSB\溫度值揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 23 頁 共 39 頁MSB、溫度報警值 TH 和 TL,并將它們分別存入 25H~28H 單元中。如圖 5-7:圖 5-8 讀時序5.6 溫度計算子程序圖溫度計算子程序首先判斷溫度值 MSB 的符號位,當符號位 S=0 時,表示測得的溫度值為正,可以直接將二進制轉(zhuǎn)換為十進制;當符號位 S=1 時,表示測得的溫度值為負,要先將補碼變成原碼,再計算十進制值。計算時先將溫度值 LSB 的低四位取出,進行小數(shù)部分數(shù)據(jù)處理。再將溫度值 LSB 的高四位和溫度值 MSB 的低四位取出,重新組合后進行整數(shù)部分數(shù)據(jù)處理。如圖 5-9:NY溫度零下溫度值取補碼置“- ”標志置“ +”標志計算小數(shù)位 BCD 值計算整數(shù)位 BCD 值返回開始圖 5-9 計算溫度 BCD 碼子程序圖5.7 顯示子程序圖溫度顯示子程序?qū)?DS18B20 讀出的溫度值,經(jīng)過數(shù)據(jù)處理后,送往數(shù)碼管進揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 24 頁 共 39 頁行實時顯示。包括顯示子程序和刷新子程序。如圖 5-10,圖 5-11;YNYNNYYN開始取溫度標記 TEMPBJ負數(shù)返回5-11 顯示數(shù)據(jù)刷新子程序圖調(diào)顯示子程序百位=0十位=0十位顯示符號百位不顯示百位不顯示十位=0十位不顯示開顯示取百位 BCD 碼,查看表得 7 段碼,送顯示口選通百位數(shù)碼管開關(guān)調(diào)用延時 2ms 程序關(guān)顯示取小數(shù)位 BCD 碼,查看表得 7 段碼,送顯示口選通小數(shù)位數(shù)碼管開關(guān)調(diào)用延時 2ms 程序關(guān)顯示取十位 BCD 碼,查看表得 7 段碼,送顯示口選通十位數(shù)碼管開關(guān)5-10 顯示子程序5.8 溫度比較報警子程序圖溫度比較子程序?qū)崪y溫度值與設(shè)定的溫度報警值進行比較,根據(jù)比較結(jié)果執(zhí)行相應(yīng)處理程序。當實測溫度超出設(shè)定的溫度報警值時,發(fā)出報警信號,LED 燈閃爍,蜂鳴器響。當實測溫度正常時,數(shù)碼管正常顯示當前溫度值。如圖 5-12:揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 25 頁 共 39 頁開始Y大于上限小于下限顯示子程序報警子程序返回圖 5-12 溫度比較子程序圖YNNYN開始有鍵按下鍵盤抖動R6←鍵值等待鍵釋放返回圖 5-13 按鍵掃描及消抖子5.9 按鍵掃描子程序按鍵掃描子程序?qū)?shù)字溫度計的 K1~K5 鍵進行掃描,得到鍵值,根據(jù)鍵值完成相應(yīng)操作。當按下 K1 鍵時數(shù)碼管顯示 H—50,當按下 K2 鍵顯示 L—05,按下 K3和 K4 分別加 1 和減 1.再按 K5 保存設(shè)置,返回顯示當前溫度值,如圖 5-13 和圖 5-14:揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 26 頁 共 39 頁NN NNNYYYYYYYN YNN開始K1K1顯示下限 顯示上限K3K4K5K3K4返回加 1減 1 減 1加 1圖 5-14 按鍵處理子程序圖K5第 6 章 調(diào)試與仿真6.1 軟件調(diào)試和仿真軟件調(diào)試是通過對用戶程序的匯編、連接、執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤并加以排除糾正的過程。本設(shè)計的程序編輯完成以后,通過wave6000編程軟件來調(diào)試,經(jīng)過多次的修改調(diào)試。軟件的仿真是用的 Proteus ISIS,是英國 Labcenter 公司開發(fā)的電路分析與實物仿真軟件。將設(shè)計的電路圖連接好,將程序加入到 AT89S51 中,進行仿真,和多次的修改,最終得到預(yù)測的結(jié)果。6.2 硬件測試硬件調(diào)試是利用開發(fā)系統(tǒng)、基本測試儀器(萬用表、示波器)等,檢查用戶系揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 27 頁 共 39 頁統(tǒng)硬件中存在的故障。 硬件調(diào)試可分為靜態(tài)調(diào)試和動態(tài)調(diào)試兩步進行: (1)靜態(tài)調(diào)試:靜態(tài)調(diào)試是在用戶系統(tǒng)未工作時的一種調(diào)試。 步驟如下: 第一步:目測。檢查外部的各種元件或者是電路是否有斷點。 第二步:用萬用表測試。先用萬用表復(fù)核目測中有疑問的連接點,在檢測各 種電源線與接地線之間是否有短路現(xiàn)象。 第三步:加點檢測。給電路板加電,檢測所有的插座或者是硬件的電源是否 符合要求的值。 第四步:聯(lián)機檢查。應(yīng)為只有單片機開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調(diào)試。 (2)動態(tài)調(diào)試:動態(tài)調(diào)試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內(nèi)部故障、器件連接邏輯錯誤等的一種硬件檢查。 結(jié) 論本文針對溫度測量方法的現(xiàn)狀和所要研究問題的分析,提出了一種采用單總線式數(shù)字溫度傳感器 DS18B20 芯片,并運用 AT89S51 作為控制芯片的溫度測量控制系統(tǒng),接著從單片機的結(jié)構(gòu),原理分析起,在熟悉了 AT89S51 的工作原理及使用方法后,詳細的分析了 DS18B20 芯片的結(jié)構(gòu)、工作原理、時序和測量溫度的方法,最后又簡要了解下 LED 數(shù)碼管的顯示方法。在這個過程中我查閱了大量的相關(guān)資料,綜合所分析所有內(nèi)容,再結(jié)合單片機基本知識設(shè)計了系統(tǒng)電路,通過仿真確定了功能的可實現(xiàn)性,最后做出實物。通過這次學(xué)習(xí),并親自動手制作焊接,學(xué)到了很多,揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 28 頁 共 39 頁也加強了很多大學(xué)學(xué)習(xí)的基本技能,是理論與實際得到很好的結(jié)合。致 謝首先感謝我的指導(dǎo)老師。本論文是在老師的指導(dǎo)下和同學(xué)們的幫助下修改完成的。在此,我要向他們的細心幫助和指導(dǎo)表示由衷的感謝。在這段時間里,我從他們身上不僅學(xué)到了許多的專業(yè)知識,更感受到他們工作中的兢兢業(yè)業(yè),生活中的平易近人。此外,他們嚴謹?shù)闹螌W(xué)態(tài)度和忘我的工作精神值得我去學(xué)習(xí)。非常感謝大家在我的畢業(yè)設(shè)計中,給予我極大的幫助,使我對整個畢業(yè)設(shè)計的思路有了總體的把握,并耐心的幫我解決了許多實際問題,使我有了很大的收獲。感謝多年來傳授我知識的老師們,更要感謝那些對我學(xué)習(xí)上支持和鼓勵的人。揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 29 頁 共 39 頁同時感謝所有關(guān)心幫助過我的同學(xué)、老師和學(xué)校??傊谝院蟮膶W(xué)習(xí)生活中我將以加倍的努力對給予我?guī)椭膶W(xué)校、老師及同學(xué)們的回報。參 考 文 獻:[1]陳權(quán)昌,李興富.單片機原理與應(yīng)用. 北京:理工大學(xué)出版社,2007[2]陳明.protel 99se 原理圖與 pcb 設(shè)計教程. 北京:機械工業(yè)出版社,2006[3]閻石.數(shù)字電子技術(shù)基礎(chǔ)(第四版). 北京:高等教育出版社,1997[4]王恩榮.MCS-51 單片機應(yīng)用技術(shù). 北京:化學(xué)工業(yè)出版社,2001[5]黃河,郭紀林.單片機原理及應(yīng)用. 大連:大連理工大學(xué)出版社,2006[6]周貴連. 電子技術(shù)基礎(chǔ). 西安:機械工業(yè)出版社,2005[7]李廣弟. 單片機基礎(chǔ). 北京:北京航空航天大學(xué)出版社,1994揚 州 職 業(yè) 大 學(xué) 畢 業(yè) 設(shè) 計 ( 論 文 ) 第 30 頁 共 39 頁[8]閻石. 數(shù)字電子技術(shù)基礎(chǔ). 北京:高等教育出版社,1989[9]欒桂冬.傳感器及其應(yīng)用. 西安:電子科技大學(xué)出版社,2003[10]范立南,謝子殿.單片機原理及應(yīng)用教程. 北京:北京大學(xué)出版社,2006.[11]潘松,趙敏笑.EDA 技術(shù)及其應(yīng)用. 北京:科學(xué)出版社,2007[12]丁元杰.單片機原理及應(yīng)用. 西安:機械工業(yè)出版社,1999附錄 A源程序K1 EQU P1.0K2 EQU P1.1K3 EQU P1.2K4 EQU P1.3K5 EQU P1.4DQ EQU P3.7BEEP EQU P3.5 ;蜂鳴器RELAY EQU P3.6 ;指示燈TEMP EQU 24H ;實測溫度存放單元TEMPL EQU 25H ;溫度低位存放單元TEMPH EQU 26H ;溫度高位存放單元TEMP_TH EQU 27H ;溫度上限存放單元TEMP_TL EQU 28H ;溫度下限存放單元TEMPBJ EQU 29H ;正負溫度標記FLAG1 BIT 20H.0 ;DS18B20 存在標志位ORG 0000HLJMP MAINORG 0030HMAIN: MOV SP,#40HMOV A,#00HMOV R0,#20H ;MOV R1,#10HCLEAR: MOV @R0,AINC R0DJNZ R1,CLEARSTART: LCALL RST JNB FLAG1,START1MOV TEMP_TH,#32H ;設(shè) TH 初值 50 度MOV TEMP_TL,#05H;設(shè) TL 初值 05 度LCALL RE_18B20LCALL WRITE_E2LJMP START2START1: MOV 2AH,#0EHMOV 2BH,#0EHMOV 2CH,#0EHMOV 2DH,#0EHLCALL DISPLAY
收藏