基于單線制的多點溫度采集系統(tǒng)畢業(yè)論文_第1頁
基于單線制的多點溫度采集系統(tǒng)畢業(yè)論文_第2頁
基于單線制的多點溫度采集系統(tǒng)畢業(yè)論文_第3頁
基于單線制的多點溫度采集系統(tǒng)畢業(yè)論文_第4頁
基于單線制的多點溫度采集系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

保密類別 編 號 武漢大學 畢 業(yè) 論 文 基于單線制的多點溫度采集系統(tǒng) 武漢大學 2013 年 05 月 2 日 摘 要 本設計的溫度測量系統(tǒng)以 MCS-51系列單片機為核心部件,外加溫度采集電路、鍵盤電路、顯示電路和聲光報警電路組成。采用總線型數(shù)字式的溫度傳感器 DS18B20,及行列式鍵盤和動態(tài)顯示的數(shù)碼管作為主要器件。通過小鍵盤實現(xiàn)對不同溫度數(shù)據(jù)的采集與切換 顯示。同時,也可利用小鍵盤實現(xiàn)溫度最大最小值的設定。對 于超過此 的 溫度數(shù)據(jù)將產(chǎn)生報警信號。 本作品既可以對當前溫度進行實時顯示又可以對溫度進行監(jiān)控,人性化的行列式鍵盤設計使設置溫度簡單快速。采用浮點小數(shù)的顯示方式使具有更高的顯示精度和靈活性。通過對系統(tǒng)軟件和硬件設計的合理規(guī)劃,發(fā)揮單片機自身集成眾多系統(tǒng)級功能單元的優(yōu)勢,在不減少功能的前提下有效降低了硬件成本,系統(tǒng)操控顯得更加簡便。 關(guān)鍵詞: MCS-51 系列單片機 DS18B20 溫度采集 溫度監(jiān)控 目 錄 摘要 I 第一章 緒論 1 第一章 方案論證 2.1 為什么選用 DS18B20而不選用熱電偶作為溫度傳感器? 5 2.2 為什么要選用 AT89C51單片機? 5 2.3 為什么要設置鍵盤電路? 6 第二章 系統(tǒng)硬件設計 3.1 系統(tǒng)控制模塊 7 3.2 溫度采集模塊 13 3.3 顯示電路模塊 15 3.4 鍵盤電路 17 3.5 報警電路 18 第三章 系統(tǒng)軟件設計 4.1 軟件 程序 19 結(jié)論 20 參考文獻 21 附錄 22 后記 28 第一章 緒 論 自從 1976 年 Intel 公司推出第一批單片機以來, 80 年代單片機技術(shù)進入快速發(fā)展時期,近年來,隨著大規(guī)模集成電路的發(fā)展,單片機繼續(xù)朝快速、高性能方向發(fā)展,從 4位、 8位單片機發(fā)展到 16位、 32位單片機。單片機主要用于控制,它的應用領域遍及各行各業(yè),大到航天飛機,小至日常生活中的冰箱、彩電,單片機都可以大顯其能。單片機在國內(nèi)的三大領域中應用得十分廣泛:第一是家用電器業(yè),例如全自動洗衣機、智能玩具;第二是通訊業(yè),包括電話、手機和 BP機等等;第三是儀器儀表和計算機外設制造,例如軟盤、硬盤、收銀機、電表。除了上述 傳統(tǒng)領域外,汽車、電子工業(yè)在國外也是單片機應用十分廣泛的一個領域。它成本低、集成度高、功耗低、控制功能多能靈活的組裝成各種智能控制裝置,由它構(gòu)成的智能儀表解決了長期以來測量儀器中的誤差的修正、線性處理等問題。 單片機將微處理器、存儲器、定時 /計數(shù)器、 I/O 接口電路等集成在一個芯片上的大規(guī)模集成電路,本身即是一個小型化的微機系統(tǒng)。單片機技術(shù)與傳感與測量技術(shù)、信號與系統(tǒng)分析技術(shù)、電路設計技術(shù)、可編程邏輯應用技術(shù)、微機接口技術(shù)、數(shù)據(jù)庫技術(shù)以及數(shù)據(jù)結(jié)構(gòu)、計算機操作系統(tǒng)、匯編語言程序設計、高級語言程序設計、軟件工程、 數(shù)據(jù)網(wǎng)絡通信、數(shù)字信號處理、自動控制、誤差分析、儀器儀表結(jié)構(gòu)設計和制造工藝等的結(jié)合,使得單片機的應用非常廣泛。同時,單片機具有較強的管理功能。采用單片機對整個測量電路進行管理和控制,使得整個系統(tǒng)智能化、功耗低、使用電子元件較少、內(nèi)部配線少、成本低,制造、安裝、調(diào)試及維修方便。 溫度作為作物生長一個非常重要的參數(shù),溫度的變化影響作物的發(fā)芽、幼苗的成長、作物的開花、果實的成熟等等。對于不同的作物,其適宜的生長溫度總是在一個范圍。超過這個范圍,作物或許會活著,但是其生長的規(guī)律將發(fā)生明顯的變化。這對于我們所希望的要 求作物能夠優(yōu)質(zhì)、高產(chǎn)的愿望相距甚遠,所以我們必須實時獲取作物生長的環(huán)境溫度。對于,超過作物生長適宜范圍的溫度能夠報警。同時,我們也希望作物的適宜溫度范圍可以由檢測人員根據(jù)實際情況加以改變。同時,由于作物分布空間的狹小,各點的溫度在同一時間上可能存在差異,所以對于溫室必須采取多點采集,以保證能夠更準確的獲知作物生長的實時溫度。 本設計就是基于單片機 AT89C51設計的實時溫度采集。通過小鍵盤實現(xiàn)對 不同路溫度數(shù)據(jù)的切換顯示。同時,也可利用小鍵盤實現(xiàn)溫度最大最小值的設 定。對于超過此限的溫度數(shù)據(jù)將產(chǎn)生報警信號 。 第二章 方案論證 2.1 為什么選用 DS18B20 而不選用熱電偶作為溫度傳感器? 溫度檢測可以使用低溫熱偶或鉑電阻,數(shù)據(jù)采集部分則使用帶有 A/D 通道的單片機??紤]到一般的 A/D 輸入通道都只能接收大信號,所以還要設計相應的放大電路。而模擬信號在長距離傳輸過程中,抗電磁干擾是令人傷腦筋的問題。此方案的軟件簡單,但硬件復雜,且檢測點數(shù)追加時,各敏感元件參數(shù)的不一致性,都將會導致誤差的產(chǎn)生,難以完全清除,而且成本會有較大增長幅度。 DALLAS公司的 DS18B20單總線數(shù)字傳感器工作溫度范圍是 -55 125 ,在 -30 85 范圍內(nèi)溫度測量精度為0.5 ;具有溫度報警功能,用戶可設置最高和最低報警溫度,且設置值掉電不丟失;采用 DALLAS公司特有的單總線通信協(xié)議,只用一條數(shù)據(jù)線就可實現(xiàn)與 MCU的通信;此外,這類溫度傳感器直接輸出數(shù)字信號,且多路溫度傳感器可以掛在 1 條總線上,共同占用單片機的 1 個 I/O 口即可實現(xiàn)。在提升單片機 I/O 口驅(qū)動能力的前提下,理論上可以任意擴充檢測的溫度點數(shù)。 DS18B20 具有下列特點: 具有高的測量精度和分辨率,測量范圍大; 抗干擾能力強,穩(wěn)定性好; 信號易于處理、傳送和自動控制 ; 便于動態(tài)及多路測量,讀數(shù)直觀; 安裝方便,維護簡單,工作可靠性高 ;6夠直接從數(shù)據(jù)線獲得電源,無需外部電池供電。 綜上所述故選用 DS18B20作為溫度傳感器 2 .2 為什么要選用 AT89C51 單片機? 單片機,專業(yè)名稱 Micro Controller Unit(微控制器件 ),它是由 INTEL 公司發(fā)明的,最早的系列是 MCS-48,后來有了 MCS-51,現(xiàn)在還有 MCS-96 系列,我們經(jīng)常說的 51 系列單片機就是 MCS-51,它是一種 8 位的單片機,而 MCS-96 系列則是一種16 位的單片機,目前在我 國比較流行的就是美國 ATMEL 公司的 89C51,它是一種帶Flash ROM 的單片機 AVR 系列單片機也是 ATMEL 公司生產(chǎn)的一種 8 位單片機,它采用的是一種叫 RISC(精簡指令集單片機)的結(jié)構(gòu),所以它的技術(shù)和 51 系列有所不同,開發(fā)設備也和 51 系列是不通用的,它的一條指令的運行速度可以達到納秒級(即每秒 1000000000 次),是 8 位單片機中的高端產(chǎn)品。由于它的出色性能,目前應用范圍越來越廣,大有取代51 系列的趨勢, IC 系列單片機,它是美國 MICROCHIP 公司,微芯公司的生產(chǎn)的另一種 8 位單片機,它采用的也是 RISC 的指令集,它的指令系統(tǒng)和開發(fā)工具與 51 系列 更是不同,但由于它的低價格和出色性能,目前國內(nèi)使用的人越來越多,國內(nèi)也有很多的公司在推廣它,不過它的影響力遠沒有 51 系列的大,所以作為初學者, 51 系列當然是首選。且 AT89C51 單片機有以下特點: 與 MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命: 1000寫 /擦循環(huán) 數(shù)據(jù)保留時間: 10年 全靜態(tài)工作: 0Hz-24Hz 三級程序存儲器鎖定 128*8位內(nèi)部 RAM 32可編程 I/O線 兩個 16位定時器 /計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 綜上所述故選用 AT89C51單片機 2.3 為什么要設置鍵盤電路? 單片機系統(tǒng)所用的鍵盤有編碼鍵盤和非編碼鍵盤兩種。 編碼鍵盤本身除了按鍵之外,還包括產(chǎn)生鍵碼的硬件電路。只要按下編碼鍵盤的某一個鍵,它就能產(chǎn)生這個鍵的代碼,并稱為鍵碼,與此同時還產(chǎn)生一個脈沖信號,以通知 CPU接收鍵碼,編碼鍵盤的優(yōu)點是使用比較方便,亦不需要編寫太復雜的程序。其缺點是使用的硬件較復雜。 非編碼鍵盤的按鍵是排列成行、列矩陣形式的。按鍵的作用只是簡單地實現(xiàn)接點的接通或斷開 ,因此必須有一套相應的程序與之配合,才能產(chǎn)生相應的鍵碼,非編碼鍵盤幾乎不需要附加什么硬件電路。因此為了簡潔電路,我使用非編碼鍵盤。但使用非編碼鍵盤需要通過軟件來解決按鍵的識別、防抖動以及如何產(chǎn)生鍵碼的問題。 在這里我們使用非編碼鍵盤電路,通過小鍵盤實現(xiàn)對不同溫度數(shù)據(jù)的采集與切換顯示。同時,也可利用小鍵盤實現(xiàn)溫度最大最小值的設定。 綜上所述故需設置鍵盤電路 第三章 系統(tǒng)硬件設計 3.1 系統(tǒng)控制模塊 圖 3.1系統(tǒng)控制 模塊 1.AT89C51 功能簡介 : AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器( FPEROM Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能 CMOS8 位微處理器,俗稱單片機。 AT89C2051 是一種帶 2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除 100 次。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標準的 MCS-51指令集和輸出管腳相兼容。由于將多功能 8位 CPU 和閃爍存儲器組合在單個芯片中, ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051是它的一種精簡版本。 AT89C單片機為很多嵌入式控制系統(tǒng)提供了一種靈 活性高且價廉的方案。外形及引腳排列如圖 3.2 所示: 主要特性: 與 MCS-51 兼容 4K字節(jié)可編程閃爍存儲器 壽命: 1000寫 /擦循環(huán) 數(shù)據(jù)保留時間: 10年 全靜態(tài)工作: 0Hz-24MHz 三級程序存儲器鎖定 1288 位內(nèi)部 RAM 32可編程 I/O線 兩個 16位定時器 /計數(shù)器 5個中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時鐘電路 管腳說明: VCC:供電電壓。 GND:接地。 P0 口: P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門電流。當 P1口的管腳第一次寫 1 時,被定義為高阻輸入。 P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù) /地址的第八位。在 FIASH 編程時, P0 口作為原碼輸入口,當 FIASH進行校驗時, P0輸出原碼,此時 P0外部必須被拉高。 P1 口: P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口, P1 口緩沖器能接收輸出 4TTL 門電流。 P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入, P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。 在 FLASH 編程和校驗時, P1口作為第八位地址接收。 P2口: P2口為一個內(nèi)部上拉電阻的 8位雙向 I/O口, P2口緩沖器可接收,輸出 4個 TTL 門電流,當 P2 口被寫 “1” 時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時, P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進行存取時, P2 口輸出地址的高八位。在給出地址 “1” 時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時, P2口輸出其特殊功能寄存器的內(nèi)容。 P2口在 FLASH編程和校 驗時接收高八位地址信號和控制信號。 P3口: P3口管腳是 8個帶內(nèi)部上拉電阻的雙向 I/O口,可接收輸出 4個 TTL門電流。當 P3 口寫入 “1” 后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平, P3 口將輸出電流( ILL)這是由于上拉的緣故。 P3 口也可作為AT89C51的一些特殊功能口,如下表所示: P3口管腳 備選功能: P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷 0) P3.3 /INT1(外部中斷 1) P3.4 T0(記時器 0外部輸入) P3.5 T1(記時器 1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復位輸入。當振蕩器復位器件時,要保持 RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時, ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是 :每當用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。如想禁止 ALE的輸出可在 SFR8EH地址上置 0。此時, ALE只有在執(zhí)行 MOVX, MOVC指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次 /PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的 /PSEN 信號將不出現(xiàn)。 /EA/VPP:當 /EA 保持低電平時,則在此期間外部程序存儲器( 0000H-FFFFH),不管是否有內(nèi)部程序存儲器 。注意加密方式 1 時, /EA將內(nèi)部鎖定為 RESET;當 /EA端保持高電平時,此間內(nèi)部程序存儲器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源( VPP)。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 振蕩器特性 : XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件, XTAL2 應不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但 必須保證脈沖的高低電平要求的寬度。 芯片擦除: 整個 PEROM 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫 “1” 且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。 此外, AT89C51 設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下, CPU 停止工作。但 RAM,定時器, 計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位 為止 2.復位電路 復位是單片機的初始化操作,其作用是使 CPU 中的各個部件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。當 MCS-5l 系列單片機的復位引腳 RST(全稱 RESET)出現(xiàn) 2個機器周期以上的高電平時,單片機就執(zhí)行復位操作。如果 RST 持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài)。根據(jù)應用的要求,復位操作通常有兩種基本形式:上電復位和上電或開關(guān)復位。上電復位要求接通電源后,自動實現(xiàn)復位操作。上電或開關(guān)復位要求電源接通后,單片機自動復位,并且在單片機運行期間,用開關(guān)操作也能使單片機復位。常用的按鍵復位電路如 圖 3.2 所示。按鍵后:電容器被短路放電、 RST直接和 VCC 相連,就是高電平,此時進入 “ 復位狀態(tài) ” 。松手后:電源開始對電容器充電,此時,充電電流在電阻上,形成高電平送到 RST,仍然是 “ 復位狀態(tài) ” ;稍后,充電結(jié)束,電流降為 0,電阻上的電壓也將為 0, RST降為低電平,開始正常工作。 單片機的復位操作使單片機進入初始化狀態(tài),其中包括使程序計數(shù)器 PC0000H,這表明程序從 0000H地址單元開始執(zhí)行。 圖 3.2 89c51 單片機 圖 3.3 89c51 單片機 復位電路 3.時鐘電路 : 在 MCS 51單片機片內(nèi) 有一個高增益的反相放大器,反相放大器的輸入端為XTAL1,輸出端為 XTAL2,由該放大器構(gòu)成的振蕩電路和時鐘電路一起構(gòu)成了單片機的時鐘方式。根據(jù)硬件電路的不同,單片機的時鐘連接方式可分為內(nèi)部時鐘方式和外部 時鐘方式,為保證系統(tǒng)的穩(wěn)定性,我們這里采用內(nèi)部時鐘方式如圖 3.3所示。 圖 3.4 時鐘電路 在內(nèi)部方式時鐘電路中,必須在 XTAL1 和 XTAL2 引腳兩端跨接石英晶體振蕩器和兩個微調(diào)電容構(gòu)成振蕩電路,通常 C1 和 C2 一般取 30pF,晶振的頻率取值在 1.2MHz 12MHz之間。對于外接時鐘電路,要求 XTAL1 接地, XTAL2腳接外部時鐘,對于外部時鐘信號并無特殊要求, 只要保證一定的脈沖寬度,時鐘頻率低于 12MHz 即可。 晶體振蕩器的振蕩信號從 XTAL2 端送入內(nèi)部時鐘電路,它將該振蕩信號二分頻,產(chǎn)生一個兩相時鐘信號 P1 和 P2 供單片機使用。時鐘信號的周期稱為狀態(tài)時間 S,它是振蕩周期的 2 倍, P1 信號在每個狀態(tài)的前半周期有效,在每個狀態(tài)的后半周期 P2信號有效。 CPU就是以兩相時鐘 P1和 P2為基本節(jié)拍協(xié)調(diào)單片機各部分有效工作的。 3.2 溫度采集模塊 1.DS18B20 傳感器性能簡介: DS18B20溫度傳感器是美國 DALLAS半導體公司最新推出的一種改進型的一線式智能數(shù)字溫度傳 感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,他能直接讀出北側(cè)溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn) 9-12位的數(shù)字值讀書方式。 DS18B20有以下的性能特點: 獨特的單線接口僅需要一個端口引腳進行通信。 多個 DS18B20可以并聯(lián)在唯一的三線是,實現(xiàn)多點組網(wǎng)功能。 無需外部器件。 可通過數(shù)據(jù)線供電,電壓范圍為 3.0-5.5V。 零待機功耗。 溫度測量范圍為 55 125 。 溫度以 9或 12 位數(shù)字量讀出,即可編程為 9 12位 A/D轉(zhuǎn)換精度。 測溫分辨率可達 0.0625 。 適用于遠距離多點溫度檢 測系統(tǒng)。 用戶可定義的非易失性穩(wěn)定報警設置。 報警搜索命令識別并標志超過程序限定溫度(溫度報警條件)的器件。 負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。 DS18B20 可以采用兩種方式供電。一種是采用電源供電方式,如圖 3.4 所示,此時 DS18B20的 1腳接地, 2腳作為信號線, 3腳接電源。另一種是寄生電源供電方式,如圖 3.5 所示。單片機端口接單線總線,為保證在有效的 DS18B20 時鐘周期內(nèi)提供足夠的電流,可用一個 MOSFET管來完成對總線的上拉。 當 DS18B20 處于寫存儲器操作和溫度 AD 轉(zhuǎn)換操作時,總線上必須有強的上拉,上拉開啟時間最大為 10us。處于寄生電源供電方式時 Vdd和 GND端均接地。由于單線制只有一根線,因此發(fā)送接口必須是三態(tài)的。 DS18B20的內(nèi)部結(jié)構(gòu) DS18B20主要由 4部分組成: 64 位 ROM、溫度傳感器、非揮發(fā)的溫度 報警觸發(fā)器TH和 TL、配置寄存器。 DS18B20的管腳排列如圖 3.6所示, DQ為數(shù)字信號輸入輸出端; GND為電源地; VDD為外接供電電源輸入端。 圖 3.6 DS18B20 的管腳圖 ROM中的 64位序列號是出廠前被光刻好的,它可以看作是該 DS18B20 的地址序列碼,每個 DS18B20的 64位序列號均不相同。 ROM的作用是使每一個 DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個 DS18B20 的目的。 2.DS18B20 與單片機的典型接口設計: 圖 3.7以 MCS 51系列單片機為例,畫出了 DS18B20與微處理器的典型連接。DS18B20采用寄生電源方式,其 VDD和 GND端均接地。 單片機系統(tǒng)所用的晶振頻率為 12MHz,根據(jù) DS18B20的初始化時序、寫時序和讀時序,分別編寫了 3 個子程序: INIT為初始化子程序, WRITE為寫(命令或數(shù)據(jù))子程序, READ為讀數(shù)據(jù)子程序,所有的數(shù)據(jù)讀寫均由最低位開始。主機控制 DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:初始化、 ROM 操作指令、存儲器操作指令。必須先啟動 DS18B20開始轉(zhuǎn)換,再讀出溫度轉(zhuǎn)換值。如果一線上掛接多個 DS18B20、采用寄生電源連接方式、需 要進行轉(zhuǎn)換精度配置、高低限報警等,則子程序 GETWD 的編寫就 要復雜一些。 3.3 顯示電路模塊 1.74ls138 譯碼器功能簡介: 74ls138 是一個 3 線 -8 線譯碼器,它有三個數(shù)據(jù)輸入端,八個輸出端, 3 個使能輸入端 (一個高電平有效和兩個低電平有效 )。其功能表如下所示: 2.MC14495 譯碼器功能簡介: MC14495 是由 4 位鎖存器、地址譯碼、筆段 ROM 陣列以及帶有限流電阻的驅(qū)動電路部分電路組成。圖 3.8 中 A、 B、 C、 D 為二進制碼輸入端; LE 為所存控制端, LE 為低電平時可以輸入數(shù)據(jù), LE為高電平時鎖存輸入數(shù)據(jù); h為輸入數(shù)據(jù)大于等于 10指示位,若輸入數(shù)據(jù)大于或等于 10,則 h輸出高電平,否則輸出為低電平。在此處 的作用是輸入被顯字符的二進制碼,并把它自動轉(zhuǎn)換成相應字型碼,送給 LED 顯示。 3.LED 數(shù)碼管接法比較: LED 數(shù)碼管根據(jù) LED 的接法不同分為共陰和共陽兩類,了解 LED 的這些特性,對編程是很重要的,因為不同類型的數(shù)碼管,除了它們的硬件電路有差異外,編程方法也是不同的。是共陰和共陽極數(shù)碼管的內(nèi)部電路, 它們的發(fā)光原理是一樣的,只是它們的電源極性不同 而已。 4.LED 數(shù)碼管驅(qū)動原理: 采用技術(shù)成熟的 74LS138 實現(xiàn)串并轉(zhuǎn)換。 LED 顯示分為靜態(tài)顯示和動態(tài)顯示。這里采用靜態(tài)顯示,系統(tǒng)通過單片機的串行口來實現(xiàn)靜態(tài)顯示。串行口為 方式零狀態(tài),即工作在移位寄存器方式,波特率為振蕩頻率的 1 12。當器件執(zhí)行任何一條將 SBUF作為目的寄存器的命令時,數(shù)據(jù)便開始從 RXD 端發(fā)送。在寫信號有效時,相隔一個機器周期后發(fā)送控制端 SEND有效,即允許 RXD發(fā)送數(shù)據(jù),同時本設計中用 6個 LED組成顯示單元,采用靜態(tài)顯示方式。如圖 3.9所示: 圖 3.9 顯示電路 3.4 鍵盤電路 組成鍵盤的按鈕有觸點式和非觸點式兩種,單片機中應用的一般是由機械觸點組成的。在下圖中,開關(guān) S未被按下時, P1.0 輸入為高電平, S閉合后, P1.0輸入為低電平。由于按鈕是機械觸點,當機械觸點斷開、閉合時,會 有抖動。這種抖動對于人來說是感覺不到的,但對計算機來說,則是完全能感應到的,因為計算機處理的速度是在微秒級,而機械抖動的時間至少是毫秒級,對計算機而言,這已是一個 “ 漫長 ”的時間了。中斷時按鈕有時靈,有時不靈,其實就是這個原因,你只按了一次按鈕, 可是計算機卻已執(zhí)行了多次中斷的過程。 為使 CPU能正確地讀出 P1 口的狀態(tài),對每一次按鈕只作一次響應,就必須考慮如何去除抖動,常用的去抖動的辦法有兩種:硬件辦法和軟件辦法。單片機中常用軟件法。軟件法就是在單片機獲得 P1.0口為低的信息后,不是立即認定 S1已被按下,而是延 時 10毫秒或更長一些時間后再次檢測 P1.0口,如果仍為低,說明 S1的確按下了,這實際上是避開了按鈕按下時的抖動時間。而在檢測到按鈕釋放后( P1.0為高)再延時 5-10個毫秒,消除后沿的抖動,然后再對鍵值處理。不過一般情況下,常常不對按鈕釋放的后沿進行處理。圖 3.10為鍵盤與單片機的連接。 3.5 報警電路 對于本設計只要超過我們設定的溫度 值的范圍就會產(chǎn)生聲光報警,所以我們要在系統(tǒng)中設計報警電路,對于超過此限的溫度數(shù)據(jù)將產(chǎn)生報警信號。 第 4 章 軟件 設計 4.1 軟件流程 結(jié)論 本設計用 MCS-51 單片機為主要硬件,設計了包括溫度采集, 溫度顯示,鍵盤電路和聲光報警電路。而且對所設計電路部分給出了相應的軟件設計,在溫度測量部分采用具有 “ 單 線多點 ” 的數(shù)字傳感器 DS18B20,實現(xiàn) 單 線多點溫度數(shù)據(jù)的采集和監(jiān)控。 多點溫度檢測與控制系統(tǒng)是典型的集散式控制系統(tǒng)。由 AT89C51 和 DS18B20 構(gòu)成的溫度采集系統(tǒng),提高了溫度采集的精度。本設計的線路具有良好的可升級性和可擴展性。程序設計采用我們熟悉的是匯編語言。 對本設計感到不足的是,此系統(tǒng)只是一個開環(huán)系統(tǒng),它只實現(xiàn)了對多點溫度的采集和對所設置上限溫度的監(jiān)控報警,因此也就局限了此系統(tǒng)功能的延伸。 我認 為對此設計的再加上對溫度控制的執(zhí)行機構(gòu)(繼電器),比如在室內(nèi)溫度達到所設定的上限時,不再是聲光報警,而是通過執(zhí)行機構(gòu)接通風扇電源,使其降溫,當溫度達到所設定的下限時,也通過執(zhí)行機構(gòu)去接通加熱器電源,使其溫度回升,這樣所設計的系統(tǒng)就成為閉環(huán)負反饋系統(tǒng),使其溫度控制在一定的范圍內(nèi)。這樣就可以實現(xiàn)其自動化控制。 參考文獻 1 程佩青數(shù)字信號處理教程北京:清華大學出版社, 2004 2 周立功 .單片機實驗與實踐 . 北京: 北京航空航天大學出版社 . 3 吳國經(jīng) .單片機應用技術(shù) .北京:中國電力出版社 , 2003. 4 閻石 .數(shù)字電子技術(shù)基礎 .北京:高等教育出版社, 2006. 5 譚浩強 .C程序設計 .北京 :清華大學出版社 , 2005. 6 沙占友等 .單片機外圍電路設計 .電子工業(yè)出版社 .2003. 7 楊金巖 . 8051單片機數(shù)據(jù)傳輸接口擴展技術(shù)與應用實例 .人民郵電出版社 .2005. 8 周荷琴、吳 秀清 .微型計 算機原理與接口技術(shù) .中國科學技 術(shù)大學出版社 .2011. 9 萬方數(shù)據(jù)知識服務平臺 . / 10百度 . / 11維普期刊資源整合服務平臺 . / 12EBSOC外文論文數(shù)據(jù)庫 . / 13中文科技期刊 . 附 錄 系統(tǒng)程序 ;* FLAG1 BIT F0 ;DS18B20存在標志位 DQ BIT P1.7 TEMPER_L EQU 29H TEMPER_H EQU 28H A_BIT EQU 35H B_BIT EQU 36H ;*程序起始 * ORG 0000H AJMP MAIN ORG 0100H ;*主程序開始 * MAIN: LCALL INIT_18B20 LCALL RE_CONFIG LCALL GET_TEMPER AJMP CHANGE ;*DS18B20 復位程序 * INIT_18B20: SETB DQ NOP CLR DQ MOV R0, #0FBH TSR1: DJNZ R0,TSR1 ;延時 SETB DQ MOV R0, #25H TSR2: JNB DQ, TSR3 DJNZ R0, TSR2 TSR3: SETB FLAG1 ;置標志位,表明 DS18B20存在 CLR P2.0 ;二極管指示 AJMP TSR5 TSR4: CLR FLAG1 LJMP TSR7 TSR5: MOV R0, #06BH TSR6: DJNZ R0, TSR6 TSR7:SETB DQ ;表明不存在 RET ;*設定 DS18B20暫存器設定值 * RE_CONFIG: JB FLAG1, RE_CONFIG1 RET ;RE_CONFIG1: MOV A,#0CCH ;放跳過 ROM命令 LCALL WRITE_18B20 MOV A, #4EH LCALL WRITE_18B20 ;寫暫存器命令 MOV A, #00H ;報警上限中寫入 00H LCALL WRITE_18B20 MOV A, #00H ;報警下限中寫入 00H LCALL WRITE_18B20 MOV A,#1FH ;選擇九位溫度分辨率 LCALL WRITE_18B20 RET ;*讀轉(zhuǎn)換后的溫度值 * GET_TEMPER: SETB DQ LCALL INIT_18B20 JB FLAG1, TSS2 RET ;若不存在則返回 TSS2: MOV A,#0CCH ;跳過 ROM LCALL WRITE_18B20 MOV A,#44H ;發(fā)出溫度轉(zhuǎn)換命 令 LCALL WRITE_18B20 LCALL DISPLAY ;延時 LCALL INIT_18B20 MOV A,#0CCH ;跳過 ROM LCALL WRITE_18B20 MOV A,#0BEH ;發(fā)出讀溫度換命令 LCALL WRITE_18B20 LCALL READ2_18B20 ;讀兩個字節(jié)的溫度 RET ;*寫 DS18B20程序 * WRITE_18B20: MOV R2, #8 CLR C WR1: CLR DQ MOV R3, #6 DJNZ R3, $ RRC A MOV DQ, C MOV R3, #23 DJNZ R3, $ SETB DQ NOP DJNZ R2, WR1 SETB DQ RET ;*讀 18B20程序,讀出兩個字節(jié)的溫度 * READ2_18B20: MOV R4,#2 ;低位存在 29 H,高位存在28H MOV R1,#29H RE00: MOV R2, #8 RE01: CLR C SETB C NOP NOP CLR DQ NOP NOP NOP SETB DQ MOV R3, #7 DJNZ R3, $ MOV

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論