版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p><b> 任務(wù)書(shū)</b></p><p> 設(shè)計(jì)(論文)題目: 基于單片機(jī)的溫度控制系統(tǒng) </p><p><b> XXXXXX</b></p><p> 下
2、達(dá) 日 期: X年 X 月X 日</p><p> 開(kāi) 始 日 期: X 年 X月 X日 </p><p> 完 成 日 期: X 年 X 月X日 </p><p> 專 業(yè): X </p><p> 學(xué) 生 姓 名: ***、***、
3、*** </p><p> 指 導(dǎo) 教 師: *** </p><p> 基于單片機(jī)的溫度控制系統(tǒng)</p><p><b> 摘要</b></p><p> 溫度是日常生活中無(wú)時(shí)不在的物理量,溫度的控制在各個(gè)領(lǐng)
4、域都有積極的意義。很多行業(yè)中都有大量的用電加熱設(shè)備,如用于熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及各種不同用途的溫度箱等,采用單片機(jī)對(duì)它們進(jìn)行控制不僅具有控制方便、簡(jiǎn)單、靈活性大等特點(diǎn),而且還可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量。因此,智能化溫度控制技術(shù)正被廣泛地采用。</p><p> 本溫度設(shè)計(jì)采用現(xiàn)在流行的AT89S51單片機(jī),配以DS18B20數(shù)字溫度傳感器,該溫度傳感器可自行
5、設(shè)置溫度上下限。單片機(jī)將檢測(cè)到的溫度信號(hào)與輸入的溫度上、下限進(jìn)行比較,由此作出判斷是否啟動(dòng)繼電器以開(kāi)啟設(shè)備。</p><p> 本設(shè)計(jì)還加入了常用的數(shù)碼管顯示及狀態(tài)燈顯示燈常用電路,使得整個(gè)設(shè)計(jì)更加完整,更加靈活。該設(shè)計(jì)已應(yīng)用于花房,可對(duì)花房溫度進(jìn)行智能監(jiān)控。</p><p> 【關(guān)鍵詞】 溫度箱,AT89S51,單片機(jī),控制,模擬</p><p> Temp
6、erature control system</p><p> used single chip computer</p><p><b> ABSTRACT</b></p><p> The temperature is constantly in the daily life of physical and temperature c
7、ontrols in various fields have a positive meaning. A lot of businesses have a lot of power heating equipment, such as that used for the heat treatment furnace, for melting metal crucible resistance heaters and the variou
8、s uses of temperature bins, SCM using their right to control not only easy to control, simple, such as the characteristics of flexibility, but can also significantly increase the temperature was charged </p><p
9、> The temperature was designed with the now popular AT89S51 SCM, and with DS18B20 digital temperature sensor, The temperature sensor can set up their own temperature collars. SCM will detect that the temperature of t
10、he input signal and temperature, the lower comparisons this judgment whether to activate the relay to open the equipment. </p><p> The design also includes commonly used digital display and control state li
11、ghts commonly used circuit, making the whole design more complete, more flexible. The design has been applied to someone, to someone intelligent temperature control. </p><p> 【Key word】 Temperature, AT89S5
12、1, SCM, Control, Simulation</p><p><b> 目 錄</b></p><p><b> 一、引言1</b></p><p> 1.1溫度控制系統(tǒng)設(shè)計(jì)的背景、發(fā)展歷史及意義1</p><p> 1.2溫度控制系統(tǒng)的目的1</p>&
13、lt;p> 1.3 溫度控制系統(tǒng)完成的功能2</p><p> 二、總體設(shè)計(jì)方案2</p><p><b> 2.1 方案一2</b></p><p><b> 2.2 方案二2</b></p><p> 三、DS18B20溫度傳感器簡(jiǎn)介8</p><p
14、> 3.1 溫度傳感器的歷史及簡(jiǎn)介8</p><p> 3.2 DS18B20的工作原理8</p><p> 3.2.1 DS18B20工作時(shí)序8</p><p> 3.2.2 ROM操作命令10</p><p> 3.3 DS18B20的測(cè)溫原理10</p><p> 3.3.1 DS18
15、B20的測(cè)溫原理:10</p><p> 3.3.2 DS18B20的測(cè)溫流程12</p><p> 四、單片機(jī)接口設(shè)計(jì)13</p><p> 4.1 設(shè)計(jì)原則13</p><p> 4.2 引腳連接13</p><p> 4.2.1 晶振電路13</p><p> 4.
16、2.2 串口引腳13</p><p> 4.2.3 其它引腳14</p><p> 五、系統(tǒng)整體設(shè)計(jì)15</p><p> 5.1 系統(tǒng)硬件電路設(shè)計(jì)15</p><p> 5.1.1 主板電路設(shè)計(jì)15</p><p> 5.1.2 各部分電路15</p><p> 5.2
17、 系統(tǒng)軟件設(shè)計(jì)17</p><p> 5.2.1 系統(tǒng)軟件設(shè)計(jì)整體思路17</p><p> 5.2.2 系統(tǒng)程序流圖18</p><p><b> 5.3 調(diào)試23</b></p><p><b> 六、結(jié)束語(yǔ)25</b></p><p><b>
18、; 附錄26</b></p><p><b> 參考文獻(xiàn)34</b></p><p><b> 致謝35</b></p><p><b> 一、引言</b></p><p> 溫度控制系統(tǒng)設(shè)計(jì)的背景、發(fā)展歷史及意義 </p><p
19、> 隨著社會(huì)的發(fā)展,科技的進(jìn)步,以及測(cè)溫儀器在各個(gè)領(lǐng)域的應(yīng)用,智能化已是現(xiàn)代溫度控制系統(tǒng)發(fā)展的主流方向。特別是近年來(lái),溫度控制系統(tǒng)已應(yīng)用到人們生活的各個(gè)方面,但溫度控制一直是一個(gè)未開(kāi)發(fā)的領(lǐng)域,卻又是與人們息息相關(guān)的一個(gè)實(shí)際問(wèn)題。針對(duì)這種實(shí)際情況,設(shè)計(jì)一個(gè)溫度控制系統(tǒng),具有廣泛的應(yīng)用前景與實(shí)際意義。</p><p> 溫度是科學(xué)技術(shù)中最基本的物理量之一,物理、化學(xué)、生物等學(xué)科都離不開(kāi)溫度。在工業(yè)生產(chǎn)和實(shí)驗(yàn)
20、研究中,像電力、化工、石油、冶金、航空航天、機(jī)械制造、糧食存儲(chǔ)、酒類生產(chǎn)等領(lǐng)域內(nèi),溫度常常是表征對(duì)象和過(guò)程狀態(tài)的最重要的參數(shù)之一。比如,發(fā)電廠鍋爐的溫度必須控制在一定的范圍之內(nèi);許多化學(xué)反應(yīng)的工藝過(guò)程必須在適當(dāng)?shù)臏囟认虏拍苷_M(jìn)行;煉油過(guò)程中,原油必須在不同的溫度和壓力條件下進(jìn)行分餾才能得到汽油、柴油、煤油等產(chǎn)品。沒(méi)有合適的溫度環(huán)境,許多電子設(shè)備就不能正常工作,糧倉(cāng)的儲(chǔ)糧就會(huì)變質(zhì)霉?fàn)€,酒類的品質(zhì)就沒(méi)有保障。因此,各行各業(yè)對(duì)溫度控制的要求
21、都越來(lái)越高。可見(jiàn),溫度的測(cè)量和控制是非常重要的。</p><p> 單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來(lái)越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測(cè)和溫度控制。隨著溫度控制器應(yīng)用范圍的日益廣泛和多樣,各種適用于不同場(chǎng)合的智能溫度控制器應(yīng)運(yùn)而生。</p><p><b> 溫度控制系統(tǒng)的目的</b></p><p> 本設(shè)計(jì)的內(nèi)容是溫度測(cè)試控制系
22、統(tǒng),控制對(duì)象是溫度。溫度控制在日常生活及工業(yè)領(lǐng)域應(yīng)用相當(dāng)廣泛,比如溫室、水池、發(fā)酵缸、電源等場(chǎng)所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視,其實(shí)在很多場(chǎng)所溫度都需要監(jiān)控以防止發(fā)生意外。針對(duì)此問(wèn)題,本系統(tǒng)設(shè)計(jì)的目的是實(shí)現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應(yīng)用廣泛,功能強(qiáng)大,小巧美觀,便于攜帶,是一款既實(shí)用又廉價(jià)的控制系統(tǒng)。</p><p> 1.3 溫度控制系統(tǒng)完成的功能</p>&l
23、t;p> 本設(shè)計(jì)是對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè)與控制,設(shè)計(jì)的溫度控制系統(tǒng)實(shí)現(xiàn)了基本的溫度控制功能:當(dāng)溫度低于設(shè)定下限溫度時(shí),系統(tǒng)自動(dòng)啟動(dòng)加熱繼電器加溫,使溫度上升,同時(shí)綠燈亮。當(dāng)溫度上升到下限溫度以上時(shí),停止加溫;當(dāng)溫度高于設(shè)定上限溫度時(shí),系統(tǒng)自動(dòng)啟動(dòng)風(fēng)扇降溫,使溫度下降,同時(shí)紅燈亮。當(dāng)溫度下降到上限溫度以下時(shí),停止降溫。溫度在上下限溫度之間時(shí),執(zhí)行機(jī)構(gòu)不執(zhí)行。三個(gè)數(shù)碼管即時(shí)顯示溫度,精確到小數(shù)點(diǎn)一位。</p><p&
24、gt;<b> 二、總體設(shè)計(jì)方案</b></p><p><b> 2.1 方案一</b></p><p> 測(cè)溫電路的設(shè)計(jì),可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻
25、煩。</p><p><b> 2.2 方案二</b></p><p> 考慮使用溫度傳感器,結(jié)合單片機(jī)電路設(shè)計(jì),采用一只DS18B20溫度傳感器,直接讀取被測(cè)溫度值,之后進(jìn)行轉(zhuǎn)換,依次完成設(shè)計(jì)要求。</p><p> 比較以上兩種方案,很容易看出,采用方案二,電路比較簡(jiǎn)單,軟件設(shè)計(jì)容易實(shí)現(xiàn),故實(shí)際設(shè)計(jì)中擬采用方案二。</p>
26、<p> 在本系統(tǒng)的電路設(shè)計(jì)方框圖如圖2.1所示,它由三部分組成:①控制部分主芯片采用單片機(jī)AT89S51;②顯示部分采用3位LED數(shù)碼管以動(dòng)態(tài)掃描方式實(shí)現(xiàn)溫度顯示;③溫度采集部分采用DS18B20溫度傳感器。</p><p> 圖2-1 溫度計(jì)電路總體設(shè)計(jì)方案</p><p><b> (1)控制部分</b></p><p&g
27、t; 單片機(jī)AT89S51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用,系統(tǒng)應(yīng)用三節(jié)電池供電。</p><p><b> ?。?)顯示部分</b></p><p> 顯示電路采用3位共陽(yáng)LED數(shù)碼管,從P0口送數(shù),P2口掃描。</p><p><b> ?。?)溫度采
28、集部分</b></p><p> DS18B20溫度傳感器是美國(guó)DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫。這一部分主要完成對(duì)溫度信號(hào)的采集和轉(zhuǎn)換工作,由DS18B20數(shù)字溫度傳感器及其與單片機(jī)的接口部分組成。數(shù)字溫度傳感器DS18B20把采集到的溫度通過(guò)數(shù)據(jù)引腳傳到單片機(jī)的P1.0口,單片機(jī)接受溫度并存儲(chǔ)。此部分只用到DS18B20
29、和單片機(jī),硬件很簡(jiǎn)單</p><p> 1) DS18B20的性能特點(diǎn)如下[9]:</p><p> 1) 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信;</p><p> 2) 多個(gè)DS18B20可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能;</p><p> 3) 無(wú)須外部器件;</p><p> 4) 可通過(guò)
30、數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;</p><p><b> 5) 零待機(jī)功耗;</b></p><p> 6) 溫度以3位數(shù)字顯示;</p><p> 7) 用戶可定義報(bào)警設(shè)置;</p><p> 8) 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件;</p><p>
31、; 9) 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 </p><p> (2) DS18B20的內(nèi)部結(jié)構(gòu)</p><p> DS18B20采用3腳PR-35封裝,如圖2.2所示;DS18B20的內(nèi)部結(jié)構(gòu), </p><p> 圖2-2 DS18B20封裝</p><p> (3) DS18B20內(nèi)部結(jié)
32、構(gòu)主要由四部分組成[5]:</p><p> 1) 64位光刻ROM。開(kāi)始8位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前56位的CRC校驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因[10]。64位閃速ROM的結(jié)構(gòu)如下.</p><p> 表2-1 ROM結(jié)構(gòu)</p><p> MSB LSB M
33、SB LSB MSB LSB</p><p> 圖2-3 DS18B20內(nèi)部結(jié)構(gòu)</p><p> 2) 非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫(xiě)入用戶報(bào)警上下限值。</p><p> 3) 高速暫存存儲(chǔ),可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度。</p><p> DS18B20溫度
34、傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2PRAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖1.3所示。頭2個(gè)字節(jié)包含測(cè)得的溫度信息,第3和第4字節(jié)TH和TL的拷貝,是易失的,每次上電復(fù)位時(shí)被刷新。第5個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率。DS18B20工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度的溫度數(shù)值。它的內(nèi)部存儲(chǔ)器結(jié)構(gòu)和字節(jié)定義如圖1.3所示。低5位一直為1,TM是工作模式位,
35、用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。 </p><p> 表2-2 DS18B20內(nèi)部存儲(chǔ)器結(jié)構(gòu)</p><p> 2) 非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫(xiě)入用戶報(bào)警上下限值。</p><p> 3) 高速暫存存儲(chǔ),可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度。</p><p> DS18B20出廠時(shí)該位被設(shè)置為0,用
36、戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率,如圖1.4。</p><p> 圖2-3 DS18B20字節(jié)定義</p><p> 由表1.1可見(jiàn),分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考慮。</p><p> 高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC
37、碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。</p><p> 當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開(kāi)始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第1、2字節(jié)。單片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。</p><p> 當(dāng)符號(hào)位S=0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)
38、制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。 表1.2是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)[6]。</p><p> 表2-4 DS18B20溫度轉(zhuǎn)換時(shí)間表</p><p> 表2-5 一部分溫度對(duì)應(yīng)值表</p><p><b> 續(xù)表2-5</b></p>
39、<p> 4) CRC的產(chǎn)生 在64 b ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)
40、器操作命令→處理數(shù)據(jù)。</p><p> 三、DS18B20溫度傳感器簡(jiǎn)介</p><p> 3.1 溫度傳感器的歷史及簡(jiǎn)介</p><p> 溫度的測(cè)量是從金屬(物質(zhì))的熱脹冷縮開(kāi)始。水銀溫度計(jì)至今仍是各種溫度測(cè)量的計(jì)量標(biāo)準(zhǔn)。可是它的缺點(diǎn)是只能近距離觀測(cè),而且水銀有毒,玻璃管易碎。代替水銀的有酒精溫度計(jì)和金屬簧片溫度計(jì),它們雖然沒(méi)有毒性,但測(cè)量精度很低,只能
41、作為一個(gè)概略指示。不過(guò)在居民住宅中使用已可滿足要求。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中為了配合遠(yuǎn)傳儀表指示,出現(xiàn)了許多不同的溫度檢測(cè)方法,常用的有電阻式、熱電偶式、PN結(jié)型、輻射型、光纖式及石英諧振型等。它們都是基于溫度變化引起其物理參數(shù)(如電阻值,熱電勢(shì)等)的變化的原理。隨著大規(guī)模集成電路工藝的提高,出現(xiàn)了多種集成的數(shù)字化溫度傳感器。</p><p> 3.2 DS18B20的工作原理</p><p&
42、gt; 3.2.1 DS18B20工作時(shí)序</p><p> 根據(jù)DS18B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:</p><p> 1. 每一次讀寫(xiě)之前都必須要對(duì)DS18B20進(jìn)行復(fù)位;</p><p> 2. 復(fù)位成功后發(fā)送一條ROM指令;</p><p> 3. 最后發(fā)送RAM指令,這樣才能對(duì)DS
43、18B20進(jìn)行預(yù)定的操作。</p><p> 復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,DS18B20收到信號(hào)后等待15~60微秒左右后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。其工作時(shí)序包括初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序,具體工作方法如圖2.1,2.2,2.3所示。</p><p><b> (1) 初始化時(shí)序</b></p&g
44、t;<p> 圖3-1 初始化時(shí)序</p><p> 總線上的所有傳輸過(guò)程都是以初始化開(kāi)始的,主機(jī)響應(yīng)應(yīng)答脈沖。應(yīng)答脈沖使主機(jī)知道,總線上有從機(jī)設(shè)備,且準(zhǔn)備就緒。主機(jī)輸出低電平,保持低電平時(shí)間至少480us,以產(chǎn)生復(fù)位脈沖。接著主機(jī)釋放總線,4.7KΩ上拉電阻將總線拉高,延時(shí)15~60us,并進(jìn)入接受模式,以產(chǎn)生低電平應(yīng)答脈沖,若為低電平,再延時(shí)480us[12]。</p><
45、;p><b> (2) 寫(xiě)時(shí)序</b></p><p><b> 圖3-2 寫(xiě)時(shí)序</b></p><p> 寫(xiě)時(shí)序包括寫(xiě)0時(shí)序和寫(xiě)1時(shí)序。所有寫(xiě)時(shí)序至少需要60us,且在2次獨(dú)立的寫(xiě)時(shí)序之間至少需要1us的恢復(fù)時(shí)間,都是以總線拉低開(kāi)始。寫(xiě)1時(shí)序,主機(jī)輸出低電平,延時(shí)2us,然后釋放總線,延時(shí)60us。寫(xiě)0時(shí)序,主機(jī)輸出低電平,延時(shí)6
46、0us,然后釋放總線,延時(shí)2us[8]。</p><p><b> (3) 讀時(shí)序</b></p><p><b> 圖3-3 讀時(shí)序</b></p><p> 總線器件僅在主機(jī)發(fā)出讀時(shí)序是,才向主機(jī)傳輸數(shù)據(jù),所以,在主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時(shí)序,以便從機(jī)能夠傳輸數(shù)據(jù)。所有讀時(shí)序至少需要60us,且在2次
47、獨(dú)立的讀時(shí)序之間至少需要1us的恢復(fù)時(shí)間。每個(gè)讀時(shí)序都由主機(jī)發(fā)起,至少拉低總線1us。主機(jī)在讀時(shí)序期間必須釋放總線,并且在時(shí)序起始后的15us之內(nèi)采樣總線狀態(tài)。主機(jī)輸出低電平延時(shí)2us,然后主機(jī)轉(zhuǎn)入輸入模式延時(shí)12us,然后讀取總線當(dāng)前電平,然后延時(shí)50us[4]</p><p> 3.2.2 ROM操作命令</p><p> 當(dāng)主機(jī)收到DSl8B20 的響應(yīng)信號(hào)后,便可以發(fā)出ROM
48、操作命令之一,這些命令如表2.2:ROM操作命令。</p><p> 3.3 DS18B20的測(cè)溫原理</p><p> 3.3.1 DS18B20的測(cè)溫原理:</p><p> 每一片DSl8B20在其ROM中都存有其唯一的48位序列號(hào),在出廠前已寫(xiě)入片內(nèi)ROM 中。主機(jī)在進(jìn)入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號(hào)讀出。</p
49、><p> 程序可以先跳過(guò)ROM,啟動(dòng)所有DSl8B20進(jìn)行溫度變換,之后通過(guò)匹配ROM,再逐一地讀回每個(gè)DSl8B20的溫度數(shù)據(jù)。</p><p> DS18B20的測(cè)溫原理如圖2.4所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入,圖中還隱含著計(jì)數(shù)門(mén),當(dāng)計(jì)數(shù)
50、門(mén)打開(kāi)時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門(mén)的開(kāi)啟時(shí)間由高溫度系數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將-55 ℃所對(duì)應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55 ℃所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開(kāi)始對(duì)低溫度系數(shù)
51、晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖2.3中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門(mén)仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值. </p><p> 表3-1 ROM操作命令</p><p><b> 續(xù)表3-1</b
52、></p><p> 另外,由于DS18B20單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,因此讀寫(xiě)時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。</p><p> 圖3-4 測(cè)溫原理內(nèi)部裝置</p><p> 3.3.2 DS18B20的測(cè)溫流程&
53、lt;/p><p> 圖3-5 DS18B20測(cè)溫流程</p><p><b> .</b></p><p><b> 四、單片機(jī)接口設(shè)計(jì)</b></p><p><b> 4.1 設(shè)計(jì)原則</b></p><p> DS18B20可以采用兩種方式
54、供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生電源供電方式,如圖3.1所示單片機(jī)端口接單線總線,為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管來(lái)完成對(duì)總線的上拉。本設(shè)計(jì)采用電源供電方式, P1.1口接單線總線為保證在有效的DS18B20時(shí)鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFET管和89S51的P1.0來(lái)完成對(duì)總線的上拉。當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操
55、作和溫度A/D變換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10 μs。采用寄生電源供電方式是VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)3個(gè)步驟:</p><p><b> 初始化;</b></p><p><b> ROM操作指令;</b></p>
56、<p><b> 存儲(chǔ)器操作指令。</b></p><p><b> 4.2 引腳連接</b></p><p> 4.2.1 晶振電路</p><p> 單片機(jī)XIAL1和XIAL2分別接30PF的電容,中間再并個(gè)12MHZ的晶振,形成單片機(jī)的晶振電路。</p><p> 4
57、.2.2 串口引腳</p><p> P0口接9個(gè)2.2K的排阻然后接到顯示電路上。P1.0溫度傳感器DS18B20如圖3.1所示。</p><p> 圖4-1 DS18B20與單片機(jī)的接口電路</p><p> P1.1和P1.2引腳接繼電器電路的4.7K電阻上,P1口其他引腳懸空</p><p> P2口中P2.0、P2.1、P
58、2.2、P2.3分別接到顯示電路的4.7K電阻上,P2.5接蜂鳴器電路,其他引腳懸空</p><p> P3口中P3.5、P3.6、P3.7接到按鍵電路</p><p> 4.2.3 其它引腳</p><p> ALE引腳懸空,復(fù)位引腳接到復(fù)位電路、VCC接電源、VSS接地、EA接電源</p><p><b> 五、系統(tǒng)整體
59、設(shè)計(jì)</b></p><p> 5.1 系統(tǒng)硬件電路設(shè)計(jì)</p><p> 5.1.1 主板電路設(shè)計(jì)</p><p> 單片機(jī)的P1.0接DS18B20的2號(hào)引腳,P0口送數(shù)P2口掃描,P1.1、P1.2控制加熱器和電風(fēng)扇的繼電器。如附錄2。</p><p> 5.1.2 各部分電路</p><p>
60、;<b> (1) 顯示電路</b></p><p> 顯示電路采用了7段共陰數(shù)碼管掃描電路,節(jié)約了單片機(jī)的輸出端口,便于程序的編寫(xiě)。</p><p> 圖5-1 顯示電路圖</p><p><b> (2) 單片機(jī)電路</b></p><p> 圖5-2 單片機(jī)電路引腳圖</p&g
61、t;<p> (3) DS18B20溫度傳感器電路</p><p> 圖5-3 溫度傳感器電路引腳圖</p><p><b> (4) 繼電器電路</b></p><p> 圖中P1.1引腳控制加熱器繼電器。給.P1.1低電平,三極管導(dǎo)通,電磁鐵觸頭放下來(lái)開(kāi)始工作. </p><p> 圖5-4
62、繼電器電路圖</p><p> (5) 晶振控制電路</p><p> 圖5-5 晶振控制電路圖</p><p><b> (6) 復(fù)位電路</b></p><p><b> 圖5-6復(fù)位電路圖</b></p><p> 5.2 系統(tǒng)軟件設(shè)計(jì)</p>
63、<p> 5.2.1 系統(tǒng)軟件設(shè)計(jì)整體思路</p><p> 一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件作保證。同時(shí)還必須得到相應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過(guò)軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單,如數(shù)字濾波,信號(hào)處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與S51系列單片機(jī)
64、相對(duì)應(yīng)的51匯編語(yǔ)言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行軟件編程。</p><p> 程序設(shè)計(jì)語(yǔ)言有三種:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言是機(jī)器唯一能“懂”的語(yǔ)言,用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫(xiě)的程序(稱為源程序)最終都必須翻譯成機(jī)器語(yǔ)言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行。</p><p> 高級(jí)語(yǔ)言是面向問(wèn)題和計(jì)算過(guò)程的語(yǔ)言,它可通過(guò)于各種不同的計(jì)算機(jī),用戶編程時(shí)不必仔細(xì)了
65、解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語(yǔ)句的功能強(qiáng),常常一個(gè)語(yǔ)句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級(jí)語(yǔ)言編制程序的速度比較快,也便于學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語(yǔ)言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機(jī)微控制系統(tǒng),使用匯編語(yǔ)言可以不用像高級(jí)語(yǔ)言那樣占用較多的存儲(chǔ)空間,適合于存儲(chǔ)容量較小的系統(tǒng)。同時(shí),本系統(tǒng)對(duì)位處理要求很高,需要解決大量的邏輯控制問(wèn)題。</p><p> MCS—51指令
66、系統(tǒng)的指令長(zhǎng)度較短,它在存儲(chǔ)空間和執(zhí)行時(shí)間方面具有較高的效率,編成的程序占用內(nèi)存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應(yīng)用要求很適合。而且MCS—51指令系統(tǒng)有豐富的位操作(或稱位處理)指令,可以形成一個(gè)相當(dāng)完整的位操作指令子集,這是MCS—51指令系統(tǒng)主要的優(yōu)點(diǎn)之一。對(duì)于要求反應(yīng)靈敏與控制及時(shí)的工控、檢測(cè)等實(shí)時(shí)控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“電腦化”產(chǎn)品,可以充分體現(xiàn)出匯編語(yǔ)言簡(jiǎn)明、整齊、執(zhí)行時(shí)間短和易于使用的特點(diǎn)。</p&
67、gt;<p> 本裝置的軟件包括主程序、讀出溫度子程序、復(fù)位應(yīng)答子程序、寫(xiě)入子程序、以及有關(guān)DS18B20的程序(初始化子程序、寫(xiě)程序和讀程序)</p><p> 5.2.2 系統(tǒng)程序流圖</p><p> 系統(tǒng)程序主要包括主程序,讀出溫度子程序,復(fù)位應(yīng)答子程序,寫(xiě)入子程序等。</p><p><b> 1)主程序</b>
68、</p><p> 主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程見(jiàn)圖19所示。</p><p> 通過(guò)調(diào)用讀溫度子程序把存入內(nèi)存儲(chǔ)中的整數(shù)部分與小數(shù)部分分開(kāi)存放在不同的兩個(gè)單元中,然后通過(guò)調(diào)用顯示子程序顯示出來(lái)</p><p> 圖5-7 主程序流程圖&
69、lt;/p><p> 圖5-8 讀出溫度子程序</p><p><b> 2)讀出溫度子程序</b></p><p> 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫(xiě)。</p><p> DS18B20的各個(gè)命令對(duì)時(shí)序的要求特別嚴(yán)格,所以必須按照所要求的時(shí)
70、序才能達(dá)到預(yù)期的目的,同時(shí),要注意讀進(jìn)來(lái)的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號(hào)位。</p><p> 3)復(fù)位、應(yīng)答子程序</p><p> 圖5-9復(fù)位、應(yīng)答子程序</p><p><b> 4)寫(xiě)入子程序</b></p><p> 圖5-10寫(xiě)入子程序</p>&l
71、t;p><b> 5)系統(tǒng)總的流程圖</b></p><p> 圖5-11系統(tǒng)總的流程圖</p><p><b> 5.3 調(diào)試</b></p><p> 主程序的功能是:?jiǎn)?dòng)DS18B20測(cè)量溫度,將測(cè)量值與給定值進(jìn)行比較,若測(cè)得溫度小于設(shè)定值,則進(jìn)入加熱階段,置P1.1為低電平,這期間繼續(xù)對(duì)溫度進(jìn)行監(jiān)測(cè),
72、直到溫度在設(shè)定范圍內(nèi),置P1.1為高電平斷開(kāi)可控硅,關(guān)閉加熱器,等待下一次的啟動(dòng)命令。當(dāng)測(cè)得溫度大于設(shè)定值,則進(jìn)入降溫階段,則置P1.2為低電平,這期間繼續(xù)對(duì)溫度進(jìn)行監(jiān)測(cè),直到溫度在設(shè)定范圍內(nèi),置P1.2為高電平斷開(kāi),關(guān)閉風(fēng)扇,等待下一次的啟動(dòng)命令。</p><p> 第一次接電調(diào)試,設(shè)置溫度上限為90攝氏度,溫度下限為20攝氏度。加熱后,溫度有時(shí)超過(guò)90攝氏度卻不報(bào)警,后經(jīng)檢查,發(fā)現(xiàn)是進(jìn)位C沒(méi)有清0,于是在如
73、下寫(xiě)入程序中加入進(jìn)位C清零,便排除了這個(gè)異常。</p><p> WR1:CLR P1.0</p><p><b> MOV R3,#6</b></p><p><b> DJNZ R3,$</b></p><p><b> RRC A</b></p>&
74、lt;p> MOV P1.0,C</p><p> MOV R3,#23</p><p><b> DJNZ R3,$</b></p><p><b> SETB P1.0</b></p><p><b> NOP</b></p><p>
75、; DJNZ R2,WR1</p><p> RET; 讀DS18B2</p><p> 再經(jīng)實(shí)際接電調(diào)試,一切運(yùn)行正常。加熱到90攝氏度時(shí),紅燈亮起,自動(dòng)斷電,而低于20攝氏度時(shí),綠燈亮起,開(kāi)始加熱。</p><p><b> 六、結(jié)束語(yǔ)</b></p><p> 經(jīng)過(guò)近兩個(gè)月的努力,我的畢業(yè)設(shè)計(jì)——基于單片
76、機(jī)的溫度控制系統(tǒng)設(shè)計(jì)已經(jīng)基本完成。在設(shè)計(jì)過(guò)程中,力求系統(tǒng)的實(shí)現(xiàn)電路簡(jiǎn)單、成本低,系統(tǒng)的功能快捷易用并且完善。但是由于一些條件的限制,所設(shè)計(jì)系統(tǒng)仍然存在一些不足,有待改進(jìn)。</p><p> 本測(cè)量系統(tǒng)溫度控制器結(jié)構(gòu)簡(jiǎn)單、測(cè)溫準(zhǔn)確,具有一定的實(shí)際應(yīng)用價(jià)值。該智能溫度控制器只是DS18B20在溫度控制領(lǐng)域的一個(gè)簡(jiǎn)單實(shí)例,還有許多需要完善的地方,例如可以將測(cè)得的溫度通過(guò)單片機(jī)與通訊模塊相連接,以手機(jī)短消息的方式發(fā)送給
77、用戶,使用戶能夠隨時(shí)對(duì)溫度進(jìn)行監(jiān)控。此外,還能廣泛地應(yīng)用于其他一些工業(yè)生產(chǎn)領(lǐng)域,如建筑,倉(cāng)儲(chǔ)等行業(yè)。本溫度控制系統(tǒng)可用于多種場(chǎng)合,像的溫度、育嬰房的溫度、水溫的控制。用戶可靈活選擇本設(shè)計(jì)的用途,其有很強(qiáng)的使用價(jià)值。</p><p> 這是我第一次利用單片機(jī)來(lái)實(shí)現(xiàn)一個(gè)應(yīng)用系統(tǒng)的設(shè)計(jì),通過(guò)實(shí)踐,我對(duì)匯編語(yǔ)言和單片機(jī)有了新的認(rèn)識(shí)和理解,并且學(xué)會(huì)了Proteus和Keil軟件的使用,掌握了從系統(tǒng)的需求、方案論證、功能模
78、塊的劃分、原理圖的設(shè)計(jì)和繪制、電路圖仿真、程序設(shè)計(jì)到軟件仿真調(diào)試的設(shè)計(jì)流程,積累了硬件設(shè)計(jì)的經(jīng)驗(yàn)。基于電路的設(shè)計(jì)方法有利于電子電路初學(xué)者加深對(duì)電路原理、器件資料、電路板設(shè)計(jì)和電路的硬件調(diào)試認(rèn)識(shí)和理解。</p><p> 由于初次接觸單片機(jī)類的設(shè)計(jì)項(xiàng)目,在設(shè)計(jì)過(guò)程中也出現(xiàn)了一些問(wèn)題,以前學(xué)習(xí)的專業(yè)知識(shí)掌握的不夠好,對(duì)電路的理解不是很透徹,設(shè)計(jì)的電路布局布線不是很合理,理論聯(lián)系實(shí)際的能力還需要進(jìn)一步的加強(qiáng)。還由于元
79、器件的多樣性和可選型號(hào)的廣泛性,在此系統(tǒng)中運(yùn)用的型號(hào)的芯片不一定是最佳的?,F(xiàn)在電子器件發(fā)展日新月異,新的器件如雨后春筍般出現(xiàn),也不可能一一嘗試,所以還肯定有很多值得改進(jìn)的地方。在以后的實(shí)踐中,我將繼續(xù)努力學(xué)習(xí)電子電路設(shè)計(jì),力爭(zhēng)取得更大的進(jìn)步。</p><p><b> 附錄</b></p><p><b> 附錄1</b></p>
80、<p><b> 電源線插接說(shuō)明:</b></p><p> 所提供的電池盒,紅線為正,黑線為負(fù)。板子所留出來(lái)的電源插口用VCC(表示電源正)和GND(表示電源負(fù))標(biāo)明。若沒(méi)有標(biāo)明,我們會(huì)刻有記號(hào),刻有+號(hào)處為電源正。</p><p><b> 附錄2</b></p><p><b> 主板
81、電路圖:</b></p><p><b> 附錄3</b></p><p><b> 程序代碼:</b></p><p><b> ORG 0000H</b></p><p> TEMPER_L EQU 29H</p><p> T
82、EMPER_H EQU 28H</p><p> FLAG1 EQU 38H;是否檢測(cè)到DS18B20標(biāo)志位</p><p> A_BIT EQU 20H ;數(shù)碼管個(gè)位數(shù)存放內(nèi)存位置</p><p> B_BIT EQU 21H ;數(shù)碼管十位數(shù)存放內(nèi)存位置</p><p> XS EQU 30H</p><p
83、> MOV A,#00H</p><p><b> MOV P2,A</b></p><p> MAIN:LCALL GET_TEMPER;調(diào)用讀溫度子程序</p><p><b> MOV A,29H</b></p><p><b> MOV B,A</b>&
84、lt;/p><p><b> CLR C</b></p><p><b> RLC A</b></p><p><b> CLR C</b></p><p><b> RLC A</b></p><p><b> C
85、LR C</b></p><p><b> RLC A</b></p><p><b> CLR C</b></p><p><b> RLC A</b></p><p><b> SWAP A</b></p><p
86、><b> MOV 31H,A</b></p><p><b> MOV A,B</b></p><p> MOV C,40H;將28H中的最低位移入C</p><p><b> RRC A</b></p><p><b> MOV C,41H<
87、/b></p><p><b> RRC A</b></p><p><b> MOV C,42H</b></p><p><b> RRC A</b></p><p><b> MOV C,43H</b></p><p&
88、gt;<b> RRC A</b></p><p><b> MOV 29H,A</b></p><p> LCALL DISPLAY;調(diào)用數(shù)碼管顯示子程序</p><p> AJMP MAIN; 這是DS18B20復(fù)位初始化子程序</p><p> INIT_1820:SETB P1.0
89、</p><p><b> NOP</b></p><p> CLR P1.0;主機(jī)發(fā)出延時(shí)535微秒的復(fù)位低脈沖</p><p><b> MOV R1,#5</b></p><p> TSR1:MOV R0,#107</p><p><b> DJNZ
90、 R0,$</b></p><p> DJNZ R1,TSR1</p><p> SETB P1.0;然后拉高數(shù)據(jù)線</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</
91、b></p><p> MOV R0,#25H</p><p> TSR2:JNB P1.0,TSR3;等待DS18B20回應(yīng)</p><p> DJNZ R0,TSR2</p><p> LJMP TSR4 ; 延時(shí)</p><p> TSR3:SETB FLAG1 ; 置標(biāo)志位,表示DS1820存在
92、</p><p><b> LJMP TSR5</b></p><p> TSR4:CLR FLAG1 ; 清標(biāo)志位,表示DS1820不存在</p><p><b> LJMP TSR7</b></p><p> TSR5:MOV R0,#117</p><p>
93、TSR6:DJNZ R0,TSR6 ; 延時(shí)一段時(shí)間</p><p> TSR7:SETB P1.0</p><p> RET ; 讀出轉(zhuǎn)換后的溫度值</p><p> GET_TEMPER:SETB P1.0</p><p> LCALL INIT_1820;先復(fù)位DS18B20</p><p&
94、gt; JB FLAG1,TSS2</p><p> RET ; 判斷DS1820是否存在?若DS18B20不存在則返回</p><p> TSS2:MOV A,#0CCH ; 跳過(guò)ROM匹配</p><p> LCALL WRITE_1820</p><p> MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令</p&
95、gt;<p> LCALL WRITE_1820</p><p> LCALL DELAY ;等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒</p><p> LCALL INIT_1820;準(zhǔn)備讀溫度前先復(fù)位</p><p> MOV A,#0CCH ; 跳過(guò)ROM匹配</p><p> LCALL WRITE_18
96、20</p><p> MOV A,#0BEH ; 發(fā)出讀溫度命令</p><p> LCALL WRITE_1820</p><p> LCALL READ_18200; </p><p> RET;寫(xiě)DS18B20的子程序(有具體的時(shí)序要求)</p><p> WRITE_1820:MOV R2,#8;一
97、共8位數(shù)據(jù)</p><p><b> CLR C</b></p><p> WR1:CLR P1.0</p><p><b> MOV R3,#6</b></p><p><b> DJNZ R3,$</b></p><p><b>
98、 RRC A</b></p><p> MOV P1.0,C</p><p> MOV R3,#23</p><p><b> DJNZ R3,$</b></p><p><b> SETB P1.0</b></p><p><b> NOP&
99、lt;/b></p><p> DJNZ R2,WR1</p><p> RET; 讀DS18B20的程序,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù) </p><p> READ_18200:MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出</p><p> MOV R1,#29H ; 低位存入29H(TEMPER
100、_L),高位存入28H(TEMPER_H)</p><p> RE00:MOV R2,#8;數(shù)據(jù)一共有8位</p><p> RE01:CLR C</p><p><b> SETB P1.0</b></p><p><b> NOP</b></p><p><
101、b> NOP</b></p><p><b> CLR P1.0</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><
102、;p><b> SETB P1.0</b></p><p><b> MOV R3,#9</b></p><p> RE10: DJNZ R3,RE10</p><p> MOV C,P1.0</p><p> MOV R3,#23</p><p> RE2
103、0: DJNZ R3,RE20</p><p><b> RRC A</b></p><p> DJNZ R2,RE01</p><p><b> MOV @R1,A</b></p><p><b> DEC R1</b></p><p> D
104、JNZ R4,RE00</p><p><b> RET</b></p><p> DISPLAY:CLR C</p><p> SUBB A, #30</p><p> JNB CY, T1</p><p> MOV A, B</p><p>&
105、lt;b> CLR C</b></p><p> SUBB A,#25</p><p> JNB CY, XIANSHI</p><p> CLR P1.1</p><p> LJMP XIANSHI</p><p> T1:CLR P1.2</p><
106、p> XIANSHI:MOV A,B</p><p> MOV B,#10 ;10進(jìn)制/10=10進(jìn)制</p><p><b> DIV AB</b></p><p> MOV B_BIT,A ;十位在A</p><p> MOV A_BIT,B ;個(gè)位在B</p><p> M
107、OV R0,#4 </p><p><b> CLR C;多加的</b></p><p> DPL1: MOV R1,#250 ;顯示1000次</p><p> DPLOP:MOV DPTR,#NUMTAB1</p><p> MOV A,A_BIT ;取個(gè)位數(shù)</p><p> MO
108、VC A,@A+DPTR ;查個(gè)位數(shù)的7段代碼</p><p> MOV P0,A ;送出個(gè)位的7段代碼</p><p> CLR P2.1 ;開(kāi)個(gè)位顯示</p><p> ACALL D1MS ;顯示1MS</p><p><b> SETB P2.1</b></p><p> MOV
109、 DPTR,#NUMTAB</p><p> MOV A,B_BIT ;取十位數(shù)</p><p> MOVC A,@A+DPTR ;查十位數(shù)的7段代碼</p><p> MOV P0,A ;送出十位的7段代碼</p><p> CLR P2.2 ;開(kāi)十位顯示</p><p> ACALL D1MS ;顯示1
110、MS</p><p><b> SETB P2.2</b></p><p> JC XSW;多加的</p><p><b> MOV A,31H</b></p><p><b> MUL AB</b></p><p><b> MOV
111、 B #16</b></p><p><b> DIV AB</b></p><p><b> MOV XS,A</b></p><p> XSW: MOVC A,@A+DPTR</p><p><b> MOV P0,A </b></p>&
112、lt;p><b> CLR P2.0 </b></p><p> ACALL D1MS </p><p><b> SETB P2.0</b></p><p> SETB C;多加的</p><p> DJNZ R1,DPLOP ;250次沒(méi)完循環(huán)</p><p&
113、gt; DJNZ R0,DPL1 ;4個(gè)250次沒(méi)完循環(huán)</p><p> RET;1MS延時(shí)(按12MHZ算)</p><p> D1MS: MOV R7,#80 </p><p><b> DJNZ R7,$</b></p><p><b> RET</b></p>&l
114、t;p> DELAY: MOV R1, #7</p><p> WAIT:MOV R0,#107</p><p><b> DJNZ R0,$</b></p><p> DJNZ R1,WAIT</p><p><b> RET</b></p><p> N
115、UMTAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,7FH,7FH,7FH,7FH,7FH,7FH</p><p> NUMTAB1: DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH</p><p><b> END</b></p><p>
116、<b> 參考文獻(xiàn)</b></p><p> [1].李朝青,單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版)[M]. 北京:北京航空航天大學(xué)出版社,</p><p><b> 1998</b></p><p> [2].李廣弟.單片機(jī)基礎(chǔ)[M]. 北京:北京航空航天大學(xué)出版社,1994</p><p>
117、 [3].金偉正.單線數(shù)字溫度傳感器的原理與應(yīng)用[J].電子技術(shù)與應(yīng)用,2000</p><p> [4].李 鋼.1-Wire總線數(shù)字溫度傳感器DS18B20原理及應(yīng)用.現(xiàn)代電子技術(shù)[J],2005</p><p> [5]Steven F.Barrett,Daniel J.Pack.Embedded System[M].北京:電子工業(yè)出版社,2006</p><
118、;p> [6]. 陳躍東.DS18B20集成溫度傳感器原理與應(yīng)用[J].安徽機(jī)電學(xué)院學(xué)報(bào),2002</p><p> [7]. 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版)[M]. 北京:高等教育出版社,1989</p><p><b> 致謝</b></p><p> 大學(xué)四年的學(xué)習(xí)和生活就要隨著這篇論文的答辯而結(jié)束了。有許許多多的舍不得,
119、也有許許多多的感謝要說(shuō)。</p><p> 首先要衷心感謝的是我的指導(dǎo)教師朱春媚老師!在我學(xué)習(xí)期間不僅傳授了做學(xué)問(wèn)的秘訣,還傳授了做人的準(zhǔn)則。這些都將使我終生受益。無(wú)論是在理論學(xué)習(xí)階段,還是在論文的選題、資料查詢、開(kāi)題、研究和撰寫(xiě)的每一個(gè)環(huán)節(jié),無(wú)不得到導(dǎo)師的悉心指導(dǎo)和幫助。我愿借此機(jī)會(huì)向?qū)煴硎局孕牡母兄x!</p><p> 其次要感謝所有教育過(guò)我的老師!你們傳授給我的專業(yè)知識(shí)是我不斷
120、成長(zhǎng)的源泉,也是完成本論文的基礎(chǔ)。我還要向關(guān)心和支持我學(xué)習(xí)的朋友們表示真摯的謝意!感謝他們對(duì)我的關(guān)心、關(guān)注和支持! </p><p> 大學(xué)的生活讓我有了堅(jiān)強(qiáng)的性格,冷靜的頭腦和永遠(yuǎn)樂(lè)觀的態(tài)度。最重要的是讓我有了責(zé)任感,對(duì)自己、對(duì)家人和對(duì)社會(huì)。 </p><p> 我愿在未來(lái)的學(xué)習(xí)過(guò)程中,以更加豐厚的成果來(lái)答謝曾經(jīng)關(guān)心、幫助和支持過(guò)我的所有領(lǐng)導(dǎo)、老師、同學(xué)和朋友。永遠(yuǎn)以一顆為人民服務(wù)的
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)智能溫度控制系統(tǒng)畢業(yè)論文
- 單片機(jī)智能溫度控制系統(tǒng)畢業(yè)論文 -萬(wàn)謙益
- 電飯煲單片機(jī)智能控制系統(tǒng)-畢業(yè)論文
- 基于單片機(jī)智能交通控制系統(tǒng)畢業(yè)論文
- 單片機(jī)智能臺(tái)燈系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-單片機(jī)溫度控制系統(tǒng)
- 基于單片機(jī)智能燃?xì)庠羁刂葡到y(tǒng)設(shè)計(jì)【畢業(yè)論文】
- 畢業(yè)論文-單片機(jī)溫度控制系統(tǒng)
- 基于單片機(jī)的智能溫度控制系統(tǒng)【畢業(yè)論文】
- 單片機(jī)溫度控制系統(tǒng)畢業(yè)論文
- 單片機(jī)溫度控制系統(tǒng)畢業(yè)論文
- 單片機(jī)智能交通控制系統(tǒng)
- 單片機(jī)的溫度控制系統(tǒng)畢業(yè)論文
- MCS-51單片機(jī)智能溫度控制系統(tǒng)設(shè)計(jì).rar
- MCS-51單片機(jī)智能溫度控制系統(tǒng)設(shè)計(jì).rar
- 單片機(jī)多點(diǎn)溫度控制系統(tǒng)畢業(yè)論文
- MCS-51單片機(jī)智能溫度控制系統(tǒng)設(shè)計(jì).rar
- 基于mcs-51單片機(jī)智能溫度控制系統(tǒng)設(shè)計(jì)
- MCS-51單片機(jī)智能溫度控制系統(tǒng)設(shè)計(jì).rar
- 基于mcs-51單片機(jī)智能溫度控制系統(tǒng)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論