版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、河北工業(yè)大學(xué)畢業(yè)設(shè)計(jì)說明書(論文)作 者:王亮 學(xué) 號: 078303 系 : 電子系 專 業(yè):電子信息工程題 目:基于DS1820組件的數(shù)字溫度計(jì)設(shè)計(jì)指導(dǎo)者:龐晶(姓 名) (專業(yè)技術(shù)職務(wù))評閱者:(姓 名) (專業(yè)技術(shù)職務(wù))2010 年 5 月21 日河北工業(yè)大學(xué)畢 業(yè) 論 文作 者: 王亮 學(xué) 號: 078303 系 : 電子系 專 業(yè):電子信息工程題 目:基于DS1820組件的數(shù)字溫度計(jì)設(shè)計(jì)指導(dǎo)者:(姓 名) (專業(yè)技術(shù)職務(wù))評閱者:(姓 名) (專業(yè)技術(shù)職務(wù))2010年 5 月21日題 目:基于DS1820組件的數(shù)字溫度計(jì)設(shè)計(jì)摘要:隨著時(shí)代的進(jìn)步和發(fā)展傳感器技術(shù)已經(jīng)普及到我們生活、工
2、作、科研、各個(gè)領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù), 本文主要介紹了一個(gè)基于DS1820組件的測溫系統(tǒng),詳細(xì)描述了利用數(shù)字溫度傳感器DS1820開發(fā)測溫系統(tǒng)的過程,重點(diǎn)對傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,對各部分的電路也一一進(jìn)行了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)實(shí)現(xiàn)溫度采集和顯示,并可根據(jù)需要任意設(shè)定上下限報(bào)警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。DS1820與AT89C51結(jié)合實(shí)現(xiàn)最簡溫度檢測系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡單,抗干
3、擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場溫度測量或遠(yuǎn)程測控,有廣泛的應(yīng)用前景。關(guān)鍵詞:單片機(jī);溫度檢測;AT89S51;DS1820;TitleDS1820 component-based design of digital thermometerAbstract: As the times progress and development of sensor technology has spread to our lives, work, research in various fields has become a relatively mature technology, this pape
4、r presents a component based on the DS1820 temperature measurement system, a detailed description of the use of digital temperature sensor DS1820 temperature measurement system development process, focusing on the sensor under the SCM hardware connections, software programming, and the module system
5、 process and a detailed analysis of the various parts of the circuits were introduced one by one, the system can easily achieve achieve temperature acquisition and display, and can be arbitrarily set upper and lower alarm temperature, it is very convenient to use, high accuracy, wider range, high se
6、nsitivity, small size, low power consumption, suitable for our daily life and work agricultural production in the temperature measurement, temperature processing module can also be embedded as other systems, as other supporting expansion of the main system. DS1820 with AT89C51 combined to realize th
7、e most simple temperature detection system, Gai system is simple, anti-jamming capability, suitable for harsh environments Xia Jin Xing field temperature measurements or remote monitoring and control, there Guangfan the application prospects.KEYWORDS: MICROCONTROLLER; TEMPERATURE DETECTION; AT89S51;
8、 DS1820;目次1、引言42、設(shè)計(jì)內(nèi)容及性能指標(biāo)53、系統(tǒng)方案論證與比較53.1、方案一53.2、方案二64、系統(tǒng)器件選擇94.1、 單片機(jī)的選擇74.11、AT89S51引腳功能介紹84.2、溫度傳感器的選擇104.21、DS1820 簡單介紹:104.22、DS1820 使用中的注意事項(xiàng)114.23 、 DS1820 內(nèi)部結(jié)構(gòu)124.24、DS1820測溫原理144.25、提高DS1820測溫精度的途徑164.3、顯示及報(bào)警模塊器件選擇175、硬件設(shè)計(jì)電路175.1、主控制器175.2、顯示電路175.3、 溫度檢測電路185.4、溫度報(bào)警電路236、 軟件設(shè)計(jì)216.1、 概述246
9、.2、主程序模塊246.3、各模塊流程設(shè)計(jì)256.31、 溫度檢測流程266.32、報(bào)警模塊流程266.33、 中斷設(shè)定流程277.總結(jié)28附錄291、引言隨著科技的不斷發(fā)展,現(xiàn)代社會(huì)對各種信息參數(shù)的準(zhǔn)確度和精確度的要求都有了幾何級的增長,而如何準(zhǔn)確而又迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信息基礎(chǔ)的發(fā)展水平。在三大信息信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))中,傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器技術(shù),在我國各領(lǐng)域已經(jīng)引用的非常廣泛,可以說是滲透到社會(huì)的每一個(gè)領(lǐng)域,人民的生活與環(huán)境的溫度息息相關(guān),不僅在工業(yè)生產(chǎn)過程中需要實(shí)時(shí)測量溫度,在農(nóng)業(yè)生產(chǎn)中也離不
10、開溫度的測量,因此研究溫度的測量方法和裝置具有重要現(xiàn)實(shí)意義。溫度的測量關(guān)鍵在測,先測才能有量。傳感器就是測得工具。溫度傳感器的發(fā)展經(jīng)歷了三個(gè)發(fā)展階段:傳統(tǒng)的分立式溫度傳感器模擬集成溫度傳感器智能集成溫度傳感器。目前的智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的,它是微電子技術(shù)、計(jì)算機(jī)技術(shù)和自動(dòng)測試技術(shù)(ATE)的結(jié)晶,特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU)。社會(huì)的發(fā)展使人們對傳感器的要求也越來越高,現(xiàn)在的溫度傳感器正在基于單片機(jī)的基礎(chǔ)上從模擬式向數(shù)字式,從集成化向智能化、網(wǎng)絡(luò)化的方向飛速發(fā)展,并朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、
11、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展,本文將介紹智能集成溫度傳感器DS1820的結(jié)構(gòu)特征及控制方法,并對以此傳感器,AT89S51單片機(jī)為控制器構(gòu)成的數(shù)字溫度測量裝置的工作原理及程序設(shè)計(jì)作了詳細(xì)的介紹。與傳統(tǒng)的溫度計(jì)相比,其具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,輸出溫度采用數(shù)字顯示,主要用于對測溫要求比較準(zhǔn)確的場所,或科研實(shí)驗(yàn)室使用,或遠(yuǎn)程測控。該設(shè)計(jì)控制器使用ATMEL公司的AT89S51單片機(jī),測溫傳感器使用DALLAS公司DS1820,用LED數(shù)碼管來實(shí)現(xiàn)溫度顯示。2、設(shè)計(jì)內(nèi)容及性能指標(biāo)本設(shè)計(jì)主要是介紹了在單片機(jī)控制下的測溫系統(tǒng),能夠直觀顯示出溫度數(shù)值。當(dāng)溫度
12、超過上限或低于下限能夠報(bào)警。3、系統(tǒng)方案論證與比較該系統(tǒng)主要由溫度測量和數(shù)據(jù)采集兩部分電路組成,實(shí)現(xiàn)的方法有很多種,下面將列出兩種實(shí)現(xiàn)方案。3.1、方案一采用熱電偶溫差電路測溫,溫度檢測部分可以使用低溫?zé)崤?,熱電偶由兩個(gè)焊接在一起的異金屬導(dǎo)線所組成(熱電偶的構(gòu)成如圖3.1),熱電偶產(chǎn)生的熱電勢由兩種金屬的接觸電勢和單一導(dǎo)體的溫差電勢組成。通過將參考結(jié)點(diǎn)保持在已知溫度并測量該電壓,便可推斷出檢測結(jié)點(diǎn)的溫度。數(shù)據(jù)采集部分則使用帶有A/D 通道的單片機(jī),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D 轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來。熱電偶的優(yōu)點(diǎn)是工作
13、溫度范圍非常寬,且體積小,但是它們也存在著輸出電壓小、容易遭受來自導(dǎo)線環(huán)路的噪聲影響以及漂移較高的缺點(diǎn),并且這種設(shè)計(jì)需要用到A/D 轉(zhuǎn)換電路,感溫電路比較麻煩。圖3.1熱電偶電路圖系統(tǒng)主要包括對A/D0809 的數(shù)據(jù)采集,自動(dòng)手動(dòng)工作方式檢測,溫度的顯示等,這幾項(xiàng)功能的信號通過輸入輸出電路經(jīng)單片機(jī)處理。此外還有復(fù)位電路,晶振電路,啟動(dòng)電路等。故現(xiàn)場輸入硬件有手動(dòng)復(fù)位鍵、A/D 轉(zhuǎn)換芯片,處理芯片為51 芯片,執(zhí)行機(jī)構(gòu)有4 位數(shù)碼管、報(bào)警器等。系統(tǒng)框圖如圖3.2所示:圖3.2熱電偶溫差電路測溫系統(tǒng)框圖3.2、方案二采用數(shù)字溫度芯片DS1820 測量溫度,輸出信號全數(shù)字化。便于單片機(jī)處理及控制,省
14、去傳統(tǒng)的測溫方法的很多外圍電路。且該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,此元件線形較好。在0100 攝氏度時(shí),最大線形偏差小于1 攝氏度。DS1820 的最大特點(diǎn)之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計(jì)DS1820和微控制器AT89S51構(gòu)成的溫度測量裝置,它直接輸出溫度的數(shù)字信號,可直接與計(jì)算機(jī)連接。這樣,測溫系統(tǒng)的結(jié)構(gòu)就比較簡單,體積也不大。采用51 單片機(jī)控制,軟件編程的自由度大,可通過編程實(shí)現(xiàn)各種各樣的算術(shù)算法和邏輯控制,而且體積小,硬件實(shí)現(xiàn)簡單,安裝方便。既可以單獨(dú)對多DS1820控制工作,還可以與PC 機(jī)通信上傳數(shù)據(jù),另外AT89S51 在工業(yè)控制上也有著廣泛的應(yīng)用,編程
15、技術(shù)及外圍功能電路的配合使用都很成熟。該系統(tǒng)利用AT89S51芯片控制溫度傳感器DS120進(jìn)行實(shí)時(shí)溫度檢測并顯示,能夠?qū)崿F(xiàn)快速測量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限報(bào)警溫度。該系統(tǒng)擴(kuò)展性非常強(qiáng),它可以在設(shè)計(jì)中加入時(shí)鐘芯片DS1302以獲取時(shí)間數(shù)據(jù),在數(shù)據(jù)處理同時(shí)顯示時(shí)間,并可以利用AT24C16芯片作為存儲(chǔ)器件,以此來對某些時(shí)間點(diǎn)的溫度數(shù)據(jù)進(jìn)行存儲(chǔ),利用鍵盤來進(jìn)行調(diào)時(shí)和溫度查詢,獲得的數(shù)據(jù)可以通過MAX232芯片與計(jì)算機(jī)的RS232接口進(jìn)行串口通信,方便的采集和整理時(shí)間溫度數(shù)據(jù)。系統(tǒng)框圖如圖3.3所示圖3.3 DS1820溫度測溫系統(tǒng)框圖從以上兩種方案,容易看出方案一的測溫裝置可測溫度范圍寬、
16、體積小,但是線性誤差較大。方案二的測溫裝置電路簡單、精確度較高、實(shí)現(xiàn)方便、軟件設(shè)計(jì)也比較簡單,故本次設(shè)計(jì)采用了方案二。4、系統(tǒng)器件選擇4.1、 單片機(jī)的選擇對于單片機(jī)的選擇,可以考慮使用8031與8051系列,由于8031沒有內(nèi)部RAM,系統(tǒng)又需要大量內(nèi)存存儲(chǔ)數(shù)據(jù),因而不適用。AT89S51 是美國ATMEL 公司生產(chǎn)的低功耗,高性能CMOS8 位單片機(jī),片內(nèi)含4kbytes 的可編程的Flash 只讀程序存儲(chǔ)器,兼容標(biāo)準(zhǔn)8051 指令系統(tǒng)及引腳。它集Flash 程序存儲(chǔ)器既可在線編程(ISP),也可用傳統(tǒng)方法進(jìn)行編程,所以低價(jià)位AT89S51單片機(jī)可為提供許多高性價(jià)比的應(yīng)用場合,可靈活應(yīng)用于
17、各種控制領(lǐng)域,對于簡單的測溫系統(tǒng)已經(jīng)足夠。單片機(jī)AT89S51 具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。主要特性如下與MCS-51 兼容4K字節(jié)可編程閃爍存儲(chǔ)器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲(chǔ)器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路 圖4.1 AT89S51單片機(jī)引腳圖AT89S51 引腳功能介紹AT89S51 單片機(jī)為40 引腳雙列直插式封裝。其引腳排列和邏
18、輯符號如圖4.1 所示。各引腳功能簡單介紹如下:VCC:供電電壓 GND:接地 P0口:P0口為一個(gè)8位漏級開路雙向I/O口,每個(gè)管腳可吸收8TTL門電流。當(dāng)P1口的管腳寫“1”時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部電位必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入“1”后,電位被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH
19、編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳電位被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時(shí),P2口的管腳電位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號和控制信號。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出
20、4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入時(shí),由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口:P3.0 RXD(串行輸入口)l P3.1 TXD(串行輸出口)l P3.2 INT0(外部中斷0)l P3.3 INT1(外部中斷1)l P3.4 T0(記時(shí)器0外部輸入)l P3.5 T1(記時(shí)器1外部輸入)l P3.6 WR (外部數(shù)據(jù)存儲(chǔ)器寫選通)l P3.7 RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)同時(shí)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持
21、RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE / PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令時(shí)ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。PSEN:外部程序存儲(chǔ)器的選通信號。在由外部程序存儲(chǔ)器取址期間,
22、每個(gè)機(jī)器周期PSEN兩次有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號將不出現(xiàn)。EA/VPP:當(dāng)EA保持低電平時(shí),訪問外部ROM;注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),訪問內(nèi)部ROM。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。4.2、溫度傳感器的選擇由于傳統(tǒng)的熱敏電阻等測溫元件測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比較多的外部元件支持,且硬件電路復(fù)雜,制作成本相對較高。這里采用DALLAS公司的數(shù)字溫度傳感器DS1820作為測溫元件。4
23、.21 DS1820 簡介:DALLAS 最新單線數(shù)字溫度傳感器DS1820是一種新型的“一線器件”,其體積更小、更適用于多種場合、且適用電壓更寬、更經(jīng)濟(jì)。DALLAS 半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測量范圍為-55+125 攝氏度,可編程為9位12 位轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625攝氏度,分辨率設(shè)定參數(shù)以及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM 中,掉電后依然保存。被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可以在遠(yuǎn)端引入,也可以采用寄生電源方式產(chǎn)生;多個(gè)DS1820可以并聯(lián)到3 根或2 根線上,CPU只需一根
24、端口線就能與諸多DS1820 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。因此用它來組成一個(gè)測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。DS1820 的性能特點(diǎn)如下:獨(dú)特的單線接口方式,DS1820在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS1820的雙向通訊DS1820支持多點(diǎn)組網(wǎng)功能,多個(gè)DS1820可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫DS1820在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)適應(yīng)電壓范圍更寬,電壓范圍:3.05.5V,在寄生電源方式下可由數(shù)據(jù)線供電溫范圍55125,在-10+8
25、5時(shí)精度為0.5零待機(jī)功耗可編程的分辨率為912位,對應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625,可實(shí)現(xiàn)高精度測溫在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快用戶可定義報(bào)警設(shè)置報(bào)警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報(bào)警條件)的器件測量結(jié)果直接輸出數(shù)字溫度信號,以一線總線串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作以上特點(diǎn)使DS1820非常適用與多點(diǎn)、遠(yuǎn)距離溫度檢測系統(tǒng)。DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64
26、位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。DS1820的管腳排列、各種封裝形式如圖4.2 所示,DQ 為數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供電源;GND為地信號;VDD為可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。其電路圖4.3所示.。圖4.3傳感器電路圖圖4.2外部封裝形式4.22 DS1820使用中的注意事項(xiàng)DS1820 雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問題:DS1820 從測溫結(jié)束到將溫度值轉(zhuǎn)換成數(shù)字量需要一定的轉(zhuǎn)換時(shí)間,這是必須保證的,不然
27、會(huì)出現(xiàn)轉(zhuǎn)換錯(cuò)誤的現(xiàn)象,使溫度輸出總是顯示85。在實(shí)際使用中發(fā)現(xiàn),應(yīng)使電源電壓保持在5V 左右,若電源電壓過低,會(huì)使所測得的溫度精度降低。較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS1820進(jìn)行讀寫編程時(shí),必須嚴(yán)格的保證讀寫時(shí)序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進(jìn)行系統(tǒng)程序設(shè)計(jì)時(shí),對DS1820操作部分最好采用匯編語言實(shí)現(xiàn)。在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820 數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個(gè)DS1820,在實(shí)際應(yīng)用中并非如此,當(dāng)單總線上所掛DS1820 超過8 個(gè)時(shí),就需要解決微處理器的總
28、線驅(qū)動(dòng)問題,這一點(diǎn)在進(jìn)行多點(diǎn)測溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。在DS1820測溫程序設(shè)計(jì)中,向DS1820 發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個(gè)DS1820 接觸不好或斷線,當(dāng)程序讀該DS1820 時(shí),將沒有返回信號,程序進(jìn)入死循環(huán),這一點(diǎn)在進(jìn)行DS1820硬件連接和軟件設(shè)計(jì)時(shí)也要給予一定的重視。4.23 DS1820 內(nèi)部結(jié)構(gòu)圖為DS1820的內(nèi)部框圖,它主要包括寄生電源、溫度傳感器、64位激光ROM單線接口、存放中間數(shù)據(jù)的高速暫存器(內(nèi)含便箋式RAM),用于存儲(chǔ)用戶設(shè)定的溫度上下限值的TH和TL觸發(fā)器存儲(chǔ)與控制邏輯、8位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器等七部分。DS18
29、B20采用腳PR35 封裝或腳SOIC封裝,其內(nèi)部結(jié)構(gòu)框圖如圖4.4所示I/O64 位ROM和單線接口存儲(chǔ)區(qū)存儲(chǔ)器與控制邏輯溫度傳感器高溫觸發(fā)器TH低溫觸發(fā)器TL8位CRC發(fā)生器圖4.4 DS1820內(nèi)部結(jié)構(gòu)框圖64 b閃速ROM的結(jié)構(gòu)如下:開始位是產(chǎn)品類型的編號,接著是每個(gè)器件的惟一的序號,共有48 位,最后位是前面56 位的CRC 檢驗(yàn)碼,這也是多個(gè)DS1820 可以采用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器和,可通過軟件寫入戶報(bào)警上下限。主機(jī)操作ROM的命令有五種,如下:指 令說 明讀ROM(33H)讀DS1820的序列號匹配ROM(55H)繼讀完64位序列號的一個(gè)命令,用于多個(gè)DS1820
30、時(shí)定位跳過ROM(CCH)此命令執(zhí)行后的存儲(chǔ)器操作將針對在線的所有DS1820搜ROM(F0H)識別總線上各器件的編碼,為操作各器件作好準(zhǔn)備報(bào)警搜索(ECH)僅溫度越限的器件對此命令作出響應(yīng)DS1820 溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)便箋式RAM和一個(gè)非易失性的可電擦除的EERAM。便箋式RAM的結(jié)構(gòu)為字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖4.5所示。 圖4.5 便箋式RAM結(jié)構(gòu)圖前個(gè)字節(jié)包含測得的溫度信息,第和第字節(jié)和的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。便箋式RAM的第4、5字節(jié)保留未用,表現(xiàn)為全邏輯。第字節(jié)讀出前面所有字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。DS1820工作時(shí)寄存器
31、中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。TM R1 R0 1 1 1 1 1該字節(jié)各位的定義如下:當(dāng)DS1820接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在便箋式RAM的第1,2字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù),讀取時(shí)低位在前,高位在后,數(shù)據(jù)格式以0.062 5 /LSB形式表示。溫度值格式如下:這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在DS1820的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0
32、625即可得到實(shí)際溫度。圖中,S表示位。對應(yīng)的溫度計(jì)算:當(dāng)符號位S=0時(shí),表示測得的溫度植為正值,直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)S=1時(shí),表示測得的溫度植為負(fù)值,先將補(bǔ)碼變換為原碼,再計(jì)算十進(jìn)制值。例如+125的數(shù)字輸出為07D0H,+25.0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出為FF6FH,-55的數(shù)字輸出為FC90H。DS1820溫度傳感器主要用于對溫度進(jìn)行測量,數(shù)據(jù)可用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,并以0.0625LSB形式表示。表1是部分溫度值對應(yīng)的二進(jìn)制溫度表示數(shù)據(jù)。表1 部分溫度值DS1820完成溫度轉(zhuǎn)換后,就把測得的溫度值與RAM中的TH、TL字節(jié)內(nèi)
33、容作比較,若TTH或TTL,則將該器件內(nèi)的告警標(biāo)志置位,并對主機(jī)發(fā)出的告警搜索命令作出響應(yīng)。因此,可用多只DS1820同時(shí)測量溫度并進(jìn)行告警搜索。在64位ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來計(jì)算CRC值,并和存入DS1820中的CRC值做比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。4.24 DS1820測溫原理DS1820的測溫原理如圖4.6所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小用于產(chǎn)生固定頻率的脈沖信號送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),
34、DS1820就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測量.計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55 所對應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測溫圖2中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性其輸出
35、用,于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度寄存器值達(dá)到被測溫度值,這就是DS1820的測溫原理。另外,由于DS1820單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對DS1820的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS1820(發(fā)復(fù)位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)。圖4.6 DS1820測溫原理圖4.25 提高DS1820測溫精度的途徑(1)、DS1820高精度測溫的理論依據(jù) DS1820正常使用時(shí)的測溫分辨率為0.5,這對于水輪發(fā)電機(jī)組軸瓦溫度監(jiān)測來講略顯不足,在對DS1820測溫原理詳細(xì)分析的基礎(chǔ)上,我們采取直接
36、讀取DS1820內(nèi)部暫存寄存器的方法,將DS1820的測溫分辨率提高到0.10.01DS1820內(nèi)部暫存寄存器的分布如表1所示,其中第7字節(jié)存放的是當(dāng)溫度寄存器停止增值時(shí)計(jì)數(shù)器1的計(jì)數(shù)剩余值,第8字節(jié)存放的是每度所對應(yīng)的計(jì)數(shù)值,這樣,我們就可以通過下面的方法獲得高分辨率的溫度測量結(jié)果。首先用DS1820提供的讀暫存寄存器指令(BEH)讀出以0.5為分辨率的溫度測量結(jié)果,然后切去測量結(jié)果中的最低有效位(LSB),得到所測實(shí)際溫度整數(shù)部分T整數(shù),然后再用BEH指令讀取計(jì)數(shù)器1的計(jì)數(shù)剩余值M剩余和每度計(jì)數(shù)值M每度,考慮到DS1820測量溫度的整數(shù)部分以0.25、0.75為進(jìn)位界限的關(guān)系,實(shí)際溫度T實(shí)
37、際可用下式計(jì)算得到:T實(shí)際=(T整數(shù)0.25)+(M每度M剩余)/M每度。根據(jù)DS1820的通訊協(xié)議,主機(jī)控制DS1820完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:每一次讀寫之前都要對DS18B0進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS1B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS1B20收到信號后等待1660微秒左右,后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。(2)、 測量數(shù)據(jù)比較表2為采用直接讀取測溫結(jié)果方法和采用計(jì)算方法得到的測溫?cái)?shù)據(jù)比較,通過比較可以看出,計(jì)算方法在DS1820測溫中不僅是可行的,也可以大大的
38、提高DS1820的測溫分辨率。表2 DS1820 直度測溫結(jié)果與計(jì)算測溫結(jié)果數(shù)據(jù)比較4.3 顯示及報(bào)警模塊器件選擇在本設(shè)計(jì)中溫度測量范圍為0125,精度為0.5,因此只需要數(shù)碼管就可以完成相關(guān)的顯示功能,報(bào)警器可以用蜂鳴器配合三極管來代替。5 硬件設(shè)計(jì)電路溫度計(jì)電路設(shè)計(jì)總框圖如圖5.1所示,控制器使用單片機(jī)AT89C2051,溫度計(jì)傳感器使用DS1820,用LED數(shù)碼管實(shí)現(xiàn)溫度顯示。傳感器A/D轉(zhuǎn)換器顯示器控制器本溫度計(jì)大體分三個(gè)工作過程。首先,由DS1820溫度傳感器芯片測量當(dāng)前的溫度,并將結(jié)果送入單片機(jī)。然后,通過89C205I單片機(jī)芯片對送來的測量溫度讀數(shù)進(jìn)行計(jì)算和轉(zhuǎn)換,經(jīng)顯示電路顯示于
39、LED數(shù)碼管上本電路主要由DSl820溫度傳感器芯片、LED顯示電路和AT89C2051單片機(jī)芯片組成。其中,DSI820溫度傳感器芯片采用“一線制”與單片機(jī)相連,它獨(dú)立地完成溫度測量以及將溫度測量結(jié)果送到單片機(jī)的工作。5.1、主控制器單片機(jī)AT89C2051具有低電壓供電和小體積等特點(diǎn),兩個(gè)端口剛好滿足電路系統(tǒng)的設(shè)計(jì)需要,很合適攜手特式產(chǎn)品的使用。主機(jī)控制DS1820完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:初始化、ROM操作指令、存儲(chǔ)器操作指令。必須先啟動(dòng)DS1820開始轉(zhuǎn)換,再讀出溫度轉(zhuǎn)換值。5.2、顯示電路常用的LED顯示驅(qū)動(dòng)電路有并行譯碼方式、串行并行轉(zhuǎn)換方式、顯示驅(qū)動(dòng)接口芯片方式等.5.21并
40、行譯碼顯示方式右圖為單片機(jī)AT89C2051輸出顯示的一個(gè)例子,4位BCD碼數(shù)據(jù)從其P1.0P1.3并行輸出,經(jīng)7段LED顯示驅(qū)動(dòng)電路CD4511譯碼后驅(qū)動(dòng)LED顯示,這樣只需向P1.0P1.3 寫入欲顯示數(shù)字的BCD碼,即可顯示出相應(yīng)的數(shù)字。這種方式雖然簡單,但占用單片機(jī)口線較多,資源利用率低,因此不常采用。5.22串行譯碼顯示方式右圖所示為AT89C2051的串口驅(qū)動(dòng)數(shù)碼管的電路,其中串口工作在方式0,74LS164是8位串入并出移位寄存器,負(fù)責(zé)將RXD輸出的串行數(shù)據(jù)轉(zhuǎn)換成并行信號。顯然,這種方式顯示同樣的位數(shù)使用單片機(jī)的口線大大減少,并且可以讓LED顯示BCD碼以外的字符(如A、B、C、
41、D 等),但是,當(dāng)要顯示的位數(shù)較多時(shí),仍需占用較多的口線,并且在許多情況下需要串口工作在UART方式,以便進(jìn)行串行通信,從而限制了這種方式的使用范圍。本設(shè)計(jì)顯示電路是使用的串口顯示,這種顯示最大的優(yōu)點(diǎn)就是使用口資源比較少,只用p3口的RXD,和TXD,串口的發(fā)送和接收,四只數(shù)碼管采用74LS164右移寄存器驅(qū)動(dòng),顯示比較清晰。5.3溫度檢測電路DS1820 最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,DS1820 的數(shù)據(jù)I/O 均由同一條線來完成。DS1820 的電源供電方式有2 種: 外部供電方式和寄生電源方式。工作于寄生電源方式時(shí), VDD 和GND 均接地, 他在需要遠(yuǎn)程溫度探測和空間受限的場合特別
42、有用, 原理是當(dāng)1 W ire 總線的信號線DQ 為高電平時(shí), 竊取信號能量給DS1820 供電, 同時(shí)一部分能量給內(nèi)部電容充電, 當(dāng)DQ為低電平時(shí)釋放能量為DS1820 供電。但寄生電源方式需要強(qiáng)上拉電路, 軟件控制變得復(fù)雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到E2PROM 時(shí)) , 同時(shí)芯片的性能也有所降低。因此, 在條件允許的場合, 盡量采用外供電方式。無論是內(nèi)部寄生電源還是外部供電,I/O口線要接5K左右的上拉電。在這里采用前者方式供電.外部電源供電方式是DS1820最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡單,可以開發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。站長推薦大家在開發(fā)中使
43、用外部電源供電方式,畢竟比寄生電源方式只多接一根VCC引線。在外接電源方式下,可以充分發(fā)揮DS1820寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC 降到3V 時(shí),依然能夠保證溫度量精度。由于DS1820 只有一根數(shù)據(jù)線,因此它和主機(jī)(單片機(jī))通信是需要串行通信,而AT89S51 有兩個(gè)串行端口,所以可以不用軟件來模擬實(shí)現(xiàn)。經(jīng)過單線接口訪問DS1820 必須遵循如下協(xié)議:初始化、ROM 操作命令、存儲(chǔ)器操作命令和控制操作。要使傳感器工作,一切處理均嚴(yán)格按照時(shí)序。主機(jī)發(fā)送(Tx)-復(fù)位脈沖(最短為480s 的低電平信號)。接著主機(jī)便釋放此線并進(jìn)入接收方式(Rx)??偩€經(jīng)過4.7K的上拉電阻被拉至高電平
44、狀態(tài)。在檢測到I/O 引腳上的上升沿之后,DS1820 等待1560s,并且接著發(fā)送脈沖(60240s 的低電平信號)。然后以存在復(fù)位脈沖表示DS1820 已經(jīng)準(zhǔn)備好發(fā)送或接收,然后給出正確的ROM 命令和存儲(chǔ)操作命令的數(shù)據(jù)。DS1820 通過使用時(shí)間片來讀出和寫入數(shù)據(jù),時(shí)間片用于處理數(shù)據(jù)位和進(jìn)行何種指定操作的命令。它有寫時(shí)間片和讀時(shí)間片兩種:寫時(shí)間片:當(dāng)主機(jī)把數(shù)據(jù)線從邏輯高電平拉至邏輯低電平時(shí),產(chǎn)生寫時(shí)間片。有兩種類型的寫時(shí)間片:寫1 時(shí)間片和寫0 時(shí)間片。所有時(shí)間片必須有60 微秒的持續(xù)期,在各寫周期之間必須有最短為1微秒的恢復(fù)時(shí)間.讀時(shí)間片:從DS1820 讀數(shù)據(jù)時(shí),使用讀時(shí)間片。當(dāng)主機(jī)
45、把數(shù)據(jù)線從邏輯高電平拉至邏輯低電平時(shí)產(chǎn)生讀時(shí)間片。數(shù)據(jù)線在邏輯低電平必須保持至少1 微秒;來自DS1820 的輸出數(shù)據(jù)在時(shí)間下降沿之后的15 微秒內(nèi)有效。為了讀出從讀時(shí)間片開始算起15微秒的狀態(tài),主機(jī)必須停止把引腳驅(qū)動(dòng)拉至低電平。在時(shí)間片結(jié)束時(shí),I/O 引腳經(jīng)過外部的上_鱯_9L_%拉電阻拉回高電平,所有讀時(shí)間片的最短持續(xù)期為60 微秒,包括兩個(gè)讀周期間至少1s 的恢復(fù)時(shí)間。一旦主機(jī)檢測到DS1820 的存在,它便可以發(fā)送一個(gè)器件ROM 操作命令。所有ROM 操作命令均為8位長。所有的串行通訊,讀寫每一個(gè)bit 位數(shù)據(jù)都必須嚴(yán)格遵守器件的時(shí)序邏輯來編程,同時(shí)還必須遵守總線命令序列,對單總線的D
46、S1820 芯片來說,訪問每個(gè)器件都要遵守下列命令序列:首先是初始化;其次執(zhí)行ROM 命令;最后就是執(zhí)行功能命令(ROM 命令和功能命令后面以表格形式給出)。如果出現(xiàn)序列混亂,則單總線器件不會(huì)響應(yīng)主機(jī)。當(dāng)然,搜索ROM命令和報(bào)警搜索命令,在執(zhí)行兩者中任何一條命令之后,要返回初始化。基于單總線上的所有傳輸過程都是以初始化開始的,初始化過程由主機(jī)發(fā)出的復(fù)位脈沖和從機(jī)響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使主機(jī)知道,總線上有從機(jī),且準(zhǔn)備就緒。在主機(jī)檢測到應(yīng)答脈沖后,就可以發(fā)出ROM 命令。這些命令與各個(gè)從機(jī)設(shè)備的唯一64 位ROM 代碼相關(guān)。在主機(jī)發(fā)出ROM命令,以訪問某個(gè)指定的DS1820,接著就可以發(fā)出D
47、S1820支持的某個(gè)功能命令。這些命令允許主機(jī)寫入或讀出DS1820便箋式RAM、啟動(dòng)溫度轉(zhuǎn)換。軟件實(shí)現(xiàn)DS1820的工作嚴(yán)格遵守單總線協(xié)議:(1)主機(jī)首先發(fā)出一個(gè)復(fù)位脈沖,信號線上的DS1820 器件被復(fù)位。(2)接著主機(jī)發(fā)送ROM命令,程序開始讀取單個(gè)在線的芯片ROM編碼并保存在單片機(jī)數(shù)據(jù)存儲(chǔ)器中,把用到的DS1820 的ROM 編碼離線讀出,最后用一個(gè)二維數(shù)組保存ROM 編碼,數(shù)據(jù)保存在X25043中。(3)系統(tǒng)工作時(shí),把讀取了編碼的DS1820 掛在總線上。發(fā)溫度轉(zhuǎn)換命令,再總線復(fù)位。(4)然后就可以從剛才的二維數(shù)組匹配在線的溫度傳感器,隨后發(fā)溫度讀取命令就可以獲得對應(yīng)的度值了。在主機(jī)
48、初始化過程,主機(jī)通過拉低單總線至少480us,來產(chǎn)生復(fù)位脈沖。接著,主機(jī)釋放總線,并進(jìn)入接收模式。當(dāng)總線被釋放后,上拉電阻將單總線拉高。在單總線器件檢測到上升沿后,延時(shí)1560us,接著通過拉低總線60240us,以產(chǎn)生應(yīng)答脈沖。寫時(shí)序均起始于主機(jī)拉低總線,產(chǎn)生寫1 時(shí)序的方式:主機(jī)在拉低總線后,接著必須在15us之內(nèi)釋放總線。產(chǎn)生寫0 時(shí)序的方式:在主機(jī)拉低總線后,只需在整個(gè)時(shí)序期間保持低電平即可(至少60us)。在寫字節(jié)程序中的寫一個(gè)bit 位的時(shí)候,沒有按照通常的分別寫0時(shí)序和寫1 時(shí)序,而是把兩者結(jié)合起來,當(dāng)主機(jī)拉低總線后在15us 之內(nèi)將要寫的位c 給DO:如果c 是高電平滿足15u
49、s 內(nèi)釋放總線的要求,如果c是低電平,則DOc這條語句仍然是把總線拉在低電平,最后都通過延時(shí)58us 完成一個(gè)寫時(shí)序(寫時(shí)序0或?qū)憰r(shí)序1)過程。寫時(shí)間時(shí)序:當(dāng)主機(jī)把數(shù)據(jù)從邏輯高電平拉到邏輯低電平的時(shí)候,寫時(shí)間隙開始。有兩種寫時(shí)間隙,寫1 時(shí)間隙和寫0 時(shí)間隙。所有寫時(shí)間隙必須最少持續(xù)60s,包括兩個(gè)寫周期至少1s 的恢復(fù)時(shí)間。I/O線電平變低后,DS1820 在一個(gè)15s 到60s 的窗口內(nèi)對I/O 線采樣。如果線上事高電平,就是寫1,如果是低電平,就是寫0。主機(jī)要生成一個(gè)寫時(shí)間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時(shí)間隙開始后的15s 內(nèi)允許數(shù)據(jù)線拉到高電平。主機(jī)要生成一個(gè)寫0 時(shí)間隙,必
50、須把數(shù)據(jù)線拉到低電平并保存60s。每個(gè)讀時(shí)隙都由主機(jī)發(fā)起,至少拉低總線1us,在主機(jī)發(fā)起讀時(shí)序之后,單總線器件才開始在總線上發(fā)送0 或1。所有讀時(shí)序至少需要60us。源程序: 假設(shè)要寫1 B 的數(shù)據(jù), 且數(shù)據(jù)放在A 中。SETBTEM PDNNOPNOPWRITEDS1820LOP: CLRTEM PD INMOV R6, # 08H; 延時(shí)15 LsDJN ZR6, RRCA ; 將要寫數(shù)據(jù)存入CMOV TEM PD IN , C; 將數(shù)據(jù)寫入總線MOV R6, # 14H; 延時(shí)40 LsDJN ZR6, SETBTEM PD IN ; 釋放總線DJN ZR7,WR ITEDS1820LO
51、 P; 寫8 位RET讀時(shí)間時(shí)序:當(dāng)從DS1820 讀數(shù)據(jù)時(shí),主機(jī)生成讀時(shí)間隙。當(dāng)主機(jī)把數(shù)據(jù)從高電平拉到低電平時(shí),寫時(shí)間隙開始,數(shù)據(jù)線必須保持至少1s;從DS1820輸出的數(shù)據(jù)在讀時(shí)間隙的下降沿出現(xiàn)后15s 內(nèi)有效。因此,主機(jī)在讀時(shí)間隙開始后必須把I/O 腳驅(qū)動(dòng)拉為的電平保持15s,以讀取I/O 腳狀態(tài)。在讀時(shí)間隙的結(jié)尾,I/O 引腳將被外部上拉電阻拉到高電平。所有讀時(shí)間隙必須最少60s,包括兩個(gè)讀周期至少1s的恢復(fù)時(shí)間。源程序: 假設(shè)要讀1B 的數(shù)據(jù), 且數(shù)據(jù)放在A 中。READDS1820:MOV R7, # 08H; 1 個(gè)字節(jié)8 位SETBTEM PD INNO PNO PREADDS
52、1820LOO P: CLRTEM PD INNO PSETBTEM PD IN ; 釋放總線MOV R6, # 05H; 延時(shí)10 LsDJN ZR6, MOV C, TEM PD N; 采樣總線數(shù)據(jù)MOV R6, # 14H; 延時(shí)40 LsDJN ZR6, RRCA; 采樣數(shù)據(jù)存入ASETBTEM PD IN ; 釋放總線DJN ZR7, READDS1820LOO P; 采樣下一位MOV R6, # 14H; 延時(shí)40 LsDJN ZR6, RET讀/寫時(shí)序如圖5.3如下:圖5.3 DS1820的讀寫時(shí)序圖復(fù)位時(shí)序:復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS1820收到信號
53、后等待1660 微秒左右,后發(fā)出60240 微秒的存在低脈沖,主CPU 收到此信號表示復(fù)位成功。源程序: 其中TEM PD IN 定義為DS1820 的數(shù)據(jù)管腳, 主機(jī)為A T89C2051。N ITDS1820: SETBTEM PD NNO PNO PCLRTEM PD NMOV R6, # 0A 0H; 延時(shí)640 LsDJN ZR6, MOV R6, # 0A 0HDJN ZR6, SETBTEM PD N; 釋放總線MOV R6, # 32H; 延時(shí)100 Ls, 等待回應(yīng)DJN ZR6, MOV R6, # 3CHLOO P1820: MOV C, TEM PD N ; 采樣總線信
54、號JCN ITDS1820OU TDJN ZR6,LOO P1820MOV R6, # 064HDJN ZR6, SJM PN ITDS1820RETIN ITDS1820OU T: SETBTEM PD NRET復(fù)位時(shí)序如圖5.3所示:5.4、溫度報(bào)警電路本設(shè)計(jì)采軟件處理報(bào)警,利用有源蜂鳴器進(jìn)行報(bào)警輸出,采用直流供電。當(dāng)所測溫度超過獲低于所預(yù)設(shè)的溫度時(shí),數(shù)據(jù)口相應(yīng)拉高電平,報(bào)警輸出。(也可采用發(fā)光二級管報(bào)警電路,如過需要報(bào)警,則只需將相應(yīng)位置1,當(dāng)參數(shù)判斷完畢后,再看報(bào)警模型單元ALARM 的內(nèi)容是否與預(yù)設(shè)一樣,如不一樣,則發(fā)光報(bào)警)報(bào)警電路硬件連接見圖5.10。圖5.10蜂鳴器電路連接圖6
55、軟件設(shè)計(jì)6.1、概述整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。6.2、主程序模塊主程序需要調(diào)用4 個(gè)子程序,分別為數(shù)碼管顯示程序,溫度測試及處理子程序,報(bào)警子程序,中斷設(shè)定子程序。各模塊程序功能如下:數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。溫度測試及處理程序:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 折疊式座椅課程設(shè)計(jì)
- 托幼機(jī)構(gòu)主題課程設(shè)計(jì)
- 2024年度舞蹈室租賃及舞蹈器材租賃合同3篇
- 早教端午節(jié)課程設(shè)計(jì)
- 楊大單片機(jī)課程設(shè)計(jì)
- 揚(yáng)大供配電課程設(shè)計(jì)
- 托班創(chuàng)意涂鴉課課程設(shè)計(jì)
- 最小造價(jià)通信網(wǎng)課程設(shè)計(jì)
- 小雞吃食微課程設(shè)計(jì)
- 安徽自動(dòng)打標(biāo)機(jī)課程設(shè)計(jì)
- 數(shù)據(jù)分析師歷年考試真題試題庫(含答案)
- 2024年人教版初二道德與法治上冊期末考試卷(附答案)
- 3dmax整體設(shè)計(jì)說課稿
- 2024-2025形勢與政策全冊課件
- 2024-2025學(xué)年統(tǒng)編版八年級語文上學(xué)期 專題03 綜合性學(xué)習(xí)
- 中國民間藝術(shù)的奇妙之旅學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 使用個(gè)人充電樁協(xié)議書(2篇)
- 隨車吊吊裝方案
- GB/T 44547-2024精細(xì)陶瓷斷裂韌性試驗(yàn)方法單邊V形切口梁(SEVNB)法
- 合肥長鑫存儲(chǔ)在線測評題2024
- 2024秋期國家開放大學(xué)《西方行政學(xué)說》一平臺(tái)在線形考(任務(wù)一至四)試題及答案
評論
0/150
提交評論