單片機(jī)溫度控制系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩35頁(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、<p>  計(jì)算機(jī)控制系統(tǒng)課程設(shè)計(jì)(論文)任務(wù)書</p><p><b>  摘要</b></p><p>  溫度是日常生活中無(wú)時(shí)不在的物理量,溫度的控制在各個(gè)領(lǐng)域都有積極的意義。很多行業(yè)中都有大量的用電加熱設(shè)備,如用于熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及各種不同用途的溫度箱等,采用單片機(jī)對(duì)它們進(jìn)行控制不僅具有控制方便、簡(jiǎn)單、靈活性大等特點(diǎn),而且還可

2、以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量。因此,智能化溫度控制技術(shù)正被廣泛地采用。本溫度設(shè)計(jì)采用現(xiàn)在流行的AT89S51單片機(jī),配以DS18B20數(shù)字溫度傳感器,該溫度傳感器可自行設(shè)置溫度上下限。單片機(jī)將檢測(cè)到的溫度信號(hào)與輸入的溫度上、下限進(jìn)行比較,由此作出判斷是否啟動(dòng)繼電器以開啟備。本設(shè) 計(jì)還加入了常用的數(shù)碼管顯示及狀態(tài)燈顯示燈常用電路,使整個(gè)設(shè)計(jì)更加完整更加靈活。 </p><p>

3、;  關(guān)鍵詞: 溫度箱;AT89S51;單片機(jī);輸入通道設(shè)計(jì);控制;模擬</p><p><b>  目錄</b></p><p><b>  1 引言1</b></p><p>  1.1 溫度控制系統(tǒng)設(shè)計(jì)的背景、發(fā)展歷史及意義1</p><p>  1.2 溫度控制系統(tǒng)的目的1</

4、p><p>  1.3 溫度控制系統(tǒng)完成的功能1</p><p>  2 總體設(shè)計(jì)方案2</p><p><b>  2.1 方案一2</b></p><p><b>  2.2 方案二2</b></p><p>  3 DS18B20溫度傳感器簡(jiǎn)介7</p&g

5、t;<p>  3.1 溫度傳感器的歷史及簡(jiǎn)介7</p><p>  3.2 DS18B20的工作原理7</p><p>  3.2.1 DS18B20工作時(shí)序7</p><p>  3.2.2 ROM操作命令9</p><p>  3.3 DS18B20的測(cè)溫原理9</p><p>  3.3

6、.1DS18B20的測(cè)溫原理:9</p><p>  3.3.2 DS18B20的測(cè)溫流程11</p><p>  4 單片機(jī)接口設(shè)計(jì)12</p><p>  4.1 設(shè)計(jì)原則12</p><p>  4.2 引腳連接12</p><p>  4.2.1 晶振電路12</p><p>

7、;  4.2.2 串口引腳12</p><p>  4.2.3 其它引腳13</p><p>  5 系統(tǒng)整體設(shè)計(jì)14</p><p>  5.1 系統(tǒng)硬件電路設(shè)計(jì)14</p><p>  5.1.1 主板電路設(shè)計(jì)14</p><p>  5.1.2 各部分電路14</p><p>

8、  5.2 系統(tǒng)軟件設(shè)計(jì)16</p><p>  5.2.1 系統(tǒng)軟件設(shè)計(jì)整體思路16</p><p>  5.2.2 系統(tǒng)程序流圖17</p><p><b>  5.3 調(diào)試21</b></p><p><b>  6 結(jié)束語(yǔ)23</b></p><p><

9、;b>  附錄24</b></p><p><b>  參考文獻(xiàn)32</b></p><p><b>  1 引言</b></p><p>  1.1 溫度控制系統(tǒng)設(shè)計(jì)的背景、發(fā)展歷史及意義 </p><p>  隨著社會(huì)的發(fā)展,科技的進(jìn)步,以及測(cè)溫儀器在各個(gè)領(lǐng)域的應(yīng)用,智能化

10、已是現(xiàn)代溫度控制系統(tǒng)發(fā)展的主流方向。特別是近年來(lái),溫度控制系統(tǒng)已應(yīng)用到人們生活的各個(gè)方面,但溫度控制一直是一個(gè)未開發(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é)科都離不開溫度。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中,像電力、化工、石油、冶金、航空航天、機(jī)械制造、糧食存儲(chǔ)、酒類生產(chǎn)等領(lǐng)

11、域內(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ì)溫度控制的要求都越來(lái)越高。可見(jiàn),溫度的測(cè)量和控制是非常重要的。</p>&l

12、t;p>  單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來(lái)越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測(cè)和溫度控制。隨著溫度控制器應(yīng)用范圍的日益廣泛和多樣,各種適用于不同場(chǎng)合的智能溫度控制器應(yīng)運(yùn)而生。</p><p>  1.2 溫度控制系統(tǒng)的目的</p><p>  本設(shè)計(jì)的內(nèi)容是溫度測(cè)試控制系統(tǒng),控制對(duì)象是溫度。溫度控制在日常生活及工業(yè)領(lǐng)域應(yīng)用相當(dāng)廣泛,比如溫室、水池、發(fā)酵缸、電源等場(chǎng)所的溫度控制

13、。而以往溫度控制是由人工完成的而且不夠重視,其實(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><p>  本設(shè)計(jì)是對(duì)溫度進(jìn)行實(shí)時(shí)監(jiān)測(cè)與控制,設(shè)計(jì)的溫度控制系統(tǒng)實(shí)現(xiàn)了基本的溫度控制功能:當(dāng)溫度低于

14、設(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><b>  2 總體設(shè)計(jì)方案</b></p><p>

15、;<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)換電路,感溫電路比較麻煩。</p><p><b>  2.2 方案二</b>&

16、lt;/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><p>  在本系統(tǒng)的電路設(shè)計(jì)方框圖如圖1.1所示,它由三部分組成:①控制部分主芯片采用單

17、片機(jī)AT89S51;②顯示部分采用3位LED數(shù)碼管以動(dòng)態(tài)掃描方式實(shí)現(xiàn)溫度顯示;③溫度采集部分采用DS18B20溫度傳感器。</p><p>  圖2-1 溫度計(jì)電路總體設(shè)計(jì)方案</p><p><b>  控制部分</b></p><p>  單片機(jī)AT89S51具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適

18、合便攜手持式產(chǎn)品的設(shè)計(jì)使用,系統(tǒng)應(yīng)用三節(jié)電池供電。</p><p><b>  2. 顯示部分</b></p><p>  顯示電路采用3位共陽(yáng)LED數(shù)碼管,從P0口送數(shù),P2口掃描。</p><p><b>  3. 溫度采集部分</b></p><p>  DS18B20溫度傳感器是美國(guó)DALL

19、AS半導(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和單片機(jī),硬件很簡(jiǎn)單</p><p>  1) DS18B20的性能特點(diǎn)如下[9]:

20、</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ò)數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;</p><p><b>  5)

21、零待機(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>  9) 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。 </p>&l

22、t;p>  (2) DS18B20的內(nèi)部結(jié)構(gòu)</p><p>  DS18B20采用3腳PR-35封裝,如圖1.2所示;DS18B20的內(nèi)部結(jié)構(gòu),如圖3所示。</p><p>  圖2-2 DS18B20封裝</p><p>  (3) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成[5]:</p><p>  1) 64位光刻ROM。開始

23、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 MSB LSB MSB LSB</p>

24、<p>  圖2-3 DS18B20內(nèi)部結(jié)構(gòu)</p><p>  2) 非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫入用戶報(bào)警上下限值。</p><p>  3) 高速暫存存儲(chǔ),可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度。</p><p>  DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2PRAM。高速暫存RAM的結(jié)

25、構(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是工作模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式。 </p><p>  表2

26、-2 DS18B20內(nèi)部存儲(chǔ)器結(jié)構(gòu)</p><p>  2) 非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,可通過(guò)軟件寫入用戶報(bào)警上下限值。</p><p>  3) 高速暫存存儲(chǔ),可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度。</p><p>  DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動(dòng),R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率,如圖1.4。</p>&l

27、t;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碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。</p><p>  當(dāng)DS1

28、8B20接收到溫度轉(zhuǎn)換命令后,開始啟動(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)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位S=1時(shí),表示測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。

29、 表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><p>  4) CRC的產(chǎn)生 在64 b ROM的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余

30、校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來(lái)計(jì)算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。</p><p>  3 DS18B20溫度傳感器簡(jiǎn)介

31、</p><p>  3.1 溫度傳感器的歷史及簡(jiǎn)介</p><p>  溫度的測(cè)量是從金屬(物質(zhì))的熱脹冷縮開始。水銀溫度計(jì)至今仍是各種溫度測(cè)量的計(jì)量標(biāo)準(zhǔn)??墒撬娜秉c(diǎn)是只能近距離觀測(cè),而且水銀有毒,玻璃管易碎。代替水銀的有酒精溫度計(jì)和金屬簧片溫度計(jì),它們雖然沒(méi)有毒性,但測(cè)量精度很低,只能作為一個(gè)概略指示。不過(guò)在居民住宅中使用已可滿足要求。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中為了配合遠(yuǎn)傳儀表指示,出現(xiàn)

32、了許多不同的溫度檢測(cè)方法,常用的有電阻式、熱電偶式、PN結(jié)型、輻射型、光纖式及石英諧振型等。它們都是基于溫度變化引起其物理參數(shù)(如電阻值,熱電勢(shì)等)的變化的原理。隨著大規(guī)模集成電路工藝的提高,出現(xiàn)了多種集成的數(shù)字化溫度傳感器。</p><p>  3.2 DS18B20的工作原理</p><p>  3.2.1 DS18B20工作時(shí)序</p><p>  根據(jù)DS1

33、8B20的通訊協(xié)議,主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:</p><p>  1. 每一次讀寫之前都必須要對(duì)DS18B20進(jìn)行復(fù)位;</p><p>  2. 復(fù)位成功后發(fā)送一條ROM指令;</p><p>  3. 最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。</p><p>  復(fù)位要求主CPU將數(shù)據(jù)線下拉

34、500微秒,然后釋放,DS18B20收到信號(hào)后等待15~60微秒左右后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。其工作時(shí)序包括初始化時(shí)序、寫時(shí)序和讀時(shí)序,具體工作方法如圖2.1,2.2,2.3所示。</p><p><b>  (1) 初始化時(shí)序</b></p><p>  圖3-1 初始化時(shí)序</p><p>  總線

35、上的所有傳輸過(guò)程都是以初始化開始的,主機(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><p><b>  (2) 寫時(shí)序</b></p><

36、p><b>  圖3-2 寫時(shí)序</b></p><p>  寫時(shí)序包括寫0時(shí)序和寫1時(shí)序。所有寫時(shí)序至少需要60us,且在2次獨(dú)立的寫時(shí)序之間至少需要1us的恢復(fù)時(shí)間,都是以總線拉低開始。寫1時(shí)序,主機(jī)輸出低電平,延時(shí)2us,然后釋放總線,延時(shí)60us。寫0時(shí)序,主機(jī)輸出低電平,延時(shí)60us,然后釋放總線,延時(shí)2us[8]。</p><p><b>

37、  (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次獨(dú)立的讀時(shí)序之間至少需要1us的恢復(fù)時(shí)間。每個(gè)讀時(shí)序都由主機(jī)發(fā)起,至少拉低總線1us。主機(jī)在讀時(shí)序期

38、間必須釋放總線,并且在時(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 操作命令之一,這些命令如表2.2:ROM操作命令。</p><p>  3.

39、3 DS18B20的測(cè)溫原理</p><p>  3.3.1 DS18B20的測(cè)溫原理:</p><p>  每一片DSl8B20在其ROM中都存有其唯一的48位序列號(hào),在出廠前已寫入片內(nèi)ROM 中。主機(jī)在進(jìn)入操作程序前必須用讀ROM(33H)命令將該DSl8B20的序列號(hào)讀出。</p><p>  程序可以先跳過(guò)ROM,啟動(dòng)所有DSl8B20進(jìn)行溫度變換,之后通過(guò)

40、匹配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ù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟

41、時(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重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存

42、器中的數(shù)值即為所測(cè)溫度。圖2.3中的斜率累加器用于補(bǔ)償和修正測(cè)溫過(guò)程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過(guò)程,直至溫度寄存器值達(dá)到被測(cè)溫度值. </p><p>  表3-1 ROM操作命令</p><p><b>  續(xù)表3-1</b></p><p>  另外,由于DS18B20單線通信功能是分時(shí)完成

43、的,他有嚴(yán)格的時(shí)隙概念,因此讀寫時(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è)溫流程</p><p>  圖3-5 DS18B20測(cè)溫流程</p>

44、<p><b>  .</b></p><p><b>  4 單片機(jī)接口設(shè)計(jì)</b></p><p><b>  4.1 設(shè)計(jì)原則</b></p><p>  DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。另一種是寄生

45、電源供電方式,如圖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處于寫存儲(chǔ)器操作和溫度A/D變換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開啟時(shí)間最大為10 μs。采用寄生電源供電方式是

46、VDD和GND端均接地。由于單線制只有一根線,因此發(fā)送接收口必須是三狀態(tài)的。主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)3個(gè)步驟:</p><p><b>  初始化;</b></p><p><b>  ROM操作指令;</b></p><p><b>  存儲(chǔ)器操作指令。</b></p>

47、<p><b>  4.2 引腳連接</b></p><p>  4.2.1 晶振電路</p><p>  單片機(jī)XIAL1和XIAL2分別接30PF的電容,中間再并個(gè)12MHZ的晶振,形成單片機(jī)的晶振電路。</p><p>  4.2.2 串口引腳</p><p>  P0口接9個(gè)2.2K的排阻然后接到顯

48、示電路上。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、P2.2、P2.3分別接到顯示電路的4.7K電阻上,P2.5接蜂鳴器電路,其他引腳懸空</p&g

49、t;<p>  P3口中P3.5、P3.6、P3.7接到按鍵電路</p><p>  4.2.3 其它引腳</p><p>  ALE引腳懸空,復(fù)位引腳接到復(fù)位電路、VCC接電源、VSS接地、EA接電源</p><p><b>  5 系統(tǒng)整體設(shè)計(jì)</b></p><p>  5.1 系統(tǒng)硬件電路設(shè)計(jì)<

50、;/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><b>  (1) 顯示電路</b></p><p>

51、;  顯示電路采用了7段共陰數(shù)碼管掃描電路,節(jié)約了單片機(jī)的輸出端口,便于程序的編寫。</p><p>  圖5-1 顯示電路圖</p><p><b>  (2) 單片機(jī)電路</b></p><p>  圖5-2 單片機(jī)電路引腳圖</p><p>  (3) DS18B20溫度傳感器電路</p><p

52、>  圖5-3 溫度傳感器電路引腳圖</p><p><b>  (4) 繼電器電路</b></p><p>  圖中P1.1引腳控制加熱器繼電器。給.P1.1低電平,三極管導(dǎo)通,電磁鐵觸頭放下來(lái)開始工作. </p><p>  圖5-4 繼電器電路圖</p><p>  (5) 晶振控制電路</p>

53、<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><p>  5.2.1 系統(tǒng)軟件設(shè)計(jì)整體思路</p><p>  

54、一個(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ī)相對(duì)應(yīng)的51匯編語(yǔ)言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行軟件編程。</p><p>  

55、程序設(shè)計(jì)語(yǔ)言有三種:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言是機(jī)器唯一能“懂”的語(yǔ)言,用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫的程序(稱為源程序)最終都必須翻譯成機(jī)器語(yǔ)言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行。</p><p>  高級(jí)語(yǔ)言是面向問(wèn)題和計(jì)算過(guò)程的語(yǔ)言,它可通過(guò)于各種不同的計(jì)算機(jī),用戶編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語(yǔ)句的功能強(qiáng),常常一個(gè)語(yǔ)句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高

56、級(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指令系統(tǒng)的指令長(zhǎng)度較短,它在存儲(chǔ)空間和執(zhí)行時(shí)間方面具有較高的效率,編成的程序占用內(nèi)存單元少,執(zhí)行也非常的

57、快捷,與本系統(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><p>  本裝置的軟件包括主程序、讀出溫度子程序、復(fù)位應(yīng)答子程序、寫入子程序、

58、以及有關(guān)DS18B20的程序(初始化子程序、寫程序和讀程序)</p><p>  5.2.2 系統(tǒng)程序流圖</p><p>  系統(tǒng)程序主要包括主程序,讀出溫度子程序,復(fù)位應(yīng)答子程序,寫入子程序等。</p><p><b>  1)主程序</b></p><p>  主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS1

59、8B20的測(cè)量的當(dāng)前溫度值,溫度測(cè)量每1s進(jìn)行一次。這樣可以在一秒之內(nèi)測(cè)量一次被測(cè)溫度,其程序流程見(jiàn)圖19所示。</p><p>  通過(guò)調(diào)用讀溫度子程序把存入內(nèi)存儲(chǔ)中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個(gè)單元中,然后通過(guò)調(diào)用顯示子程序顯示出來(lái)</p><p>  圖5-7 主程序流程圖</p><p>  圖5-8 讀出溫度子程序</p>&l

60、t;p><b>  2)讀出溫度子程序</b></p><p>  讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。</p><p>  DS18B20的各個(gè)命令對(duì)時(shí)序的要求特別嚴(yán)格,所以必須按照所要求的時(shí)序才能達(dá)到預(yù)期的目的,同時(shí),要注意讀進(jìn)來(lái)的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7位,還有

61、一位符號(hào)位。</p><p>  3)復(fù)位、應(yīng)答子程序</p><p>  圖5-9復(fù)位、應(yīng)答子程序</p><p><b>  4)寫入子程序</b></p><p>  圖5-10寫入子程序</p><p><b>  5)系統(tǒng)總的流程圖</b></p>&

62、lt;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è),直到溫度在設(shè)定范圍內(nèi),置P1.1為高電平斷開可控硅,關(guān)閉加熱器,等待下一次的啟動(dòng)命令。當(dāng)測(cè)得溫度大于

63、設(shè)定值,則進(jìn)入降溫階段,則置P1.2為低電平,這期間繼續(xù)對(duì)溫度進(jìn)行監(jiān)測(cè),直到溫度在設(shè)定范圍內(nèi),置P1.2為高電平斷開,關(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,于是在如下寫入程序中加入進(jìn)位C清零,便排除了這個(gè)異常。</p><p>  WR1:

64、CLR P1.0</p><p><b>  MOV R3,#6</b></p><p><b>  DJNZ R3,$</b></p><p><b>  RRC A</b></p><p>  MOV P1.0,C</p><p>  MOV R3,

65、#23</p><p><b>  DJNZ R3,$</b></p><p><b>  SETB P1.0</b></p><p><b>  NOP</b></p><p>  DJNZ R2,WR1</p><p>  RET; 讀DS18B2&

66、lt;/p><p>  再經(jīng)實(shí)際接電調(diào)試,一切運(yùn)行正常。加熱到90攝氏度時(shí),紅燈亮起,自動(dòng)斷電,而低于20攝氏度時(shí),綠燈亮起,開始加熱。</p><p><b>  6 結(jié)束語(yǔ)</b></p><p>  本設(shè)計(jì)使用的溫度控制器結(jié)構(gòu)簡(jiǎn)單、測(cè)溫準(zhǔn)確,具有一定的實(shí)際應(yīng)用價(jià)值。該智能溫度控制器只是DS18B20在溫度控制領(lǐng)域的一個(gè)簡(jiǎn)單實(shí)例,還有許多需要完

67、善的地方,例如可以將測(cè)得的溫度通過(guò)單片機(jī)與通訊模塊相連接,以手機(jī)短消息的方式發(fā)送給用戶,使用戶能夠隨時(shí)對(duì)溫度進(jìn)行監(jiān)控。此外,還能廣泛地應(yīng)用于其他一些工業(yè)生產(chǎn)領(lǐng)域,如建筑,倉(cāng)儲(chǔ)等行業(yè)。本溫度控制系統(tǒng)可以應(yīng)用于多種場(chǎng)合,像的溫度、育嬰房的溫度、水溫的控制。用戶可靈活選擇本設(shè)計(jì)的用途,有很強(qiáng)的實(shí)用價(jià)值。</p><p><b>  附錄</b></p><p><b&

68、gt;  附錄1</b></p><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

69、><p><b>  主板電路圖</b></p><p><b>  附錄3</b></p><p><b>  程序代碼</b></p><p><b>  ORG 0000H</b></p><p>  TEMPER_L EQU 2

70、9H</p><p>  TEMPER_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

71、 EQU 30H</p><p>  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><

72、;b>  MOV B,A</b></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&

73、gt;<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>  SWAP A&

74、lt;/b></p><p><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&g

75、t;<b>  MOV C,41H</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&l

76、t;/b></p><p><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><

77、p>  INIT_1820:SETB P1.0</p><p><b>  NOP</b></p><p>  CLR P1.0;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖</p><p><b>  MOV R1,#3</b></p><p>  TSR1:MOV R0,#107</p>

78、<p><b>  DJNZ 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>&l

79、t;p><b>  NOP</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:SE

80、TB FLAG1 ; 置標(biāo)志位,表示DS1820存在</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,#

81、117</p><p>  TSR6:DJNZ R0,TSR6 ; 時(shí)序要求延時(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ù)位DS18B

82、20</p><p>  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ā)出

83、溫度轉(zhuǎn)換命令</p><p>  LCALL WRITE_1820;這里通過(guò)調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒</p><p>  LCALL DISPLAY</p><p>  LCALL INIT_1820;準(zhǔn)備讀溫度前先復(fù)位</p><p>  MOV A,#0CCH ; 跳過(guò)ROM匹配</p&

84、gt;<p>  LCALL WRITE_1820</p><p>  MOV A,#0BEH ; 發(fā)出讀溫度命令</p><p>  LCALL WRITE_1820</p><p>  LCALL READ_18200; 將讀出的溫度數(shù)據(jù)保存到35H/36H </p><p>  RET;寫DS18B20的子程序(有具體的時(shí)

85、序要求)</p><p>  WRITE_1820:MOV R2,#8;一共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>  D

86、JNZ R3,$</b></p><p><b>  RRC A</b></p><p>  MOV P1.0,C</p><p>  MOV R3,#23</p><p><b>  DJNZ R3,$</b></p><p><b>  SETB P

87、1.0</b></p><p><b>  NOP</b></p><p>  DJNZ R2,WR1</p><p>  RET; 讀DS18B20的程序,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù) </p><p>  READ_18200:MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出&l

88、t;/p><p>  MOV R1,#29H ; 低位存入29H(TEMPER_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>

89、<b>  NOP</b></p><p><b>  NOP</b></p><p><b>  CLR P1.0</b></p><p><b>  NOP</b></p><p><b>  NOP</b></p>

90、<p><b>  NOP</b></p><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>

91、<p>  MOV R3,#23</p><p>  RE20: DJNZ R3,RE20</p><p><b>  RRC A</b></p><p>  DJNZ R2,RE01</p><p><b>  MOV @R1,A</b></p><p>&l

92、t;b>  DEC R1</b></p><p>  DJNZ R4,RE00</p><p><b>  RET</b></p><p>  DISPLAY:CLR C</p><p>  SUBB A, #30</p><p>  JNB CY, T1</p&

93、gt;<p>  MOV A, B</p><p><b>  CLR C</b></p><p>  SUBB A,#25</p><p>  JNB CY, XIANSHI</p><p>  CLR P1.1</p><p>  LJMP XIANSHI&

94、lt;/p><p>  T1:CLR P1.2</p><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><

95、;p>  MOV A_BIT,B ;個(gè)位在B</p><p>  MOV R0,#4 </p><p><b>  CLR C;多加的</b></p><p>  DPL1: MOV R1,#250 ;顯示1000次</p><p>  DPLOP:MOV DPTR,#NUMTAB1</p><

96、p>  MOV A,A_BIT ;取個(gè)位數(shù)</p><p>  MOVC A,@A+DPTR ;查個(gè)位數(shù)的7段代碼</p><p>  MOV P0,A ;送出個(gè)位的7段代碼</p><p>  CLR P2.1 ;開個(gè)位顯示</p><p>  ACALL D1MS ;顯示1MS</p><p><b&g

97、t;  SETB P2.1</b></p><p>  MOV 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 P

98、2.2 ;開十位顯示</p><p>  ACALL D1MS ;顯示1MS</p><p><b>  SETB P2.2</b></p><p>  JC XSW;多加的</p><p><b>  MOV A,31H</b></p><p>  MOV B,#160&

99、lt;/p><p><b>  DIV AB</b></p><p><b>  MOV XS,B</b></p><p>  XSW:MOV A,XS </p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0,A </b>

100、;</p><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)<

101、/p><p>  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>

102、</p><p>  NUMTAB: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&

103、gt;</p><p><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é)出版社,1

104、994</p><p>  [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] 譚浩強(qiáng). 《C程序設(shè)計(jì)》 清華大學(xué)出版社.</p><p>  [6]. 陳躍東.DS

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論