版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、XX 工業(yè)職業(yè)技術(shù)學(xué)院課程 設(shè) 計(jì)溫度監(jiān)測與控制系統(tǒng)系別:機(jī)電工程系專業(yè)名 稱:機(jī)電一體化學(xué)生XX:v六半 X可美學(xué)號:0202080432指導(dǎo)教師 姓 名:田林紅完成日期 2011年 3 月 30 日溫度監(jiān)測與控制系統(tǒng)摘要溫度是日常生活中無時(shí)不在的物理量,溫度的控制在各個(gè)領(lǐng)域都有積極的意義。很多 行業(yè)中都有大量的用電加熱設(shè)備,如用于熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及 各種不同用途的溫度箱等,采用單片機(jī)對它們進(jìn)展控制不僅具有控制方便、簡單、靈活性 大等特點(diǎn),而且還可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量。 因此,智能化溫度控制技術(shù)正被廣泛地采用。本溫度設(shè)計(jì)采用現(xiàn)在流
2、行的 AT89S51單片機(jī),配以DS18B20數(shù)字溫度傳感器,該溫度傳感器可自行設(shè)置溫度上下限。單片機(jī)將檢測到的溫度信號與輸入的溫度上、下限進(jìn)展比 擬,由此作出判斷是否啟動(dòng)繼電器以開啟設(shè)備。本設(shè)計(jì)還參加了常用的數(shù)碼管顯示及狀態(tài)燈顯示燈常用電路,使得整個(gè)設(shè)計(jì)更加完 整,更加靈活。目錄1 前言 11.2 溫度控制系統(tǒng)的目的 11.3 溫度控制系統(tǒng)完成的功能 22 總體設(shè)計(jì)方案 22.1 方案一 22.2 方案二 23 DS18B20溫度傳感器簡介93.1 DS18B20的工作原理93.2 DS18B20工作時(shí)序 93.2 ROM操作命令123.2 DS18B20的測溫原理12的測溫原理:123.2
3、.2 DS18B20的測溫流程144 單片機(jī)接口設(shè)計(jì) 154.1 設(shè)計(jì)原那么 154.2 引腳連接 154.2.1 晶振電路 154.2.2 串口引腳 154.2.3 其它引腳 165 系統(tǒng)整體設(shè)計(jì) 175.1 系統(tǒng)硬件電路設(shè)計(jì) 175.1.1 主板電路設(shè)計(jì) 175.1.2 各局部電路 175.2 系統(tǒng)軟件設(shè)計(jì) 195.2.1 系統(tǒng)軟件設(shè)計(jì)整體思路 195.2.2 系統(tǒng)程序流圖 205.3 調(diào)試 25 附錄- 28 - 參考文獻(xiàn) 311 前言1.1溫度控制系統(tǒng)設(shè)計(jì)的背景、開展歷史及意義隨著社會的開展,科技的進(jìn)步,以及測溫儀器在各個(gè)領(lǐng)域的應(yīng)用,智能化已是現(xiàn)代溫 度控制系統(tǒng)開展的主流方向。 特別是
4、近年來, 溫度控制系統(tǒng)已應(yīng)用到人們生活的各個(gè)方面, 但溫度控制一直是一個(gè)未開發(fā)的領(lǐng)域,卻又是與人們息息相關(guān)的一個(gè)實(shí)際問題。針對這種 實(shí)際情況,設(shè)計(jì)一個(gè)溫度控制系統(tǒng),具有廣泛的應(yīng)用前景與實(shí)際意義。溫度是科學(xué)技術(shù)中最根本的物理量之一,物理、化學(xué)、生物等學(xué)科都離不開溫度。在 工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中,像電力、化工、石油、冶金、航空航天、機(jī)械制造、糧食存儲、 酒類生產(chǎn)等領(lǐng)域內(nèi),溫度常常是表征對象和過程狀態(tài)的最重要的參數(shù)之一。比方,發(fā)電廠 鍋爐的溫度必須控制在一定的 X 圍之內(nèi);許多化學(xué)反響的工藝過程必須在適當(dāng)?shù)臏囟认虏?能正常進(jìn)展;煉油過程中,原油必須在不同的溫度和壓力條件下進(jìn)展分餾才能得到汽油、 柴油、
5、煤油等產(chǎn)品。沒有適宜的溫度環(huán)境,許多電子設(shè)備就不能正常工作,糧倉的儲糧就 會變質(zhì)霉?fàn)€,酒類的品質(zhì)就沒有保障。因此,各行各業(yè)對溫度控制的要求都越來越高???見,溫度的測量和控制是非常重要的。單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測 和溫度控制。隨著溫度控制器應(yīng)用 X 圍的日益廣泛和多樣,各種適用于不同場合的智能溫 度控制器應(yīng)運(yùn)而生。1.2溫度控制系統(tǒng)的目的本設(shè)計(jì)的內(nèi)容是溫度測試控制系統(tǒng),控制對象是溫度。溫度控制在日常生活及工業(yè)領(lǐng) 域應(yīng)用相當(dāng)廣泛,比方溫室、水池、發(fā)酵缸、電源等場所的溫度控制。而以往溫度控制是 由人工完成的而且不夠重視,其實(shí)在很多場所溫度都需要監(jiān)控
6、以防止發(fā)生意外。針對此問 題,本系統(tǒng)設(shè)計(jì)的目的是實(shí)現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應(yīng)用廣泛,功能強(qiáng)大,小巧美觀,便于攜帶,是一款既實(shí)用又廉價(jià)的控制系統(tǒng)。1.3溫度控制系統(tǒng)完成的功能本設(shè)計(jì)是對溫度進(jìn)展 48 點(diǎn)實(shí)時(shí)監(jiān)測并對其進(jìn)展控制,設(shè)計(jì)的溫度控制系統(tǒng)實(shí)現(xiàn)了根本的溫度控制功能:當(dāng)溫度低于設(shè)定下限 0C溫度時(shí),系統(tǒng)自動(dòng)啟動(dòng)加熱繼電器加溫,使 溫度上升,同時(shí)綠燈亮。當(dāng)溫度上升到下限0C溫度以上時(shí),停頓加溫;當(dāng)溫度高于設(shè)定上限50C溫度時(shí),系統(tǒng)自動(dòng)啟動(dòng)風(fēng)扇降溫,使溫度下降,同時(shí)紅燈亮。當(dāng)溫度下降到上限 溫度以下時(shí),停頓降溫。溫度在上下限溫度之間時(shí),執(zhí)行機(jī)構(gòu)不執(zhí)行,從而實(shí)現(xiàn)將溫度控 制在0C50
7、C。三個(gè)數(shù)碼管即時(shí)顯示溫度,準(zhǔn)確到小數(shù)點(diǎn)一位。2 總體設(shè)計(jì)方案2.1 方案一測溫電路的設(shè)計(jì), 可以使用熱敏電阻之類的器件利用其感溫效應(yīng), 在將隨被測溫度變 化的電壓或電流采集過來, 進(jìn)展 A/D 轉(zhuǎn)換后, 就可以用單片機(jī)進(jìn)展數(shù)據(jù)的處理, 在顯示電 路上,就可以將被測溫度顯示出來, 這種設(shè)計(jì)需要用到 A/D 轉(zhuǎn)換電路,感溫電路比擬麻煩。 2.2方案二考慮使用溫度傳感器,結(jié)合單片機(jī)電路設(shè)計(jì),采用一只DS18B20溫度傳感器,直接讀取被測溫度值,之后進(jìn)展轉(zhuǎn)換,依次完成設(shè)計(jì)要求。比擬以上兩種方案,很容易看出,采用方案二,電路比擬簡單,軟件設(shè)計(jì)容易實(shí)現(xiàn), 故實(shí)際設(shè)計(jì)中擬采用方案二。在本系統(tǒng)的電路設(shè)計(jì)方框
8、圖如圖 1.1 所示,它由三局部組成 :控制局部主芯片采用單 片機(jī)AT89S51;顯示局部采用3位LED數(shù)碼管以動(dòng)態(tài)掃描方式實(shí)現(xiàn)溫度顯示; 溫度采集局部采用DS18B20溫度傳感器LED顯示AT89S51DS18B20>加熱繼電器電風(fēng)扇繼電器指示燈圖2- 1溫度計(jì)電路總體設(shè)計(jì)方案1. 控制局部單片機(jī)AT89S51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電 路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用,系統(tǒng)應(yīng)用三節(jié)電池供電。2. 顯示局部顯示電路采用3位共陽LED數(shù)碼管,從P0 口送數(shù),P2 口掃描。3. 溫度采集局部DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公
9、司最新推出的一種改良型智能溫度傳感器, 與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫。這一局部主要完成對溫度信號 的采集和轉(zhuǎn)換工作,由DS18B20數(shù)字溫度傳感器及其與單片機(jī)的接口局部組成。數(shù)字溫度傳感器DS18B20把采集到的溫度通過數(shù)據(jù)引腳傳到單片機(jī)的P1.0口,單片機(jī)承受溫度并存儲。將48個(gè)DS18B20傳感器并聯(lián)在惟一的三線上,并通過一線總線方式將測量信號通過 時(shí)序控制送入單片機(jī),即可實(shí)現(xiàn) 48點(diǎn)溫度監(jiān)測,為下一步的顯示工作提供條件。vccNXCj o >«滋*Au o a >rI-IMDSl8B2nDSLSD20*= vcc圖2-2多路溫度傳感器采集模塊此
10、局部只用到DS18B20和單片機(jī),硬件很簡單。1)DS18B20的性能特點(diǎn)如下9:1)獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)展通信;2)多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;3)無須外部器件;4)可通過數(shù)據(jù)線供電,電壓 X圍為3.05.5V;5)零待機(jī)功耗;6)溫度以3位數(shù)字顯示;7)用戶可定義報(bào)警設(shè)置;8)報(bào)警搜索命令識別并標(biāo)志超過程序限定溫度溫度報(bào)警條件的器件;9)負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會因發(fā)熱而燒毀,但不能正常工作。(2) DS18B2 0的內(nèi)部構(gòu)造DS18B20采用3腳PR 35封裝,如圖1.2所示;DS18B20的內(nèi)部構(gòu)造,如圖3所示。地?cái)?shù)據(jù)線 可選圖
11、 2-3 DS18B20封裝(3) DS18B20內(nèi)部構(gòu)造主要由四局部組成5:1) 64位光刻ROM。開場8位是產(chǎn)品類型的編號,接著是每個(gè)器件的惟一的序號,共有48位,最后8位是前56位的CRC校驗(yàn)碼,這也是多個(gè) DS18B20可以采用一線進(jìn)展通 信的原因10。64位閃速ROM的構(gòu)造如下.8b檢驗(yàn)CRC48b序列號8b工廠代碼10H表2-1 ROM構(gòu)造MSBLSB MSBLSB MSBLSB電存儲器和控制邏輯內(nèi)部VLD位和單線端口溫度傳感器暫存器上限觸發(fā)-電源_探測位產(chǎn)生器圖2-4 DS18B20內(nèi)部構(gòu)造下限觸發(fā)2)非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入用戶報(bào)警上下限值。3)高速暫存
12、存儲,可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度DS18B20溫度傳感器的內(nèi)部存儲器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2PRAM。高速暫存RAM的構(gòu)造為8字節(jié)的存儲器,構(gòu)造如圖1.3所示。頭2個(gè)字節(jié)包含測得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí) 被刷新。第5個(gè)字節(jié),為配置存放器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20 工作時(shí)存放器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。它的內(nèi)部存儲器構(gòu)造和字節(jié)定義如圖1.3所示。低5位一直為1, TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測 試模式。表2-2 DS18B20內(nèi)部存儲器構(gòu)造Byt
13、eOBytelByte2Byte3Byte4Byte5Byte6Byte7Byte8溫度測量值LSB 50H溫度測量值 MSB50HTH高溫存放器TL低溫存放器配位存放器預(yù)留FFH預(yù)留0CH預(yù)留IOH循環(huán)冗余碼校驗(yàn)CRCe2promTH高溫存放器TL低溫存放器 配位存放器DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來 設(shè)置分辨率,如圖1.4。圖2-3 DS18B20字節(jié)定義TMR1R011111由表1.1可見,分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。因此,在實(shí)際應(yīng)用中 要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。高速暫存RAM的第6、7、8字節(jié)保存未用,表現(xiàn)為全邏輯
14、1。第9字節(jié)讀出前面所有 8字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開場啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以 16位 帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第 1、2字節(jié)。單片機(jī)可以通過單線 接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以 0.0625C/LSB形式表示。當(dāng)符號位S= 0時(shí),表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng) 符號位S= 1時(shí),表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。 表 1.2是一局部溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù) 。表2-4 DS18B20溫度轉(zhuǎn)換時(shí)間表R1R0分
15、辨率/位溫度最大轉(zhuǎn)向時(shí)間/ms00993.750110187.510113751112750表2-5 一局部溫度對應(yīng)值表溫度/ C二進(jìn)制表示十六進(jìn)制表示+1250000 01111101 000007D0H+850000 01010101 00000550H+25.06250000 00011001 00000191H+10.1250000 00001010 000100A2H+0.50000 00000000 00100008H00000 00000000 10000000H-0.51111 11111111 0000FFF8H續(xù)表2 5-10.1251111 11110101 1110FF
16、5EH-25.06251111 11100110 1111FE6FH-551111 11001001 0000FC90H4) CRC的產(chǎn)生在64 b ROM的最高有效字節(jié)中存儲有循環(huán)冗余校驗(yàn)碼CRC。主機(jī)根 據(jù)ROM的前56位來計(jì)算CRC值,并和存入DS18B20中的CRC值做比擬,以判斷主機(jī)收 到的ROM數(shù)據(jù)是否正確。另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的 時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對 DS18B2 0的各種操作按協(xié)議進(jìn)展。操作協(xié)議為: 初使化DS18B20 :發(fā)復(fù)位脈沖一發(fā)ROM功能命令一發(fā)存儲器操作命令一處理數(shù)據(jù)。3DS18B20溫度傳感器簡介3.1 溫度傳
17、感器的歷史及簡介溫度的測量是從金屬 (物質(zhì) )的熱脹冷縮開場。水銀溫度計(jì)至今仍是各種溫度測量的計(jì) 量標(biāo)準(zhǔn)。可是它的缺點(diǎn)是只能近距離觀測,而且水銀有毒,玻璃管易碎。代替水銀的有酒 精溫度計(jì)和金屬簧片溫度計(jì),它們雖然沒有毒性,但測量精度很低,只能作為一個(gè)概略指 示。不過在居民住宅中使用已可滿足要求。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中為了配合遠(yuǎn)傳儀表指 示,出現(xiàn)了許多不同的溫度檢測方法,常用的有電阻式、熱電偶式、 PN 結(jié)型諧振型等。 它們都是基于溫度變化引起其物理參數(shù) (如電阻值,熱電勢等 )的變化的原理。隨著大規(guī)模 集成電路工藝的提高,出現(xiàn)了多種集成的數(shù)字化溫度傳感器。3.2 DS18B20勺工作原理工作時(shí)
18、序根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制 DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個(gè)步驟:1. 每一次讀寫之前都必須要對 DS18B20進(jìn)展復(fù)位;2. 復(fù)位成功后發(fā)送一條 ROM 指令;3. 最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)展預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號后等待1560 微秒左右后發(fā)出60240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。其工作時(shí) 序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序,具體工作方法如圖 2.1, 2.2, 2.3所示。(1) 初始化時(shí)序一二等待 15-604主機(jī);最小480主機(jī)復(fù)位脈沖T1 A P.V - T.響
19、應(yīng)脈.1最小480US11沖 60240!圖3- 1初始化時(shí)序總線上的所有傳輸過程都是以初始化開場的,主機(jī)響應(yīng)應(yīng)答脈沖。應(yīng)答脈沖使主機(jī)知道,總線上有從機(jī)設(shè)備,且準(zhǔn)備就緒。主機(jī)輸出低電平,保持低電平時(shí)間至少480us以產(chǎn)生復(fù)位脈沖。接著主機(jī)釋放總線,4.7KQ上拉電阻將總線拉高,延時(shí)1560us并進(jìn)入 承受模式,以產(chǎn)生低電平應(yīng)答脈沖,假設(shè)為低電平,再延時(shí)480uS12。(2)寫時(shí)序主機(jī)寫"1"時(shí)序«主機(jī)寫"0"時(shí)序 15US二采樣1545采樣1545-圖3-2寫時(shí)序?qū)憰r(shí)序包括寫0時(shí)序和寫1時(shí)序。所有寫時(shí)序至少需要 60us,且在2次獨(dú)立的寫時(shí)序之
20、間至少需要1us的恢復(fù)時(shí)間,都是以總線拉低開場。寫1時(shí)序,主機(jī)輸出低電平,延時(shí) 2us,然后釋放總線,延時(shí)60uso寫0時(shí)序,主機(jī)輸出低電平,延時(shí) 60us,然后釋放總線,延時(shí)2uS8(3)讀時(shí)序主機(jī)寫"0"時(shí)序 主機(jī)寫"1"時(shí)序>仁9>1圖 3 3 讀時(shí)序總線器件僅在主機(jī)發(fā)出讀時(shí)序是,才向主機(jī)傳輸數(shù)據(jù),所以,在主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便從機(jī)能夠傳輸數(shù)據(jù)。所有讀時(shí)序至少需要60us,且在2次獨(dú)立的讀時(shí)序之間至少需要1uS的恢復(fù)時(shí)間。每個(gè)讀時(shí)序都由主機(jī)發(fā)起,至少拉低總線1uso主機(jī)在讀時(shí)序期間必須釋放總線,并且在時(shí)序起始后的
21、15us之內(nèi)采樣總線狀態(tài)。主機(jī)輸出低電平延時(shí)2us,然后主機(jī)轉(zhuǎn)入輸入模式延時(shí)12us,然后讀取總線當(dāng)前電平,然后延時(shí)50uS4操作命令當(dāng)主機(jī)收到 DSl8B20 的響應(yīng)信號后,便可以發(fā)出 ROM 操作命令之一,這些命令如表2.2: ROM操作命令。3.3DS18B20勺測溫原理勺測溫原理:每一片DS18B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM中。主機(jī)在進(jìn)入操作程序前必須用讀 ROM(33H)命令將該DS18B20的序列號讀出。程序可以先跳過ROM,啟動(dòng)所有DS18B20進(jìn)展溫度變換,之后通過匹配 ROM,再逐 一地讀回每個(gè)DS18B20的溫度數(shù)據(jù)。DS18B20的
22、測溫原理如圖2.4所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計(jì)數(shù)器 1,高溫度系數(shù)晶振隨溫度變化其震蕩 頻率明顯改變,所產(chǎn)生的信號作為減法計(jì)數(shù)器 2的脈沖輸入,圖中還隱含著計(jì)數(shù)門,當(dāng)計(jì) 數(shù)門翻開時(shí),DS18B2 0就對低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)展計(jì)數(shù),進(jìn)而完成溫度 測量。計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 °C所對應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度存放器中,減法計(jì)數(shù)器1和溫度存放器被預(yù)置在-55 C 所對應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器 1 對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)展減法計(jì)數(shù),當(dāng) 減法計(jì)數(shù)器 1 的
23、預(yù)置值減到 0時(shí)溫度存放器的值將加 1,減法計(jì)數(shù)器 1 的預(yù)置將重新被裝 入,減法計(jì)數(shù)器 1 重新開場對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)展計(jì)數(shù),如此循環(huán)直到減-.wordzl.法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停頓溫度存放器值的累加,此時(shí)溫度存放器中的數(shù)值即為所測溫度。圖2.3中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正減法計(jì) 數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度存放器值到達(dá)被測溫度值表3- 1 ROM操作命令指令約定代碼功能讀ROM33H讀DS18B20 ROM中的編碼符合ROM55H發(fā)出此命令之后,接著發(fā)出64位ROM編碼,單線總線 上與該編碼相對應(yīng)的DS18B20
24、使之作出響應(yīng),為下一步 對該DS18B20的讀寫作準(zhǔn)備搜索ROM0F0H用于確定掛接在同一總線上DS18B20的個(gè)數(shù)和識別64位ROM地址,為操作各器件作好準(zhǔn)備跳過ROM0CCH忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令, 適用于單片工作。續(xù)表3- 1告警搜索命 令0ECH執(zhí)行后,只有溫度超過設(shè)定值上限或者下限的片子才做 出響應(yīng)溫度變換44H啟動(dòng)DS18B20進(jìn)展溫度轉(zhuǎn)換,轉(zhuǎn)換時(shí)間最長為 500MS, 結(jié)果存入內(nèi)部9字節(jié)RAM中讀暫存器0BEH讀內(nèi)部RAM中9字節(jié)的內(nèi)容寫暫存器4EH發(fā)出向內(nèi)部RAM的第3, 4字節(jié)寫上、下限溫度數(shù)據(jù)命 令,緊跟讀命令之后,是傳送兩字節(jié)的數(shù)據(jù)復(fù)制暫
25、存器48H將E2PRAM中第3,4字節(jié)內(nèi)容復(fù)制到 E2PRAM中重調(diào)E2PRAM0BBH將E2PRAM中內(nèi)容恢復(fù)到 RAM中的第3,4字節(jié)讀供電方式0B4H讀DS18B20的供電模式,寄生供電時(shí)DS18B20發(fā)送“0, 外接電源供電DS18B20發(fā)送“T另外,由于DS18B20單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很 重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)展。操作協(xié)議為:初始化 DS18B20:發(fā)復(fù)位脈沖發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)。圖3-4測溫原理內(nèi)部裝置3.3.2 DS18B2的測溫流程圖3-5 DS18B20測溫流程4單片機(jī)接口設(shè)計(jì)4.1設(shè)計(jì)原那
26、么DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號線,3腳接電源。另一種是寄生電源供電方式,如圖3.1所示單片機(jī)端口接單線總線,為保證在有效的 DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管來完成對總線的上拉。本設(shè)計(jì)采用電源供電方式,P1.1 口接單線總線為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè) MOSFET管和89S51的P1.0來完成對總 線的上拉。當(dāng)DS18B20處于寫存儲器操作和溫度 A/D變換操作時(shí),總線上必須有強(qiáng)的上 拉,上拉開啟時(shí)間最大為10卩s。采用寄生電源供電方式是/dd和GND端均接
27、地。由于單 線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。 主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須 經(jīng)過3個(gè)步驟:初始化;ROM操作指令;存儲器操作指令。4.2引腳連接晶振電路單片機(jī)XIAL1和XIAL2分別接30PF的電容,中間再并個(gè)12MHZ的晶振,形成單片 機(jī)的晶振電路。串 口引腳P0 口接9個(gè)2.2K的排阻然后接到顯示電路上。P1.0溫度傳感器DS18B20如圖3.1所示。18B20P1.0GNDVCC圖4- 1DS18B20與單片機(jī)的接口電路P1.1和P1.2引腳接繼電器電路的4.7K電阻上,P1 口其他引腳懸空P2 口中P2.0 P2.1、P2.2 P2.3分別接到顯示電路的4.7
28、K電阻上,P2.5接蜂鳴器電路,其他引腳懸空P3 口中P3.5 P3.6 P3.7接到按鍵電路其它引腳ALE引腳懸空,復(fù)位引腳接到復(fù)位電路、VCC接電源、VSS接地、EA接電源5系統(tǒng)整體設(shè)計(jì)5.1系統(tǒng)硬件電路設(shè)計(jì)主板電路設(shè)計(jì)單片機(jī)的P1.0接DS18B20的2號引腳,P0 口送數(shù)P2 口掃描,P1.1、P1.2控制加熱器和電風(fēng)扇的繼電器。如附錄2。各局部電路(1)顯示電路顯示電路采用了 7段共陰數(shù)碼管掃描電路,節(jié)約了單片機(jī)的輸出端口,便于程序的編寫DS3DS2DS1圖5 1顯示電路圖(2)單片機(jī)電路UlAEBSSMmi 2P12 3P13 4P14 5PIS 61»16 7P17 f
29、tUS I 9P5111PSI 12P331JPMHP3S牡PM 16P5717IE19PIO 120O 11 _1p PPl 2Pl 3 P14Pl 5P16PITRESETP30 P31P3ZP33P54 F臚P36P37XTALlXTAI2 VSSVCCVCCPOOPD1PO2PD3PO4PO5PQ6PCTEA ALHP2?P;5FJP21F-lPilP2033 P0632 M31理一丄29 VCC圖5-2單片機(jī)電路引腳圖DS18B2溫度傳感器電路VCC JT2P1.01U2VCCDQGNDDS18B20=圖5-3溫度傳感器電路引腳圖(4)繼電器電路圖中P1.1引腳控制加熱器繼電器。給.
30、P1.1氐電平,三極管導(dǎo)通,電磁鐵觸頭放下來開場工作.圖5-4繼電器電路圖(5)晶振控制電路30pF1:2C4匚二I Y1_ |30pF 丁 2MHZ圖5-5晶振控制電路圖復(fù)位電路S1圖5-6復(fù)位電路圖5.2系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)整體思路一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件作保證。同時(shí)還必須得到相 應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速開展的今天,許多由硬件完成的工作,都 可通過軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編 程有時(shí)會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和 軟件資源,采用與S51系列單片機(jī)相對應(yīng)的51
31、匯編語言和構(gòu)造化程序設(shè)計(jì)方法進(jìn)展軟件編程序設(shè)計(jì)語言有三種: 機(jī)器語言、 匯編語言和高級語言。 機(jī)器語言是機(jī)器唯一能 “懂 的語言,用匯編語言或高級語言編寫的程序稱為源程序最終都必須翻譯成機(jī)器語言的 程序成為目標(biāo)程序 ,計(jì)算機(jī)才能“看懂,然后逐一執(zhí)行。高級語言是面向問題和計(jì)算過程的語言,它可通過于各種不同的計(jì)算機(jī),用戶編程時(shí) 不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語句的功能強(qiáng),常常一個(gè)語句已 相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級語言編制程序的速度比擬快,也便于學(xué)習(xí)和交流, 但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單 片機(jī)微控制系統(tǒng),使用匯編語言可以不
32、用像高級語言那樣占用較多的存儲空間,適合于存 儲容量較小的系統(tǒng)。同時(shí),本系統(tǒng)對位處理要求很高,需要解決大量的邏輯控制問題。MCS51 指令系統(tǒng)的指令長度較短,它在存儲空間和執(zhí)行時(shí)間方面具有較高的效率, 編成的程序占用內(nèi)存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應(yīng)用要求很適合。而且 MCS 51指令系統(tǒng)有豐富的位操作或稱位處理指令,可以形成一個(gè)相當(dāng)完整的位操作指令 子集,這是 MCS51 指令系統(tǒng)主要的優(yōu)點(diǎn)之一。 對于要求反響靈敏與控制及時(shí)的工控、 檢 測等實(shí)時(shí)控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“電腦化產(chǎn)品,可以充分表達(dá)出匯編 語言簡明、整齊、執(zhí)行時(shí)間短和易于使用的特點(diǎn)。本裝置的軟件包括主程序、讀
33、出溫度子程序、復(fù)位應(yīng)答子程序、寫入子程序、以及有關(guān)DS18B20勺程序初始化子程序、寫程序和讀程序5.2.2 系統(tǒng)程序流圖系統(tǒng)程序主要包括主程序,讀出溫度子程序,復(fù)位應(yīng)答子程序,寫入子程序等。1 主程序主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,溫度測量每 1s 進(jìn)展一次。這樣可以在一秒之內(nèi)測量一次被測溫度,其程序流程見圖19 所示。通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)局部與小數(shù)局部分開存放在不同的兩個(gè)單元中,然后通過調(diào)用顯示子程序顯示出來圖5-7主程序流程圖2讀出溫度子程序DS18B20復(fù)位、應(yīng)答子程序圖5-8讀出溫度子程序讀出溫度子程序的主要功能是
34、讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)展CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)展溫度數(shù)據(jù)的改寫。DS18B20的各個(gè)命令對時(shí)序的要求特別嚴(yán)格,所以必須按照所要求的時(shí)序才能到達(dá)預(yù)期的目的,同時(shí),要注意讀進(jìn)來的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號位。3復(fù)位、應(yīng)答子程序圖5-9復(fù)位、應(yīng)答子程序4寫入子程序5)系統(tǒng)總的流程圖圖5-10寫入子程序初始化DS18B20設(shè)定溫度上、下限顯示當(dāng)前溫度是1紅燈亮啟動(dòng)風(fēng)扇 降低溫度否判斷當(dāng)前溫度值超過設(shè)疋否是上限低于設(shè)定溫度下限綠燈亮啟動(dòng)電熱爐升高溫度圖5-11系統(tǒng)總的流程圖5.3調(diào)試主程序的功能是:啟動(dòng)DS18B2 0測量溫度,將測量值與給定值進(jìn)展
35、比擬,假設(shè)測得溫度小于設(shè)定值0C,那么進(jìn)入加熱階段,置 P1.1為低電平,這期間繼續(xù)對溫度進(jìn)展監(jiān)測,直到溫度在設(shè)定X圍內(nèi),置P1.1為高電平斷開可控硅,關(guān)閉加熱器,等待下一次的啟動(dòng)命令。當(dāng)測得溫度大于設(shè)定值50C,那么進(jìn)入降溫階段,那么置 P1.2為低電平,這期間繼續(xù)對溫度進(jìn)展監(jiān)測,直到溫度在設(shè)定 X圍內(nèi),置P1.2為高電平斷開,關(guān)閉風(fēng)扇,等待下一次0 攝氏度時(shí),綠燈的啟動(dòng)命令。而且在執(zhí)行時(shí),加熱到 50攝氏度時(shí),紅燈亮起,自動(dòng)斷電,而低于亮起,開場加熱。6完畢語本設(shè)計(jì)使用的溫度控制器構(gòu)造簡單、測溫準(zhǔn)確,具有一定的實(shí)際應(yīng)用價(jià)值。能廣泛地 應(yīng)用于一些工業(yè)生產(chǎn)領(lǐng)域,如建筑,倉儲等行業(yè)。本溫度控制系
36、統(tǒng)可以應(yīng)用于多種場合, 像的溫室花棚的溫度、育嬰房的溫度、水溫的控制。用戶可靈活選擇本設(shè)計(jì)的用途,有很 強(qiáng)的實(shí)用價(jià)值。由于所學(xué)知識有限,設(shè)計(jì)中難免存在著許多缺乏,而且很多的器件用起來不是那么得 心應(yīng)手,設(shè)計(jì)中得到了教師的大力指點(diǎn)和同學(xué)的幫助,在此表示衷心的感謝。我愿在未來的學(xué)習(xí)過程中,以更加豐厚的成果來答謝曾經(jīng)關(guān)心、幫助和支持過我的所 有領(lǐng)導(dǎo)、教師、同學(xué)和朋友。>1111TnEXT-mL-附錄附錄1王板電路圖P= idIN辛一盂k>s-L飛監(jiān)H s nua-丄1T"k*7nIES E Eir? p$0<s3pIdO<& s g 0 Hjjki£
37、;?305 3R523w35? 3 Jd rt-L-, L-.L cb. -jtrL_23s333衛(wèi)*P-Hii-I-4附錄 2程序代碼ORG 0000HTEMPER_L EQU 29HTEMPER_H EQU 28HFLAG1 EQU 38H;是否檢測到DS18B20標(biāo)志位A_BIT EQU 20H ;數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置B_BIT EQU 21H ;數(shù)碼管十位數(shù)存放內(nèi)存位置XS EQU 30HMOV A,#00HMOV P2,AMAIN:LCALL GET_TEMPER; 調(diào)用讀溫度子程序MOV A,29HMOV B,ACLR CRLC ACLR CRLC ACLR CRLC ACLR
38、 CRLC ASWAP AMOV 31H,AMOV A,BMOV C,40H;將28H中的最低位移入 CRRC AMOV C,41HRRC AMOV C,42HRRC AMOV C,43HRRC AMOV 29H,ALCALL DISPLAY; 調(diào)用數(shù)碼管顯示子程序AJMP MAIN;這是DS18B20復(fù)位初始化子程序INIT_1820:SETB P1.0NOPCLR P1.0主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖MOV R1,#3TSR1:MOV R0,#107DJNZ R0,$DJNZ R1,TSR1SETB P1.0然后拉高數(shù)據(jù)線NOPNOPNOPMOV R0,#25HTSR2:JNB P1
39、.0,TSR等待 DS18B20回應(yīng)DJNZ R0,TSR2LJMP TSR4 ; 延時(shí)TSR3:SETB FLAG1 ;置標(biāo)志位,表示DS1820存在LJMP TSR5TSR4:CLR FLAG1 ;清標(biāo)志位,表示DS1820不存在LJMP TSR7TSR5:MOV R0,#117TSR6:DJNZ R0,TSR6 ;時(shí)序要求延時(shí)一段時(shí)間TSR7:SETB P1.0RET; 讀出轉(zhuǎn)換后的溫度值GET_TEMPER:SETB P1.0LCALL INIT_1820; 先復(fù)位 DS18B20FLAG1,TSS2RET;判斷DS1820是否存在?假設(shè)DS18B20不存在那么返回TSS2:MOV A
40、,#0CCH ; 跳過 ROM 匹配LCALL WRITE_1820MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE_1820;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間,等待AD轉(zhuǎn)換完畢,12位的話 750微秒LCALL DISPLAYLCALL INIT_1820;準(zhǔn)備讀溫度前先復(fù)位MOV A,#0CCH ;跳過 ROM 匹配LCALL WRITE_1820MOV A,#0BEH ; 發(fā)出讀溫度命令LCALL WRITE_1820LCALL READ_18200; 將讀出的溫度數(shù)據(jù)保存到 35H/36HRET;寫DS18B20的子程序(有具體的時(shí)序要求)WRITE_1820:MOV R2,#8;一共 8 位數(shù)據(jù)CLR CWR1:CLR P1.0MOV R3,#6DJNZ R3,$RRC AMOV P1.0,CMOV R3,#23DJNZ R3,$SETB P1.0NOPDJNZ R2,WR1RET;讀DS18B20的程序,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)READ_18200:MOV R4,#2 ;將溫度高位和低位從 DS18B20中讀出MOV R1,#29H ;低位存入 29H(TEMPER_L),高位存
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新質(zhì)生產(chǎn)力與產(chǎn)業(yè)集群
- 委托印刷制作合同范例
- 腎內(nèi)科透析并發(fā)癥管理
- 急救技能進(jìn)工地安全生產(chǎn)有保障
- 大學(xué)物理靜電場中的導(dǎo)體和電介質(zhì)
- 刻章店合同模板
- 吊車吊裝安全合同模板
- 委托協(xié)議和合同模板
- 合作傭金合同范例
- 建安材料合同范例
- 分布式光伏系統(tǒng)組件缺陷檢測及診斷技術(shù)規(guī)范
- 企業(yè)網(wǎng)站建設(shè)及維護(hù)服務(wù)合同
- 北師版八年級數(shù)學(xué)上冊 第四章 一次函數(shù)(壓軸專練)(十大題型)
- 住院醫(yī)師規(guī)范化培訓(xùn)教學(xué)病例討論教案(模板)
- 2023年合肥市軌道交通集團(tuán)有限公司招聘筆試真題
- 地磅施工技術(shù)交底
- 2024年安全教育培訓(xùn)變更新增記錄
- 醫(yī)學(xué)文獻(xiàn)檢索復(fù)習(xí)試題和答案解析(四)
- 校園消防安全宣傳教育課件
- 2024-2025學(xué)年一年級語文上冊第四單元測試卷(統(tǒng)編版2024新教材)
- 2024新信息科技三年級第三單元:暢游網(wǎng)絡(luò)世界大單元整體教學(xué)設(shè)計(jì)
評論
0/150
提交評論