于DS18B20多點測溫與語音播報系統(tǒng)的設(shè)計_第1頁
于DS18B20多點測溫與語音播報系統(tǒng)的設(shè)計_第2頁
于DS18B20多點測溫與語音播報系統(tǒng)的設(shè)計_第3頁
于DS18B20多點測溫與語音播報系統(tǒng)的設(shè)計_第4頁
于DS18B20多點測溫與語音播報系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于DS18B20多點測溫與語音播報系統(tǒng)的設(shè)計摘要: 隨著社會的進步和工業(yè)技術(shù)的發(fā)展,人們越來越重視溫度因素,許多產(chǎn)品對溫度范圍要求嚴格,而目前市場上普遍存在的溫度檢測儀器大都是單點測量,同時有溫度傳遞不及時、精度不夠的缺點,不利于工業(yè)控制者根據(jù)溫度變化及時作出決定。在這樣的形式下,開發(fā)一種能夠同時測量多點,并且實時性高、精度高,能夠綜合處理多點溫度信息的測量系統(tǒng)就很有必要。本文設(shè)計了一個基于51單片機的溫度測量和語音播報系統(tǒng)。該系統(tǒng)利用數(shù)字式溫度傳感器DS18B20測量環(huán)境溫度,將測量到的溫度值顯示,并通過NY3P035BP8語音芯片將溫度值播報。該系統(tǒng)溫度測量準確,系統(tǒng)結(jié)構(gòu)簡單、且抗干擾能

2、力強。關(guān)鍵詞:STC89C51RC;語音播報;數(shù)字式溫度計 Design of Multi-Point Temperature Measurementand Voice Broadcast System Based on DS18B20Abstract: With the social progress and the development of industrial technology, people pay more and more attention to the temperature factor, many products are strict requirements o

3、n the temperature range, the temperature detection equipment currently on the market is the single point measurement, while the temperature transfer is not timely, the precision is not enough, is not conducive to industrial control according to the change of temperature to make timely decisions. In

4、this situation, in addition to the development of a multi-point measurement, and real-time, high accuracy, the measurement system can control the temperature it is necessary. This paper introduces the design of a temperature measurement and voice broadcast system based on 51 single chip microcompute

5、r. Digital temperature sensor DS18B20 temperature measurement by using this system, the measured temperature values are displayed, and the temperature value through the NY3P035BP8 voice chip. The system of temperature measurement accuracy, the system has the advantages of simple structure, and stron

6、g anti-interference ability.Key words:STC89C51RC;Voice broadcast;Digital thermometer 第1章 緒論11.1 選題目的和意義:11.2 溫度測量技術(shù)的現(xiàn)狀及發(fā)展趨勢11.3 本課題主要討論問題2第2章 系統(tǒng)方案選擇與論證32.1 多個DS18B20的設(shè)計方案32.1.1方案一32.1.2方案二32.1.3方案三32.2 主控部分42.2.1 方案一:采用PC機42.2.2 方案二:采用DSP或ARM芯片42.2.3 方案三:采用STC89C51RC單片機52.3 語音芯片部分72.3.1 方案一:采用OTP語音芯

7、片72.3.2 方案二:采用WT588語音芯片72.3.3 方案三:采用NY3P035BP8語音芯片72.4 確定系統(tǒng)總體提方案72.5 本章小結(jié)8第3章 硬件電路設(shè)計93.1 單片機的時鐘電路和復(fù)位電路設(shè)計93.1.1 時鐘電路93.1.2 復(fù)位電路93.2 DS18B20設(shè)計103.2.1 DS18B20的單總線命令103.2.2 DS18B20的概述113.2.3 DS18B20的測溫原理123.2.4 DS18B20與單片機的接口設(shè)計163.3 NY3P035BP8語音錄放電路設(shè)計163.3.1 NY3P035BP8語音芯片的介紹163.3.2 由單片機控制的錄放電路173.4 LED

8、數(shù)碼顯示電路183.5 小結(jié)19第4章 軟件設(shè)計204.1 主程序流程圖204.2 DS18B20溫度測量程序204.2.1 DS18B20的時序204.2.2 DS18B20的復(fù)位程序214.2.3 DS18B20啟動溫度轉(zhuǎn)換程序214.2.4 DS18B20讀溫度程序224.3 數(shù)碼管顯示程序224.4 語音播報程序234.5 小結(jié)23第5章 系統(tǒng)PCB板設(shè)計與仿真圖制作255.1 PCB設(shè)計的一般原則255.2 PCB板布線原則265.3 PCB板繪制265.4系統(tǒng)仿真的制作265.5本章小結(jié)28設(shè)計總結(jié)29參考文獻30致謝30附錄一:程序31附錄二:硬件電路40第1章 緒論1.1 選題

9、目的和意義:自然界中幾乎所有的物理化學過程都與溫度緊密相關(guān),因此溫度是工農(nóng)業(yè)生產(chǎn),科學試驗以及日常生活中需要普遍進行測量和控制的一個重要物理量。溫度測量是現(xiàn)代檢測技術(shù)的重要組成部分,在保證產(chǎn)品質(zhì)量、節(jié)約能源和安全生產(chǎn)等方面起著關(guān)鍵的作用。因此,能夠確??焖?、準確地測量溫度的技術(shù)及其裝置普遍受到各國的重視。近年來,利用數(shù)字式溫度傳感器以實現(xiàn)溫度信息的在線檢測已成為溫度檢測技術(shù)的一種發(fā)展趨勢。隨著電子技術(shù)的發(fā)展,將組成CPU的部件集成在一塊半導體芯片上,這個具有 CPU 功能的大規(guī)模集成電路芯片就稱之為微處理器。把微處理器部件像其他集成電路一樣嵌入到電子系統(tǒng)中,使電子系統(tǒng)具有可編程序的智能化特點,

10、開辟了計算機技術(shù)在電子技術(shù)領(lǐng)域應(yīng)用的廣闊大地。將微處 理器、存儲器、I/O 電路集成到一塊半導體芯片的技術(shù)再次推動了這種嵌入式技術(shù)的發(fā)展,單片機 是這種設(shè)計技術(shù)中的一個典型代表。單片機適用于測量和控制領(lǐng)域,它以芯片形式嵌入到電子產(chǎn)品或系統(tǒng)中。本設(shè)計主要采用單片機STC89C51RC為控制核心,通過 DS18B20 數(shù)字式溫度傳感器實現(xiàn)溫度測量,溫度顯示在數(shù)碼管上,并控制語音芯片實現(xiàn)溫度的播報。1.2 溫度測量技術(shù)的現(xiàn)狀及發(fā)展趨勢溫度測量技術(shù)現(xiàn)狀:隨著國內(nèi)外工業(yè)的日益發(fā)展,溫度檢測技術(shù)也有了不斷的進步,目前的溫度檢測使用的溫度計種類繁多,應(yīng)用范圍也較廣泛。按照所用方法之不同,溫度測量分為接觸式和

11、非接觸式兩大類。 一:接觸式溫度測量技術(shù) 接觸式測溫法的特點是測溫元件直接與被測對象相接觸,兩者之間進行充分的熱交換,最后達 到熱平衡,這時感溫元件的某一物理參數(shù)的量值就代表了被測對象的溫度值。(1)利用物體熱脹冷縮原理制成的溫度計(2)利用熱電效應(yīng)技術(shù)制成的熱電式溫度計 (3) 利用熱阻效應(yīng)技術(shù)制成的熱電阻溫度計(4) 利用石英晶體測溫(5) 集成芯片式測溫。二:非接觸式溫度測量技術(shù) 非接觸式測溫方法不需要與被測對象接觸,因而不會干擾被測溫度場的狀態(tài),測量儀器本身也不會受溫度場的損傷,動態(tài)響應(yīng)特性一般也很好,但是會受到測量介質(zhì)物性參數(shù)的影響。非接觸式溫度計又可分為全輻射高溫計、亮度式高溫計和

12、比色式高溫計,由于它們都是以光輻射為基礎(chǔ),故也稱為輻射溫度計。溫度測量技術(shù)的發(fā)展趨勢:隨著工業(yè)生產(chǎn)效率的不斷提高,自動化水平與范圍也不斷擴大,因而對溫度測量技術(shù)的要求也越來越高,對于溫度測量技術(shù)的發(fā)展趨勢可以歸納以下幾方面。 (1) 數(shù)字化:傳感器與電子技術(shù)相結(jié)合,可以實現(xiàn)模擬量轉(zhuǎn)換為數(shù)字量輸出,其最大優(yōu)點是直觀、分辨率高、測量誤差小。 (2) 智能化:以溫度傳感器為基礎(chǔ)的測量系統(tǒng),在集成化的基礎(chǔ)上,具有信號測量、處理、存儲、誤差與自診斷能力,擴大了應(yīng) 用范圍,增強抗干擾能力,便于與計算機通訊。 (3) 高精度化:由于自動化程度的不斷提高,對測量靈敏度高、精度高、響應(yīng)速度快的溫度傳感器需求較多

13、。 (4) 擴大測量范圍:現(xiàn)在工業(yè)上通用的溫度檢測范圍為-20030000,而今后溫度計要求能測 量超高溫與超低溫,尤其是極低溫度的檢測。 (5) 擴大測溫對象:應(yīng)用范 圍己經(jīng)從工業(yè)領(lǐng)域延伸到環(huán)境保護、家用電器、汽車工業(yè)及航天工業(yè)等領(lǐng)域。1.3 本課題主要討論問題 此次設(shè)計是基于單片機控制的LED數(shù)碼智能語音溫度計。 主要研究的問題有:1、 溫度的測量,包括溫度傳感器的選取;2、 播報語音的實現(xiàn),包括選擇語音芯片和編寫對應(yīng)程序;3、 數(shù)顯功能的實現(xiàn),要求測量結(jié)果的數(shù)據(jù)轉(zhuǎn)換,能夠顯示零下的負號。第2章 方案選擇與論證2.1 多個DS18B20的設(shè)計方案2.1.1方案一方案一DS18B20一對一連

14、接方案,就是一個I/O口連接一個DS18B20,這種方案雖然占用單片機的三個I/O口,但采用這種方案大大的簡化了編程難度,縮短了設(shè)計周期,同時也能保證系統(tǒng)的穩(wěn)定,方案一的框圖如圖2.1所示。 圖2.1 DS18B20多I/O口連接方案2.1.2方案二 方案二 DS18B20單線連接方案,就是三個DS18B20連接到單片機的一個I/0口上,這種方案只用到單片機的一個I/O口,大大的節(jié)約了單片機I/O口資源。缺點是在時序上比較復(fù)雜,DS18B20的編程增加了讀ROM程序,搜索ROM和匹配ROM程序。方案二的框圖如圖2.2所示。圖2.2 DS18B20單線連接方案2.1.3方案三方案一是把DS18B

15、20的三個DQ端分別接到單片機的三個不同的I/O口,這種接法占用的I/O口比較多,但是它的時序比較簡單,不需要讀取ROM序列號程序,搜索ROM序列號程序,匹配ROM序列號程序,軟件上簡化了很多。方案二是四DS18B20D的三個DQ端接到單片機的一個I/O口。這種接法在硬件上節(jié)省了三個I/O口,在硬件上簡化了不少。但是在軟件上時序就增加了難度,需要添加讀ROM序列號程序,搜索ROM序列號程序,匹配ROM序列號程序。所以結(jié)合兩者優(yōu)點設(shè)計了方案三,三個DS18B20連接在一個I/O口,并在每個DS18B20前面加一個開關(guān),這樣不但它的時序比較簡單而且在硬件上簡化了不少。方案三的框圖如圖2.3所示。圖

16、2.3 DS18B20單線連接優(yōu)化方案2.2 主控部分2.2.1 方案一:采用PC機PC機可在線編程、可在線仿真,這讓調(diào)試變得方便。CUP的計算速度比單片機快,而且有良好的人機交互界面,但是PC機輸出信號不能直接與DS18B20通信,需要通過RS232電平轉(zhuǎn)換兼容,需要的硬件多,較為繁瑣,很不簡便。而且在一些環(huán)境比較惡劣的場合,PC機的體積大、價格貴、攜帶安裝不方便、性能不穩(wěn)定,給工程帶來很多麻煩。2.2.2 方案二:采用DSP或ARM芯片單片機叫MCU,微控制器,ARM叫嵌入式微處理器,DSP叫數(shù)字信號處理器,是專為高速度的海量離散數(shù)字信號處理而發(fā)展的芯片。他們的發(fā)展需求不同導致了他們的內(nèi)部

17、系統(tǒng)資源和結(jié)構(gòu)的不同。比如,51單片機是8位的,晶振最多24M,ROM有4K,可用RAM少于128字節(jié),軟件主要通過自己來編寫;對于信號的處理,如對信號做FFT,則選擇DSP;ARM是32位的,主頻一般在幾百M,內(nèi)存一般是以G為單位,現(xiàn)在的趨勢是用于商業(yè)上的開發(fā)ARM+LINUX。其中要考慮項目的規(guī)模,效率的要求,當然最主要的還是設(shè)計成本,DSP和ARM價格相對比較高。本設(shè)計中,主控芯片只需控制溫度傳感器和語音芯片,電路規(guī)模比較小,不需要大量的信號進行處理,程序也較為簡單,如使用DSP或ARM做主控芯片會大大增加成本和電路的復(fù)雜度。2.2.3 方案三:采用STC89C51RC單片機 STC89

18、C51RC是一個低電壓,高性能CMOS 8位單片機,片內(nèi)含4k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),內(nèi)置功能強大的微型計算機的STC89C51RC提供了高性價比的解決方案。 如圖所示,圖2.4為STC89C51RC單片機基本構(gòu)造,其基本性能介紹如下: 圖2.4 STC89C51RC單片機STC89C51RC本身內(nèi)含40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中端口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,STC89C

19、51RC可以按照常規(guī)方法進行編程,但不可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。 管腳說明 STC89C51RC為40腳雙列直插封裝的8位通用微處理器,采用工業(yè)標準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主IC內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19腳)和XTAL2(18腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9腳

20、)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40腳)和VSS(20腳)為供電端口,分別接+5V電源的正負端。P0P3 為可編程通用I/O腳,其功能用途由軟件定義,在本設(shè)計中,P0端口(3239腳)被定義為N1功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13腳定義為IR輸入端,10腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12腳、27腳及28腳定義為握手信號功能端口,連接主板CPU的相應(yīng)功能端,用于當前制式的檢測及會聚調(diào)整狀態(tài)進入的控制功能。 P0口:P0口是一組8位漏極開路型雙向I/O 口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時

21、,每位能吸收電流的方式驅(qū)動8個TTL邏輯門電路,對端口P0 寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash 編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。 P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。與AT89C51不同之處是

22、,P1.0和P1.1還可分別作為定時/計數(shù)器2 的外部計數(shù)輸入(P1.0/T2)和輸入(P1.1/T2EX)。Flash編程和程序校驗期間,P1接收低8位地址。P2口:P2是一個帶有內(nèi)部上拉電阻的8 位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口P2寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX R

23、I指令)時,P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗時,P2亦接收高位地址和一些控制信號。 P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能P3口還接收一些用于Flash 閃速存儲器編程和程序校驗的控制信號。RST:復(fù)位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。 ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲

24、器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個AL脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖(PROG)。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條 MOVX 和MOVC指令才能將ALE激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ALE禁止位無效。 PSEN:程序儲存允許(PSEN)輸出是外部程序存儲器的讀選通信號,當STC89C51RC

25、由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。 EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用12V編程電壓Vpp。 XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端。

26、2.3 語音芯片部分2.3.1 方案一:采用OTP語音芯片OTP是指一次性可編程語音芯片,語音只能燒寫一次,不能擦除,適合應(yīng)用在不需要修改語音、語音長度短的場合。OTP語音芯片的特點是單芯片方案、價格便宜,適合中小型批量生產(chǎn)。主要應(yīng)用在中低端玩具、電子琴、電動車等產(chǎn)品上。2.3.2 方案二:采用WT588語音芯片WT588系類語音芯片是廣州創(chuàng)維科技有限公司和臺灣華邦共同研發(fā)出來的集單片機與語音電路與一體的可編程語音芯片,它有多種控制模式,包括按鍵控制模式,并口控制模式和串口控制模式。WT588缺點是不能現(xiàn)場錄音,只能通過與電腦連接擦除和改寫語音內(nèi)容,本設(shè)計中需要通過外部現(xiàn)場采集語音信息,所以不

27、予采用。2.3.3 方案三:采用NY3P035BP8語音芯片此語音芯片是一款具有PWM 輸出的OTP 語音標準芯片。共有3 個I/O 口,此語音芯片內(nèi)置電阻,沒有外圍元件,外圍電路只需要一個104 電容就可以穩(wěn)定的工作。性能優(yōu)點:工作電壓2.2-5.5V,適用范圍很寬。輸出方式:PWM有8PIN,DIP8 或者SOP8 封裝片,或者裸片可以選擇??梢詿浡闫鲐浀腛TP 語音芯片。喇叭是8 歐-16 歐范圍內(nèi)的任何喇叭(建議0.25-1W 內(nèi))此芯片是特定的固定標準模塊,可以通過單片機最少2 個I/O口控制多達32 段聲音任意調(diào)用和組合的語音標準芯片,通常最常用的控制方式是3 個I/O,所以采

28、用NY3P035BP8作為語音播報的芯片。2.4 確定系統(tǒng)總體提方案通過以上方法比較,在溫度測量中選用DS18B20溫度傳感器,主控部分采用STC89C51RC單片機,語音部分采用NY3P035BP8語音芯片??傮w方案框圖如圖2.5所示。圖2.5 總體方案框圖2.5 本章小結(jié)本章中確定了系統(tǒng)的設(shè)計總方案,包括溫度傳感器,主控部分和語音部分的方案論證。傳感器部分采用數(shù)字式溫度傳感器DS18B20,它是以單總線方式來傳送數(shù)據(jù)的,控制方便且電路簡單。主控部分采用STC89C51RC單片機,不需要處理大量的數(shù)據(jù),從成本上考慮采用單片機控制。語音部分采用NY3P035BP8語音芯片,它的特點芯片內(nèi)置電阻

29、,沒有外圍元件,外圍電路只需要一個104 電容就可以穩(wěn)定的工作。第3章 硬件電路設(shè)計3.1 單片機的時鐘電路和復(fù)位電路設(shè)計3.1.1 時鐘電路STC89C51RC是內(nèi)部具有振蕩電路的單片機,如圖3.1所示,只需在18腳和19腳之間接上石英晶體,只要給單片機接通+5V直流電源,振蕩器就開始振蕩起來。振蕩電路就為單片機工作提供了所需要的時鐘脈沖信號,單片機開始工作。振蕩電路不工作,整個單片機電路都不能正常工作。18腳和19腳分別對地接了一個30pF的電容,目的是防止單片機自激。若從18腳 輸入外部時鐘脈沖,則19腳接地。圖3.1 時鐘電路3.1.2 復(fù)位電路復(fù)位電路就是在RST端(9腳)外接的一個

30、電路,如圖3.2所示,目的是使單片機上電時,內(nèi)部電路從初始狀態(tài)開始工作,或者在工作中人為讓單片機重新從初始狀態(tài)開始工作。在時鐘工作的情況下,只要復(fù)位引腳高電平保持在兩個機器周期以上的時間,STC89C51RC便能完成系統(tǒng)的復(fù)位,使得內(nèi)部特殊功能寄存器的內(nèi)容均被設(shè)置成已知狀態(tài),并且從地址0000H處讀入程序代碼而執(zhí)行程序。 圖3.2 復(fù)位電路3.2 DS18B20設(shè)計3.2.1 DS18B20的單總線命令根據(jù)DS18B20的通訊協(xié)議,單片機控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:第一步:主機先發(fā)一個復(fù)位脈沖,使總線上的所有DS18B20都被復(fù)位。第二步:發(fā)送ROM操作指令,使序列號編碼匹

31、配的DS18B20被激活,準備接受下面的RAM訪問指令。第三步:RAM訪問指令控制選中的DS18B20工作狀態(tài),完成整個溫度轉(zhuǎn)換,讀取等工作。在ROM命令發(fā)送之前,RAM命令不起作用。一:初始化基于單總線上的所有傳輸過程是以初始化開始的,初始化過程由主機發(fā)出的復(fù)位脈沖和從機響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機知道總線上有從機設(shè)備,且準備就緒。二:ROM命令在主機檢測到應(yīng)答脈沖后,就可以發(fā)出ROM命令,這些命令與各個從機設(shè)備的唯一64位ROM代碼相關(guān),允許主機在單總線上連接多個從機設(shè)備時,指定操作某個從機設(shè)備。這些命令還允許主機能夠檢測到總線上有多少個從機設(shè)備以及其設(shè)備類型,或者有沒有設(shè)備處于報警

32、狀態(tài)。從機設(shè)備可能支持5種ROM命令,每種命令長度為8位。主機在發(fā)出功能命令之前,必須送出合適的ROM命令。DS18B20有5條ROM命令:(1)搜索ROMF0h。當系統(tǒng)初始上電時,主機必須找出總線上所有從機設(shè)備的ROM代碼,這樣主機就能夠判斷出從機的數(shù)目和類型。主機通過重復(fù)執(zhí)行搜索ROM循環(huán)以找出總線上所有的從機設(shè)備。如果總線只有一個從機設(shè)備,則可以采用讀ROM命令來替代搜索ROM命令。在每次執(zhí)行完搜索ROM循環(huán)后,主機必須返回至命令序列的第一步進行初始化。(2)讀ROM33h。該命令僅使適用于總線上只有一個從機設(shè)備。它允許主機直接讀出從機的64位ROM代碼,而無須執(zhí)行搜索ROM過程。如果該

33、命令用于多個節(jié)點系統(tǒng),則必然發(fā)生數(shù)據(jù)沖突,因為每個從機設(shè)備都會響應(yīng)該命令。(3)匹配ROM55h。匹配ROM命令跟隨64位ROM代碼,從而允許主機訪問多節(jié)點系統(tǒng)中某個指定的從機設(shè)備。當從機完全匹配64位ROM代碼時,才會響應(yīng)主機隨后發(fā)出的功能命令。其它設(shè)備將處于等待復(fù)位脈沖狀態(tài)。(4)跳躍ROMCCh。主機能夠采用該命令同時訪問總線上的所有從機設(shè)備,而無須發(fā)出任何ROM代碼信息。例如, 主機通過在發(fā)出跳越ROM命令后跟隨轉(zhuǎn)換溫度命令44h,就可以同時命令總線上所有的DS18B20 開始轉(zhuǎn)換溫度,這樣大大節(jié)省了主機的時間。值得注意,如果跳越ROM命令跟隨的是讀暫存器BEh的命令(包括其它讀操作命

34、令),則該命令只能應(yīng)用于單節(jié)點系統(tǒng),否則將由于多個節(jié)點都響應(yīng)該命令而引起數(shù)據(jù)沖突。(5)報警搜索ECh。除那些設(shè)置了報警標志的從機響應(yīng)外,該命令的工作方式完全等同于搜索ROM命令。該命令允許主機設(shè)備判斷那些從機設(shè)備發(fā)生了報警,如測量溫度過高或過低等。同搜索ROM命令一樣,在完成報警搜索循環(huán)后,主機必須返回至命令序列的第一步進行初始化。 三:RAM操作命令DS18B20有6條操作指令:(1)寫RAM命令(4EH)。寫入開始地址位TH,隨后是TL和配置字節(jié),所有寫入操作必須在DS18B20復(fù)位之前完成。(2)讀RAM命令(BEH)。該命令從字節(jié)0開始,一直讀完所有字節(jié)。(3)復(fù)制暫存器命令(48H

35、)。將暫存器內(nèi)容復(fù)制到片內(nèi)E2PROM中。(4)啟動溫度轉(zhuǎn)換命令(44H)。啟動總線上的DS18B20進行溫度轉(zhuǎn)換。(5)讀E2PROM命令(B8H)。將E2PROM內(nèi)的數(shù)據(jù)回讀RAM。(6)讀供電模式命令(B4H)。若是寄生電源,返回0;若是外部電源,返回1。3.2.2 DS18B20的概述DS18B20是美國DSLLAS半導體公司推出的第一篇支持“一線總線”接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等優(yōu)點,可直接將溫度轉(zhuǎn)化成串型數(shù)字信號供處理器處理。一:DS18B20溫度傳感器特性(1)適應(yīng)電壓范圍寬,電壓范圍在3.05.5V,在寄生電源方式下可有數(shù)據(jù)線供電

36、。(2)獨特的單線接口方式,它與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通信。(3)支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。(4)在使用中不需要任何外圍元件,全部傳感器元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。(5)測溫范圍-55+125,在-10+85時精度為0.5。(6)可編程分辨率為912位,對應(yīng)的可分辨率溫度分別為0.5,0.25,0.125和0.0625,可實現(xiàn)高精度測溫。(7)在9位分辨率時,最多在93.78ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字;12位分辨率時,最多在750ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,顯示速度快。(8)測量結(jié)果直接

37、輸出數(shù)字溫度信號,以“一線總線”串行送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。(9)負壓特性。電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。二:應(yīng)用范圍(1)冷凍庫、糧倉、儲罐、電信機房、電力機房、電纜線槽等測溫和控制領(lǐng)域。(2)軸瓦、缸體、紡織、空調(diào)等狹小空間工業(yè)設(shè)備測溫和控制。(3)汽車空調(diào)、冰箱、冷柜以及中低緯度干燥箱等。(4)供熱、制冷管道熱量計量、中央空調(diào)分戶熱能計量等。三:引腳介紹 圖3.5 實物圖 (b)DS18B20八角SOIC引腳定義GND電源負極DQ信號輸入輸出VDD電源正極NC空。 圖3.3 DS18B20實物及引腳 圖3.4 DS18B20引

38、腳封裝圖3.2.3 DS18B20的測溫原理DS18B20內(nèi)部結(jié)構(gòu)主要由64位ROM、溫度靈敏元件、內(nèi)部存儲器和配置寄存器四部分組成,如圖3.5所示。 圖3.5 DS18B20 內(nèi)部結(jié)構(gòu)一:64位ROM64位光刻ROM結(jié)構(gòu)如下:8位CRC校驗碼48位序列號8位產(chǎn)品代碼64位ROM的內(nèi)容是64位序列號,是出廠前被光刻好的,它可以被看做是該DS18B20的地址序列碼,其作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS18B20的目的。這一點很像每一個網(wǎng)卡芯片都有一個各不相同的MAC地址。這64位ROM的排列是:開始8位是產(chǎn)品類型標號,接著的48位是該DS18B20自身的

39、序列號,最后8位是前面56位的循環(huán)冗余校驗碼。二:溫度靈敏元件溫度靈敏元件完成對溫度的測量,測量后的結(jié)果存儲在兩個字節(jié)的溫度寄存器中,溫度存儲器高位的前5位是符號位,當溫度大于零時,這5位為0,而當溫度小于零時,這5位為1。高位剩下的3位和低位的前4位是溫度的整數(shù)位,低位的后4位是溫度的小數(shù)位,當溫度大于零時它們以原碼的形式存儲,而當溫度小于零時以二進制的補碼形式存儲。當轉(zhuǎn)換位數(shù)為12位時,溫度的精度為0.0625,當轉(zhuǎn)換位數(shù)為11位時,溫度的精度為0.125,依此類推。DS18B20的裝換精度為812位可選,為了提高精度采用12位。在采用12位轉(zhuǎn)換精度時,溫度寄存器里的值是以0.0625為步

40、進的,即溫度值為溫度寄存器里的二進制值乘以0.0625,就是實際的十進制溫度值。例如,當轉(zhuǎn)換的最大值07D0H對應(yīng)的溫度是+125,則+25的數(shù)字輸出為0190H,-55的數(shù)字輸出為FC90H。由此不難推出DS18B20的溫度轉(zhuǎn)換值和溫度的對照表,如表3.1所示。溫度/二進制數(shù)表示十六進制數(shù)表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000

41、0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-551111 1100 1001 0000FC90H表3.1DS18B20的溫度轉(zhuǎn)換值和溫度的對照表因為小數(shù)部分是半字節(jié),所以二進制值范圍是0F,轉(zhuǎn)換成小數(shù)值就是0.0625的倍數(shù)(015倍)。這樣需要精確到小數(shù)點4位,實際不必有那么高的精確度,一般可以精確到0.1。表3.2就是二進制與十進制的近似對應(yīng)關(guān)系表。小數(shù)部分二進制值0123456789ABCDEF十進制值0011233455667889表3.2小數(shù)部分二進制和十進制的近似對應(yīng)關(guān)系表三:DS18B20內(nèi)部存儲器DS18B20溫度傳感器的內(nèi)部

42、存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的EEPROM,后者存放高溫度和低溫度觸發(fā)器TH、TL以及配置寄存器,共9位。DS18B20溫度傳感器的內(nèi)部存儲器字節(jié)順序如下:溫度值低位溫度值高位THTL配置寄存器保留保留保留8位CRC字節(jié)0字節(jié)1字節(jié)2字節(jié)3字節(jié)4字節(jié)5字節(jié)6字節(jié)7字節(jié)8第0,1字節(jié)保存溫度數(shù)值,其中第0字節(jié)為低位,第1字節(jié)為高位。當溫度轉(zhuǎn)換命令發(fā)布后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后。第2,3字節(jié)鎖存器TH和TL保存非易失性溫度報警數(shù)據(jù),可以通過軟件寫入用戶報警上下限值。第

43、4字節(jié)是配置寄存器,其內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20工作時按此寄存器的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。該字節(jié)各位的定義如下:TMR1R011111該寄存器低5位都是1。TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,在DS18B20出廠時該位被設(shè)置為0(工作模式),不需要改動。R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),即是用來設(shè)置分辨率的,如表3.3所示,DS18B20出廠時被設(shè)置為12位。R1R0分辨率最大溫度轉(zhuǎn)換時間/ms009位93.750110位187.501011位375.001112位750.00表3.3 溫度分辨率設(shè)置表第57字節(jié)未用,全為邏輯1。

44、第8字節(jié)讀出的是前面所有8個字節(jié)的循環(huán)冗余校驗碼(CRC),可用來保證通信的正確。CRC存儲在64位ROM的最高字節(jié)中。單片機根據(jù)ROM的前56位來計算CRC值,并和存入DS18B20中的CRC值做比較,以判斷收到的ROM數(shù)據(jù)是否正確。 四:工作時序圖(1)初始化時序如圖3.6 圖3.6初始化時序1) 先將數(shù)據(jù)線置高電平1。2) 延時(該時間要求不是很嚴格,但是要盡可能短一點)。3) 數(shù)據(jù)線拉到低電平0。4) 延時750us(該時間范圍可以在480us960us)。5) 數(shù)據(jù)線拉到高電平1。6) 延時等待。如果初始化成功則在1560us內(nèi)產(chǎn)生一個有DS18B20返回的低電平0,據(jù)該狀態(tài)可以確定

45、它的存在。但是應(yīng)注意,不能無限地等待,不然會使程序進入死循環(huán),所以要進行超時判斷。7) 若CPU讀到數(shù)據(jù)線上的低電平0后,還要進行延時,其延時的時間從發(fā)出高電平算起(第5)步的時間算起)最少要480us。8) 將數(shù)據(jù)線再次拉到高電平1后結(jié)束。(2)DS18B20寫數(shù)據(jù)時序圖如圖3.7 圖3.7 寫數(shù)據(jù)時序圖1) 數(shù)據(jù)線先置低電平0。2) 延時確定的時間為15us。3) 按從低位到高位的順序發(fā)送數(shù)據(jù)(一次只發(fā)送一位)。4) 延時時間為45us。5) 將數(shù)據(jù)線拉高到高電平1。6) 重復(fù)1)5)步驟,直到發(fā)送完整個字節(jié)。7) 最后將數(shù)據(jù)線拉高到1。(3)DS18B20讀數(shù)據(jù)時序圖如圖3.8 圖3.8

46、 讀數(shù)據(jù)時序圖1) 將數(shù)據(jù)線拉高到1。2) 延時2us。3) 將數(shù)據(jù)線拉低到0。4) 延時6us。5) 將數(shù)據(jù)線拉高到1。6) 延時4us。7) 讀數(shù)據(jù)線的狀態(tài)位,并進行數(shù)據(jù)處理。8) 延時30us。 重復(fù)1)7)步驟,直到讀取完一個字節(jié)3.2.4 DS18B20與單片機的接口設(shè)計在外部電源供電方式下,DS18B20工作電源由VDD引腳接入,由外部電源供電,可以保證轉(zhuǎn)換精度,同時在總線上理論上可以掛接任意多個DS18B20,組成多點測溫系統(tǒng)。在外部電源供電方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點,即使電源電壓VCC降到3V時,依然能夠保證測溫精度。本設(shè)計就是采用外部供電方式,VD

47、D接+5V,GND接地,單片機的P2.7口與DS18B20的DQ端相連。在此方式下,DS18B20工作穩(wěn)定可靠,抗干擾能力強,而且電路也比較簡單。電路如圖3.9所示。 圖3.9外部電源供電方式電路圖3.3 NY3P035BP8語音錄放電路設(shè)計3.3.1 NY3P035BP8語音芯片的介紹語音模塊設(shè)計采用NY3P035芯片,該芯片內(nèi)部含有一個ROM表。單片機通過對該芯片發(fā)送序列的脈沖信號來查找該ROM的地址,以此來發(fā)出聲音。電路如圖3.10所示。 圖3.10語音芯片引腳圖單片機控制原理是:先發(fā)送一個復(fù)位脈沖到 RST(Rest)腳,接著發(fā)送 10 個脈沖到 DATA 腳。芯片即刻工作,播放第十段

48、的聲音;如果需要播放第五段的聲音,則是:先發(fā)送一個復(fù)位脈沖到 REST 腳,接著發(fā)送 5 個脈沖到 DATA 腳。芯片即刻工作,播放第 5 段的聲音;3.3.2 由單片機控制的錄放電路控制原理說明:此控制方式是采用了模擬串行的控制方式。如需要播放第幾個地址的內(nèi)容就發(fā)送幾個脈沖(大于0.2ms 即可,建議采用1ms 左右,下同)的原理,可以快速的控制多達32 段地址的任意組合。模擬串行工作時各IO 的作用:BUSY:芯片工作時(播放聲音),輸出低電平,停止工作或者待機時,保持高電平;DATA:接受控制脈沖的腳位。收到幾個脈沖,就播放第幾個地址的內(nèi)容;REST:任何時候,收到一個脈沖的時候,可以使

49、芯片的播放指針歸零(就是是DATA 的腳位恢復(fù)到初始狀態(tài)),同時即刻是芯片停止,進入待機狀態(tài);工作示例:例如現(xiàn)在需要播放第十段聲音。單片機控制原理是:先發(fā)送一個復(fù)位脈沖到RST(Rest)腳,接著發(fā)送10 個脈沖到DATA 腳。芯片即刻工作,播放第十段的聲音;如果需要播放第五段的聲音,則是:先發(fā)送一個復(fù)位脈沖到REST 腳,接著發(fā)送5 個脈沖到DATA 腳。芯片即刻工作,播放第5 段的聲音;例如需要連續(xù)播放第十段和第五段聲音:先發(fā)送一個復(fù)位脈沖到REST 腳,接著發(fā)送10 個脈沖到DATA 腳。芯片即刻工作,播放第十段的聲音,同時單片機判斷語音芯片的BUSY 是否是高電平,如果不是則一直等待,

50、如果是高電平,則發(fā)送一個復(fù)位脈沖到RST 腳,接著發(fā)送5 個脈沖到DATA 腳。芯片即刻工作,播放第5 段的聲音.依此類推。電路如圖3.11所示。 圖3.11 播放電路3.4 LED數(shù)碼顯示電路LED顯示器工作方式有兩種:靜態(tài)顯示方式和動態(tài)顯示方式。靜態(tài)顯示的特點是每個數(shù)碼管的段選必須接一個8位數(shù)據(jù)線來保持顯示的字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優(yōu)點是占用CPU時間少,顯示便于監(jiān)測和控制。缺點是硬件電路比較復(fù)雜,成本較高。動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即

51、輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。動態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時應(yīng)略小于靜態(tài)顯示電路中的。 本設(shè)計采用8段4位共陰極數(shù)碼管,如圖3-9所示是一個共陰極接法的4位LED顯示器。其中管腳a、b、c、d、e、f、g為4位LED各段的公共引出端;D1、D2、D3、D4分別是每一位的共陰極輸出端;dp是小數(shù)點引出端。由于4位LED陰極的各段已經(jīng)在內(nèi)部接在一起,所以必須使用動態(tài)掃描方式。單片機的P0.0P0.7控制數(shù)碼管的段選,P2.2P2.5分別控制數(shù)碼管的位選。電路如圖3.12所示。圖3.12 LED顯示器電路3.5 小結(jié)本章主要是硬件電路的設(shè)計。硬件設(shè)計主要包括主控模塊,溫度測量模塊,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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

提交評論