溫度控制課程設(shè)計(jì)論文課件_第1頁(yè)
溫度控制課程設(shè)計(jì)論文課件_第2頁(yè)
溫度控制課程設(shè)計(jì)論文課件_第3頁(yè)
溫度控制課程設(shè)計(jì)論文課件_第4頁(yè)
溫度控制課程設(shè)計(jì)論文課件_第5頁(yè)
已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、綜合課程設(shè)計(jì)論文 實(shí)訓(xùn)課題: 數(shù)字溫度測(cè)量系統(tǒng) 專業(yè)班級(jí): 應(yīng)用電子技術(shù)(1)班 學(xué)生姓名: 陳叢 學(xué) 號(hào): 2013010608 指導(dǎo)老師: 莫釗 摘要隨著社會(huì)的進(jìn)步和工業(yè)技術(shù)的發(fā)展,人們?cè)絹?lái)越重視溫度因素,許多產(chǎn)品對(duì)溫度范圍要求嚴(yán)格,而目前市場(chǎng)上普遍存在的溫度檢測(cè)儀器大都是單點(diǎn)測(cè)量,同時(shí)有溫度信息傳遞不及時(shí)、精度不夠的缺點(diǎn),不利于工業(yè)控制者根據(jù)溫度變化及時(shí)做出決定。在這樣的形式下,開(kāi)發(fā)一種能夠同時(shí)測(cè)量多點(diǎn),并且實(shí)時(shí)性高、精度高,能夠綜合處理多點(diǎn)溫度信息的測(cè)量系統(tǒng)就很有必要。本課題以AT89C51單片機(jī)系統(tǒng)為核心,能對(duì)多點(diǎn)的溫度進(jìn)行實(shí)時(shí)巡檢。DS18B20是一種可組網(wǎng)的高精度數(shù)字式溫度傳感器

2、,由于其具有單總線的獨(dú)特優(yōu)點(diǎn),可以使用戶輕松地組建起傳感器網(wǎng)絡(luò),并可使多點(diǎn)溫度測(cè)量電路變得簡(jiǎn)單、可靠。本文結(jié)合實(shí)際使用經(jīng)驗(yàn),介紹了DS18B20數(shù)字溫度傳感器在單片機(jī)下的硬件連接及軟件編程,并給出了軟件流程圖。關(guān)鍵詞:溫度測(cè)量;單總線;數(shù)字溫度傳感器;單片機(jī) 目錄一、 引言二、 數(shù)字溫度計(jì)的結(jié)構(gòu)及功能介紹1. 單片機(jī) STC80C52RC2. DS18B20數(shù)字溫度傳感器3. 顯示器的選擇三、 設(shè)計(jì)原理及原理圖四、 設(shè)計(jì)程序流程圖五、 總結(jié)六、 附錄1. 程序代碼2. 仿真一、引言本系統(tǒng)利用DS18B20進(jìn)行測(cè)溫,基于單片機(jī)AT89S52進(jìn)行溫度控制,具有硬件電路簡(jiǎn)單,控溫精度高、功能強(qiáng),體積

3、小,簡(jiǎn)單靈活等優(yōu)點(diǎn),可以應(yīng)用于控制溫度在-55到+125之間的各種場(chǎng)合,可以實(shí)現(xiàn)溫度的實(shí)時(shí)采集、顯示功能 。溫度是一種最基本的環(huán)境參數(shù)之一,日常生活和工農(nóng)業(yè)生產(chǎn)中經(jīng)常要檢測(cè)溫度。傳統(tǒng)的方式是采用熱電偶或熱電阻,但是由于模擬溫度傳感器輸出為模擬信號(hào),必須經(jīng)過(guò)A/D轉(zhuǎn)換環(huán)節(jié)獲得數(shù)字信號(hào)后才能與單片機(jī)等微處理器接口,使得硬件電路結(jié)果復(fù)雜,制作成本較高。美國(guó)DALLAS公司生產(chǎn)的DS18B20為代表的新型單總線數(shù)字式溫度傳感器以其突出優(yōu)點(diǎn)廣泛使用于倉(cāng)庫(kù)管理、工農(nóng)業(yè)生產(chǎn)制造、氣象觀測(cè)、科學(xué)研究以及日常生活中。本文提出用DALLAS公司生產(chǎn)的DS18B20數(shù)字溫度傳感器和89S52單片機(jī)構(gòu)成的多路測(cè)溫系統(tǒng)

4、,采用單總線的方式(一根數(shù)據(jù)線,在一個(gè)I/O口上),可以在單總線上掛接多個(gè)18B20,在單片機(jī)控制下巡回檢測(cè)多點(diǎn)溫度,并可以設(shè)置高、低溫度超限報(bào)警等功能。二、結(jié)構(gòu)及功能介紹1、單片機(jī) STC80C52RCa、該系統(tǒng)采用MCS-51系列單片機(jī)AT89C51作為控制核心,該系統(tǒng)可以完成運(yùn)算控制、信號(hào)識(shí)別以及顯示功能的實(shí)現(xiàn)。由于用了單片機(jī),使其技術(shù)比較成熟,應(yīng)用起來(lái)方便、簡(jiǎn)單并且單片機(jī)周?chē)妮o助電路也比較少,便于控制和實(shí)現(xiàn)。整個(gè)系統(tǒng)具有極其靈活的可編程性,能方便地對(duì)系統(tǒng)進(jìn)行功能的擴(kuò)張和更改。MCS-51單片機(jī)特點(diǎn)如下:可靠性好單片機(jī)按照工業(yè)控制要求設(shè)計(jì),抵抗工業(yè)噪聲干擾優(yōu)于一般的CPU,程序指令和數(shù)

5、據(jù)都可以燒寫(xiě)在ROM上,因此可靠性高。易擴(kuò)充單片機(jī)有一般電腦所必須的器件,如三態(tài)雙向總線,串并行的輸入及輸出引腳,可擴(kuò)充為各種規(guī)模的微電腦系統(tǒng)控制功能強(qiáng)單片機(jī)指令除了輸入輸出指令,邏輯判斷指令外還有更豐富的條件分支跳躍指令。b、單片機(jī)主機(jī)系統(tǒng)電路AT89C51單片機(jī)是屬于51系列單片機(jī)里的。它的內(nèi)部自帶2K字節(jié)可編程FLASH存儲(chǔ)器的低電壓、高性能COMS 8位微處理器。AT89C51單片機(jī)還與Intel MCS-51系列單片機(jī)的輸出管腳和指令相互兼容。由于AT89C51將多功能8位CPU和閃速存儲(chǔ)器結(jié)合在單個(gè)的芯片里,所以,AT89C51構(gòu)成的單片機(jī)系統(tǒng)是所有系統(tǒng)里結(jié)構(gòu)最簡(jiǎn)便,價(jià)格最便宜,使

6、用效率最高的控制系統(tǒng),它還節(jié)省了外部的RAM與ROM和接口器件,削減了硬件方便的開(kāi)銷。節(jié)省了制造成本,提高了系統(tǒng)的性價(jià)比。c主要芯片的介紹本課題采用單片機(jī)AT89C51控制的數(shù)字溫度測(cè)量與顯示系統(tǒng),其功能的實(shí)現(xiàn)主要通過(guò)軟件編程來(lái)完成,采用單片機(jī)AT89C51,它是低功耗、高性能的CMOS型8位單片機(jī)。片內(nèi)帶有4KB的Flash存儲(chǔ)器,且允許在系統(tǒng)內(nèi)改寫(xiě)或用編程器編程。且AT89C51的使用壽命很長(zhǎng),數(shù)據(jù)保留時(shí)間也較長(zhǎng),可以達(dá)到十年的時(shí)間。就是因?yàn)檫@一些類的特性,與優(yōu)點(diǎn)。所以本次設(shè)計(jì)我才會(huì)選擇使用這一類的單片機(jī)來(lái)作為我實(shí)現(xiàn)此系統(tǒng)的工具。 單片機(jī)主機(jī)系統(tǒng)圖根據(jù)設(shè)計(jì)的要求,要利用溫度傳感器實(shí)時(shí)溫度。

7、當(dāng)溫度高于設(shè)定的溫度時(shí)(60),當(dāng)溫度高于設(shè)置報(bào)警的上限值時(shí)風(fēng)扇轉(zhuǎn)同時(shí)紅色led亮,當(dāng)?shù)陀跁r(shí)繼電器以留出接口。同時(shí)要求能設(shè)定溫度。畢業(yè)設(shè)計(jì)的主要任務(wù)是能對(duì)溫度進(jìn)行自動(dòng)的檢測(cè)和控制。設(shè)計(jì)中采用單片機(jī)來(lái)控制溫度,因此要有溫度的顯示電路,溫控電路,報(bào)警電路等幾個(gè)部分。要實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)要用到的知識(shí)點(diǎn)有單片機(jī)的原理及其應(yīng)用,溫度傳感器的原理和應(yīng)用,及顯示電路的設(shè)計(jì)等。 2、 DS18B20數(shù)字溫度傳感器2.1 DS18B20 簡(jiǎn)介新的“一線器件”DS18B20體積更小,適用電壓更寬、更經(jīng)濟(jì),做為一線總線數(shù)字化溫度床感器,支持“一線總線”接口,測(cè)量溫度范圍為-55+125,在-10+85范圍內(nèi),精度為0.

8、5。獨(dú)特的電源和信號(hào)復(fù)合在一起,僅適用一條口線,每個(gè)芯片唯一編碼,支持聯(lián)網(wǎng)尋址,簡(jiǎn)單的網(wǎng)絡(luò)化的溫度感知,零功能等待。2.2 DS18B20特性DS18B20可以由程序設(shè)定912位的分辨率,精度為0.5。獨(dú)特的單線接口僅需一個(gè)端口引腳進(jìn)行通訊簡(jiǎn)單的多點(diǎn)分布應(yīng)用無(wú)需外部器件可通過(guò)數(shù)據(jù)線供電零待機(jī)功耗測(cè)溫范圍-55+125,以0.5遞增華氏器件-67+257,以0.9遞增溫度以9位數(shù)字量讀出溫度數(shù)字量轉(zhuǎn)換時(shí)間200ms(典型值)用戶可定義的非易失性溫度報(bào)警設(shè)置報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件應(yīng)用包括溫度控制、工業(yè)系統(tǒng)、消費(fèi)品、溫度計(jì)或任何感測(cè)系統(tǒng)。2.3 說(shuō)明:DS18B

9、20有三個(gè)主要數(shù)字部件:1)64位激光ROM2)溫度傳感器3)非易失性溫度報(bào)警觸發(fā)器TH和TL4)器件用如下方式從單線通訊線上汲取能量,在信號(hào)線處于高電平期間把能量存儲(chǔ)在內(nèi)部電容里,在信號(hào)線處于低電平期間消耗電容上的電能工作,知道高電平到來(lái)再給寄生電源(電容)充電。DS18B20也可用外部5V電源供電。DS18B20依靠一個(gè)單線端口通訊。在單線端口條件下,必須先建立ROM操作協(xié)議,才能進(jìn)行存儲(chǔ)器和控制操作。因此,控制器必須首先提供下面5個(gè)ROM操作命令之一:1)讀ROM,2)匹配ROM,3)搜索ROM,4)跳過(guò)ROM,5)報(bào)警搜索。這些命令對(duì)每個(gè)器件的激光ROM部分進(jìn)行操作,在單總線上掛有多個(gè)

10、器件時(shí),可以區(qū)分出單個(gè)器件,同時(shí)可以向總線控制器指明有多少器件或是什么型號(hào)的器件。成功執(zhí)行完一條ROM操作序列后,即可進(jìn)行存儲(chǔ)器可控制操作,控制器可以提供6條存儲(chǔ)器和控制操作指令中的任一條。一條控制操作命令指示DS18B20完成一次溫度測(cè)量,測(cè)量結(jié)果放在內(nèi)部暫存器中暫存,用一條讀暫存器內(nèi)容的存儲(chǔ)器操作命令可以把暫存器中數(shù)據(jù)讀出。2.4 DS18B20測(cè)溫原理:用一個(gè)高溫度系數(shù)的振蕩器確定一個(gè)門(mén)周期,內(nèi)部計(jì)數(shù)器在這個(gè)門(mén)周期內(nèi)對(duì)一個(gè)低溫度系數(shù)的振蕩器的脈沖進(jìn)行計(jì)數(shù)來(lái)的到溫度值。計(jì)數(shù)器被預(yù)置到對(duì)應(yīng)于-55的一個(gè)值。如果計(jì)數(shù)器在門(mén)周期結(jié)束前到達(dá)0,則溫度寄存器(同樣被預(yù)置到-55)的值增加,表明所測(cè)溫

11、度大于-55。同時(shí),計(jì)數(shù)器被復(fù)位到一個(gè)值,這個(gè)值由斜坡式累加器電路確定,斜坡式累加器電路用來(lái)補(bǔ)償感溫振蕩器的拋物線特性。然后計(jì)數(shù)器又開(kāi)始計(jì)數(shù)知道0,如果門(mén)周期仍未結(jié)束,將重復(fù)這一過(guò)程。斜坡式累加器用來(lái)補(bǔ)償感溫振蕩器的非線性,以期測(cè)溫時(shí)獲得比較高的分辨力,這是通過(guò)改變計(jì)數(shù)器對(duì)溫度每增加一度所需計(jì)數(shù)的值來(lái)實(shí)現(xiàn)的。因此,要想獲得所需的分辨力,必須同時(shí)知道在給定溫度下計(jì)數(shù)器的值和每一度的計(jì)數(shù)值。DS18B20內(nèi)部對(duì)此計(jì)算的結(jié)果可提供0.5的分辨力。溫度以16bit帶符號(hào)位擴(kuò)展的二進(jìn)制補(bǔ)碼形式讀出,表一給出了溫度值和輸出數(shù)據(jù)的關(guān)系。數(shù)據(jù)通過(guò)單線接口以串行方式傳輸。DS18B20測(cè)溫范圍-55+125,以

12、0.5遞增。如用于華氏溫度,必須要用一個(gè)轉(zhuǎn)換因子查找表。表一注意DS18B20內(nèi)溫度表示值為1/2LSB,如下所示9bit格式:表二最高有效(符號(hào))位被復(fù)制充滿存儲(chǔ)器中兩字節(jié)溫度存儲(chǔ)器的高M(jìn)SB位,由這種“符號(hào)位擴(kuò)展”產(chǎn)生出了表一的16bit溫度讀數(shù)。2.5 DS18B20測(cè)溫原理圖:圖二 DS18B20 測(cè)溫原理框圖可用下述方法獲得更高的分辨力。首先,讀取溫度值,將0.5位(LSB)從讀取的值中截去,這個(gè)值叫做TEMP_READ。然后讀取計(jì)數(shù)器中剩余的值,這個(gè)值是門(mén)周期結(jié)束后保留下來(lái)的值(COUNT_REMAIN)。最后,我們用到在這個(gè)溫度下每度的計(jì)數(shù)值(COUNT_PER_C)。用戶可以用

13、下面的公式計(jì)算實(shí)際溫度值:2.6 64位激光刻ROM每只18B20都有一個(gè)唯一的長(zhǎng)達(dá)64位的編碼。最前面8位是單線系列編碼。后面48為是一個(gè)唯一的序列號(hào)。最后8為是以上56位的CRC碼。表三2.7 CRC發(fā)生器DS18B20中有8位CRC存儲(chǔ)在64位ROM的最高有效字節(jié)中??偩€控制器可以用64位ROM中的前56位計(jì)算出一個(gè)CRC值,再用這個(gè)和存儲(chǔ)在DS18B20中的值進(jìn)行比較,以確定ROM數(shù)據(jù)是否被總線控制器接受無(wú)誤。CRC計(jì)算等式如下:8+5+4+。單總線CRC可以有一個(gè)由移位寄存器和XOR門(mén)構(gòu)成的多項(xiàng)式發(fā)生器來(lái)產(chǎn)生,如下圖所示:圖三 單總線CRC的結(jié)構(gòu)原理圖2.8 單總線系統(tǒng)單總線系統(tǒng)包括

14、一個(gè)總線控制器和一個(gè)或多個(gè)從機(jī)。DS18B20充當(dāng)從機(jī),當(dāng)只有一只從機(jī)掛接在總線上時(shí),系統(tǒng)被稱為“單點(diǎn)”系統(tǒng);如果由多只從機(jī)掛接在總線上,系統(tǒng)被稱為“多點(diǎn)”。所有的數(shù)據(jù)和指令的傳遞都是從最低有效位開(kāi)始通過(guò)單總線進(jìn)行傳送的。2.9 DS18B20指令控制執(zhí)行序列通過(guò)單線總線端口訪問(wèn)DS18B20的協(xié)議如下:步驟一:初始化;步驟二:ROM操作指令;步驟三:DS18B20功能指令。每一次DS18B20的操作都必須滿足以上步驟,若是缺少步驟或是順序混亂,器件將不會(huì)返回值。例如這樣的順序:發(fā)起ROM搜索指令F0H和報(bào)警搜索指令ECH之后,總線控制器必須返回步驟一。2.10 ROM時(shí)序指令控制通過(guò)單總線的

15、所有執(zhí)行操作處理都從一個(gè)初始化序列開(kāi)始。初始化序列包括一個(gè)由總線控制器發(fā)出的復(fù)位脈沖和其后由從機(jī)發(fā)出的存在脈沖。存在脈沖讓總線控制器知道DS18B20在總線上且已準(zhǔn)備好操作。一旦總線控制器探測(cè)到一個(gè)存在脈沖,它就發(fā)出一條ROM指令。如果總線上掛有多只DS18B20,這些指令將基于器件獨(dú)有的64位ROM片序列碼使得總線控制器選出特定要進(jìn)行操作的器件。這些指令同樣也可以使總線控制器識(shí)別有多少只,什么型號(hào)的器件掛在總線上,同樣,它們也可以識(shí)別哪些器件已經(jīng)符合報(bào)警條件。Search ROMF0H(搜索ROM指令)當(dāng)系統(tǒng)上電初始化的時(shí)候,總線控制器必須通過(guò)識(shí)別總線上所有ROM片序列碼去得到從機(jī)的數(shù)目和型

16、號(hào)??偩€控制器通過(guò)搜索ROM指令多次循環(huán)搜索ROM編碼,以確認(rèn)所有從機(jī)器件。如果總線上只有一只從機(jī),那么可以用較為簡(jiǎn)單的讀取ROM 代替搜索ROM指令。在每次搜索ROM指令之后,總線控制器必須返回步驟一。READ ROM33H(讀取ROM指令)只有在總線上存在單只DS18B20的時(shí)候才能使用這條命令。該命令允許總線控制器在不使用搜索ROM的情況下讀取從機(jī)的64位片序列碼。如果總線上有不止一只從機(jī),當(dāng)所有從機(jī)試圖同時(shí)傳送信號(hào)時(shí)就會(huì)發(fā)生數(shù)據(jù)沖突。MATHCH ROM55H(匹配ROM指令)匹配ROM指令,后跟64位ROM編碼序列,讓總線控制器在多點(diǎn)總線上定位一只特定的DS18B20。只有和64為R

17、OM片序列碼完全匹配的DS18B20才能響應(yīng)隨后的存儲(chǔ)操作指令;所有和64位ROM片序列碼不匹配的從機(jī)都將等待復(fù)位脈沖。SKIP ROMCCH(跳過(guò)ROM指令)這條指令允許總線控制器不用提供64位ROM編碼就使用功能指令。例如,總線控制器可以先發(fā)出一條跳過(guò)ROM指令,然后發(fā)出溫度轉(zhuǎn)換指令44H,從而完成溫度轉(zhuǎn)換操作。注意,當(dāng)只有一只從機(jī)在總線上時(shí),無(wú)論如何,跳過(guò)ROM指令之后只能跟著發(fā)出一條讀取暫存器指令BEH。在單點(diǎn)總線情況下使用該命令,器件無(wú)需發(fā)回64位ROM編碼,從而節(jié)省了時(shí)間。如果總線上有不止一只從機(jī),若發(fā)出跳過(guò)ROM指令,由于多只從機(jī)同時(shí)傳送信號(hào),總線上就會(huì)發(fā)生數(shù)據(jù)沖突。2.11DS

18、18B20功能指令控制在總線空盒子錢(qián)發(fā)給欲連接的DS18B20一條ROM命令后,跟著可以發(fā)送一條DS18B20功能指令。這些命令允許總線控制器讀寫(xiě)DS18B20的暫存器,發(fā)起溫度轉(zhuǎn)換和識(shí)別電源模式。DS18B20的功能指令如下所示:CONVERT T 44H(溫度轉(zhuǎn)換指令)這條命令用以啟動(dòng)一次溫度轉(zhuǎn)換。溫度轉(zhuǎn)換指令被執(zhí)行,產(chǎn)生的溫度轉(zhuǎn)換結(jié)果數(shù)據(jù)以2個(gè)字節(jié)的形式被存儲(chǔ)在高速暫存器中,而后DS18B20保持等待狀態(tài)。如果寄生電源模式下發(fā)出該命令后,在溫度轉(zhuǎn)換期間,必須在10US(最多)內(nèi)給單總線上一個(gè)強(qiáng)上拉。如果DS18B20以外部電源供電,總線控制器在發(fā)出該命令后跟著發(fā)出讀時(shí)序,DS18B20如

19、處于轉(zhuǎn)換中,將在總線上返回0,若溫度轉(zhuǎn)換完成,則返回1。寄生電源模式下,總線被強(qiáng)上拉拉高前這樣的通訊技術(shù)不會(huì)被使用。WRITE SCRATCHPAD 4EH(寫(xiě)暫存器指令)這條命令向DS18B20的暫存器寫(xiě)入數(shù)據(jù),開(kāi)始位置在TH寄存器(暫存器的第二個(gè)字節(jié)),接下來(lái)寫(xiě)入TL寄存器(暫存器的第三個(gè)字節(jié)),最后寫(xiě)入配置寄存器(暫存器的第四個(gè)字節(jié))。數(shù)據(jù)以最低有效位開(kāi)始傳送。上述三個(gè)字節(jié)的寫(xiě)入必須發(fā)生在總線控制器發(fā)出復(fù)位命令前,否則會(huì)終止寫(xiě)入。READ SCRATCHPAD BEH (讀暫存器指令)這條命令讀取暫存器的內(nèi)容。讀取將從字節(jié)0開(kāi)始,一直進(jìn)行下去,直到第九個(gè)字節(jié)(字節(jié)8,CRC)讀完,如果不

20、想讀完所有字節(jié),控制器可以在任何時(shí)間發(fā)出復(fù)位命令來(lái)中止讀取。備注:對(duì)于寄生電源模式下的DS18B20,在溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到EEPROM其間,必須給但總線一個(gè)強(qiáng)上拉,總線上載這段時(shí)間內(nèi)不能有其他活動(dòng)??偩€控制器在任何時(shí)刻都可以通過(guò)發(fā)出復(fù)位信號(hào)中止數(shù)據(jù)傳輸。TH、TL和配置寄存器這三個(gè)字節(jié)的寫(xiě)入必須在復(fù)位信號(hào)發(fā)起之前。2.12 18B20時(shí)序詳解初始化時(shí)序圖四 初始化時(shí)序示意圖讀/寫(xiě)時(shí)序DS18B20的數(shù)據(jù)讀寫(xiě)是通過(guò)時(shí)序處理來(lái)確認(rèn)信息交換的。寫(xiě)時(shí)序:有兩種寫(xiě)時(shí)序:寫(xiě)1時(shí)序和寫(xiě)0時(shí)序??偩€控制器通過(guò)寫(xiě)1時(shí)序?qū)戇壿?到DS18B20,寫(xiě)0時(shí)序?qū)戇壿?到DS18B20。所有寫(xiě)時(shí)序必須最少持續(xù)60us,

21、包括兩個(gè)寫(xiě)中期之間至少1us的回復(fù)時(shí)間。當(dāng)總線控制器把數(shù)據(jù)線從邏輯高電平拉到低電平的時(shí)候,寫(xiě)時(shí)序開(kāi)始。(見(jiàn)圖五)圖五 讀/寫(xiě)時(shí)序圖總線控制器要產(chǎn)生一個(gè)寫(xiě)時(shí)序,必須把數(shù)據(jù)線拉到低電平后釋放,在寫(xiě)時(shí)序開(kāi)始后的15us釋放中線。當(dāng)總線被釋放的時(shí)候,5K的上拉電阻將拉高總線??偪刂破饕梢粋€(gè)寫(xiě)0時(shí)序,必須把數(shù)據(jù)線拉到低電平并持續(xù)保持(至少60us)。總線控制器初始化寫(xiě)時(shí)序后,DS18B20在一個(gè)15us到60us的窗口內(nèi)對(duì)I/O線采樣。如果線上是高電平,就是寫(xiě)1。如果線上是低電平,就是寫(xiě)0。讀時(shí)序總線控制器發(fā)起讀時(shí)序時(shí),DS18B20僅被用來(lái)傳輸數(shù)據(jù)給控制器。因此,總線控制器在發(fā)出讀暫存器指令BEH

22、后必須立刻開(kāi)始讀時(shí)序,DS18B20可以提供請(qǐng)求信息。除此之外,總線控制器在發(fā)出發(fā)送溫度轉(zhuǎn)換指令44H或召回EEPROM指令B8H之后讀時(shí)序。所有讀時(shí)序必須最少60us,包括兩個(gè)度周期間至少1us的恢復(fù)時(shí)間。當(dāng)總線控制器把數(shù)據(jù)線從高電平拉到低電平時(shí),讀時(shí)序開(kāi)始,數(shù)據(jù)線必須至少保持1us,然后總線被釋放。在總線控制器發(fā)出讀時(shí)序后,DS18B20通過(guò)拉高或拉低總線來(lái)傳輸1或0。當(dāng)傳輸邏輯0結(jié)束后,總線將被釋放,通過(guò)上拉電阻回到上升沿狀態(tài)。從DS18B20輸出的數(shù)據(jù)在讀時(shí)序的下降沿出現(xiàn)后15us內(nèi)有效。因此,總線控制器在讀時(shí)序開(kāi)始后必須停止把I/O腳驅(qū)動(dòng)為低電平15us,以讀取I/O腳狀態(tài)。極限使用

23、條件各引腳對(duì)地電壓:-0.5V到+0.6V工作溫度: -55到+125存儲(chǔ)溫度: -55到+125焊接溫度: 260 10 秒直流電特性表四備注:所有的電壓參考點(diǎn)都是接地點(diǎn)。上拉電壓:假設(shè)上拉器件是理想的,因此上拉的高電平應(yīng)該與VPU相等。為了達(dá)到DS18B20的VIH規(guī)格,實(shí)際晶體管上拉供電必須包括電壓跌落極限;因此,VPU_ACTUAL=VPU_IDEAL+VTRANSISTOR.邏輯0電壓在吸收電流為1mA時(shí)得到。在寄生電源模式低壓狀態(tài)選,為保證出線一個(gè)脈沖,VLMAX在VCC低至0.5V時(shí)得到。邏輯1電壓在源電流為1mA時(shí)得到待機(jī)電流最大定義為到70,125時(shí)典型待機(jī)電流為3uA。為了

24、將IDDS減到最少,DQ的范圍如下:GNDDQGND+0.3V or VDD-0.3VDQVDD.動(dòng)態(tài)電流涉及溫度轉(zhuǎn)換和寫(xiě)EEPROM存儲(chǔ)器。DQ數(shù)據(jù)線為高狀態(tài)。 誤差數(shù)據(jù)在125,VDD=5.5V條件下測(cè)試1000小時(shí)得到。 3、顯示器的選擇 (一) LCD1602顯示器工業(yè)字符型液晶,能夠同時(shí)顯示16x02即32個(gè)字符。雖然LCD顯示器的價(jià)格比數(shù)碼管要貴。但是它有一個(gè)非常本質(zhì)的優(yōu)點(diǎn)就是它的顯示效果好,所以采用LCD 作為顯示器。(二)LCD引腳圖1602有16個(gè)引腳:引腳功能或作用VSS接電源地VCC接5V電源正極V0液晶顯示器對(duì)比度調(diào)整端RS具有寄存器選擇功能。高電平1是數(shù)據(jù)寄存器。低電

25、平0屬于指令寄存器RW屬于讀寫(xiě)信號(hào)線,具有讀寫(xiě)功能。高電平1讀操作,低電平0寫(xiě)操作E端為使能端,高電平1時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令D0-D7八位的雙向數(shù)據(jù)端其他15腳屬于背光正極,16腳屬于背光負(fù)極1602顯示質(zhì)量高,功耗小。三、 設(shè)計(jì)硬件原理及原理圖圖十 設(shè)計(jì)硬件原理圖本系統(tǒng)中通過(guò)溫度傳感器DS18B20的數(shù)據(jù)線DQ與主控芯片51單片機(jī)的P3.3相連接,DS18B20將采集到的數(shù)據(jù)送給單片機(jī),經(jīng)過(guò)單片機(jī)出來(lái)后,顯示在8位數(shù)據(jù)線與單片機(jī)P0口的液晶LCD上。蜂鳴器經(jīng)過(guò)三極管的驅(qū)動(dòng)后接到單片機(jī)的P3.7,來(lái)實(shí)現(xiàn)當(dāng)實(shí)時(shí)溫度大于下限或高于上限的報(bào)警。4個(gè)按鍵K1K4接到單片機(jī)的P1.0P1.3,來(lái)

26、實(shí)現(xiàn)對(duì)上限值和下限值的查看與設(shè)定。液晶LCD的RS、RW、E分別接到單片機(jī)的P2.0P2.2來(lái)實(shí)現(xiàn)單片機(jī)控制液晶的讀寫(xiě)命令和數(shù)據(jù)的控制。四、設(shè)計(jì)程序流程圖LCD顯示子程序開(kāi)始先讓LCD初始化,接著光標(biāo)定位,顯示字符,最后放回。LCD流程圖LCD 初始化光標(biāo)定位顯示字符 開(kāi)始結(jié)束主程序首先設(shè)置堆棧為5FH,設(shè)置定時(shí)器工作方式T1為方式2。接著開(kāi)始啟動(dòng)定時(shí)器,調(diào)用LCD初始化子程序,調(diào)用DS18B20復(fù)位子程序。接著調(diào)用上下限寫(xiě)入暫存器子程序,把溫度報(bào)警值拷貝回暫存器,調(diào)用讀取溫度子程序,調(diào)用處理顯示子程序,調(diào)用實(shí)際溫度值與上下限溫度值比較子程序,調(diào)用按鍵掃描子程序后返回到調(diào)用讀取溫度子程序。開(kāi)始

27、設(shè)置堆棧5FH設(shè)置定時(shí)器工作方式T1為2給定時(shí)器設(shè)初值 啟動(dòng)定時(shí)器調(diào)用LCD初始化程序調(diào)用DS18B20復(fù)位程序調(diào)用顯示SUCCESS信息程序調(diào)用上下限寫(xiě)入暫存器子程序調(diào)用讀取溫度子程序調(diào)用顯示數(shù)據(jù)子程序調(diào)用實(shí)際溫度與上下限溫度比較子程序調(diào)用按鍵掃描子程序主程序框圖按鍵掃描子程序首先判斷按鍵K1是否按下,如果按下就調(diào)用蜂鳴子程序,接著判斷K1是否放開(kāi),直到K1放開(kāi),調(diào)用顯示數(shù)據(jù)子程序,然后去判斷K3是否按下,直到K3按下,調(diào)用蜂鳴子程序,最后放回;如果K1沒(méi)有按下去判斷K2是否按下,如果沒(méi)按下就跳到返回,如果有按下就調(diào)用鳴響子程序,然后去判斷K3是否放開(kāi),若放開(kāi)接著調(diào)用顯示字符子程序,調(diào)用設(shè)定

28、報(bào)警TH、TL子程序,調(diào)用報(bào)警上下限寫(xiě)入暫存器子程序,調(diào)用報(bào)警值拷貝EEROM子程序。 按鍵掃描子程序框圖開(kāi)始判斷按鍵K1是否按下調(diào)用報(bào)警子程序判斷按鍵K1是否放開(kāi)調(diào)用顯示數(shù)據(jù)程序判斷按鍵K3是否按下調(diào)用報(bào)警子程序返回判斷按鍵K2是否按下調(diào)用報(bào)警子程序判斷K3是否放下調(diào)用顯示數(shù)據(jù)子程序調(diào)用設(shè)定報(bào)警TH TL子程序調(diào)用報(bào)警上下限寫(xiě)入暫存器子程序YESNOYESNOYESNO五、總結(jié)該系統(tǒng)利用DS18B20進(jìn)行測(cè)溫,基于單片機(jī)AT89S52進(jìn)行溫度控制,具有硬件電路簡(jiǎn)單,控溫精度高、功能強(qiáng)、體積小,簡(jiǎn)單靈活等優(yōu)點(diǎn),可以應(yīng)用于控制溫度在-55到+125之間的各種場(chǎng)合,可以實(shí)現(xiàn)溫度的實(shí)時(shí)采集、顯示功能

29、與控制功能,是一種比較理想的只能化控制系統(tǒng)。由此構(gòu)成的單片機(jī)控制的但總線溫度多路采集系統(tǒng)比傳統(tǒng)的測(cè)溫系統(tǒng)可靠性高,易于構(gòu)成網(wǎng)絡(luò)控制,使用與各種溫度檢測(cè)與控制系統(tǒng)。該單總線技術(shù)可以為其他過(guò)程參數(shù)測(cè)控系統(tǒng)提供技術(shù)支持,具有實(shí)用價(jià)值。AT89C51的時(shí)鐘為12M,I/O口可達(dá)32個(gè),較高的時(shí)鐘頻率和豐富的I/O,都為實(shí)現(xiàn)電路功能提供了非常有利的條件。同時(shí)也AT89S51內(nèi)含4KB FLASH ROM,開(kāi)發(fā)環(huán)境友好,易用,方便,加上Proteus仿真大大加快本系統(tǒng)設(shè)計(jì)開(kāi)發(fā)。在此次設(shè)計(jì)中學(xué)會(huì)了對(duì)Proteus的基本使用,對(duì)里面一些基本元件的英文,如電阻RES、電容CAP、晶振CRYSTAL等,學(xué)會(huì)了連線

30、和運(yùn)行。在設(shè)計(jì)過(guò)程中也遇到一些問(wèn)題,由于LCD是現(xiàn)實(shí)的字符型數(shù)據(jù),數(shù)字不能直接送去顯示,所有對(duì)于數(shù)字的顯示首先要轉(zhuǎn)換為字符格式,方法為:數(shù)字+0;對(duì)于溫度傳感器的小數(shù)處理也遇到一些問(wèn)題,兩個(gè)選的是12位,精度為0.0625,DS18B20的溫度寄存器里低八位的低四位為小數(shù)部分,小數(shù)的值為0.0625*低八位的低四位,但是由于單片機(jī)的數(shù)據(jù)處理能力較差,不能處理小數(shù)的乘法運(yùn)算,用上方法就顯示錯(cuò)誤,后來(lái)想到可以把小數(shù)先變成整數(shù)處理,令低八位的低四位為t,小數(shù)后的第一位=625*t/1000,然后將這個(gè)數(shù)字在小數(shù)點(diǎn)后顯示即可。其實(shí)該本設(shè)計(jì)還有很多的不足,本實(shí)驗(yàn)是用單片機(jī)的多個(gè)I/O口來(lái)驅(qū)動(dòng)多路,DS1

31、8B20是一總線結(jié)構(gòu),每一個(gè)DS18B20 在其ROM 中都存有一個(gè)其唯一的48位序列號(hào),在出廠前已寫(xiě)入片內(nèi)RMO中,主機(jī)在進(jìn)行操作程序前必須逐一接入18B20 用讀ROM(33H)命令將該18B20 的序列號(hào)讀出并登錄.當(dāng)主機(jī)需要對(duì)眾多在線的DS18B20 的某一個(gè)進(jìn)行操作,首先要發(fā)出匹配ROM 命令(55H),緊接著主機(jī)提供64位序列(包括該DS8B20的48位序列號(hào)),之后操作就是針對(duì)該DS18B20的.而所謂跳過(guò)ROM 命令.即為:之后的操作是對(duì)所有DS18B20 的,所以可以在一根總線上掛多個(gè)DS18B20。 六、 附錄1、程序代碼#include#include#define KE

32、Y P1#define uchar unsigned char#define uint unsigned intsbit lcden=P22;/1602使能sbit lcdrd=P20;/數(shù)據(jù)、命令選擇端sbit lcdrw=P21;/讀,寫(xiě)選擇端sbit dq=P33;/18B20數(shù)據(jù)線sbit key1 = P10;sbit key2 = P11;sbit key3 = P12;sbit key4 = P13;sbit beeee = P37;uint set_t = 23;uchar code str1=temperature:;uchar code str2= ;uchar data

33、disdata5;uint tvalue;uchar tflag;void delayms(uint ms)/延時(shí)毫秒 uint i,j; for(i=ms;i0;i-) for(j=100;j0;j-);void key_cut(void)unsigned int ii;if (KEY != 0xff)delayms(10);if(key1 = 0) set_t +;else if(key2 = 0) set_t -;else if(key3 = 0)else if(key4 = 0)while(KEY != 0xff);void write_com(uchar com)/向1602中寫(xiě)入命令碼 lcden=0; lcdrd=0; lcdrw=0; P0=com; delayms(1); lcden=1; delayms(1); lcden=0; void write_date(uchar date)/向1602中寫(xiě)入數(shù)據(jù) lcden=0; lcdrd=1; lcdrw=0; P0=d

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論