版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> X X 大 學(xué)</b></p><p> 畢 業(yè) 設(shè) 計(jì)(論文)</p><p> 題 目: 電熱恒溫控制系統(tǒng) </p><p> 姓 名: XXX </p><p> 學(xué) 號: 20060714113 </p>
2、<p> 年 級: 2011 級 </p><p> 專 業(yè): 電子信息工程 </p><p> 指導(dǎo)教師: XXX </p><p> 完成日期: 2015年05月6日 </p><p><b> 摘要</b></
3、p><p> 溫度是日常生活中無時(shí)不在的物理量,溫度的控制在各個(gè)領(lǐng)域都有積極的意義。很多行業(yè)中都有大量的用電加熱設(shè)備,如用于熱處理的加熱爐,用于融化金屬的坩鍋電阻爐及各種不同用途的溫度箱等,采用單片機(jī)對它們進(jìn)行控制不僅具有控制方便、簡單、靈活性大等特點(diǎn),而且還可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量。因此,智能化溫度控制技術(shù)正被廣泛地采用,給生活帶來很大的方便。</p><p
4、> 本溫度設(shè)計(jì)采用現(xiàn)在流行的AT89S51單片機(jī),配以DS18B20數(shù)字溫度傳感器,該溫度傳感器可自行設(shè)置溫度上下限。單片機(jī)將檢測到的溫度信號與輸入的溫度上、下限進(jìn)行比較,由此作出判斷是否啟動繼電器以開啟設(shè)備。</p><p> 本設(shè)計(jì)還加入了常用的數(shù)碼管顯示及狀態(tài)燈顯示燈常用電路,使得整個(gè)設(shè)計(jì)更加完整,更加靈活。該設(shè)計(jì)已應(yīng)用于花房、實(shí)驗(yàn)室,可對花房和實(shí)驗(yàn)室的溫度進(jìn)行智能監(jiān)控。</p>&
5、lt;p> 關(guān)鍵字:恒溫;控制系統(tǒng);AT89C51單片機(jī);DS18B20;設(shè)計(jì)</p><p><b> Abstract</b></p><p> The temperature is constantly in the daily life of physical and temperature controls in various fields h
6、ave 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 various uses of temperature bins,
7、 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> The temperature was d
8、esigned 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 the input signal and tempera
9、ture, 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 lights commonly used circuit,
10、 making the whole design more complete, more flexible. The design has been applied to someone like flower rooms and laboratory rooms, to someone intelligent temperature control like these fields. </p><p> K
11、eywords: Temperature keeping;Control systerm ;AT898C51 SCM;DS18B20;Design</p><p><b> 目錄</b></p><p> 1 引言············
12、3;····································
13、183;··</p><p> 1.1恒溫控制控制系統(tǒng)設(shè)計(jì)的意義···························1&l
14、t;/p><p> 1.2恒溫控制系統(tǒng)設(shè)計(jì)的背景·······························
15、;1</p><p> 1.3恒溫控制系統(tǒng)設(shè)計(jì)的目的······························&
16、#183;1</p><p> 1.4恒溫控制系統(tǒng)的功能······························
17、;·····1</p><p> 2 系統(tǒng)測溫設(shè)計(jì)方案的比較和總結(jié)·························
18、;··2</p><p> 2.1方案一·····························
19、83;··················</p><p> 2.2方案二·············
20、183;····································
21、</p><p> 2.3方案的總結(jié)·······························
22、83;············</p><p> 3 DS18B20溫度傳感器的介紹·················
23、83;··········</p><p> 3.1溫度傳感器的發(fā)展歷史及簡介···················
24、3;··········</p><p> 3.2 DS18B20的封裝及組成···················
25、3;··············</p><p> 3.3 DS18B20的測溫原理················
26、;···················</p><p> 3.3.1 測溫原理············
27、······························</p><p> 3.3.2 測溫流程·&
28、#183;····································
29、;···</p><p> 3.4 DS18B20與單片機(jī)的連接··························
30、3;·</p><p> 4 AT89C51單片機(jī)的介紹·····························
31、····</p><p> 3.1 AT89C51的封裝及組成··························
32、·······</p><p> 3.2 AT89C51的部分引腳說明·······················
33、;········</p><p> 5 電路控制系統(tǒng)的整體設(shè)計(jì)······················
34、83;·······</p><p> 5.1系統(tǒng)硬件設(shè)計(jì)························
35、;···············</p><p> 5.1.1總的電路主板的設(shè)計(jì)···············
36、183;················</p><p> 5.2其他部分硬件電路及說明··············
37、;·················</p><p> 5.3系統(tǒng)軟件設(shè)計(jì)··············&
38、#183;··························</p><p> 5.3.1系統(tǒng)軟件設(shè)計(jì)的整體思路···
39、183;·······················</p><p> 5.3.2系統(tǒng)程序流程圖的設(shè)計(jì)······
40、3;······················</p><p> 5.4程序的調(diào)試·········&
41、#183;································</p><p>
42、結(jié)束語····································&
43、#183;············</p><p> 致謝···················
44、3;·······························</p><p> 參考文獻(xiàn)·
45、;····································
46、83;·········</p><p> 附錄·······················
47、····························</p><p><b> 1引言</b></p&
48、gt;<p> 1.1恒溫控制系統(tǒng)設(shè)計(jì)的意義</p><p> 隨著社會的發(fā)展,科技的進(jìn)步,以及測溫儀器在各個(gè)領(lǐng)域的應(yīng)用的深入,智能化已成為現(xiàn)代溫度控制系統(tǒng)發(fā)展的主流方向。特別是近些年來,溫度控制系統(tǒng)已廣泛應(yīng)用到人們生活的各個(gè)方面,但溫度控制一直是一個(gè)有待深入開發(fā)的領(lǐng)域,它是與人們生活息息相關(guān)的一個(gè)實(shí)際問題。針對這種實(shí)際情況,設(shè)計(jì)一個(gè)溫度控制系統(tǒng),根據(jù)人們生活過程中對溫度的需要,讓溫度控制在所需
49、要的范圍之內(nèi),這將給人們的生活帶來更多的方便和利益,故智能化的恒溫控制系統(tǒng)具有廣泛的應(yīng)用前景與實(shí)際意義。</p><p> 1.2恒溫控制系統(tǒng)的設(shè)計(jì)背景</p><p> 溫度是科學(xué)技術(shù)中最基本的物理量之一,也是日常生活中經(jīng)常用到的名詞,物理、化學(xué)、生物等學(xué)科都離不開溫度。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中,像大棚生產(chǎn)、溫室溫度控制、電力、化工、石油、冶金、航空航天、機(jī)械制造、糧食存儲、酒類生產(chǎn)等
50、領(lǐng)域,也都離不開溫度的測量和控制。溫度常常是表征對象和過程狀態(tài)的最重要的參數(shù)之一。比如,發(fā)電廠鍋爐的溫度必須控制在一定的范圍之內(nèi);許多化學(xué)反應(yīng)的工藝過程必須在適當(dāng)?shù)臏囟认虏拍苷_M(jìn)行;煉油過程中,原油必須在不同的溫度和壓力條件下進(jìn)行分餾才能得到汽油、柴油、煤油等產(chǎn)品;醫(yī)院在做手術(shù)的時(shí)候要求在一定的溫度環(huán)境下進(jìn)行…沒有適宜的溫度環(huán)境,許多電子設(shè)備就不能正常工作,糧倉的儲糧就會變質(zhì)霉?fàn)€,酒類的品質(zhì)就沒有保障,手術(shù)就無法進(jìn)行…因此,各行各業(yè)對
51、溫度控制的要求都越來越高??梢?,溫度的測量和控制是非常重要的。</p><p> 單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測和溫度控制。隨著溫度控制器應(yīng)用范圍的日益廣泛和多樣化,各種適用于不同場合的智能溫度控制器應(yīng)運(yùn)而生。</p><p> 1.3恒溫控制系統(tǒng)的設(shè)計(jì)目的</p><p> 本設(shè)計(jì)的內(nèi)容是溫度測試控制系統(tǒng),控制對象
52、是溫度。溫度控制在日常生活及工業(yè)領(lǐng)域的應(yīng)用相當(dāng)廣泛,比如溫室、水池、發(fā)酵缸、電源、電子設(shè)備等場所的溫度控制。而以往溫度控制是由人工完成的而且不夠重視,其實(shí)在很多場所溫度都需要監(jiān)控以防止發(fā)生意外。針對此問題,本系統(tǒng)設(shè)計(jì)的目的是實(shí)現(xiàn)一種可連續(xù)高精度調(diào)溫的溫度控制系統(tǒng),它應(yīng)用廣泛,功能強(qiáng)大,電源是有直流蓄電池提供,小巧美觀,便于攜帶,是一款既實(shí)用又廉價(jià)的溫度控制系統(tǒng)。</p><p> 1.4 恒溫控制系統(tǒng)的功能&l
53、t;/p><p> 本設(shè)計(jì)是對溫度進(jìn)行實(shí)時(shí)監(jiān)測與控制,設(shè)計(jì)的溫度控制系統(tǒng)實(shí)現(xiàn)了基本的溫度檢測與控制功能:當(dāng)溫度低于設(shè)定下限溫度值時(shí),系統(tǒng)自動啟動加熱繼電器加熱,使溫度上升,同時(shí)綠燈亮。當(dāng)溫度上升到下限溫度以上時(shí),停止加溫,同時(shí)燈滅;當(dāng)溫度高于設(shè)定上限溫度時(shí),系統(tǒng)自動啟動風(fēng)扇降溫,使溫度下降,同時(shí)紅燈亮。當(dāng)溫度下降到上限溫度以下時(shí),電風(fēng)扇停止工作,降溫停止。溫度在上下限溫度之間時(shí),不執(zhí)行降溫或升溫功能。四個(gè)數(shù)碼管即時(shí)
54、顯示溫度,精確到小數(shù)點(diǎn)一位。若單單由系統(tǒng)進(jìn)行溫度的控制較難實(shí)現(xiàn)對環(huán)境溫度的控制,可以經(jīng)過人工的方法進(jìn)行控制,比如可以開空調(diào)降溫,或者開加熱器進(jìn)行升溫等。當(dāng)然也可以進(jìn)行功能改進(jìn)和拓展,將本系統(tǒng)和空調(diào)或散熱器連接,當(dāng)溫度高于上限時(shí)開空調(diào)或散熱器進(jìn)行散熱降溫;同樣的,把該系統(tǒng)與加熱器也連接,當(dāng)溫度低于下限時(shí),啟動加熱器加熱升溫,更好的實(shí)現(xiàn)智能化控制。</p><p> 2系統(tǒng)測溫設(shè)計(jì)方案的比較和總結(jié)</p>
55、;<p><b> 2.1 方案一</b></p><p> 測溫電路的設(shè)計(jì),可以使用熱敏電阻之類的器件進(jìn)行溫度的檢測,利用其感溫效應(yīng),將隨被測溫度的變化而變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。</p><p><b&g
56、t; 2.2 方案二 </b></p><p> 使用溫度傳感器對溫度的檢測,結(jié)合單片機(jī)電路設(shè)計(jì),采用一只DS18B20溫度傳感器,直接讀取被測溫度值,然后進(jìn)行數(shù)據(jù)的轉(zhuǎn)換,通過單片機(jī)的處理后,再將溫度在數(shù)碼管顯示器上顯示出來,將依次完成設(shè)計(jì)要求。</p><p> 比較以上兩種方案,很容易看出,采用方案二,電路比較簡單,不需要進(jìn)行A/D轉(zhuǎn)換,軟件設(shè)計(jì)也比較容易實(shí)現(xiàn),因此,
57、實(shí)際設(shè)計(jì)中采用方案二。</p><p> 2.3方案二的總體設(shè)計(jì)</p><p> 本系統(tǒng)的電路設(shè)計(jì)方框圖如圖1.1所示,它由三部分組成:①控制部分主芯片采用單片機(jī)AT89C51;②顯示部分采用四位共陰極LED數(shù)碼管以動態(tài)掃描方式顯示溫度;③溫度采集部分采用DS18B20溫度傳感器進(jìn)行溫度采集。</p><p> 圖2.1電路總體設(shè)計(jì)方案</p>
58、<p><b> ?。?) 控制部分</b></p><p> 單片機(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> 顯示電路采用4位共
59、陰極LED數(shù)碼管,從P0口送數(shù),P2口掃描。</p><p><b> (3)溫度采集部分</b></p><p> DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫。這一部分主要完成對溫度信號的采集和轉(zhuǎn)換工作,由DS18B20數(shù)字溫度傳感器及其與單片機(jī)的接口部分組成。數(shù)字溫
60、度傳感器DS18B20把采集到的溫度通過數(shù)據(jù)引腳傳到單片機(jī)的P1.0口,單片機(jī)接受溫度并存儲和處理。此部分只用到DS18B20和單片機(jī),硬件電路很容易實(shí)現(xiàn)。</p><p> 3 DS18B20溫度傳感器的介紹</p><p> 3.1溫度傳感器的發(fā)展歷史及簡介</p><p> 溫度的測量是從金屬(物質(zhì))的熱脹冷縮開始。水銀溫度計(jì)至今仍是各種溫度測量的計(jì)量標(biāo)
61、準(zhǔn)。可是它的缺點(diǎn)是只能近距離觀測,而且水銀有毒,玻璃管易碎。代替水銀的有酒精溫度計(jì)和金屬簧片溫度計(jì),它們雖然沒有毒性,但測量精度很低,只能作為一個(gè)概略指示。不過在居民住宅中使用已可滿足要求。在工業(yè)生產(chǎn)和實(shí)驗(yàn)研究中為了配合遠(yuǎn)傳儀表指示,出現(xiàn)了許多不同的溫度檢測方法,常用的有電阻式、熱電偶式、PN結(jié)型、輻射型、光纖式及石英諧振型等。它們都是基于溫度變化引起其物理參數(shù)(如電阻值,熱電勢等)的變化原理來進(jìn)行溫度檢測的。隨著大規(guī)模集成電路工藝的提
62、高,出現(xiàn)了多種集成的數(shù)字化溫度傳感器。</p><p> 3.2 DS18B20的封裝及組成</p><p> 3.2.1 DS18B20的封裝如圖2.1所示,采用3腳式封裝。 </p><p> 圖3.1 DS18B20的封裝及引腳說明</p><p> 3.2.2 DS18B20的內(nèi)部結(jié)構(gòu)</p><p>
63、 它主要由四部分組成:</p><p> ?。?)64位光刻ROM。開始8位是產(chǎn)品類型的編號,接著是每個(gè)器件的惟一的序號,共有48位,最后8位是前56位的CRC校驗(yàn)碼,這也是多個(gè)DS18B20可以采用一線進(jìn)行通信的原因。64位閃速ROM的結(jié)構(gòu)如下:</p><p> MSB LSB MSB LSB MSB LSB
64、</p><p> 圖3.2 DS18B20的內(nèi)部結(jié)構(gòu)示意圖</p><p> ?。?) 非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入用戶報(bào)警上下限值。</p><p> (3) 高速暫存存儲,可以設(shè)置DS18B20溫度轉(zhuǎn)換的精度。</p><p> DS18B20溫度傳感器的內(nèi)部存儲器還包括一個(gè)高速暫存RAM和一個(gè)非易失性的電可擦
65、除的E2PRAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,結(jié)構(gòu)如表3.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)部存儲器結(jié)構(gòu)和字節(jié)定義如表3.2所示。低5位一直為1,TM是工作模式位,用于設(shè)置DS18B20在工作模式還是在測試模式, </p&
66、gt;<p> 表3.1 DS18B20內(nèi)部存儲器結(jié)構(gòu)</p><p> DS18B20出廠時(shí)該位被設(shè)置為0,用戶要去改動,R1和R0決定溫度轉(zhuǎn)換的精度位數(shù),來設(shè)置分辨率,如表3.2。</p><p> 表3.2 DS18B20字節(jié)定義</p><p> 由表3.3可見,分辨率越高,所需要的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)
67、換時(shí)間權(quán)衡考慮。</p><p> 高速暫存RAM的第6、7、8字節(jié)保留未用,表現(xiàn)為全邏輯1。第9字節(jié)讀出前面所有8字節(jié)的CRC碼,可用來檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。</p><p> 當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,開始啟動轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以16位帶符號擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲在高速暫存存儲器的第1、2字節(jié)。單片機(jī)可以通過單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,
68、高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。</p><p> 當(dāng)符號位S=0時(shí),表示測得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號位S=1時(shí),表示測得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。表2.2是一部分溫度值對應(yīng)的二進(jìn)制溫度數(shù)據(jù)。</p><p> 表3.3 DS18B20溫度轉(zhuǎn)換時(shí)間表</p><p> 表3.4 部分
69、溫度對應(yīng)值表</p><p> ?。?) CRC的產(chǎn)生 在64 b ROM的最高有效字節(jié)中存儲有循環(huán)冗余校驗(yàn)碼(CRC)。主機(jī)根據(jù)ROM的前56位來計(jì)算CRC值,并和存入DS18B20中的CRC值做比較,以判斷主機(jī)收到的ROM數(shù)據(jù)是否正確。</p><p> 另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對DS18B20的各種操作按
70、協(xié)議進(jìn)行。操作協(xié)議為:初使化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)</p><p> 3.3 DS18B20的測溫原理</p><p> 3.3.1 測溫原理</p><p> 每一片DSl8B20在其ROM中都存有其唯一的48位序列號,在出廠前已寫入片內(nèi)ROM 中。主機(jī)在進(jìn)入操作程序前必須用讀ROM(33H)命令將該DSl
71、8B20的序列號讀出。</p><p> 程序可以先跳過ROM,啟動所有DSl8B20進(jìn)行溫度變換,之后通過匹配ROM,再逐一地讀回每個(gè)DSl8B20的溫度數(shù)據(jù)。</p><p> DS18B20的測溫原理如圖2.4所示,圖中低溫系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定的頻率的脈沖信號送給減法計(jì)數(shù)器1,高溫系數(shù)晶振隨溫度的變化,其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計(jì)數(shù)器2的
72、脈沖輸入,圖中還隱含著技術(shù)門,當(dāng)技術(shù)門打開時(shí),DS18B20就對低溫度系數(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ù)置將重新被裝入,減法
73、計(jì)數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2技術(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí),溫度寄存器中的數(shù)值即為所測溫度。圖2.3中的斜率累加器用于補(bǔ)償和修正測溫過程中的非線性,其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重復(fù)上述過程,直到寄存器溫度值達(dá)到被測溫度值,這就是DS18B20的測溫原理。</p><p> 表3.5 ROM操作命令</p>&l
74、t;p> 另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格是時(shí)隙概念,因此,讀寫時(shí)序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。</p><p> 圖3.3 測溫原理內(nèi)部結(jié)構(gòu)裝置</p><p><b> 3.3.2測溫流程</b></p
75、><p> 圖3.4 DS18B20測溫流程圖</p><p> 3.4 DS18B20與單片機(jī)的連接2</p><p> DS18B20與單片機(jī)的連接如下圖所示:</p><p> 這種連接方式實(shí)現(xiàn)了硬件電路得簡單化,容易實(shí)現(xiàn)。</p><p> 4 AT89C51單片機(jī)的介紹</p><p
76、> 4.1 AT89C51的封裝及組成</p><p> 單片機(jī)有44引腳的方式有方形和40引腳的雙列直插式封裝形式,無總線拓展的51單片機(jī)有20引腳雙列直插式封裝,本系統(tǒng)用的是40引腳的雙列直插式封裝,其封裝形式如下所示:</p><p> 圖4.1AT89C51單片機(jī)的封裝</p><p> 各引腳功能說明如下:</p><p&
77、gt; GND:接地端。(20號引腳,這里已經(jīng)默認(rèn)沒有給出)</p><p> Vcc:電源端,杰+5V的直流電源。(40號引腳,單片機(jī)已經(jīng)默認(rèn))</p><p> XTAL1:接外部晶體的一個(gè)引腳。CHMOS單片機(jī)采用外部時(shí)鐘信號時(shí),外部時(shí)鐘信號引腳由此接入。</p><p> XTAL2: 接外部晶體的一個(gè)引腳。HMOS單片機(jī)采用外部時(shí)鐘信號時(shí),外部時(shí)鐘
78、信號引腳由此接入。</p><p> RST: ①復(fù)位信號輸入。②Vcc掉電后,此引腳可接備用電源,低功耗條件下,保持內(nèi)部RAM存儲器中的詩數(shù)據(jù)。</p><p> ALE/PROG:①地址鎖存允許。當(dāng)單片機(jī)訪問外部存儲器時(shí),該引腳輸出信號ALE用于鎖存P0端口的低8位地址。ALE輸出的頻率為時(shí)鐘振蕩頻率的1/6。②對8751單片機(jī)內(nèi)EPROM編程時(shí),編程脈沖由該引腳接入。</p
79、><p> PSEN:程序存儲器允許。輸出讀外部程序存儲器的選通信號。取指令操作期間, PSEN的頻率為振蕩頻率的1/6;單若在此期間有訪問外部數(shù)據(jù)存儲器的操作時(shí),則有一個(gè)機(jī)器周期中的PSEN信號將不出現(xiàn)。</p><p> EA/Vpp:①EA=0時(shí),單片機(jī)只訪問外部存儲器。對于8031單片機(jī)此引腳必須接地,EA=1,單片機(jī)訪問程序內(nèi)部存儲器。對于內(nèi)部有程序存儲器的8XX51
80、單片機(jī),此引腳應(yīng)該接高電平,單如果地址值超過4KB范圍(0FFFH),單片機(jī)將自動訪問外部程序存儲器。②在8751單片機(jī)內(nèi)EPORM編程期間,此引腳接入21V編程電源Vpp。</p><p> P0.0~P0.7:P0數(shù)據(jù)/低8位地址復(fù)用總線端口。具有雙重功能,①可以作為輸入/輸出口,外接輸入/輸出設(shè)備。②在有外接存儲器和I/O接口時(shí),常作低8位地址/數(shù)據(jù)總線,即低8位地址與數(shù)據(jù)線分時(shí)使用P0口。此時(shí),低8位地
81、址由ALE信號的下跳沿使它鎖存到外部地址鎖存器中。</p><p> P1.0~P1.7:P1靜態(tài)通用端口,然后,P0口出現(xiàn)數(shù)據(jù)信息。具有單一接口功能,P1口每一位都可作為可編程輸入或輸出口線。</p><p> P2.0~P2.7:P2高8位地址總線動態(tài)端口。具有雙重功能,①作為輸入口或輸出口使用,外接輸入/輸出設(shè)備。②在有外接存儲器和I/O接口時(shí),作為系統(tǒng)的地址總線,輸出高8位地址
82、,與P0口低8位地址一起組成16位地址總線。對于內(nèi)部無程序存儲器的單片機(jī)來說,P2口只作為地址總線來使用,而不作為I/O口。</p><p> P3.0~P3.7:P3雙功能靜態(tài)端口。為雙重功能端口,①可作為輸入/輸出端口,外接輸入/輸出設(shè)備。②作為第二功能使用時(shí),每一位功能定義如下表所示:</p><p> 表4.1 P3口的第二功能</p><p> 5電
83、路控制系統(tǒng)的整體設(shè)計(jì)</p><p> 5.1硬件電路的設(shè)計(jì)</p><p> 5.1.1總的電路主板的設(shè)計(jì)</p><p> 本系統(tǒng)的硬件部分主要由控制部分的單片機(jī)AT89C51、溫度采集部分的DS18B20溫度傳感器,振蕩電路、繼電器、LED數(shù)碼管及報(bào)警電路等組成,其總的電路圖4.1如下所示:</p><p> 圖5.1系統(tǒng)的總電
84、路圖</p><p> 5.2其他部分硬件電路及說明</p><p><b> ?。?)電源部分</b></p><p><b> 圖5.2電源電路</b></p><p> 電源部分由三節(jié)1.5V的電池串聯(lián)提供,方框里的1和2分別接電路中的正極和負(fù)極。不需要經(jīng)過交流電的變壓和穩(wěn)流,更易于實(shí)現(xiàn)
85、和方便攜帶。</p><p> ?。?)LED數(shù)碼管顯示部分</p><p><b> 圖5.3顯示電路</b></p><p> 該系統(tǒng)采用四聯(lián)共陰極7段數(shù)碼管,節(jié)約了單片機(jī)的輸出端口,便于程序的編寫,</p><p> 實(shí)現(xiàn)了對溫度的實(shí)時(shí)顯示,并精確到小數(shù)點(diǎn)后一位,使測得的溫度更加精確。</p>
86、<p><b> ?。?)晶體振蕩電路</b></p><p><b> 圖5.4振蕩電路</b></p><p> 單片機(jī)的時(shí)鐘信號通常由兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。在引腳XTAL1和XTAL2外接晶體振蕩器(簡稱晶振)或陶瓷振蕩器,就構(gòu)成了內(nèi)部振蕩方式。由于單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)外接晶振后就構(gòu)成了
87、自激振蕩器,并產(chǎn)生振蕩時(shí)鐘脈沖。本系統(tǒng)采用內(nèi)部振蕩方式。晶振通常選用的6MHz、12MHz或24MHz,本系統(tǒng)采用12MHz。</p><p><b> ?。?)復(fù)位電路</b></p><p><b> 圖5.5復(fù)位電路</b></p><p> 復(fù)位操作完成單片機(jī)的內(nèi)部電路的初始化,使單片機(jī)從一種確定的狀態(tài)開始運(yùn)行
88、。</p><p> 當(dāng)51單片機(jī)的復(fù)位引腳RST出現(xiàn)5ms以上的高電平狀態(tài)時(shí),單片機(jī)就完成了復(fù)位操作。如果RST引腳持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài),而無法執(zhí)行程序。因此,單片機(jī)復(fù)位后要脫離復(fù)位狀態(tài)。</p><p> 復(fù)位操作通常有兩種基本形式:上電復(fù)位和開關(guān)復(fù)位。上電復(fù)位要求接通電源后自動實(shí)現(xiàn)復(fù)位操作。開關(guān)復(fù)位要求在電源接通的條件下,在單片機(jī)運(yùn)行期間,如果發(fā)生死機(jī),用按鈕開
89、關(guān)操作,使單片機(jī)復(fù)位。通常C=10~30uF, R=1~10k歐姆.,如果不僅要使單片機(jī)復(fù)位,而且還要使單片機(jī)的一些外圍芯片也同時(shí)復(fù)位,那么上述電路中的電阻和電容的參考值應(yīng)進(jìn)行適當(dāng)?shù)恼{(diào)整。</p><p> 單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化過程,其中包括使程序計(jì)數(shù)器PC=0000H,P0~P3=FFH,SP=07H,其他寄存器處于零。這表明程序從0000H地址單元開始執(zhí)行。單片機(jī)復(fù)位后不改變片內(nèi)RAM區(qū)中的內(nèi)
90、容,21位特殊功能寄存器在復(fù)位后的狀態(tài)如表3.2所示:</p><p> 表5.2 單片機(jī)復(fù)位后特殊功能寄存器的初始狀態(tài)</p><p><b> (5)繼電器電路</b></p><p><b> 圖5.6繼電器電路</b></p><p> 圖中P1.1引腳控制加熱器繼電器,P1.2引
91、腳控制電風(fēng)扇繼電器。當(dāng)P1.1為低電平時(shí),三極管導(dǎo)通,電磁鐵觸頭被吸下來接通加熱器電路,開始加熱,同時(shí)紅燈亮;同樣當(dāng)P1.2低電平時(shí),三極管導(dǎo)通,電磁鐵觸頭放下來開始進(jìn)行散熱工作,同時(shí)綠燈亮。</p><p><b> (6)報(bào)警電路部分</b></p><p><b> 圖5.7報(bào)警電路</b></p><p>
92、當(dāng)P2.5為低電平時(shí),也就是當(dāng)溫度低于下限溫度或高于上限溫度時(shí),P2.5被清零,即為低電平,此時(shí),三極管導(dǎo)通,蜂鳴器接通,發(fā)出警報(bào)聲。</p><p><b> ?。?)鍵盤電路部分</b></p><p><b> 圖5.8鍵盤電路</b></p><p> 按下P3.5時(shí),P3.5接地,變?yōu)榈碗娖?,待程序控制?shù)碼管
93、顯示H00后松開;按下P3.7,然后快速松開,溫度加1,繼續(xù)P3.7的動作可以設(shè)置溫度的上限值;同養(yǎng)地操作P3.6和P3.7,完成溫度下限的設(shè)置。</p><p><b> 4.3系統(tǒng)軟件設(shè)計(jì)</b></p><p> 4.3.1系統(tǒng)軟件設(shè)計(jì)的整體思路</p><p> 一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件作保證。同時(shí)還必須
94、得到相應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過軟件編程來實(shí)現(xiàn)。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時(shí)會變得很簡單,如數(shù)字濾波,信號處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與C51系列單片機(jī)相對應(yīng)的51匯編語言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行軟件編程。</p><p> 程序設(shè)計(jì)語言有三種:機(jī)器語言、匯編語言和高級語言。機(jī)器語言是機(jī)器唯一
95、能“讀懂”的語言,但編程是用后兩種語言,用匯編語言或高級語言編寫的程序(即源程序)最終都必須翻譯成機(jī)器語言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行程序的各項(xiàng)功能。</p><p> 高級語言是面向問題和計(jì)算過程的語言,它可通過各種不同的計(jì)算機(jī),用戶編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語句的功能強(qiáng),常常一個(gè)語句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級語言編制程序的速度比較快,也便于
96、學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機(jī)微控制系統(tǒng),使用匯編語言可以不用像高級語言那樣占用較多的存儲空間,適合于存儲容量較小的系統(tǒng)。同時(shí),本系統(tǒng)對位處理要求很高,需要解決大量的邏輯控制問題。</p><p> MCS—51指令系統(tǒng)的指令長度較短,它在存儲空間和執(zhí)行時(shí)間方面具有較高的效率,編成的程序占用內(nèi)存單元少,執(zhí)行也非常的快捷,與本系統(tǒng)的應(yīng)用要求很適合。而
97、且MCS—51指令系統(tǒng)有豐富的位操作(或稱位處理)指令,可以形成一個(gè)相當(dāng)完整的位操作指令子集,這是MCS—51指令系統(tǒng)主要的優(yōu)點(diǎn)之一。對于要求反應(yīng)靈敏與控制及時(shí)的工控、檢測等實(shí)時(shí)控制系統(tǒng)以及要求體積小、系統(tǒng)小的許多“智能化”產(chǎn)品,可以充分體現(xiàn)出匯編語言簡明、整齊、執(zhí)行時(shí)間短和易于使用的特點(diǎn)。</p><p> 本裝置的軟件包括主程序、讀出溫度子程序、復(fù)位應(yīng)答子程序、寫入子程序、以及有關(guān)DS18B20的程序(初始
98、化子程序、寫程序和讀程序)等。</p><p> 4.3.2系統(tǒng)程序流程圖的設(shè)計(jì)</p><p><b> ?。?)主程序</b></p><p> 主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20所測得的當(dāng)前溫度值,溫度測量每秒進(jìn)行一次。這樣可以在一秒鐘內(nèi)測量一次被測的溫度,其程序流程見圖4.8所示。</p>
99、<p> 通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)部分與小數(shù)部分分開存放在不同的兩個(gè)單元中,然后通過調(diào)用顯示子程序顯示出來。</p><p> 通過調(diào)用讀溫度子程序把存入內(nèi)存儲中的整數(shù)部分與小數(shù)部分分別存放在不同的兩個(gè)存儲單元中,然后通過調(diào)用顯示子程序顯示出來。</p><p> 圖5.9 主程序流程圖</p><p> ?。?)讀出溫度子程序<
100、;/p><p> 讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時(shí)需進(jìn)行CRC(循環(huán)冗余碼)校驗(yàn),校驗(yàn)有錯(cuò)時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。</p><p> DS18B20的各個(gè)命令對時(shí)序的要求特別嚴(yán)格,所以必須按照所要求的時(shí)序才能達(dá)到預(yù)期的目的,同時(shí),要注意讀進(jìn)來的是高位在后低位在前,共有12位數(shù),小數(shù)4位,整數(shù)7位,還有一位符號位。</p><p> ?。?)復(fù)
101、位、應(yīng)答子程序</p><p> 圖5.11復(fù)位、應(yīng)答子程序</p><p><b> (4)寫入子程序</b></p><p> 圖5.12寫入子程序</p><p> (5)總的程序流程圖</p><p> 圖5.12系統(tǒng)總流程圖</p><p><b&
102、gt; 4.4 調(diào)試</b></p><p> 調(diào)試的目的就是發(fā)現(xiàn)并改正錯(cuò)誤。</p><p> 主程序的功能是:啟動DS18B20測量溫度,將測量值與給定值進(jìn)行比較,若測得溫度小于設(shè)定值,則進(jìn)入加熱階段,置P1.1為低電平,三極管導(dǎo)通,這期間繼續(xù)對溫度進(jìn)行監(jiān)測,直到溫度在設(shè)定范圍內(nèi),置P1.1為高電平斷三極管不導(dǎo)通,斷開磁鐵,關(guān)閉加熱器,等待下一次的啟動命令。當(dāng)測得溫度
103、大于設(shè)定值,則進(jìn)入降溫階段,則置P1.2為低電平,這期間繼續(xù)對溫度進(jìn)行監(jiān)測,直到溫度在設(shè)定范圍內(nèi),置P1.2為高電平斷開,關(guān)閉風(fēng)扇,等待下一次的啟動命令。</p><p> 第一次接電調(diào)試,設(shè)置溫度上限為32℃,溫度下限為26℃。加熱后,溫度有時(shí)超過32℃卻不報(bào)警,后經(jīng)檢查,發(fā)現(xiàn)是進(jìn)位C沒有清0,于是在如下寫入程序中加入進(jìn)位C清零,便排除了這個(gè)異常。</p><p> WR1:CLR
104、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,#23&
105、lt;/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</
106、p><p> 再經(jīng)實(shí)際接電調(diào)試,一切運(yùn)行正常。加熱到32攝氏度時(shí),紅燈亮起并報(bào)警,自動斷電,而低于26攝氏度時(shí),綠燈亮起并報(bào)警,開始加熱。</p><p><b> 結(jié)束語</b></p><p> 本設(shè)計(jì)使用的溫度控制器結(jié)構(gòu)簡單、測溫準(zhǔn)確,具有一定的實(shí)際應(yīng)用價(jià)值。該智能溫度控制器只是DS18B20在溫度控制領(lǐng)域的一個(gè)簡單實(shí)例,基本實(shí)現(xiàn)了對溫
107、度的恒溫控制,但還有許多需要完善的地方。比如可以將測得的溫度通過單片機(jī)與通訊模塊進(jìn)行連接,以手機(jī)短消息或其他的方式發(fā)送給用戶,使用戶能夠隨時(shí)對溫度進(jìn)行監(jiān)控,實(shí)現(xiàn)對溫度的實(shí)時(shí)監(jiān)測和控制。此外,它還能廣泛地應(yīng)用于其他一些工業(yè)生產(chǎn)領(lǐng)域,如建筑,倉儲等行業(yè),可以應(yīng)用于溫室的溫度控制,以及某些電子設(shè)備的溫度控制領(lǐng)域,該系統(tǒng)還可以應(yīng)用于多種場合,像實(shí)驗(yàn)室的溫度、育嬰房的溫度、水溫的控制等。用戶可靈活選擇本設(shè)計(jì)的用途,具有一定的實(shí)用價(jià)值。</p
108、><p><b> 致謝</b></p><p> 大學(xué)四年的學(xué)習(xí)和生活就要隨著這篇論文的答辯而結(jié)束了。有許許多多的舍不得,也有許許多多的感謝要說。</p><p> 首先要衷心感謝的是我的指導(dǎo)教師陳羨美老師!在我做畢業(yè)設(shè)計(jì)期間不僅虛心聽我提出問題,而且還很耐心的給我講解,還傳授了我些做人的準(zhǔn)則等等,這些都將使我終生受益。無論是在理論學(xué)習(xí)階段
109、,還是在論文的選題、資料查詢、開題、研究分析和撰寫的每一個(gè)環(huán)節(jié),都能得到導(dǎo)師的悉心指導(dǎo)和幫助,以及她的諄諄教誨,它將在我成長的路上給我指引方向。我愿借此機(jī)會向?qū)熌硎局孕牡母兄x!</p><p> 其次要感謝所有教育過我的老師!是你們傳授給我的知識,是我不斷成長的源泉,也是完成本論文的基礎(chǔ)。我還要向關(guān)心和支持我學(xué)習(xí)的同學(xué)們表示真摯的謝意!感謝他們對我的關(guān)心、關(guān)注、幫助和支持! </p><
110、p> 大學(xué)的生活使我學(xué)會了更加堅(jiān)強(qiáng),保持冷靜的思考和樂觀的心態(tài)。最重要的是讓我更加有了責(zé)任感,對自己、對家人和對社會,也讓我學(xué)會了感恩!</p><p> 我愿在未來的社會生活和學(xué)習(xí)過程中,以更加豐厚的成果來答謝曾經(jīng)關(guān)心幫助和支持過我的老師、同學(xué)和朋友們,永遠(yuǎn)以一顆誠摯的、感恩的心來回報(bào)社會,</p><p><b> 謝謝大家!</b></p>
111、;<p><b> 參考文獻(xiàn)</b></p><p> 【1】《單片機(jī)及嵌入式系統(tǒng)》,李伯誠編著,清華大學(xué)出版社。</p><p> 【2】《單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講》,彭為、黃科、雷道仲編著,電子工業(yè)出版社。</p><p> 【3】《單片機(jī)原理、接口技術(shù)及應(yīng)用》—嵌入式系統(tǒng)設(shè)計(jì)基礎(chǔ),李群芳、肖看編著,清華大學(xué)出版社。
112、</p><p> 【4】《模擬電子技術(shù)基礎(chǔ)》第四版,化成英、童詩白編著,高等教育出版社。</p><p> 【5】《微型計(jì)算機(jī)原理與接口技術(shù)》劉彥文、張向東、譚峰主編,北京大學(xué)出版社。</p><p><b> 附錄</b></p><p><b> 附錄1</b></p>
113、<p><b> 程序代碼</b></p><p><b> ORG 0000H</b></p><p> TEMPER_L EQU 29H</p><p> TEMPER_H EQU 28H</p><p> FLAG1 EQU 38H;是否檢測到DS18B20標(biāo)志位</
114、p><p> bwei equ 22h</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> MOV A,#00H</p><p>
115、;<b> MOV P2,A</b></p><p> MOV R5,#01H</p><p> MAIN:LCALL GET_TEMPER;調(diào)用讀溫度子程序</p><p> *********溫度轉(zhuǎn)化*********************</p><p><b> MOV A,29H</
116、b></p><p><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><
117、b> RLC 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>
118、<p><b> SWAP A</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
119、</b></p><p><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>&l
120、t;p><b> MOV C,43H</b></p><p><b> RRC A</b></p><p><b> MOV 29H,A</b></p><p> ************************************************</p>&l
121、t;p> LCALL DISPLAY;調(diào)用數(shù)碼管顯示子程序</p><p> AJMP MAIN; </p><p> ************DS18B20復(fù)位初始化子程序********</p><p> INIT_1820:SETB P1.0</p><p><b> NOP</b></p&g
122、t;<p> CLR P1.0;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖</p><p><b> MOV R1,#3</b></p><p> TSR1:MOV R0,#107</p><p><b> DJNZ R0,$</b></p><p> DJNZ R1,TSR1<
123、;/p><p> SETB P1.0;然后拉高數(shù)據(jù)線</p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p> MOV R0,#25H</p>&l
124、t;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存在</p><p><b> LJMP TSR5</b>&l
125、t;/p><p> TSR4:CLR FLAG1 ; 清標(biāo)志位,表示DS1820不存在</p><p><b> LJMP TSR7</b></p><p> TSR5:MOV R0,#117</p><p> TSR6:DJNZ R0,TSR6 ; 時(shí)序要求延時(shí)一段時(shí)間</p><p>
126、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> JB FLAG1,TSS2</p><p> RET ; 判斷DS1820是否存在
127、?若DS18B20不存在則返回</p><p> TSS2:MOV A,#0CCH ; 跳過ROM匹配</p><p> LCALL WRITE_1820</p><p> MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令</p><p> LCALL WRITE_1820;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間,等待AD轉(zhuǎn)換結(jié)束,12位的
128、話750微秒</p><p> LCALL DISPLAY</p><p> LCALL INIT_1820;準(zhǔn)備讀溫度前先復(fù)位</p><p> MOV A,#0CCH ; 跳過ROM匹配</p><p> LCALL WRITE_1820</p><p> MOV A,#0BEH ; 發(fā)出讀溫度命令<
129、;/p><p> LCALL WRITE_1820</p><p> LCALL READ_18200; 將讀出的溫度數(shù)據(jù)保存到35H/36H </p><p> RET;寫DS18B20的子程序(有具體的時(shí)序要求)</p><p> WRITE_1820:MOV R2,#8;一共8位數(shù)據(jù)</p><p><
130、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> RRC A</b></p>&l
131、t;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>
132、 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_L),高位存入28H(TEMPER_H)</p>
133、;<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><b> NOP</b></p>
134、<p><b> CLR P1.0</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> NOP</b></p><p><b> SETB P1.0<
135、/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> RE20: DJNZ R3,RE20</p><
136、;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> DJNZ R4,RE00</p><p&g
137、t;<b> RET</b></p><p> **************數(shù)碼管顯示子程序*******************</p><p><b> DISPLAY:</b></p><p> MOV A,29H;將29H中的十六進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制 </p><p><b&g
138、t; MOV R3,A</b></p><p><b> CLR C</b></p><p> SUBB A,50H;溫度上限</p><p> JNB CY, T3</p><p> SETB P1.2;風(fēng)扇繼電器關(guān)</p><p> SETB P2.5;報(bào)警關(guān)&
139、lt;/p><p> MOV A,R3</p><p><b> CLR C</b></p><p> SUBB A,60H;溫度下限</p><p> JB CY, T2</p><p> SETB P1.1;加熱繼電器關(guān)</p><p> SETB
140、 P2.5;報(bào)警關(guān)</p><p> SJMP XIANSHI</p><p><b> T2:</b></p><p> CLR P1.1;加熱繼電器開</p><p> CLR P2.5;報(bào)警開</p><p> LJMP XIANSHI</p><p>
141、;<b> T3:</b></p><p> CLR P1.2;風(fēng)扇繼電器開</p><p> CLR P2.5;報(bào)警開</p><p><b> XIANSHI:</b></p><p> LCALL SETT</p><p><b> DISP:&l
142、t;/b></p><p><b> MOV A,R3</b></p><p> MOV B,#100 ;10進(jìn)制/10=10進(jìn)制</p><p><b> DIV AB</b></p><p> mov bwei,a</p><p><b> mo
143、v a,b</b></p><p><b> mov b,#10</b></p><p><b> div ab</b></p><p> MOV B_BIT,A ;十位在A</p><p> MOV A_BIT,B ;個(gè)位在B</p><p> MOV
144、 R0,#4 </p><p><b> CLR C;多加的</b></p><p> DPL1: MOV R1,#250 ;顯示1000次</p><p><b> DPLOP:</b></p><p> MOV DPTR,#NUMTAB</p><p> MOV
145、 A,bwei</p><p> MOVC A,@A+DPTR ;查通道的7段代碼</p><p> MOV P0,A ;送出十位的7段代碼</p><p> CLR P2.3 ;開通道顯示</p><p> ACALL D1MS ;顯示1MS</p><p><b> SETB P2.3<
146、/b></p><p> MOV DPTR,#NUMTAB1</p><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
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電熱恒溫控制系統(tǒng)
- 電子信息工程專業(yè)畢業(yè)論文
- 電子信息工程專業(yè)畢業(yè)論文
- 交通燈控制系統(tǒng)設(shè)計(jì)【電子信息工程畢業(yè)論文】
- 電子信息工程專業(yè)畢業(yè)論文(設(shè)計(jì))
- 電熱水器控制系統(tǒng)設(shè)計(jì)-電子信息工程課程論文
- 電梯自動控制系統(tǒng)設(shè)計(jì)【電子信息工程畢業(yè)論文】
- 電子信息工程專業(yè)畢業(yè)論文外文翻譯
- 電子信息工程畢業(yè)論文
- 電子信息工程畢業(yè)論文
- 電子信息工程畢業(yè)論文--數(shù)據(jù)采集系統(tǒng)
- 基于單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)【電子信息工程畢業(yè)論文】
- 電氣自動化畢業(yè)論文---模擬恒溫控制系統(tǒng)的設(shè)計(jì)
- 畢業(yè)論文---水溫控制系統(tǒng)
- 電子信息工程畢業(yè)設(shè)計(jì)基于單片機(jī)的智能水溫控制系統(tǒng)
- 電子信息工程畢業(yè)論文帶程序
- 電子信息工程畢業(yè)論文范文
- 畢業(yè)論文--基于單片機(jī)的自動恒溫控制系統(tǒng)的設(shè)計(jì)
- 電子信息工程系畢業(yè)論文
- 畢業(yè)論文(或設(shè)計(jì))基于單片機(jī)恒溫控制系統(tǒng)的設(shè)計(jì)
評論
0/150
提交評論