基于單片機(jī)的RS485總線采樣節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第1頁(yè)
基于單片機(jī)的RS485總線采樣節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第2頁(yè)
基于單片機(jī)的RS485總線采樣節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第3頁(yè)
基于單片機(jī)的RS485總線采樣節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第4頁(yè)
基于單片機(jī)的RS485總線采樣節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、論文題目論文題目 基于單片機(jī)的 rs485 總線采樣節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn) 姓姓 名名 學(xué)學(xué) 院院 東北大學(xué)東軟信息學(xué)院東北大學(xué)東軟信息學(xué)院 專(zhuān)專(zhuān) 業(yè)業(yè) 電子信息工程(嵌入式系統(tǒng)工程方向)電子信息工程(嵌入式系統(tǒng)工程方向) 指導(dǎo)教師指導(dǎo)教師 備備 注注 2011 年年 5 月月 基于單片機(jī)的 rs485 總線采樣節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn) design and realization of the rs485 node sampling based on mcu 摘要 本論文介紹了基于 rs485 串行總線標(biāo)準(zhǔn)的溫度采集系統(tǒng)的硬件和軟件設(shè)計(jì)。溫度 數(shù)據(jù)的采集由以 at89s52 單片機(jī)為核心的系統(tǒng)完成,采集的數(shù)據(jù)

2、經(jīng) rs485 串行總線上 傳給 arm 微處理器進(jìn)行存儲(chǔ)和處理。系統(tǒng)的軟件包括單片機(jī)程序和計(jì)算機(jī)程序,分別 應(yīng)用 c 語(yǔ)言編寫(xiě)。相應(yīng)的硬件和軟件抗干擾措施保證了系統(tǒng)的穩(wěn)定性和可靠性。本文 介紹了一種基于 rs-485 的單片機(jī)與 arm 之間文件傳輸?shù)膶?shí)現(xiàn)方案。給出了 rs-485 驅(qū)動(dòng)程序的設(shè)計(jì)方法 ,詳細(xì)闡述了自定義通信協(xié)和實(shí)現(xiàn)程序。 在傳統(tǒng)模式下的溫度測(cè)量采用熱電偶或熱敏電阻,其輸出是模擬信號(hào),必須轉(zhuǎn)換 成數(shù)字信號(hào),然后與單片機(jī)進(jìn)行傳輸。因此,它是相當(dāng)復(fù)雜而且成本高。近年來(lái),美 國(guó)生產(chǎn)的 ds18b20,作為一種新的單總線數(shù)字溫度傳感器被廣泛使用。在前臺(tái)實(shí)時(shí)溫 度數(shù)據(jù)采集和轉(zhuǎn)換,通過(guò)傳

3、感器 ds18b20 的數(shù)字式分為單片機(jī)發(fā)送給 led 顯示模塊。 此外,接收溫度數(shù)據(jù)通過(guò) rs - 485 接口傳送到后端的 arm 中顯示。 關(guān)鍵詞:關(guān)鍵詞:at98s52, rs485,溫度采集,串行通信 design and realization of the rs485 node sampling based on mcu abstract the hardware and software design of the temperature acquisition system based on rs485 serial communication criterion is in

4、troduced. the acquisition of temperature data is finished by the system taking at89s52 mcu as core. collected data can be sent up to arm through rs485 serial bus, stored and processed in it. the software of this system includes mcu and arm pro-grams, programmed with c language. some corresponding so

5、ftware. and hardware anti -disturbance measures assure this systems stability and reliability. the implement of the file transfer between mcu and arm based on rs-485 are introduced in this paper. the design method of the rs-485 driver is given. the user- defined communication protocol and the progra

6、m are discussed in detail. under the traditional model of the traditional temperature measurement using thermocouples or thermistor, the output is an analog signal, must be converted into a digital signal and then transmitted with the microcontroller. therefore, it is quite complicated and costly. i

7、n recent years, u.s. production of ds18b20, as a new single-bus digital temperature sensors are widely used. real-time temperature data collection in the foreground and conversion, through the sensor into digital ds18b20 send microcontroller led display modules.in addition, the temperature data rece

8、ived through the rs - 485 interface transfer to the rear of the arm in the display. key words: at89s52,rs-485,temperature acquisition, serial communication 目錄 任務(wù)書(shū)i 摘要ii abstractiii 第 1 章緒論1 1.1國(guó)內(nèi)外現(xiàn)狀1 1.2應(yīng)用范圍1 第 2 章關(guān)鍵技術(shù)介紹2 2.1關(guān)鍵性開(kāi)發(fā)技術(shù)的介紹2 2.1.1rs-485 總線介紹2 2.1.2max485 芯片原理3 2.1.3ds18b20 溫度傳感器原理3 第 3 章

9、系統(tǒng)分析4 3.1構(gòu)架概述4 3.1.1系統(tǒng)構(gòu)架4 3.1.2數(shù)據(jù)采集模塊構(gòu)架4 3.2系統(tǒng)開(kāi)發(fā)環(huán)境5 3.3系統(tǒng)任務(wù)的可行性分析5 第 4 章系統(tǒng)設(shè)計(jì)7 4.1設(shè)計(jì)指導(dǎo)思想和原則7 4.1.1指導(dǎo)思想7 4.1.2硬件設(shè)計(jì)原則7 4.2系統(tǒng)概述7 4.3系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)7 4.3.1ds18b20 接口電路7 4.3.2led 數(shù)碼管的電路設(shè)計(jì)8 4.3.3max485 串行接口電路設(shè)計(jì)9 4.3.4rs232 串口通信電路9 4.3.5主控制模塊電路設(shè)計(jì)10 4.3.6電源監(jiān)測(cè)電路11 4.4ds18b20 硬件設(shè)計(jì)11 4.5rs485 串口通信模塊設(shè)計(jì)15 第 5 章系統(tǒng)實(shí)現(xiàn)17 5

10、.1主程序流程17 5.2rs-485 串口通信主要程序17 5.3ds18b20 模塊程序設(shè)計(jì)19 5.3.1ds18b20 的工作過(guò)程19 5.3.2ds18b20 溫度傳感器主要程序20 第 6 章系統(tǒng)測(cè)試24 6.1測(cè)試方案及測(cè)試用例24 6.1.1電源監(jiān)測(cè)24 6.1.2led 檢測(cè)24 6.1.3通過(guò) rs485 連接 arm 共同檢測(cè)24 第 7 章結(jié)論25 附錄26 參考文獻(xiàn)28 致謝29 第第 1 章章緒緒論論 本篇論文介紹將通過(guò)一個(gè)單片機(jī)系統(tǒng)作為溫度采集的一個(gè)節(jié)點(diǎn),單片機(jī)系統(tǒng)內(nèi)通 過(guò)溫度傳感器 ds18b20 采集溫度,并將溫度數(shù)據(jù)顯示到 led 數(shù)碼管,同時(shí)將采集來(lái) 的數(shù)

11、據(jù)通過(guò) rs-485 總線傳送到 arm 級(jí)進(jìn)行顯示。 用美國(guó) dallas 公司生產(chǎn)的 ds18b20 溫度傳感器采集溫度和 a/d 轉(zhuǎn)換合為一體, 然后輸出的數(shù)字量,硬件設(shè)計(jì)電路時(shí)結(jié)構(gòu)不復(fù)雜,與單片機(jī)接口很少需要其他的元件。 廣泛運(yùn)用在距離遠(yuǎn)、節(jié)點(diǎn)分布多的地方,可以廣泛的應(yīng)用。 因?yàn)楫?dāng)今數(shù)字技術(shù)的發(fā)展和計(jì)算機(jī)的應(yīng)用非常廣泛,很多生產(chǎn)技術(shù)和工藝都需要 計(jì)算機(jī)的控制。廣泛使用的 rs-485 是因?yàn)樗膫鬏斁嚯x非常遠(yuǎn)。并且通過(guò) rs485 總線 構(gòu)成的分部數(shù)據(jù)采集與設(shè)備設(shè)計(jì)簡(jiǎn)單,同時(shí)具有成本低,系統(tǒng)不復(fù)雜,具有能夠遠(yuǎn)距 離通訊等特點(diǎn)。 1.1國(guó)內(nèi)外現(xiàn)狀國(guó)內(nèi)外現(xiàn)狀 當(dāng)今世界 rs-485 串口被

12、廣泛運(yùn)用于生活生產(chǎn)中。隨著 80 年代初單片機(jī)技術(shù)的成 熟而發(fā)展起來(lái)的,現(xiàn)在世界儀表市場(chǎng)基本被智能儀表所壟斷。究其原因就是企業(yè)信息 化的需要,企業(yè)在儀表選型時(shí)其中的一個(gè)必要條件就是要具有聯(lián)網(wǎng)通信接口。 1.2應(yīng)用范圍應(yīng)用范圍 儀器儀表:醫(yī)療器械、色譜儀、智能儀器、示波器。 工業(yè):過(guò)程控制、工業(yè)機(jī)器人、電機(jī)控制、數(shù)字控制。 民用:高級(jí)電視游戲機(jī)、電子玩具、錄像機(jī)、激光盤(pán)驅(qū)動(dòng)。 導(dǎo)航與控制:導(dǎo)彈控制、魚(yú)雷制導(dǎo)控制、智能武器裝置、航天導(dǎo)航系統(tǒng)。 第第 2 章章關(guān)鍵技術(shù)介紹關(guān)鍵技術(shù)介紹 2.1關(guān)鍵性開(kāi)發(fā)技術(shù)的介紹關(guān)鍵性開(kāi)發(fā)技術(shù)的介紹 2.1.1rs-485 總線介紹總線介紹 rs-485 就是電氣接口

13、規(guī)范,屬于 7 層開(kāi)放系統(tǒng)互連(open sysyeminterconnection,osi) 模型物理層的協(xié)議標(biāo)準(zhǔn)。他只需要在平衡驅(qū)動(dòng)器和接收 器的電氣特性,不需要連接插件、輸電線路和通信協(xié)議。他支持半雙工或全雙工模式, 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)通常用終端匹配的總線型,不支持環(huán)形或星形網(wǎng)絡(luò)。由于 rs - 485 接口 是 rs 422 基礎(chǔ)發(fā)展而來(lái)的, rs 485 總線采用平衡傳輸?shù)姆绞剑枰拥絺鬏斁€路 終端電阻等。rs - 485 接口可與四線線使用時(shí),同時(shí)可以實(shí)現(xiàn)真正意義的兩線多點(diǎn)雙 向通信。而四線連接時(shí),只能實(shí)現(xiàn)多點(diǎn)通信,這只能有一個(gè)主設(shè)備和多個(gè)從設(shè)備上。 無(wú)論二線四線總線連接可以收到多達(dá)

14、32 個(gè)設(shè)備。的 rs - 485 共模之間-7 至+12 v 輸出 電壓的 rs - 485 接收器最小輸入阻抗為 12k 的 rs - 485 約 1219m 的最大傳輸速率為 10mb/s 最大傳輸平衡雙絞線的傳輸速率是成反比的,在 100kb/s 速率以下的長(zhǎng)度,它 可能使用的固定最長(zhǎng)長(zhǎng)度的電纜長(zhǎng)度。只有在很短的距離,獲得最高的傳輸速率。 100m 長(zhǎng)的雙絞線一般最高只能是 1mb / s 的傳輸速率。rs - 485 需要兩個(gè)終端電阻, 電阻值要求等于傳輸電纜的特性阻抗。在一定時(shí)間沒(méi)有終端電阻時(shí),傳輸距離,一般 在 300m 以下的無(wú)阻力,終止電阻端接在傳輸總線的兩端。的 rs-48

15、5 通常用于平衡傳 輸和差分接收方式實(shí)現(xiàn)通信。使用兩種常用的雙絞線傳輸線路,所以一般的模式具有 很強(qiáng)的抗干擾能力。接收靈敏度非常高,可檢測(cè)電壓可低為 200mv,有些芯片已經(jīng)能 夠探測(cè)到的電壓低至 50mv 的(如 max485 等) 。在同一時(shí)間,最大傳輸速率,最大 傳輸距離也大大提高。rs-485 特點(diǎn): 1. rs-485 電氣特性:邏輯“1”兩條線之間的電壓差為+(2-6)v 表示,邏輯“0”兩 條線之間的電壓差為 -(2-6)v 表示。接口比 rs-232 的信號(hào)水平降低,就不容易損壞 接口電路芯片,水平和 ttl 電平電路兼容,可方便地連接; 2. .rs-485 最大數(shù)據(jù)傳輸速率

16、是 10mbps; 3. rs-485 接口是由平衡差分接收器和驅(qū)動(dòng)程序組合,抗干擾能力增強(qiáng),即良好的 噪聲抑制性。 4. rs-485 的接口標(biāo)準(zhǔn),最大傳輸距離為 4000 米,實(shí)際上可以高達(dá) 3000 米另外他 rs-232 接口總線只允許連接一個(gè)收發(fā)器,就是單站能力。在 rs -485 接口總線可以連 接多達(dá) 128 個(gè)收發(fā)器。具有多站能力,這樣用戶(hù)可以利用單一的 rs -485 網(wǎng)絡(luò)接口的 優(yōu)勢(shì),易于安裝設(shè)備。 2.1.2max485 芯片原理芯片原理 采用單一+5 v 電源供應(yīng)工作,額定 300a 電流,半雙工通信。它完成了 ttl 電 平的 rs - 485 功能轉(zhuǎn)換。max485

17、 芯片和引腳結(jié)構(gòu)非常簡(jiǎn)單,包含一個(gè)內(nèi)置驅(qū)動(dòng)器和 接收器。ro 端和 di 端,分別是接收器和驅(qū)動(dòng)器的輸入輸出,僅與單片機(jī)可以連接到 rxd 和 txd;re 為 0 時(shí),啟用了接收和發(fā)送端,當(dāng) de 邏輯 0 時(shí),該設(shè)備是接收狀態(tài), 當(dāng) de 為邏輯 1,設(shè)備正在發(fā)送的狀態(tài),因?yàn)樵诎腚p工狀態(tài) max485 的工作,所以只 使用一個(gè)腳微控制器來(lái)控制這兩個(gè)引腳,a 端跟 b 端分別接收和發(fā)送的差分輸出端, 當(dāng) b 端比 a 端高,代表發(fā)送的數(shù)據(jù)為 1;當(dāng) a 低于 b 端水平,代表發(fā)送的數(shù)據(jù)為 0。在 單片機(jī)的接線非常簡(jiǎn)單。max485 只有一個(gè)信號(hào)控制就可以接收和發(fā)送。而在 a 和 b 之間的加

18、上匹配電阻,通常可以是 100 電阻。 2.1.3ds18b20 溫度傳感器原理溫度傳感器原理 以前的模擬信號(hào)遠(yuǎn)距離溫度測(cè)量系統(tǒng)中,必須很好解決引線誤差補(bǔ)償技術(shù)、多點(diǎn) 測(cè)量切換誤差問(wèn)題和放大電路零點(diǎn)漂移誤差問(wèn)題等技術(shù)問(wèn)題,才能夠達(dá)到較高的測(cè)量 精度。另外一般監(jiān)控現(xiàn)場(chǎng)的電磁環(huán)境都比較嚴(yán)重,每個(gè)干擾信號(hào)都非常強(qiáng),模擬溫度 信號(hào)容易受到干擾而產(chǎn)生測(cè)量誤差,影響測(cè)量精度。因此,在溫度測(cè)量系統(tǒng)中,采用 抗干擾能力強(qiáng)的新型數(shù)字溫度傳感器是解決這些問(wèn)題的最有效方案,新型數(shù)字溫度傳 感器 ds18b20 具有體積更小、精度更高、適用電壓更寬、采用一線總線、可組網(wǎng)等優(yōu) 點(diǎn),在實(shí)際應(yīng)用中取得了良好的測(cè)溫效果。 第

19、第 3 章章系統(tǒng)分析系統(tǒng)分析 3.1構(gòu)架概述構(gòu)架概述 3.1.1系統(tǒng)構(gòu)架系統(tǒng)構(gòu)架 溫度采集及顯示系統(tǒng)如圖 3.1 所示,整個(gè)系統(tǒng)由數(shù)據(jù)采集(采集溫度)模塊、rs- 485 通信、基于 arm 顯示模塊和基于 arm 溫度報(bào)警模塊所構(gòu)成。采用 rs-485 通信 方式,通過(guò) rs-485 總線能提高通信距離,提高可靠性,抗干擾性強(qiáng)。本文重點(diǎn)研究的 是以數(shù)據(jù)采集模塊為核心的,通過(guò) rs-485 總線傳輸?shù)脑O(shè)計(jì)。 溫度采集模塊溫度 arm顯示模塊 rs-485傳輸 圖 3.1 系統(tǒng)的功能構(gòu)架 數(shù)據(jù)采集模塊由單片機(jī)系統(tǒng)和 rs-485 傳輸設(shè)備組成,數(shù)據(jù)采集模傳輸是通過(guò) rs- 485 傳輸設(shè)備來(lái)完成

20、信息的發(fā)送與接收,最終用數(shù)據(jù)采集模塊將數(shù)據(jù)采集后,通過(guò) rs- 485 傳輸設(shè)備發(fā)送出去,然后 arm 的 rs-485 傳輸設(shè)備負(fù)責(zé)接收,最終在 arm 的顯 示屏上顯示出來(lái),達(dá)到我們對(duì)數(shù)據(jù)的讀取的目的。本設(shè)計(jì)采用的是宇泰科技生產(chǎn)的 rs-485 傳輸設(shè)備。 3.1.2核心模塊構(gòu)架核心模塊構(gòu)架 根據(jù)需求調(diào)研結(jié)果確定本系統(tǒng)主要包括以下功能模塊,傳感器模塊、單片機(jī)模塊、 led 數(shù)碼管模塊、串口 rs-485 模塊,如圖 3.2 所示。微控制器 at89s52,利用 max813l 進(jìn)行電源的檢測(cè),溫度采集部分使用的是溫度傳感器 ds18b20,這種傳感 器是獨(dú)特的是單口接線方式傳輸技術(shù),在與單

21、片機(jī)連接時(shí)只需要一條口線即可實(shí)現(xiàn)單 片機(jī)與 ds18b20 的雙向通訊,不需要其他任何的器件。傳輸通信利用 rs-485 傳輸設(shè) 備,rs485 總線為多機(jī)通信的在實(shí)際生活中有著十分重要的地位,他的其在傳輸速率、 通信速率、傳輸距離、多機(jī)連接等方面都有著非常大的改善。使用 max7219 驅(qū)動(dòng) 8 位 led 數(shù)碼管顯示,經(jīng)濟(jì)高效。 溫度采集 模塊 單片機(jī)模塊 led顯示模塊 rs-485傳輸 模塊 arm顯示模塊 核心控制 圖 3.2 核心模塊構(gòu)架圖 3.2系統(tǒng)開(kāi)發(fā)環(huán)境系統(tǒng)開(kāi)發(fā)環(huán)境 硬件配置:硬盤(pán):120gb 內(nèi)存:2gb 操作系統(tǒng):windowsxp 開(kāi)發(fā)工具:microsoft visu

22、al studio 2008 altium designer 6.9 keil c51 3.3系統(tǒng)任務(wù)的可行性分析系統(tǒng)任務(wù)的可行性分析 由于 rs-485 總線運(yùn)用了差分電平傳輸數(shù)據(jù),所以傳輸?shù)木嚯x比 rs-232 長(zhǎng)許多, 最長(zhǎng)可以達(dá)到 3000 m,所以很適合在工業(yè)上得到應(yīng)用。不過(guò)與 can 總線等更為優(yōu)秀 的工業(yè)總線對(duì)比,rs-485 的修改的能力還有一定差距,因此在軟件設(shè)計(jì)的部分還行進(jìn) 步的注意,盡量避免錯(cuò)誤的發(fā)生否則會(huì)很難實(shí)現(xiàn)預(yù)期目標(biāo)。另外,假如系統(tǒng)的數(shù)據(jù)比 較多需要很大的運(yùn)算量,需要對(duì)其作立即反應(yīng)的應(yīng)用場(chǎng)所不適合用 rs-485 總線進(jìn)行傳 輸。盡管 rs-485 總線存在一些小毛

23、病,不過(guò)因?yàn)樗膬r(jià)格相對(duì)便宜、線路設(shè)計(jì)簡(jiǎn)單、 易操作,只要處理好各個(gè)細(xì)小漏洞,在某些工程應(yīng)用中還是可以得到廣泛的應(yīng)用。 由 ds18b20 溫度傳感器和單片機(jī) at89s52 組成的溫度實(shí)時(shí)檢測(cè)裝備,可以直接 傳輸溫度的數(shù)字信號(hào)。因此這樣系統(tǒng)的結(jié)構(gòu)相對(duì)容易,體積很小,方便移動(dòng)。使用單 片機(jī)控制,軟件編程的自由得當(dāng),所以本次設(shè)計(jì)采用 ds18b20 傳感器測(cè)量溫度,輸 出信號(hào)的全部數(shù)字化。節(jié)省了一起的測(cè)溫時(shí)的需要很多外圍設(shè)備,電路方便單片機(jī)控 制及處理。ds18b20 的特點(diǎn)在于采用了單總線的數(shù)據(jù)傳輸。 1一致性 本次項(xiàng)目設(shè)計(jì)將會(huì)與所做項(xiàng)目的實(shí)現(xiàn)各項(xiàng)功能要求相一致。 2合理性 本項(xiàng)目設(shè)計(jì)所提出的

24、設(shè)計(jì)方法和標(biāo)準(zhǔn)將是合理的、恰當(dāng)?shù)摹?3可追蹤性 對(duì)項(xiàng)目設(shè)計(jì)所提出的各項(xiàng)要求將可以得到它的清晰的源流。 第第 4 章章系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 4.1設(shè)計(jì)指導(dǎo)思想和原則設(shè)計(jì)指導(dǎo)思想和原則 4.1.1指導(dǎo)思想指導(dǎo)思想 (1)堅(jiān)持統(tǒng)一規(guī)劃、科學(xué)管理、服務(wù)應(yīng)用的指導(dǎo)方針; (2)充分利用現(xiàn)有工作基礎(chǔ)和成果,進(jìn)行改進(jìn)、提升和整合,避免重復(fù)建設(shè)。 4.1.2硬件設(shè)計(jì)原則硬件設(shè)計(jì)原則 (1)標(biāo)準(zhǔn)化和規(guī)范化原則 (2)安全性原則 (3)完備性原則 4.2系統(tǒng)概述系統(tǒng)概述 at89s52 單片機(jī)是本次設(shè)計(jì)的主要部分,獲得溫度的參數(shù)繼而轉(zhuǎn)化為十進(jìn)制和與 之相應(yīng)的 ascii 值然后在顯示在數(shù)碼管的溫度值,同時(shí)通過(guò) rs-

25、485 總線傳到 arm 微處理器進(jìn)行下一步應(yīng)用。他的工作過(guò)程是先初始化各個(gè)器件達(dá)到合適環(huán)境進(jìn)行工作, 然后初始化 ds18b20 跟數(shù)碼管,然后讀取檢測(cè)的溫度數(shù)據(jù),同時(shí)把采集數(shù)據(jù)進(jìn)行傳送 到數(shù)碼管上進(jìn)行顯示。并且通過(guò) rs485 總線傳送。 4.3系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì)系統(tǒng)的功能結(jié)構(gòu)設(shè)計(jì) 4.3.1ds18b20 接口電路接口電路 圖 4.1 ds18b20 接口電路 ds18b20 的是本次設(shè)計(jì)的溫度檢測(cè)部分,它使用獨(dú)特的單口傳輸模式,只需要一 個(gè)端口線可 ds18b20 的雙向通信,而不需要用其他設(shè)備,所有的傳感器和轉(zhuǎn)換電路都 是如集成電路就一個(gè) 3 極管,外部電源電壓范圍 3.05.5v

26、的范圍,從-55到+125 溫度范圍內(nèi)可編程溫度傳感器 ds18b20,它可以模擬溫度傳感器和信號(hào)處理電路的通 訊手段與單片機(jī)來(lái)完成數(shù)據(jù)收集和處理。其最大的特點(diǎn)是單總線數(shù)據(jù)傳輸模式中,i/o 來(lái)完成相同的數(shù)據(jù)。電源 ds18b20 的 2 種方式為:外部電源和寄生電源模式。當(dāng)寄生 供電模式,vdd 和 gnd 接地,它需要一個(gè)遠(yuǎn)程溫度探頭,而且空間小。但寄生方法 需要一個(gè)強(qiáng)大的上拉電源電路,軟件控制變得非常復(fù)雜,其性能這種芯片也有所下降。 因?yàn)樽鳂I(yè)前 ds18b20 的電流已經(jīng)為 1 ma 達(dá)到,所以 4.7k 上拉電阻不能單獨(dú)提供電源 工作的時(shí)候,許多 ds18b20 的只有一個(gè) i/o 線

27、,同時(shí)對(duì)溫度的轉(zhuǎn)換,這個(gè)問(wèn)題就顯得 非常的嚴(yán)重。在這種設(shè)計(jì)的考慮只是一個(gè)單點(diǎn)溫度測(cè)量,因此采用外部電源供電。 4.3.2led 數(shù)碼管的電路設(shè)計(jì)數(shù)碼管的電路設(shè)計(jì) 圖 4.2 max7219 驅(qū)動(dòng)數(shù)碼管電路 圖 4.2 為 max7219 芯片驅(qū)動(dòng)數(shù)碼管電路是一種集成化的串行輸入/輸出共陰極顯 示的驅(qū)動(dòng)器,它連接微處理器與 8 位數(shù)字的 7 段數(shù)字 led 顯示。 圖 4.3 8 個(gè) 7 段數(shù)碼顯示管 圖 4.3 為 8 個(gè)數(shù)碼管顯示電路,其利用 max7219 驅(qū)動(dòng)數(shù)碼管顯示,為數(shù)碼管鏈接 電路,利用 8 個(gè)三極管提供顯示的驅(qū)動(dòng)電流。 4.3.3max485 串行接口電路設(shè)計(jì)串行接口電路設(shè)計(jì)

28、圖 4.4 max485 電路設(shè)計(jì) 圖 4.4 為芯片 max485 電路設(shè)計(jì),max485 的驅(qū)動(dòng)器不受任何限制,最大時(shí)可 以達(dá)到 2.5mbps 的傳輸速度。這種收發(fā)器在驅(qū)動(dòng)器 是禁用的滿(mǎn)載或者空載的形式 下,需要的電源電流是 120a 到 500a 內(nèi)。所有元件都是工作在 5v 單電源下。 max485 實(shí)用于 rs-485 與 rs-422 通信等低功耗的收發(fā)器上。驅(qū)動(dòng)器起到短路電 流限制的作用,而且可以通過(guò)關(guān)斷電路 讓他驅(qū)動(dòng)器一直輸出高阻抗 的狀態(tài)。接收 器輸入具有對(duì) 失去保護(hù)特性,當(dāng)輸入 開(kāi)路時(shí),以確保邏輯高電平 的輸出。具備很 好的抗干擾的能力。 4.3.4rs232 串口通信電

29、路串口通信電路 圖 4.5 rs232 串口通信電路 圖 4.5 為串行通信電路,rs - 232 接口與 pc 機(jī)作為串行接口使用最廣泛應(yīng)用的通 信應(yīng)用,rs - 232 串行數(shù)據(jù)標(biāo)準(zhǔn)協(xié)議 020000bit/ s 的范圍之間的數(shù)據(jù)通信,傳輸速率 和現(xiàn)在的 dte 數(shù)據(jù)終端設(shè)備已經(jīng)成為計(jì)算機(jī)和數(shù)據(jù)通信設(shè)備 dce 接口標(biāo)準(zhǔn)。相關(guān)數(shù) 據(jù):控制信號(hào):信號(hào)接通狀態(tài),比有效電平大于+3 v。斷開(kāi)狀態(tài)時(shí),信號(hào)無(wú)效的要小 于 3v,在實(shí)際應(yīng)用中應(yīng)保證在(315)v,邏輯“1”的電平低于-3v,邏輯“0” 的電平高于+3v。 4.3.5主控制模塊電路設(shè)計(jì)主控制模塊電路設(shè)計(jì) 圖 4.6 主控制電路 圖 4.

30、6 為 at89s52 單片機(jī)一種擁有 40 引腳的雙列直插式芯片,at89s52 單片機(jī) 微控制器,四個(gè) 8 位 i / o 端口(為 p0,p1,p2 和 p3)的,每個(gè) i / o 線可以作為一個(gè) 單獨(dú)的輸入或輸出使用,是整個(gè)電路的核心部分。他的的主控制電路如圖 4.6 所示, rst 終端是單片機(jī)復(fù)位輸入端,接上電容,電阻和開(kāi)關(guān)后,可形成上電復(fù)位電路。他 xtal1 xtal2 端的結(jié)束,也可用來(lái)連接帶微調(diào)外部晶振跟電容,然后是他在單片機(jī) 內(nèi)部振蕩器反相放大器是輸入,外部晶振器連接的另一端 xtal2 上,在這是芯片里振 蕩器反相放大器的輸出。 4.3.6看門(mén)狗定時(shí)電路看門(mén)狗定時(shí)電路

31、圖 4.7 電源檢測(cè)電路 圖 4.7 為本次設(shè)計(jì)的電源檢測(cè)電路,電源監(jiān)測(cè)采用的是 max813l,他是專(zhuān)門(mén)用來(lái) 實(shí)現(xiàn)電源電壓監(jiān)測(cè)的芯片,它不僅可以對(duì)+5v 電源電壓進(jìn)行檢測(cè),還能對(duì)別的電源電 壓(如 12v)進(jìn)行實(shí)現(xiàn)檢測(cè),另外它他內(nèi)部還帶有看門(mén)狗定時(shí)電路,適用于單片機(jī)的系統(tǒng)。 在這個(gè)系統(tǒng)中,在周期 1.6 秒內(nèi)單片機(jī)為 max813l 一直提供喂狗信號(hào),每當(dāng)信號(hào)中斷, 芯片自動(dòng)產(chǎn)生復(fù)位信號(hào),使單片機(jī)復(fù)位。 4.4ds18b20 硬件設(shè)計(jì)硬件設(shè)計(jì) 一ds18b20 溫度傳感器的特性: (1) 可編程的分辨率為 9 至 12 四個(gè)位,相應(yīng)的溫度分別為的 0.5,0.25,0.125 和 0.062

32、5,能夠?qū)崿F(xiàn)高精度溫度測(cè)量; (2)獨(dú)特的單線接口,即能通過(guò)其它 i/o 口線與微機(jī)接口,也可以通過(guò)串行口線,無(wú)需 變換別的電路,直接輸出被測(cè)溫度值; (3)ds18b20 不需要備份電源,既可用外部電源供電,也可采用數(shù)據(jù)線供電; (4)溫度值會(huì)直接輸出數(shù)字溫度的信號(hào),可以運(yùn)用一個(gè)線串行傳給單片機(jī),并且也可傳 送 crc 校驗(yàn)碼,具有非常好的抗干擾的能力同時(shí)找出錯(cuò)誤; (5)測(cè)量范圍是-55+125之間,固有測(cè)溫分辨率為 0.5; (6)ds18b20 溫度傳感器能夠?qū)崿F(xiàn)多個(gè)組網(wǎng),多個(gè) ds18b20 可以共通掛在唯一的總線 上,以實(shí)現(xiàn)本地區(qū)的多點(diǎn)溫度; (7)ds18b20 在設(shè)計(jì)中不需要?jiǎng)e

33、圍元件,全部的傳感元件跟轉(zhuǎn)換電路都集成到在于一只 三極管的集成電路中; (8) ds18b20 的負(fù)特點(diǎn):電源極性反向,該芯片將不會(huì)因?yàn)檫^(guò)熱而報(bào)廢,但不能繼續(xù) 工作。 (9)警告溫度搜索的指令可以依靠識(shí)別尋址溫度在修訂的極限之外的器件; (10)適用的電壓范圍非常大,電壓范圍在 3.05.5v; (11)應(yīng)用范圍包括消費(fèi)類(lèi)的產(chǎn)品、工業(yè)系統(tǒng)中溫度計(jì)或任何熱敏系統(tǒng)。 二.ds18b20 溫度傳感器的內(nèi)部結(jié)構(gòu) 他的內(nèi)部結(jié)構(gòu)如圖 4.8 所示。它是用一個(gè) 64 位光刻溫度傳感器、一個(gè) rom、非 揮發(fā)性溫度警報(bào)觸發(fā)器 tl 和 th、跟配置寄存器一起組成的。 圖 4.8 ds18b20 內(nèi)部結(jié)構(gòu)圖 引

34、腳說(shuō)明:ds18b20 的 3 引腳封裝,如圖 4.9 所示。其中,gnd 為電源接地用的;dq 為數(shù)字信號(hào)輸入/輸出端;vdd 到一個(gè)外接電源輸入。 圖 4.9 ds18b20 封裝 三ds18b20 控制接口介紹 1溫度傳感器 ds18b20 通上電以后,處于空閑的狀態(tài),要啟動(dòng)模板和溫度檢測(cè),處理器準(zhǔn)備向 他輸出 convert t44h 命令,轉(zhuǎn)換后返回到空閑狀態(tài) ds18b20 的溫度數(shù)據(jù)為 16 位補(bǔ) 碼的形式存儲(chǔ)到溫度寄存器中,如表 4,1 所示。 表 4.1 溫度寄存器的格式 264 位光刻 rom 在出品前,光刻 rom 中的 64 位的序列碼就已經(jīng)被光刻好的,可以把他可以當(dāng)做

35、 這個(gè) ds18b20 的地址序列碼。rom 中 64 位序列碼的排列分別是:前面的 8 個(gè)是產(chǎn)品 樣品的標(biāo)記,然后下來(lái)的 48 位是 ds18b20 自己的序列號(hào),最后面的 8 個(gè)數(shù)是之前 56 位的循環(huán)的驗(yàn)證碼。光刻 rom 是為了使每個(gè) ds18b20 都不一樣,正因?yàn)檫@樣所以一 個(gè)總線上才可以掛多個(gè) ds18b20 溫度傳感器。 表 4.2 中符號(hào)位表面溫度是負(fù)值或是正值,負(fù)值時(shí) s=1,正值時(shí) s=2,表 4.2 舉例 了數(shù)據(jù)輸出數(shù)據(jù)與對(duì)應(yīng)溫度。就以 14 位轉(zhuǎn)化為例:12 位符號(hào)擴(kuò)展的讀數(shù) 0.0625 /lsb 的表達(dá)情況,其中 s 為符號(hào)位補(bǔ)碼形式。如果輸出數(shù)值是 125轉(zhuǎn)化

36、07doh,- 0.5 的數(shù)字輸出是 0191h,ff6fh 是-25.0625的數(shù)字輸出,在-55為 fc9oh 數(shù)字輸 出。如下表所示 表 4.2 ds18b20 中的傳感器的溫度的測(cè)量值 3配置寄存器 配置寄存器是 r1 跟 r0 組成。這個(gè)字節(jié)的意義如表 4.3 所示,是低五位的都是 1,而 tm 是測(cè)試模式位,用于設(shè)置在測(cè)試模式或工作模式 ds18b20 的。在 ds18b20 生產(chǎn)的時(shí)候這位被默認(rèn)設(shè)置成 0,不可以用別的辦法更改這個(gè)設(shè)置。r=1 和 r=0 用來(lái) 設(shè)置分辨率。 表 4.3 配置寄存器結(jié)構(gòu) 表 4.4 溫度分辨率設(shè)置表 4非揮發(fā)的溫度報(bào)警觸發(fā)器 th 和 tl 當(dāng)完成

37、 ds18b20 的溫度變化,它將會(huì)把測(cè)得的溫度值和 tl,th(tl 和 th 的最 低和最高溫度檢查)作比較。如果 tth,那么系統(tǒng)將會(huì)允許的報(bào)警標(biāo)志位的 值,同時(shí)警告搜索主機(jī)傳輸命令作出反應(yīng)。所以,你可以使用多個(gè) ds18b20 的在同一 時(shí)間同時(shí)檢測(cè)報(bào)警溫度的探索與搜索。如果溫度超過(guò)這個(gè)極限溫度點(diǎn),報(bào)警主機(jī)可以 使用搜索命令被確認(rèn)的報(bào)警裝置。高低溫報(bào)警觸發(fā)器 tl 和 th,配置寄存器是一個(gè)字 節(jié)的 eeprom 的組合,只要記憶功能命令連接到的 tl,th,或配置寄存器的寫(xiě)入。 5高速暫存存儲(chǔ)器 高速緩沖存儲(chǔ)器它是用 9 個(gè)字節(jié)組成的,功能分配如表 4.5 所示。1,2 字節(jié),包括

38、開(kāi)始測(cè)量溫度的數(shù)字信息,字節(jié)是 3,4,5th 和 tl,配置寄存器的臨時(shí)任務(wù),在每一個(gè) 上電復(fù)位將重置所有;前 6 個(gè)字節(jié)不使用,整個(gè)邏輯 1 的表現(xiàn),剩余的字節(jié)數(shù)是 7、8 分 別是技術(shù)剩余值跟每度得計(jì)數(shù)值,前 9 個(gè)字節(jié)用來(lái)讀取應(yīng)所有 8 個(gè)字節(jié)的 cerc 代碼, 以便使用它以確保通信是正確的性。 表 4.5 ds18b20 暫存寄存器分布 ds18b20 的通信協(xié)議,單片機(jī)的 ds18b20 溫度傳感器的轉(zhuǎn)換,將通過(guò)三個(gè)步驟完 成,首先是要讀寫(xiě)之前必須進(jìn)行復(fù)位操作后對(duì) ds18b20 的成功發(fā)送一個(gè)復(fù)位指令,最 后送到 ram 的命令,只有這樣的溫度傳感器才能做出提前的操作。復(fù)位應(yīng)該

39、主 cpu 將數(shù)據(jù)線下拉到 500s,之后釋放當(dāng)傳感器收到信號(hào)后等到 1660s 左右時(shí),立即 發(fā)出一個(gè) 60240s 的快速的低脈沖信號(hào),單片機(jī)收到此信號(hào)后表示復(fù)位成功。下表 為 rom 指令表。 表 4.6 rom 指令表 4.5rs485 串口通信模塊設(shè)計(jì)串口通信模塊設(shè)計(jì) 單片機(jī)與 arm 平臺(tái)通過(guò) rs-485 串行通信,采用 rs-485 最大的好處是它可以一 對(duì)多點(diǎn)總線互相連接的功能 ,它可以連接一臺(tái)主機(jī)和多臺(tái)終端同步進(jìn)行通信,由于它 是半雙工的工作模式,同時(shí)只能有一方進(jìn)行發(fā)送,一方負(fù)責(zé)接收,并且 rs-485 串口所 采用差動(dòng)電平接收的方法用于提高抗干擾的能力 ,比較適合在稍惡劣

40、的環(huán)境下正常工 作,因?yàn)樵谝粯拥碾娎|中受到的干擾都是差不多一樣的,所以采用差動(dòng)方法就可以有 效的抵消一大部分的干擾。 由于 rs - 485 串行端口是半雙工的工作模式,因此每當(dāng)用戶(hù)當(dāng)處理和發(fā)送一起使 用物理信道的時(shí)候。在任意時(shí)刻只能將數(shù)據(jù)發(fā)送到一臺(tái)機(jī)器。因此,必須在收到應(yīng)答 機(jī)的 rs - 485 串行端口發(fā)送和接收信號(hào),而且在其他機(jī)器時(shí)發(fā)出指令是才能答復(fù)。半 雙工的傳輸時(shí)間的接受和傳輸有著非常嚴(yán)格的要求。如果時(shí)間不匹配,那么就會(huì)有一 點(diǎn)于總線沖突,讓整個(gè)系統(tǒng)變得無(wú)法使用 ,停止正常的工作。如果想要讓總線上的設(shè) 備的正常工作。那么,一定需要以下幾點(diǎn)。 (1) 上發(fā)送獨(dú)立的傳輸控制信號(hào)的時(shí)序控

41、制信號(hào)的各種單片機(jī)連接時(shí)序要求是完全 分開(kāi)的。發(fā)送和接收信號(hào)時(shí)為了確保信息的完整性和正確,以避免總線上的信號(hào)碰撞, 總線使用權(quán)必須分配,以避免競(jìng)爭(zhēng),連接到總線的單機(jī),并發(fā)送控制信號(hào)完全隔離時(shí) 間。總之,發(fā)送和接收控制信號(hào)應(yīng)該足夠?qū)?,以確保數(shù)據(jù)的完整性得到一幀數(shù)據(jù),任 何兩個(gè)獨(dú)立機(jī)器的發(fā)送信號(hào)是完全分開(kāi)的,以避免總線爭(zhēng)端。 (2) 電路復(fù)位時(shí),主機(jī)必須處于接收的狀態(tài) de 和 re 端相連為低電平的時(shí)候 ,從機(jī)應(yīng)該處于接收的狀態(tài) ,在接受上電復(fù)位的時(shí)候 ,因?yàn)橛布娐贩€(wěn)定需要一點(diǎn) 時(shí)間 ,而且單片機(jī)的各個(gè)端口復(fù)位后應(yīng)該處于高電平的狀態(tài) ,因此就會(huì)使總線上每 個(gè)分機(jī)都處于發(fā)送狀態(tài) ,再加上電時(shí)各個(gè)

42、電路的不穩(wěn)定 ,就可能向總線發(fā)送信號(hào)。 所以說(shuō),假如用一條線作發(fā)送和接收的控制信號(hào),就要把口線反向的后接到 max485 的控制端 ,這樣就可以使上電時(shí) max485 始終處于接收狀態(tài)。 (3)在 rs-485 半雙工通信工程中,因 max485 的發(fā)送和接收都是用同一個(gè)器件完 成的,而且發(fā)送和接收使用的是同一個(gè)物理連路,要對(duì)控制信號(hào)進(jìn)行切換。控制信號(hào) 什么時(shí)候是高電平,什么時(shí)候是低電平 ,一般以單片機(jī)的 ti 信號(hào)作為參考。在發(fā)送 時(shí)檢測(cè)是否建立 ti,如果 ti 為高電平時(shí)關(guān)閉發(fā)送的功能變?yōu)榻邮展δ?在接收時(shí)檢測(cè) 是否建立 ri,當(dāng) ri 為高電平之后,接收結(jié)束,之后可以轉(zhuǎn)為發(fā)送。 第第

43、5 章章系統(tǒng)實(shí)現(xiàn)系統(tǒng)實(shí)現(xiàn) 5.1主程序流程主程序流程 流程如圖 5.1 所示,開(kāi)始工作,首先系統(tǒng)初始化各個(gè)模塊,當(dāng)系統(tǒng)接收到檢測(cè)信號(hào), 從傳感器接收數(shù)據(jù),處理數(shù)據(jù)后輸出數(shù)據(jù),將數(shù)據(jù)從 led 數(shù)碼管上顯示,并同時(shí)將數(shù) 據(jù)發(fā)動(dòng)到 rs-485 串行接口,由 rs-485 串口最后發(fā)送到上位機(jī)。 開(kāi)始 rs485通信 ds18b20初始化 數(shù)據(jù)采集 led顯示 rs485通信 退出 n y y n 圖 5.1 系統(tǒng)流程圖 5.2rs-485 串口通信主要程序串口通信主要程序 rs-485 通信節(jié)點(diǎn)的程序大致可歸類(lèi)為六個(gè)重要部分,他們分別是預(yù)定義部分、初 始部分、設(shè)備狀態(tài)檢測(cè)部分、主程序部分、幀接收

44、部分和發(fā)送部分。預(yù)定義的部分主 要是用來(lái)定義通信中使用握手信號(hào),它用于保存本節(jié)點(diǎn)的設(shè)備號(hào)和設(shè)備信息的緩沖區(qū) 的變量。主程序部分可以接收命令幀,同時(shí)根據(jù)命令的內(nèi)容發(fā)出相應(yīng)的回應(yīng)。而設(shè)備 狀態(tài)檢測(cè)部分要放在程序初始化后,如果件發(fā)生故障時(shí),再做出相應(yīng)的反應(yīng)。 開(kāi)始 設(shè)置各項(xiàng)參數(shù) 等待接受溫度命令 是否接到溫度數(shù)據(jù) 溫度數(shù)據(jù) 數(shù)據(jù)傳送 是否接到溫度數(shù)據(jù) n y 終止 y n 圖 5.2 串口部分流程圖 為縮減不必要的篇幅,在這只給出主程序部分一些代碼。 /* rs485 通信主程序的流程*/ while(1) /主循環(huán) if(recv_cmd( switch(type) case _active_:/

45、主機(jī)問(wèn)從機(jī)是否接受 send_data(_ok_, 0,dbuf);/發(fā)送應(yīng)答信息 break; case _getdata_: len = strlen(dbuf); send_data(_status_, len,dbuf);/發(fā)送狀態(tài)信息 break; default: break;/命令的類(lèi)型錯(cuò)誤,丟棄當(dāng)前幀然后返回 5.3ds18b20 模塊程序設(shè)計(jì)模塊程序設(shè)計(jì) 5.3.1ds18b20 的工作過(guò)程的工作過(guò)程 單片機(jī) ds18b20 溫度傳感器在溫度轉(zhuǎn)換過(guò)程中需要三個(gè)過(guò)程,第一,初始化,然 后是 rom 操作命令的,最后是存儲(chǔ)器操作命令、 一.初始化 總線上的所有操作都必須先初始化,

46、第一個(gè)提出了復(fù)位信號(hào),然后從機(jī)器的線路 信號(hào)發(fā)送,并通知主機(jī) ds18b20 總線,然后讓他等待接受其指令。 二. rom 操作命令 在這個(gè)畢業(yè)設(shè)計(jì)中我們跳過(guò) rom 序列號(hào)檢測(cè)命令。skip rom 命令,就是跳過(guò) rom 操作的命令,是因?yàn)橹挥幸粋€(gè)測(cè)溫芯時(shí)以節(jié)約時(shí)間;但是要是多個(gè)從機(jī)的時(shí)候不 能這樣用了,這會(huì)使總線上的數(shù)據(jù)造成沖突。所以在就有一個(gè)溫度傳感器的情況下, 在每次輸入指令之前都可以使用這個(gè)命令來(lái)節(jié)約運(yùn)算時(shí)間。 三存儲(chǔ)器操作命令 首先,寫(xiě)(4eh)命令,使用此命令寫(xiě)入數(shù)據(jù)存儲(chǔ)第 2 至 4 個(gè)字節(jié),從第 2 個(gè)字 節(jié)(th)運(yùn)行的。復(fù)位信號(hào)發(fā)出前,完成這三個(gè)字節(jié)。然后讀出(beh)

47、 ,使用這個(gè) 命令讀出寄存器內(nèi)的第一個(gè)字節(jié)的內(nèi)容,一直完成第九個(gè)字節(jié)時(shí),如果有需要注冊(cè)的 一些內(nèi)容,那樣的話主機(jī)可以在適當(dāng)?shù)陌l(fā)送時(shí)間復(fù)位命令結(jié)束該進(jìn)程。其次是復(fù)制 (48h) ,使用這個(gè)命令來(lái)注冊(cè)的內(nèi)存溫度 2 至 4 個(gè)字節(jié)傳感器設(shè)計(jì) eerom,當(dāng)主機(jī) 發(fā)出命令后實(shí)施溫度轉(zhuǎn)換,如果在進(jìn)程轉(zhuǎn)儲(chǔ)則結(jié)果為 0 如果轉(zhuǎn)儲(chǔ)結(jié)束,結(jié)果是 1。最后, 啟動(dòng)轉(zhuǎn)換(44h)和溫度傳感器接收此命令立即啟動(dòng)溫度轉(zhuǎn)換的實(shí)施,沒(méi)有其他的其他 數(shù)據(jù)。這時(shí) ds18b20 的空閑狀態(tài)。如果溫度轉(zhuǎn)換運(yùn)行時(shí),主機(jī)將接收讀取總線 0,轉(zhuǎn) 換完畢接收到的是 1。 5.3.2ds18b20 溫度傳感器主要程序溫度傳感器主要程序

48、ds18b20 使用的關(guān)鍵是首先清楚總線的讀寫(xiě)的時(shí)序。ds18b20 是單總線的雙向通 訊,他的外接電路非常簡(jiǎn)單,可是在軟件編程上,就非常嚴(yán)格按照他的要求時(shí)序進(jìn)行 讀寫(xiě)的操作。具體的操作如下:對(duì)溫度傳感器操作時(shí),首先要把他復(fù)位。讓 dq 線拉 低 480 到 960s 之間,再將數(shù)據(jù)線拉高 15 到 60s 之間,再把 ds18b20 發(fā)出的 60 到 240s 的低電平信號(hào)作為應(yīng)答的信號(hào),這時(shí)單片機(jī)才能對(duì)它進(jìn)行別的的操作。 圖 5.3 ds18b20 初始化時(shí)序 bit ds18b20_reset(void) unsigned char x=1; dq = 1; /dq 先置高 ds18b2

49、0_delay(15); /稍延時(shí) dq = 0; /發(fā)送復(fù)位脈沖 ds18b20_delay(500); /延時(shí)480us dq = 1; /拉高數(shù)據(jù)線 ds18b20_delay(70);/等待 1560us x=dq; /x=0 初始化成功 x=1 失敗 ds18b20_delay(15); return x; 在溫度傳感器中,寫(xiě)操作是指把數(shù)據(jù)線要從高電平拉到低電平,產(chǎn)生寫(xiě)起始的信號(hào)。 從 dq 線的下降沿起開(kāi)始計(jì)時(shí),在 15s 到 60s 之間這段時(shí)間里對(duì)數(shù)據(jù)線進(jìn)行檢測(cè), 假如數(shù)據(jù)線為高電平時(shí)就寫(xiě) 1,若為低電平時(shí)就寫(xiě) 0,如果完成了一個(gè)就寫(xiě)周期。然后 再開(kāi)始另一個(gè)寫(xiě)周期前,必須在 1

50、s 以上的高電平恢復(fù)期。每個(gè)寫(xiě)周期必須需要 60s 以上的持續(xù)期。 圖 5.4 ds18b20 寫(xiě)時(shí)序 void ds18b20_write(unsigned char command) unsigned char i; for(i=8;i0;i-) dq=0; if(command dq=1; ds18b20_delay(20); else dq=1; ds18b20_delay(20); command=_cror_(command,1); 在溫度傳感器中,讀操作是指主機(jī)將數(shù)據(jù)線從高電平拉至低電平 1s 以上時(shí),使數(shù)據(jù) 線升為高電平,從而產(chǎn)生讀起始的信號(hào)。從主機(jī)將數(shù)據(jù)線從高電平拉至低電平起

51、 15s 到 60s 之間,主機(jī)讀取數(shù)據(jù)。每個(gè)讀周期最短的持續(xù)期為 60s。周期之間必須有 1s 以上的高電平恢復(fù)期。 圖 5.5 ds18b20 讀時(shí)序 unsigned char ds18b20_read(void) unsigned char i; unsigned char temp; temp=0; for(i=8;i0;i-) temp=_cror_(temp,1); dq=0; _nop_(); _nop_(); dq=1; _nop_(); _nop_(); if(dq=1) temp=temp | 0 x80; else temp=temp | 0 x00; ds18b20_delay(8); return(temp); 第第 6 章章系統(tǒng)測(cè)試系統(tǒng)測(cè)試 軟件測(cè)試是一項(xiàng)十分復(fù)雜多樣化的工作。它在軟件的整個(gè)生存期中占據(jù)重要的位 置,對(duì)軟件可靠性保證具有極其重要的意義。下面將結(jié)合本系統(tǒng)軟件開(kāi)發(fā)并配合仿真 器對(duì)系統(tǒng)進(jìn)行了如下測(cè)試。 6.1測(cè)試方案及測(cè)試用例測(cè)試方案及測(cè)試用例 6.1.1電源監(jiān)測(cè)電源監(jiān)測(cè) 方案:將電源通電,在系統(tǒng)中單片機(jī)在 1.6s 周期內(nèi)為芯片提供正脈沖,芯片輸出 信號(hào)保持高電平,整個(gè)系統(tǒng)工作正常。當(dāng)單片機(jī)在超過(guò) 1.6s 未向芯片提供脈沖信號(hào)時(shí), 芯片內(nèi)部電路觸發(fā)復(fù)位信號(hào),使

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論