【優(yōu)秀畢業(yè)設計】基于AT89C51單片機的多點溫度檢測系統(tǒng)的設計
《【優(yōu)秀畢業(yè)設計】基于AT89C51單片機的多點溫度檢測系統(tǒng)的設計》由會員分享,可在線閱讀,更多相關(guān)《【優(yōu)秀畢業(yè)設計】基于AT89C51單片機的多點溫度檢測系統(tǒng)的設計(70頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 南 京 理 工 大 學 畢業(yè)設計說明書(論文) 作 者 : 孫露 學 號: 104910252060 教 研 室 : 機電教研室 專 業(yè) : 機電一體化工程 題 目 : 多點溫度檢測系統(tǒng)的設計 指導者: 謝聰 工程師 評閱者: 2012 年 5 月 中 文 摘 要 本設計系統(tǒng)地介紹了基于 DS18B20 的多點溫度測量系統(tǒng)的組成、設計方案、 電路原理、程序設計以及系統(tǒng)仿真過程。DS18B20 多點溫度測量系統(tǒng)是以 AT89C51 單片機作為控制核心,智能溫度傳感 DS18B20 為控制對象,運用匯編 語言編程實現(xiàn)系統(tǒng)的各種功能。 該系統(tǒng)由單片機最小系統(tǒng)、傳感器電路、報警電路、LCD 顯示電路
2、、行列 式鍵盤電路、電源電路六大部分組成。借助 PROTEUS 軟件,實現(xiàn)了系統(tǒng)電路設 計和仿真。它適用于電力工業(yè)、煤礦、森林、火災、高層建筑等場所,還可以 用于環(huán)境惡劣的工業(yè)控制現(xiàn)場。通過 DS18B20 的單總線技術(shù),實現(xiàn)對遠程環(huán)境 的溫度測量與監(jiān)控。 關(guān)鍵詞 DS18B20, 仿真, 測量系統(tǒng), PROTEUS 英 文 摘 要 Title MULTI-POINT TEMPERATURE DETECTION SYSTEM DESIGN Abstract This system introduced on the DS18B20 multi-point temperature measure
3、ment system components, design, circuit theory, program design and product development process. DS18B20 multi-point temperature measurement system is controlled by the core AT89C51 SCM , smart temperature sensing DS18B20 targets for the control, and is used of Edit collected materials language progr
4、amming system functions. The system is the smallest MCU system, sensor circuit, alarm circuits, LCD display circuit, the five major determinant keyboard circuit components. The system is constituted from PROTEUS software, and the system design and simulation, and the eventual adoption of hardware ve
5、rification six big part. It is applicable to electric power industry, coal mine, forest, a fire, key figures building etc. place, return can used for environment bad of industry control the spot. DS18B20 through a single bus technology, to achieve the long-range environmental temperature measurement
6、 and monitoring. Key words DS18B20, simulation, measurement system,PROTEUS 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 I 頁 共 II 頁 目 錄 1 緒論 .1 1.1 課題設計背景 .1 1.2 課題研究的目的意義 .1 1.3 國內(nèi)外現(xiàn)狀及水平 .2 1.4 課題研究內(nèi)容 .2 2 系統(tǒng)的需求分析與總體方案論證 .4 2.1 基于模擬溫度傳感器設計方案 .4 2.2 基于數(shù)字溫度傳感器設計方案 .5 2.3 方案論證 .5 3 電路設計 .7 3.1 工作原理 .7 3.2 DS18B20 與單片機接
7、口技術(shù) .8 3.2.1 DS18B20 的引腳功能 .8 3.2.2 DS18B20 與單片機接口電路 .8 3.2.3 溫度寄存器格式和溫度/數(shù)據(jù)對應關(guān)系 .9 3.2.4 單片機對 DS18B20 的控制方法 .10 3.3 鍵盤電路設計 .13 3.3.1 行列式鍵盤與單片機接口電路 .13 3.3.2 鍵盤面板 .13 3.4 顯示電路設計 .14 3.4.1 LCD 引腳分布及功能 .14 3.4.2 單片機與圖形液晶的接口電路 .15 3.5 報警電路設計 .16 3.6 電源電路設計 .17 4 程序設計 .18 4.1 系統(tǒng)資源分配 .18 4.1.1 系統(tǒng)硬件資源分配 .1
8、8 4.1.2 系統(tǒng)軟件資源分配 .18 4.2 系統(tǒng)流程設計 .18 4.2.1 主程序流程設計 .18 4.2.2 DS18B20 程序流程設計 .20 4.2.3 顯示程序流程 .21 4.2.4 鍵盤程序程序流程 .22 4.3 程序設計 .24 4.3.1 主程序設計 .24 5 系統(tǒng)仿真 .25 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 II 頁 共 II 頁 5.1 PROTEUS 仿真環(huán)境介紹 .25 5.2 原理圖繪制 .26 5.3 程序加載 .27 5.3.1 程序編譯 .27 5.3.2 程序加載 .27 5.4 系統(tǒng)仿真 .28 5.5 仿真結(jié)果分析 .
9、33 結(jié)束語 .34 致 謝 .35 參考文獻 .36 附錄一 .38 附錄二 .39 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 1 頁 共 61 頁 1 緒論 1.1 課題設計背景 溫度是一個和人們生活環(huán)境有著密切關(guān)系的物理量,也是一種在生產(chǎn)、科研、 生活中需要測量和控制的重要物理量,是國際單位制七個基本量之一,同時它也是 一種最基本的環(huán)境參數(shù)。人民的生活與環(huán)境溫度息息相關(guān),物理、化學、生物等學 科都離不開溫度。在工業(yè)生產(chǎn)和實驗研究中,在電力、化工、石油、冶金、機械制 造、大型倉儲室、實驗室、農(nóng)場塑料大棚甚至人們的居室里經(jīng)常需要對環(huán)境溫度進 行檢測,并根據(jù)實際的要求對環(huán)境溫度進
10、行控制。比如,發(fā)電廠鍋爐的溫度必須控 制在一定的范圍之內(nèi);許多化學反應的工藝過程必須在適當?shù)臏囟认虏拍苷_M行。 煉油過程中,原油必須在不同的溫度和壓力條件下進行分流才能得到汽油、柴油、 煤油等產(chǎn)品;沒有合適的溫度環(huán)境,許多電子設備不能正常工作,糧倉的儲糧就會 變質(zhì)霉爛,酒類的品質(zhì)就沒有保障??梢?,研究溫度的測量具有重要的理論意義和 推廣價值。 隨著現(xiàn)代計算機和自動化技術(shù)的發(fā)展,作為各種信息的感知、采集、轉(zhuǎn)換、傳 輸相處理的功能器件,溫度傳感器的作用日益突出,成為自動檢測、自動控制系統(tǒng) 和計量測試中不可缺少的重要技術(shù)工具,其應用已遍及工農(nóng)業(yè)生產(chǎn)和日常生活的各 個領域。本設計就是為了滿足人們在生
11、活生產(chǎn)中對溫度測量系統(tǒng)方面的需求。 本設計要求系統(tǒng)測量的溫度的點數(shù)為 4 個,測量精度為 0.1,測溫范圍為 -55+128。采用液晶顯示溫度值和路數(shù),顯示格式為:溫度的符號位,整數(shù)部分,小 數(shù)部分,最后一位顯示。顯示數(shù)據(jù)每一秒刷新一次。 1.2 課題研究的目的意義 21 世紀科學技術(shù)的發(fā)展日新月異,科技的進步帶動了測量技術(shù)的發(fā)展,現(xiàn)代控 制設備的性能和結(jié)構(gòu)發(fā)生了巨大的變化,我們已經(jīng)進入了高速發(fā)展的信息時代,測 量技術(shù)也成為當今科技的主流之一,被廣泛地應用于生產(chǎn)的各個領域。對于本次設 計,其目的在于: (1)掌握數(shù)字溫度傳感器 DS18B20 的原理、性能、使用特點和方法,利用 C51 對系統(tǒng)
12、進行編程。 (2)本課題綜合了現(xiàn)代測控、電子信息、計算機技術(shù)專業(yè)領域方方面面的知識, 具有綜合性、科學性、代表性,可全面檢驗和促進學生的理論素養(yǎng)和工作能力。 (3) 本課題的研究可以使學生更好地掌握基于單片機應用系統(tǒng)的分析與設計 方法,培養(yǎng)創(chuàng)新意識、協(xié)作精神和理論聯(lián)系實際的學風,提高電子產(chǎn)品研發(fā)素質(zhì)、 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 2 頁 共 61 頁 增強針對實際應用進行控制系統(tǒng)設計制作的能力。 1.3 國內(nèi)外現(xiàn)狀及水平 傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng)業(yè)生 產(chǎn)、科學研究和生活等領域,數(shù)量高居各種傳感器之首。溫度傳感器的發(fā)展大致經(jīng) 歷
13、了以下三個階段:傳統(tǒng)的分立式溫度傳感器(含敏感元件);模擬集成溫度傳感器 控制器;數(shù)字溫度傳感器。目前,國際上新型溫度傳感器正從模擬式向數(shù)字式、由 集成化向智能化、網(wǎng)絡化的方向發(fā)展,同時具有抑制串模干擾能力強、分辨力高、 線性度好、成本低等優(yōu)點。隨著我國四個現(xiàn)代化和經(jīng)濟發(fā)展,我國在科技和生產(chǎn)各 領域都取得了飛速的發(fā)展和進步,發(fā)展以溫度傳感器為載體的溫度測量技術(shù)具有重 大意義。 DS18B20 是美國 DALLAS 公司生產(chǎn)的單總線數(shù)字溫度傳感器,可把溫度信號直接 轉(zhuǎn)換成串行數(shù)字信號供微機處理,而且可以在一條總線上掛接任意多個 DS18B20 芯片,構(gòu) 成多點溫度檢測系統(tǒng)無需任何外加硬件(單總線
14、數(shù)字溫度傳感器 DS18B20 及其在 單片機系統(tǒng)的應用 ) 。 單總線數(shù)字溫度傳感器,具有微型化、低功耗、高性能、抗干擾能力強、易于與 微控制器接口優(yōu)點,適合于各種溫度測控系統(tǒng)(數(shù)字溫度傳感器 DS18B20 及其應用 ) 。以 DS18B20 為例,介紹數(shù)字式溫度傳感器的功能特點及由 DS18B20 組成的溫度測 控網(wǎng)絡系統(tǒng)的設計。 隨著社會的發(fā)展、農(nóng)業(yè)生產(chǎn)也進人了工廠化、數(shù)字化時代,人們開始“使用人工 設施、人工控制環(huán)境因素,使植物獲得最適宜的生長條件,從而延長生產(chǎn)季節(jié),獲得最 佳產(chǎn)出”,由此“工廠化農(nóng)業(yè)”應運而生并被廣泛接受(單總線溫度傳感器 DS18B20 及其在溫室系統(tǒng)中的應用 )
15、 。 我國是一個人口眾多的農(nóng)業(yè)大國 ,糧食生產(chǎn)、需求與儲備量很大 ,糧食在儲備 的過程中常因糧食的濕度過大而升溫發(fā)熱 ,又由于檢測手段的落后造成溫檢系統(tǒng)錯 報或漏報 ,從而導致糧食大量的腐爛變質(zhì) ,給國家?guī)砭薮蟮膿p失。這就對糧情檢 測系統(tǒng)提出了較高的要求( 一種基于單線數(shù)字溫度傳感器 DS18B20 的儲糧溫度檢 測系統(tǒng)的設計 ) 。而基于 DS18B20 設計的溫度檢測系統(tǒng)就可以實現(xiàn)這一需求。 1.4 課題研究內(nèi)容 本設計研究的主要內(nèi)容如下: (1)在廣泛查閱溫度檢測控制理論和方法、測溫技術(shù)和溫度控制技術(shù)等資料的 基礎上,根據(jù)不同的控制要求及應用領域完成對系統(tǒng)方案的總體設計。本設計采用 以
16、 AT89C51 為核心的單片機系統(tǒng),來實現(xiàn)對溫度的檢測、報警等功能。 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 3 頁 共 61 頁 (2)研究比較各相關(guān)元器件的功能與特點,選擇合適的元器件。 (3)系統(tǒng)硬件設計。系統(tǒng)硬件設計主要包括:溫度檢測、單片機數(shù)據(jù)采集處理、 顯示、鍵盤設定、報警電路等部分。 (4)系統(tǒng)軟件設計。本課題采用匯編語言,利用 Keil 編譯器進行編程及調(diào)試。 主要研究 DS18B20 與單片機的通信協(xié)議、時序及一些通用程序等。 本設計的難點分為硬件和軟件兩個方面。其中硬件開發(fā)的難點在于各種元器件 的選擇和使用,如各種電阻、電容等的選擇。軟件開發(fā)的難點在于 D
17、S18B20 的時序, 如果時序不正確,將無法讀出正確的溫度值,對系統(tǒng)產(chǎn)生很大的影響。 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 4 頁 共 61 頁 2 系統(tǒng)的需求分析與總體方案論證 2.1 基于模擬溫度傳感器設計方案 該方案由單片機、模擬溫度傳感器 AD590、運算放大器、AD 轉(zhuǎn)換器、44 鍵盤、LCD 顯示電路、集成功率放大器、報警器組成,如圖 2.1 所示。 本方案采用模擬溫度傳感器 AD590 作為測溫元件,傳感器將測量的溫度變 換轉(zhuǎn)換成電流的變化,再通過電路轉(zhuǎn)換成電壓的變化,使用運算放大器交將信 號進行適當?shù)姆糯螅詈笸ㄟ^模數(shù)轉(zhuǎn)換器將模擬信號轉(zhuǎn)換成數(shù)字信號,傳給給
18、單片機,單片機將溫度值進行處理之后用 LCD 顯示 ,當溫度值超過設置值時, 系統(tǒng)開始報警。 單片機 模擬溫度傳感器 模擬溫度傳感器 L C D 顯示電路 集 成 功 放 報 警 器 4 4 鍵盤 模擬傳感器 A D 5 9 0 模擬溫度傳感器 模擬溫度傳感器 運 算 放 大 器 多 路 選 擇 器 A / D 轉(zhuǎn) 換 圖 2.1 基于模擬溫度傳感器的測量系統(tǒng)方案 本方案使用的測溫元件的性能指標如下: (1)AD590 的測溫范圍為55+150。 (2)AD590 的電源電壓范圍為 4V30V,電源電壓可在 4V6V 范圍變化, 電流 變化 1mA,相當于溫度變化 1K。AD590 可以承受
19、44V 正向電壓和 20V 反向 電壓,因而器件反接也不會被損壞。 (3)輸出電阻為 710MW。 (4)精度高,AD590 共有 I、J、K、L、M 五檔,其中 M 檔精度最高,在 55+150范圍內(nèi),非線性誤差為0.3。 集成溫度傳感器具有線性好、精度適中、靈敏度高、體積小、使用方便, 溫度測量范圍廣等優(yōu)點,得到廣泛應用。集成溫度傳感器的輸出形式分為電壓 輸出和電流輸出兩種。電壓輸出型的靈敏度一般為 10mV/K,溫度 0時輸出為 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 5 頁 共 61 頁 0,溫度 25時輸出 2.982V。電流輸出型的靈敏度一般為 1mA/K。 2.2
20、 基于數(shù)字溫度傳感器設計方案 該方案使用了 AT89C51 單片機作為控制核心,以智能溫度傳感器 DS18B20 為 溫度測量元件,采用多個溫度傳感器對各點溫度進行檢測,通過 44 鍵盤模塊 對正常溫度進行設置顯示電路采用 12864 LCD 模塊,使用 LM386 作為報警電 路中的功率放大器。 圖 2.2 基于數(shù)字溫度傳感器測量系統(tǒng)方案 本課題采用數(shù)字溫度傳感器 DS18B20 作為測為測溫元件,它具有如下特點: (1)只要求一個端口即可實現(xiàn)通信。 (2)在 DS18B20 中的每個器件上都有獨一無二的序列號。 (3)實際應用中不需要外部任何元器件即可實現(xiàn)測溫。 (4)測量溫度范圍在55到
21、128之間。 (5)數(shù)字溫度計的分辨率用戶可以從 9 位到 12 位選擇。 (6)內(nèi)部有溫度上、下限告警設置。 2.3 方案論證 本設計要求測量的點數(shù)為 4,測溫范圍為-55+128,精度為 0.1。 采用液晶顯示,同時顯示路數(shù)和溫度,每秒刷新 1 次顯示數(shù)據(jù)。 綜合模擬溫度傳感器和數(shù)字溫度傳感器的性能指標,以上兩個方案都能達 到設計的要求。 方案一采用模擬溫度傳感器 AD590,轉(zhuǎn)換結(jié)果需要經(jīng)過運算放大器和 AD 轉(zhuǎn) 換器傳送給處理器。它控制雖然簡單,成本低,但是后續(xù)電路復雜,且需要進 單片機溫 度 傳 感 器溫 度 傳 感 器 LCD顯 示 電 路集成功放 報警器4鍵 盤溫 度 傳 感 器
22、DS18B20溫 度 傳 感 器溫 度 傳 感 器 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 6 頁 共 61 頁 行溫度標定,集成溫度傳感器 AD590 輸出為電流信號,且輸出信號較弱,所以需 要后續(xù)放大及 A/D 轉(zhuǎn)換電路,如采用普通運放則精度難以保證,而測量放大器 價格較高,這樣會使系統(tǒng)成本升高。 方案二采用了數(shù)字溫度傳感器 DS18B20,改變了傳統(tǒng)溫度測試方法。它能 在現(xiàn)場采集溫度數(shù)據(jù),直接將溫度物理量變換為數(shù)字信號并以總線方式傳送到 單片機進行數(shù)據(jù)處理,并且可根據(jù)實際要求通過簡單的編程實現(xiàn) 9-12 位的數(shù)字 式讀數(shù)方式,因而使用 DS18B20 可使系統(tǒng)結(jié)構(gòu)更趨簡單
23、,可靠性更高,大大提 高系統(tǒng)的抗干擾能力。DS18B20 體積小、經(jīng)濟、使用方便靈活,測試精度高, 較高的性能價格比,有 CRC 校驗,系統(tǒng)簡明直觀。適合于惡劣環(huán)境的現(xiàn)場溫度 測試,如:環(huán)境控制、設備或過程控制、測溫類消費電子產(chǎn)品等。 方案二程序設計稍微復雜一些,但在畢業(yè)設計期間我用 DS18B20 做過溫度 計,也調(diào)試過 LCD,并且已經(jīng)用 PROTEUS 實現(xiàn)了系統(tǒng)的仿真。因此,該方案完 全具有可行性,同時體現(xiàn)了技術(shù)的先進性,經(jīng)濟上也有很大的優(yōu)勢。 綜上所述,本課題采用方案二對系統(tǒng)進行設計。 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 7 頁 共 61 頁 3 電路設計 3.1
24、 工作原理 基于 DS18B20 多點溫度測量系統(tǒng)以 AT89C51 為核心器件,以 KEIL 為系統(tǒng)開 發(fā)平臺,用匯編語言進行程序設計,以 PROTEUS 作為仿真軟件設計而成的。系 統(tǒng)主要由傳感器電路、液晶顯示電路、鍵盤電路、報警電路、電源電路組成, 系統(tǒng)原理圖如圖 3.1 所示。 圖 3.1 系統(tǒng)原理圖 DS18B20 是數(shù)字溫度傳感器,它的輸入/輸出采用數(shù)字量,以單總線技術(shù), 接收主機發(fā)送的命令,根據(jù) DS18B20 內(nèi)部的協(xié)議進行相應的處理,將轉(zhuǎn)換的溫 度以串口發(fā)送給主機。主機按照通信協(xié)議用一個 IO 口模擬 DS18B20 的時序,發(fā) 送命令(初始化命令、ROM 命令、RAM 命令
25、)給 DS18B20,轉(zhuǎn)換完成之后讀取溫 度值,在內(nèi)部進行相應的數(shù)值處理,用圖形液晶模塊顯示各點的溫度。在系統(tǒng) 啟動之時,可以通過 44 鍵盤設置各點溫度的上限值,當某點溫度超過設置值 時,報警器開始報警,液晶顯示該傳感器的路數(shù)、設置溫度值、實際溫度值, 從而實現(xiàn)了對各點溫度的實時監(jiān)控。 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 8 頁 共 61 頁 每個 DS18B20 有自己的序列號,因此本系統(tǒng)可以在一根總線上掛接了 4 個 DS18B20,通過 CRC 校驗,對各個 DS18B20 的 ROM 進行尋址,地址符合的 DS18B20 才作出響應,接收主機的命令,向主機發(fā)送轉(zhuǎn)換
26、的溫度。采用這種 DS18B20 尋址技術(shù),使系統(tǒng)硬件電路更加簡單。 3.2 DS18B20 與單片機接口技術(shù) 3.2.1 DS18B20 的引腳功能 DS18B20 的引腳功能描述見表 3.1。 表 3.1DS18B20 引腳功能描述 序號 名稱 引腳功能描述 1 GND 地信號 2 DQ 數(shù)字輸入輸出引腳,開漏單總線接口引腳,當使用寄生 電源時,可向電源提供電源 3 VDD 可選擇的 VDD 引腳,當工作于寄生電源時,該引腳必須 接地 3.2.2 DS18B20 與單片機接口電路 如圖 3.2 所示,為單片機與 DS18B20 的接口電路。DS18B20 只有三個引腳, 一個接地,一個接電
27、源,一個數(shù)字輸入輸出引腳接單片機的 P1.7 口,電源與數(shù) 字輸入輸出腳間需要接一個 4.7K 的電阻。 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 9 頁 共 61 頁 圖 3.2 DS18B20 與單片機接口電路 3.2.3 溫度寄存器格式和溫度/數(shù)據(jù)對應關(guān)系 DS18B20 溫度寄存器如表 3.2 所示。其寄存器有 16 位,高 5 位為符號位,低 13 位為數(shù)據(jù)位。當寄存器高 5 位為 1 時,表示溫度為負,否則為正。 表 3.2 溫度寄存器格式 bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 LS Byte 表 3.3 溫度/數(shù)據(jù)的關(guān)系 B
28、 bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8 MS Byte 如果測得的溫度大于 0,只要將測到的數(shù)值乘于 0.0625 即可得到實際溫度; 如果溫度小于 0,測得的數(shù)值需要取反加 1 再乘 0.0625,即可得到實際的溫度 值。如表 3.3 所示,是 DS18B20 的溫度與數(shù)據(jù)的對應關(guān)系。 23 22 21 20 2-1 2-2 2-3 2-4 S S S S S 26 25 24 DS18B20 單 片 機P1.7VDGNQ4.7K 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 10 頁 共 61 頁 3.2.4 單片機對 DS1
29、8B20 的控制方法 DS18B20 采用嚴格的單總線通信協(xié)議,以保證數(shù)據(jù)的完整性。該協(xié)議定義 了 幾種信號類型:復位脈沖、應答脈沖、寫 0、寫 1、讀 0 和讀 1。除了應答脈沖 所有 這些信號都由主機發(fā)出同步信號??偩€上傳輸?shù)乃袛?shù)據(jù)和命令都是以字 節(jié)為單位。且低位在前,高位在后。 (1)初始化序列:復位脈沖和應答脈沖 在初始化過程中,主機通過拉低單總線至少 480s,以產(chǎn)生復位脈沖(TX), 然 后主機釋放總線并進入接收(RX)模式。當總線被釋放后,5k 的上拉電阻將單 總線拉高。DS18B20 檢測到這個上升沿后,延時 15s60s,通過拉低總線 60s240s 產(chǎn)生應答脈沖。初始化脈
30、沖如圖 3.3 所示。 溫度 輸出(2 進制) 輸出(16 進制) +125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H +20.0625 0000 0001 1001 0001 0191H +10.125 0000 0000 1010 0010 00A2H +0.5 0000 0000 0000 1000 0008H 0 0000 0000 0000 0000 0000H -0.5 1111 1111 1111 1000 FFF8H -10.125 1111 1111 0101 1110 FF5EH 25.0625 1110
31、 1110 0110 1111 EE6FH -55 1111 1110 1001 0000 FE90H 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 11 頁 共 61 頁 圖 3.3 DS18B20 初始化時序 (2)DS18B20 的讀寫控制 在寫時序期間,主機向 DS18B20 寫入數(shù)據(jù);而在讀時序期間,主機讀入來自 DS18B20 的數(shù)據(jù)。在每一個時序,總線只能傳輸一位數(shù)據(jù)。讀/寫時序如圖 3.4 所示。 DS18B20 寫時序 DS18B20 存在兩種寫時序:“寫 1”和“寫 0”。主機在寫 1 時序向 DS18B20 圖 3.4 DS18B20 讀寫時序 寫入邏輯 1,而
32、在寫 0 時序向 DS18B20 寫入邏輯 0。所有寫時序至少需要 60s,且在兩次寫時序之間至少需要 1s 的恢復時間。兩種寫時序均以主機拉 低總線開始。 產(chǎn)生寫 1 時序:主機拉低總線后,必須在 15s 內(nèi)釋放總線,然后由上拉電 阻將總線拉至高電平。產(chǎn)生寫 0 時序:主機拉低總線后,必須在整個時序期間 至 少 480us 至 少 480us主 機 初 始 化 主 機 初 應 答Presnce pulse60-24 主 機 寫 ”0時 序 主 機 寫 ”1時 序 主 機 讀 ”0時 序 主 機 讀 ”1時 序30us15us15us 15us15us30us30us15us15us 15us
33、15us30us 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 12 頁 共 61 頁 保持低電平(至少 60s) 。 在寫時序開始后的 15s60s 期間,DS18B20 采樣總線的狀態(tài)。如果總線 為高電平,則邏輯 1 被寫入 DS18B20;如果總線為低電平,則邏輯 0 被寫入 DS18B20。 讀時序 DS18B20 只能在主機發(fā)出讀時序時才能向主機傳送數(shù)據(jù)。所以主機在發(fā)出 讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時序,以便 DS18B20 能夠傳送數(shù)據(jù)。所有讀時 序至少 60s,且在兩次獨立的讀時序之間至少需要 1s 的恢復時間。 每次讀時序由主機發(fā)起,拉低總線至少 1s。在主機發(fā)起讀時
34、序之后, DS18B20 開始在總線上傳送 1 或 0。若 DS18B20 發(fā)送 1,則保持總線為高電平; 若發(fā)送 0,則拉低總線。當傳送 0 時,DS18B20 在該時序結(jié)束時釋放總線,再由 上拉電阻將總線拉回空閑高電平狀態(tài)。DS18B20 發(fā)出的數(shù)據(jù)在讀時序下降沿起 始后的 15s 內(nèi)有效,因此主機必須在讀時序開始后的 15s 內(nèi)釋放總線,并且 采樣總線狀態(tài)。 DS18B20 的命令序列 根據(jù) DS18B20 的通訊協(xié)議,主機(單片機)控制 DS18B20 完成溫度轉(zhuǎn)換必 須經(jīng)過三個步驟:每一次讀寫之前都要對 DS18B20 進行復位操作,復位成功后 發(fā)送一條 ROM 指令,最后發(fā)送 RA
35、M 指令,這樣才能對 DS18B20 進行預定的操作。 ROM 命令通過每個器件 64-bit 的 ROM 碼,使主機指定某一特定器件(如果 有多個器件掛在總線上)與之進行通信。DS18B20 的 ROM 如表 3.4 所示,每個 ROM 命令都是 8 bit 長。 表 3.4 DS18B20 ROM 命令 指令 協(xié)議 功能 讀 ROM 33H 讀 DS18B20 中的編碼(即 64 位地址) 符合 ROM 55H 發(fā)出此命令后,接著發(fā)出 64 位 ROM 編碼,訪問單總線上 與該編碼相對應的 DS18B20,使之作出響應,為下一步對 該 DS18B20 的讀寫作準備 搜索 ROM 0F0H
36、用于確定掛接在同一總線上 DS18B20 的個數(shù)和識別 64 位 ROM 地址,為操作各器件作好準備 跳過 ROM 0CCH 忽略 64 位 ROM 地址,直接向 DS18B20 溫度轉(zhuǎn)換命令,適 用于單個 DS18B20 工作 告警搜索命 令 0ECH 執(zhí)行后,只有溫度超過廟宇值上限或下限的片子才做出響 應 溫度轉(zhuǎn)換 44H 啟動 DS18B20 進行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長為 500ms(典 型為 200ms),結(jié)果豐入內(nèi)部 9 字節(jié) RAM 中 讀暫存器 BEH 讀內(nèi)部 RAM 中 9 字節(jié)的內(nèi)容 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 13 頁 共 61 頁 寫暫存器 4
37、EH 發(fā)出向內(nèi)部 RAM 的第 3、4 字節(jié)寫上、下溫度數(shù)據(jù)命令, 緊該溫度命令之后,傳達兩字節(jié)的數(shù)據(jù) 復制暫存 器 48H 將 RAM 中第 3、4 字內(nèi)容復制到 E2PROM 中 重調(diào) E2PROM 0B8H 將 E2PROM 中內(nèi)容恢復到 RAM 中的第 3、4 字節(jié) 讀供電方式 0B4H 讀 DS18B20 的供電模式,寄生供電時 DS18B20 發(fā)送“0” , 外部供電時 DS18B20 發(fā)送“1” 3.3 鍵盤電路設計 3.3.1 行列式鍵盤與單片機接口電路 根據(jù)本設計需要,本系統(tǒng)采用了 44 鍵盤實現(xiàn)對溫度值和功能鍵的設定。 行列式鍵盤與單片機的接口電路如圖 3.5 所示,H0-
38、H3 為行線,接單片機 P2 口的高 4 位,L0-L3 為列線,接單片機 P2 口的低 4 位。初始化時鍵盤行線為 高電 平,列線為低電平。鍵盤的行線接 4 輸入與門,4 輸入與門的輸出接單片機的 外部中斷 0 引腳 P3.2 口。當有鍵按下時,將產(chǎn)生中斷,在中斷程序里對按鍵進 行 掃描,得到按鍵的鍵值。 圖 3.5 44 鍵盤結(jié)構(gòu) 3.3.2 鍵盤面板 鍵盤面板如圖 3.6 所示,本系統(tǒng)使用的鍵盤有 10 數(shù)字鍵,5 個功能按鍵。 在系統(tǒng)啟動時,先按“設置”鍵,然后按相應的數(shù)字鍵,按“左移”或者“右 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 14 頁 共 61 頁 移”鍵改變
39、其他溫度的值。按“確認”鍵之后系統(tǒng)正式啟動。系統(tǒng)在運行過程 之中可以通過按“重新設置”鍵,對溫度重新進行設置。 圖 3.6 鍵盤面板 3.4 顯示電路設計 3.4.1 LCD 引腳分布及功能 (1) 12864 液晶顯示屏共有 20 個引腳,其引腳名稱及引腳編號的對應關(guān) 系如圖 3.7 所示: 圖 3.7 12864 液晶顯示模塊引腳分布圖 123456789101213145161781920VSDVORS/WEDB0 DB7DB6DB5DB4DB3DB2DB1 CS1CS2/RTVEAK 0 21 3設 置 確 認 右 移左 移 重 新設 置98 7645 本 科 畢 業(yè) 設 計 說 明
40、書 ( 論 文 ) 第 15 頁 共 61 頁 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 16 頁 共 61 頁 (2)引腳功能如表 3.5 所示: 表 3.5 12864 液晶顯示模塊引腳功能 引腳 符 號 引 腳 功 能 引腳 符 號 引 腳 功 能 1 VSS 電源地 15 CS1 CS1=1 芯片選擇左邊 64*64點 2 VDD 電源正+5V 16 CS2 CS2=1 芯片選擇右邊 64*64點 3 VO 液晶顯示驅(qū)動電源 17 /RST 復位(低電平有效) 4 RS H:數(shù)據(jù)輸入;L:指令碼輸入 18 VEE LCD 驅(qū)動負電源 5 R/W H:數(shù)據(jù)讀??;L:數(shù)據(jù)寫入
41、 19 A 背光電源(+) 6 E 使能信號。 20 K 背光電源(-) 7-14 DB0-DB7 數(shù)據(jù)線 有些型號的模塊 19、20 腳為空腳 3.4.2 單片機與圖形液晶的接口電路 LCD 與單片機的接口電路如圖 3.8 所示: 單片機對 LCD 的控制方法將在下一章中詳細介紹。 圖 3.8 LCD 與單片機的接口電路 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 17 頁 共 61 頁 3.5 報警電路設計 本系統(tǒng)設計中有報警器,使用 LM386 作為報警器的功率放大器,如圖 3.9 所示。 LM386 是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電 壓范圍大、外接
42、元件少和總諧波失真小等優(yōu)點,廣泛應用于錄音機和收音機之 中。 LM386 的輸入端接單片機的引腳 P3.4,輸出端接揚聲器。當實際溫度超過 設置的溫度值時,單片機引腳輸出一定頻率的信號,信號經(jīng)過音頻功放放大之 后,發(fā)出報警聲。 圖 3.9 LM386 功放電路 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 18 頁 共 61 頁 3.6 電源電路設計 電源是整個系統(tǒng)的能量來源,它直接關(guān)系到系統(tǒng)能否運行。在本系統(tǒng)中單 片機、液晶顯示、報警等電路需要 5V 的電源,因此電路中選用穩(wěn)壓芯片 7805,其最大輸出電流為 1.5A,能夠滿足系統(tǒng)的要求,其電路如圖 3.10 所示。 圖 3.10
43、 電源電路 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 19 頁 共 61 頁 4 程序設計 4.1 系統(tǒng)資源分配 4.1.1 系統(tǒng)硬件資源分配 本系統(tǒng)電路連接及硬件資源分配如圖 4.1 所示。采用 AT89C51 單片機作為 核心器件,DS18B20 作為溫度測量裝置,通過 AT89C51 的 P1.7 口將溫度值送入 單片機處理,利用 12864LCD 顯示器和 44 鍵盤作為人機接口。 圖 4.1 系統(tǒng)硬件資源分配 4.1.2 系統(tǒng)軟件資源分配 本系統(tǒng)采用了匯編語言進行程序設計,系統(tǒng)自動為各個變量分配內(nèi)存區(qū)域。 用戶可以將變量定義在 data 區(qū)、IDATA 區(qū)、PDATA
44、區(qū)、XDATA 區(qū),常量定義在 CODE 區(qū)。 4.2 系統(tǒng)流程設計 4.2.1 主程序流程設計 主程序先對系統(tǒng)資源進行初始化,調(diào)用 LCD 顯示子程序,顯示啟動畫面。然 后進入鍵盤設置界面。當設置鍵按下后,開始設置各點的溫度,設置完之后, 如果確認鍵按下,則系統(tǒng)開始工作。首先調(diào)用 DS18B20 初始化子程序,再發(fā)送 ROM 命令,讀取 DS18B20 轉(zhuǎn)換的溫度值。當讀取的溫度大于設置的溫度值時,報 警器開始報警,LCD 顯示溫度的實際值、設置值、路數(shù)、狀態(tài)。接下來對第二、 三、四路溫度進行采集,處理,顯示。 P0. P0.7 12864LCD顯 示 模 塊P3.4P3. 報 警 器P3.
45、5 .734鍵 盤 P2.0 P2.3P2.4 P2.744L0 3H0 3 P3.2/INT0A89C1 P1.7四 輸 入 與 門DS18B20 3.0 3.12 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 20 頁 共 61 頁 主程序流程如圖 4.2 所示: 圖 4.2 主程序流程 初 始 化設 置 鍵 按 下 ?設 置 各 點 溫 度 確 認 鍵 按 下 ?YN 讀 取 溫 度 值溫 度 值 高 于 設 置 值 調(diào) 用 LCD顯 示報 警 YN 初 始 化 命 令發(fā) 送 ROM命 令匹 配 第 一 路 讀 取 溫 度 值溫 度 值 高 于 設 置 值 調(diào) 用 LCD顯 示
46、報 警 YN 初 始 化 命 令發(fā) 送 ROM命 令匹 配 第 二 路 讀 取 溫 度 值溫 度 值 高 于 設 置 值 調(diào) 用 LCD顯 示報 警 YN 初 始 化 命 令發(fā) 送 ROM命 令匹 配 第 三 路 讀 取 溫 度 值溫 度 值 高 于 設 置 值 調(diào) 用 LCD顯 示報 警 YN 初 始 化 命 令發(fā) 送 ROM命 令匹 配 第 四 路 開 始 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 21 頁 共 61 頁 4.2.2 DS18B20 程序流程設計 由上一章單片機對 DS18B20 的控制方法,設計出如下程序流程: 圖 4.3 寫命令子程序流程圖 圖 4.4 D
47、S18B20 復位子程序流程 圖 圖 4.5 DS18B20 讀溫度子程序流程圖 DQ置 1置 0延 時 573微 秒DQ置 1 延 時 , 等 待 DS18B20響 應DQ=0?初 始 化 成 功 返 回 DQ初 始 化 不 成 功YNi=8置 DQ0=AT處理后的八位符號值溫度度存放單元 TEMPL DATA 25H ;實時溫度低八位存放單元 TEMPH DATA 26H ;實時溫度高八位存放單元 TEMP_TH DATA 27H ;高溫報警值存放單元 TEMP_TL DATA 28H ;低溫報警值存放單元 TEMPHC DATA 29H ;百位和十位 BCD 碼存放單元 TEMPLC D
48、ATA 2AH ;個位和小數(shù) BCD 碼存放單元 LCD_X EQU 2FH ;LCD 地址變量 LCD_RS EQU P1.0 ;LCD RS 端 LCD_RW EQU P1.1 ;LCD RW 端 LCD_EN EQU P1.2 ;LCD EN 端 FLAG1 EQU 20H.0 ;DS18B20 存在標志位 FLAG2 EQU 20H.2 ;負數(shù)標志位 FLAG3 EQU 20H.3 ;負數(shù)時,十位為零(滅 0 顯示標志位) FLAG4 EQU 20H.4 ;正數(shù)時,百位為零、十位也為零(滅 0 顯 示標志位) FLAG5 EQU 20H.1 ;負溫度下限標志位 FLAG6 EQU 21
49、H.0 ;按鍵 1 操作標志位 FLAG7 EQU 21H.1 ;按鍵 2 操作標志位 FLAG8 EQU 21H.2 ;按鍵 3 操作標志位 FLAG9 EQU 21H.3 ;按鍵 4 操作標志位 DATE_LINE EQU P3.7 ;DS18B20 總線 ;* ORG 0000H JMP MAIN MAIN: MOV SP,#60H MOV A,#00H 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 42 頁 共 61 頁 MOV R0,#20H ;將 20H-2FH 單元清零 MOV R1,#10H CLEAR: MOV R0,A INC R0 DJNZ R1,CLEAR C
50、ALL SET_LCD CALL RE_18B20 MOV TEMP_TH,#50H ;設置溫度上限報警值為 80 度 MOV TEMP_TL,#14H ;設置溫度下限報警值為 20 度 SETB FLAG5 ;FLAG5=0 正溫度下限,F(xiàn)LAG5=1 負溫度下限 START: CALL RESET ;18B20 復位子程序 JNB FLAG1,START1 ;DS1820 不存在 CALL MENU_OK CALL READ_E2 ;溫度報警值拷貝到暫存器 JMP START2 START1: CALL MENU_ERROR CALL TEMP_BJ ;顯示溫度標記 JMP $ START
51、2: CALL RESET JNB FLAG1,START1 ;DS1820 不存在 MOV A,#0CCH ; 跳過 ROM 匹配 CALL WRITE MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令 CALL WRITE ;* ;由單片機向單總線發(fā)送四個 DS18B20 的 ROM 序列號 CALL DELAY 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 43 頁 共 61 頁 LCALL RESET MOV A,#55H LCALL WRITE MOV A,#28H LCALL WRITE MOV A,#24H LCALL WRITE MOV A,#0C5H LCALL WRIT
52、E MOV A,#39H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#05FH LCALL WRITE MOV A,#0BEH LCALL WRITE LCALL READ MOV 74H,TEMPL MOV 75H,TEMPH LCALL RESET MOV A,#55H LCALL WRITE MOV A,#28H LCALL WRITE MOV A,#30H LCALL WRITE 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 44 頁 共 61
53、頁 MOV A,#0C5H LCALL WRITE MOV A,#0B8H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#08EH LCALL WRITE MOV A,#0BEH LCALL WRITE LCALL READ MOV 76H,TEMPL MOV 77H,TEMPH LCALL RESET MOV A,#55H LCALL WRITE MOV A,#28H LCALL WRITE MOV A,#31H LCALL WRITE MOV A,#0C5H L
54、CALL WRITE MOV A,#0B8H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#00H 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 45 頁 共 61 頁 LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#0B9H LCALL WRITE MOV A,#0BEH LCALL WRITE LCALL READ MOV 78H,TEMPL MOV 79H,TEMPH LCALL RESET MOV A,#55H LCALL WRITE MOV A,#28H LCALL WRITE MOV A,#32H
55、LCALL WRITE MOV A,#0C5H LCALL WRITE MOV A,#0B8H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#00H LCALL WRITE MOV A,#0E0H LCALL WRITE MOV A,#0BEH LCALL WRITE 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 46 頁 共 61 頁 LCALL READ MOV 7AH,TEMPL MOV 7BH,TEMPH LCALL RESET ;* ;2*2 鍵盤 ;* SMKEY: MOV P2,#030
56、H MOV A,P2 ANL A,#0F0H CJNE A,#030H,HKEY SJMP J_00 HKEY: CALL CLR_2LINE ;先對 LCD 第二行進行清屏 LCALL DELAY10 MOV A,P2 ANL A,#0F0H MOV B,A CJNE A,#030H,WKEY SJMP J_00 WKEY: MOV P2,#03H MOV A,P2 ANL A,#0FH ORL A,B JB ACC.0,BANWE4 JMP BANWE5 BANWE4: JB ACC.4,XUANZE4 JMP XUANZE3 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 47
57、頁 共 61 頁 BANWE5: JB ACC.5, XUANZE1 JMP XUANZE2 ;* JMP J_00 XUANZE1: SETB FLAG6 CLR FLAG7 CLR FLAG8 CLR FLAG9 JMP J_00 XUANZE2: SETB FLAG7 CLR FLAG6 CLR FLAG8 CLR FLAG9 JMP J_00 XUANZE3: SETB FLAG8 CLR FLAG7 CLR FLAG6 CLR FLAG9 JMP J_00 XUANZE4: SETB FLAG9 CLR FLAG7 CLR FLAG8 CLR FLAG6 J_00:NOP JB FL
58、AG6 ,TEMPH11 JB FLAG7 ,TEMPH22 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 48 頁 共 61 頁 JB FLAG8 ,TEMPH33 JB FLAG9 ,TEMPH44 JMP ST_00 ;* TEMPH11: MOV DPTR,#T_1 ;指針指到顯示消息“TEMP :” MOV A,#2 ;顯示在第二行 CALL LCD_PRINT ;調(diào)字符串顯示子程序 MOV TEMPL,74H ;把從 DS18B20 讀出的初始溫度低八位送 TEMPL MOV TEMPH,75H ;把從 DS18B20 讀出的初始溫度高八位送 TEMPH LCALL ST
59、ART3 ;調(diào)溫度轉(zhuǎn)換、顯示子程序 JMP ST_00 ;回到 START2,重新發(fā)出溫度轉(zhuǎn)換命令 TEMPH22: MOV DPTR,#T_2 ;指針指到顯示消息“TEMP :” MOV A,#2 ;顯示在第二行 CALL LCD_PRINT MOV TEMPL,76H MOV TEMPH,77H LCALL START3 JMP ST_00 TEMPH33: MOV DPTR,#T_3 ;指針指到顯示消息“TEMP :” MOV A,#2 ;顯示在第二行 CALL LCD_PRINT MOV TEMPL,78H MOV TEMPH,79H LCALL START3 JMP ST_00 TE
60、MPH44: MOV DPTR,#T_4 ;指針指到顯示消息“TEMP :” 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 49 頁 共 61 頁 MOV A,#2 ;顯示在第二行 CALL LCD_PRINT MOV TEMPL,7AH MOV TEMPH,7BH LCALL START3 JMP ST_00 ST_00: JMP START2 ;* START3: CALL CONVTEMP ;把從 DS18B20 讀到的初始溫度轉(zhuǎn)換組合成兩 個字節(jié)的 BCD 碼 CALL DISPBCD ;把溫度折分成單個 BCD 碼并設滅零顯示標志位 CALL TEMP_COMP ;顯示溫度
61、比較結(jié)果符號 CALL TEMP_BJ ;顯示溫度標記 CALL LCD_DISP ;顯示溫度百位、十位、個位、小數(shù)點及小數(shù)位 還有符號 RET ;*; SET_LCD: ;對 LCD 做初始化設置及測試 CLR LCD_EN CALL INIT_LCD ;初始化 LCD CALL STORE_DATA ;將自定義字符存入 LCD 的 CGRAM RET INIT_LCD: ;8 位 I/O 控制 LCD 接口初始化 MOV A,#38H ;雙列顯示,字形 5*7 點陣 CALL WCOM CALL DELAY1 MOV A,#0EH CALL WCOM CALL DELAY1 本 科 畢 業(yè)
62、 設 計 說 明 書 ( 論 文 ) 第 50 頁 共 61 頁 MOV A,#38H ;雙列顯示,字形 5*7 點陣 CALL WCOM CALL DELAY1 MOV A,#0CH ;開顯示,顯示光標,光標不閃爍 CALL WCOM CALL DELAY1 MOV A,#01H ;清除 LCD 顯示屏 CALL WCOM CALL DELAY1 RET ;* WCOM: ;以 8 位控制方式將命令寫至 LCD MOV P0,A ;寫入命令 CLR LCD_RS ;RS=L,RW=L,D0-D7=指令碼,E= 高脈沖 CLR LCD_RW SETB LCD_EN ACALL DELAY1 C
63、LR LCD_EN RET ;* WDATA: ;以 8 位控制方式將數(shù)據(jù)寫至 LCD MOV P0,A ;寫入數(shù)據(jù) SETB LCD_RS CLR LCD_RW SETB LCD_EN CALL DE CLR LCD_EN CALL DE RET DE: MOV R7,#250 DJNZ R7,$ 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 51 頁 共 61 頁 RET ;* DELAY: MOV R0,#100 DEL2:MOV R1,#100 DEL3:DJNZ R1,DEL3 DJNZ R0,DEL2 RET DELAY10: MOV R6,#20H Q6:MOV R5,
64、#0BBH Q5:DJNZ R5,Q5 DJNZ R6,Q6 RET DELAY1: ;延時 5MS MOV R6,#25 DL2:MOV R7,#100 DJNZ R7,$ DJNZ R6,DL2 RET ;* STORE_DATA: MOV A,#40H CALL WCOM MOV R2,#08H MOV DPTR,#D_DATA MOV R3,#00H S_DATA: MOV A,R3 MOVC A,A+DPTR CALL WDATA ;寫入數(shù)據(jù) 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 52 頁 共 61 頁 INC R3 DJNZ R2,S_DATA RET ;* D_
65、DATA: DB 0CH,12H,12H,0CH,00H,00H,00H,00H ;* RE_18B20: JB FLAG1,RE_18B20A RET RE_18B20A: CALL RESET MOV A,#0CCH ;跳過 ROM 匹配 LCALL WRITE MOV A,#4EH ;寫暫存寄存器 LCALL WRITE MOV A,TEMP_TH ;TH(報警上限) LCALL WRITE MOV A,TEMP_TL ;TL(報警下限) LCALL WRITE MOV A,#7FH ;12 位精確度 LCALL WRITE RET RESET: SETB DATE_LINE NOP C
66、LR DATE_LINE MOV R0,#6BH ;主機發(fā)出延時復位低脈沖 MOV R1,#04H TSR1:DJNZ R0,$ MOV R0,#6BH 本 科 畢 業(yè) 設 計 說 明 書 ( 論 文 ) 第 53 頁 共 61 頁 DJNZ R1,TSR1 SETB DATE_LINE ;然后拉高數(shù)據(jù)線 NOP NOP NOP MOV R0,#32H TSR2:JNB DATE_LINE,TSR3 ;等待 DS18B20 回應 DJNZ R0,TSR2 JMP TSR4 ; 延時 TSR3:SETB FLAG1 ; 置標志位,表示 DS1820 存在 JMP TSR5 TSR4:CLR FLAG1 ; 清標志位,表示 DS1820 不存在 JMP TSR7 TSR5:MOV R0,#06BH TSR6:DJNZ R0,$ ; 時序要求延時一段時間 TSR7:SETB DATE_LINE RET ;* WRITE: MOV R2,#8 ;一共 8 位數(shù)據(jù) CLR C WR1: CLR DATE_LINE ;開始寫入 DS18B20 總線要處于復位(低)狀 態(tài) MOV R3,#07 DJ
- 溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應急救援安全知識競賽試題
- 1 礦井泵工考試練習題含答案
- 2煤礦爆破工考試復習題含答案
- 1 各種煤礦安全考試試題含答案