畢業(yè)論文--單片機(jī)的電風(fēng)扇自動(dòng)控制號(hào)_第1頁(yè)
已閱讀1頁(yè),還剩37頁(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><b>  摘  要</b></p><p>  溫控風(fēng)扇在現(xiàn)代社會(huì)中的生產(chǎn)以及人們的日常生活中都有廣泛的應(yīng)用,如工業(yè)生產(chǎn)中大型機(jī)械散熱系統(tǒng)中的風(fēng)扇、現(xiàn)在筆記本電腦上的廣泛應(yīng)用的智能CPU風(fēng)扇等。本文設(shè)計(jì)了基于單片機(jī)的溫控風(fēng)扇系統(tǒng),采用單片機(jī)作為控制器,利用溫度傳感器DS18B20作為溫度采集元件,并根據(jù)采集到的溫度,通過(guò)一個(gè)達(dá)林頓反向驅(qū)動(dòng)器ULN2803驅(qū)動(dòng)風(fēng)扇電機(jī)。根據(jù)

2、檢測(cè)到的溫度與系統(tǒng)設(shè)定的溫度的比較實(shí)現(xiàn)風(fēng)扇電機(jī)的自動(dòng)啟動(dòng)和停止,并能根溫度的變化自動(dòng)改變風(fēng)扇電機(jī)的轉(zhuǎn)速,同時(shí)用LED八段數(shù)碼管顯示檢測(cè)到的溫度與設(shè)定的溫度。該系統(tǒng)改變了傳統(tǒng)的手動(dòng)控制電風(fēng)扇的起停,實(shí)現(xiàn)了溫控電風(fēng)扇全自動(dòng)調(diào)速控制,較好地把智能控制技術(shù)應(yīng)用到了家用電器控制系統(tǒng)中,用人體周圍的環(huán)境溫度對(duì)風(fēng)扇進(jìn)行溫控。</p><p>  實(shí)踐證明該調(diào)速器可靠性高、控制準(zhǔn)確、節(jié)能節(jié)電、成本低;利用軟件技術(shù)實(shí)現(xiàn)電風(fēng)扇風(fēng)速調(diào)

3、級(jí)和開停機(jī)控制,增強(qiáng)了抗干擾性。該設(shè)計(jì)具有較高的應(yīng)用價(jià)值,適用于依靠電風(fēng)扇散熱來(lái)降溫的任一控制系統(tǒng)中。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī)、DS18B20、智能、風(fēng)扇</p><p><b>  ABSTRACT</b></p><p>  Temperature control fan is widely used in the modern

4、 society of production and People's Daily life,Such as industrial production machinery cooling system of medium fan、the intelligence CPU fan is widely used in the Notebook computer etc.This article introduces the des

5、ign of the temperature control system based on single chip computer fan,Using single chip microcomputer as the controller,Use temperature sensor DS18B20 as temperature gathering components And according to the collected

6、temperature,</p><p>  Practice prove that the controlling of this electric fan governor is high reliability-stabilit,accurate and energy-saving,low cost;Kind of software technology is used to achieve transfe

7、r-level fan speed controlling and open parking controlling,which enhances the anti-interference.This design has higher value ,could be applied in any control system in which electric fan is used to lower the temperature.

8、</p><p>  Key words :Single-chip microcomputer、DS18B20、Temperature control、fan</p><p><b>  目  錄</b></p><p><b>  第一章  概述1</b></p><p>  1.1選題背景及意

9、義1</p><p>  1.2研究目標(biāo)和內(nèi)容1</p><p>  第二章  方案論證2</p><p>  2.1本設(shè)計(jì)的整體思路2</p><p>  2.2溫度傳感器的選擇2</p><p>  2.3控制核心的選擇2</p><p>  2.4溫度顯示器件的選擇3<

10、/p><p>  2.5鍵盤電路的選擇3</p><p>  2.6調(diào)速方式的選擇4</p><p>  第三章  主要單元模塊的介紹5</p><p>  3.1 DS18B20單線數(shù)字溫度傳感器簡(jiǎn)介5</p><p>  3.1.1 DS18B20的功能及使用說(shuō)明5</p><p> 

11、 3.1.2 DS18B20寄存器的存儲(chǔ)器及格式6</p><p>  3.1.3 DS18B20使用注意事項(xiàng)6</p><p>  3.2達(dá)林頓反向驅(qū)動(dòng)器ULN2803簡(jiǎn)介7</p><p>  3.3 LED數(shù)碼管簡(jiǎn)介7</p><p>  3.4單片機(jī)簡(jiǎn)介8</p><p>  第四章  總體硬件設(shè)計(jì)

12、11</p><p>  4.1系統(tǒng)結(jié)構(gòu)框圖11</p><p>  4.2數(shù)字溫度傳感器模塊設(shè)計(jì)11</p><p>  4.3鍵盤輸入模塊12</p><p>  4.4溫度顯示與控制模塊13</p><p>  4.5風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路14</p><p>  4.6開關(guān)復(fù)位

13、與晶振電路15</p><p>  第五章  軟件設(shè)計(jì)17</p><p>  5.1程序設(shè)置17</p><p>  5.2用Keil C51編寫程序17</p><p>  第六章  用Proteus進(jìn)行仿真19</p><p>  6.1 Proteus簡(jiǎn)介19</p><p>

14、;  6.2本設(shè)計(jì)基于Proteus的仿真19</p><p><b>  結(jié)  論24</b></p><p><b>  致  謝25</b></p><p><b>  參考文獻(xiàn)26</b></p><p><b>  附  錄27</b>

15、</p><p>  附錄1:電路原理總圖27</p><p>  附錄2:程序代碼28</p><p><b>  第一章  概述</b></p><p>  1.1選題背景及意義</p><p>  現(xiàn)在是一個(gè)知識(shí)爆炸的新時(shí)代。新產(chǎn)品、新技術(shù)層出不窮,電子技術(shù)的發(fā)展更是日新月異??梢院貌豢?/p>

16、張的說(shuō),電子技術(shù)的應(yīng)用無(wú)處不在,電子技術(shù)正在不斷地改變我們的生活,改變我們的世界。</p><p>  在現(xiàn)代社會(huì)中,風(fēng)扇被廣泛的應(yīng)用,發(fā)揮著舉足輕重的作用,如夏天人們用的散熱風(fēng)扇、工業(yè)生產(chǎn)中大型機(jī)械中的散熱風(fēng)扇以及現(xiàn)在筆記本電腦上廣泛使用的智能CPU風(fēng)扇等。而隨著溫度控制技術(shù)的發(fā)展,為了降低風(fēng)扇運(yùn)轉(zhuǎn)時(shí)的噪音以及節(jié)省能源等,溫控風(fēng)扇越來(lái)越受到重視并被廣泛的應(yīng)用。在現(xiàn)階段,溫控風(fēng)扇的設(shè)計(jì)已經(jīng)有了一定的成效,可以使風(fēng)

17、扇根據(jù)環(huán)境溫度的變化進(jìn)行自動(dòng)無(wú)級(jí)調(diào)速,當(dāng)溫度升高到一定時(shí)能自動(dòng)啟動(dòng)風(fēng)扇,當(dāng)溫度降到一定時(shí)能自動(dòng)停止風(fēng)扇的轉(zhuǎn)動(dòng),實(shí)現(xiàn)智能控制。</p><p>  隨著單片機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,許多用單片機(jī)作控制的溫度控制系統(tǒng)也應(yīng)運(yùn)而生,如基于單片機(jī)的溫控風(fēng)扇系統(tǒng)。它使風(fēng)扇根據(jù)環(huán)境溫度的變化實(shí)現(xiàn)自動(dòng)啟停,使風(fēng)扇轉(zhuǎn)速隨著環(huán)境溫度的變化而變化,實(shí)現(xiàn)了風(fēng)扇的智能控制。它的設(shè)計(jì)為現(xiàn)代社會(huì)人們的生活以及生產(chǎn)帶來(lái)了諸多便利,在提高人們的生活

18、質(zhì)量、生產(chǎn)效率的同時(shí)還能節(jié)省風(fēng)扇運(yùn)轉(zhuǎn)所需的能量。比如在較大功率的電子產(chǎn)品散熱方面,現(xiàn)在絕大多數(shù)都采用了風(fēng)冷系統(tǒng),利用風(fēng)扇引起空氣流動(dòng),帶走熱量,使電子產(chǎn)品不至于發(fā)熱燒壞。要使電子產(chǎn)品保持較低的溫度,必須用大功率、高轉(zhuǎn)速、大風(fēng)量的風(fēng)扇,而風(fēng)扇的噪音與其功率成正比。如果要低噪音,則要減小風(fēng)扇轉(zhuǎn)速,又會(huì)引起電子設(shè)備溫度上升,不能兩全其美。為解決上述問(wèn)題,我們?cè)O(shè)計(jì)了這套溫控自動(dòng)風(fēng)扇系統(tǒng)。</p><p>  1.2研究目

19、標(biāo)和內(nèi)容</p><p>  這次設(shè)計(jì)的是智能電風(fēng)扇控制系統(tǒng),是將風(fēng)扇中的電機(jī)轉(zhuǎn)速作為被控量,由單片機(jī)分析采集到的數(shù)字溫度信號(hào),采用PWM脈寬調(diào)制方式來(lái)改變直流風(fēng)扇電機(jī)的轉(zhuǎn)速,從而達(dá)到無(wú)需人為操作就可以自動(dòng)控制風(fēng)力大小的效果。這次設(shè)計(jì)是以MC51單片機(jī)為核心,通過(guò)溫度傳感器對(duì)周圍環(huán)境溫度進(jìn)行采集,從而建立一個(gè)控制系統(tǒng),使風(fēng)扇的轉(zhuǎn)速隨著溫度的變化而自動(dòng)換擋,實(shí)現(xiàn)“溫度高,風(fēng)力大;溫度低,風(fēng)力小”的性能。另外,通過(guò)鍵

20、盤控制面板,用戶可以在一定范圍內(nèi)設(shè)置電風(fēng)扇的最低工作溫度,當(dāng)溫度低于所設(shè)置溫度時(shí),電風(fēng)扇將自動(dòng)關(guān)閉,當(dāng)高于此溫度時(shí),電風(fēng)扇又將重新啟動(dòng)。</p><p><b>  第二章  方案論證</b></p><p>  本設(shè)計(jì)要實(shí)現(xiàn)風(fēng)扇直流電機(jī)的溫度控制,使風(fēng)扇電機(jī)能根據(jù)環(huán)境溫度的變化自動(dòng)啟停及改變轉(zhuǎn)速,需要比較高的溫度變化分辨率以及穩(wěn)定可靠的換擋停機(jī)控制部件[1]。<

21、;/p><p>  2.1本設(shè)計(jì)的整體思路</p><p>  利用溫度傳感器DS18B20檢測(cè)環(huán)境溫度并直接輸出數(shù)字溫度信號(hào)給單片機(jī)AT89C52進(jìn)行處理,在LED數(shù)碼管上顯示當(dāng)前環(huán)境溫度值以及預(yù)設(shè)溫度值。其中預(yù)設(shè)溫度值只能為整數(shù)形式,檢測(cè)到的當(dāng)前環(huán)境溫度可精確到小數(shù)點(diǎn)后一位。同時(shí)采用PWM脈寬調(diào)制方式來(lái)改變直流風(fēng)扇電機(jī)的轉(zhuǎn)速。并通過(guò)兩個(gè)按鍵改變預(yù)設(shè)溫度值,一個(gè)提高預(yù)設(shè)溫度,另一個(gè)降低預(yù)設(shè)溫

22、度值。</p><p>  2.2溫度傳感器的選擇</p><p>  溫度傳感器可由以下幾種方案可供選擇:</p><p>  方案一:選用熱敏電阻作為感測(cè)溫度的核心元件,通過(guò)運(yùn)算放大器放大由于溫度變化引起熱敏電阻的變化、進(jìn)而導(dǎo)致的輸出電壓變化的微弱電壓變化信號(hào),再用AD轉(zhuǎn)換芯片ADC0809將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)輸入單片機(jī)處理。</p><

23、p>  方案二:采用熱電偶作為感測(cè)溫度的核心元件,配合橋式電路,運(yùn)算放大電路和AD轉(zhuǎn)換電路,將溫度變化信號(hào)送入單片機(jī)處理。</p><p>  方案三:采用數(shù)字式集成溫度傳感器DS18B20作為感測(cè)溫度的核心元件,直接輸出數(shù)字溫度信號(hào)傳送到單片機(jī)處理。</p><p>  對(duì)于方案一,采用熱敏電阻有價(jià)格便宜、元件易購(gòu)的優(yōu)點(diǎn),但熱敏電阻對(duì)溫度細(xì)微變化不敏感,在信號(hào)采集、放大、轉(zhuǎn)換過(guò)程中

24、還會(huì)產(chǎn)生失真和誤差,并且由于熱敏電阻的R-T關(guān)系的非線性,其本身電阻對(duì)溫度的變化存在較大誤差,雖然可以通過(guò)一定的電路予以糾正,但不僅將使電路復(fù)雜,穩(wěn)定性降低,而且在人體所處環(huán)境溫度變化中難以檢測(cè)到小的溫度變化。故該方案不適合本系統(tǒng)。</p><p>  對(duì)于方案二,采用熱電偶和橋式測(cè)量電路,相對(duì)于熱敏電阻對(duì)溫度的敏感性和器件的非線性誤差都有較大提高,其測(cè)量范圍也非常寬,從50攝氏度到1600攝氏度均可測(cè)量。但是依

25、然存在電路復(fù)雜,對(duì)溫度敏感性達(dá)不到本系統(tǒng)要求的標(biāo)準(zhǔn),故不采用該方案。</p><p>  對(duì)于方案三,由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,大大降低了外接放大轉(zhuǎn)換電路的誤差因素,溫度誤差很小,并且由于其感測(cè)溫度的原理與上述兩種方案有著本質(zhì)上的不同,使得其分辨力極高。溫度值在其內(nèi)部轉(zhuǎn)換成數(shù)字量直接輸出,簡(jiǎn)化系統(tǒng)程序設(shè)計(jì),又由于該傳感器采用先進(jìn)的單總線技術(shù),與單片機(jī)的接口變得非常簡(jiǎn)潔,抗干擾能力強(qiáng)。所以

26、選擇本方案。</p><p>  2.3控制核心的選擇</p><p>  方案一:采用電壓比較電路作為控制部件。溫度傳感器采用熱敏電阻或熱電偶等,溫度信號(hào)轉(zhuǎn)為電信號(hào)并放大,由集成運(yùn)放組成的比較電路判決控制風(fēng)扇轉(zhuǎn)速,當(dāng)高于或低于某值時(shí),將風(fēng)扇切換到相應(yīng)的檔位。</p><p>  方案二:采用單片機(jī)作為控制核心。以軟件編程的方法進(jìn)行溫度判斷,并在端口輸出控制信號(hào)。&

27、lt;/p><p>  對(duì)于方案一,采用電壓比較電路,具有電路簡(jiǎn)單、易于實(shí)現(xiàn),以及無(wú)需編寫軟件程序的特點(diǎn)。但控制方式過(guò)于單一,不能自由設(shè)置上下限動(dòng)作溫度,無(wú)法滿足不同用戶以及不同環(huán)境下的多種動(dòng)作溫度要求,故不在本系統(tǒng)中采用。</p><p>  對(duì)于方案二,以單片機(jī)作為控制器,通過(guò)編寫程序,不但能將傳感器感測(cè)到的溫度通過(guò)顯示電路顯示出來(lái),而且,用戶能通過(guò)鍵盤接口,自由設(shè)置上下限動(dòng)作溫度值,滿足

28、全方位的需求。并且通過(guò)程序判斷溫度具有極高的準(zhǔn)確度,能精確把握環(huán)境溫度的微小變化。所以本系統(tǒng)采用方案二。</p><p>  2.4溫度顯示器件的選擇</p><p>  方案一:應(yīng)用動(dòng)態(tài)掃描的方式,采用LED共陰極數(shù)碼管顯示溫度。</p><p>  方案二:采用LCD液晶顯示屏顯示溫度。</p><p>  對(duì)于方案一,該方案成本很低,顯

29、示溫度明確醒目,即使在黑暗空間也能清楚看見,功耗極低,同時(shí)溫度顯示程序的編寫也相對(duì)簡(jiǎn)單,因而這種顯示方式得到了廣泛應(yīng)用。但不足的地方是它采用動(dòng)態(tài)掃描的顯示方式,各個(gè)LED數(shù)碼管是逐個(gè)點(diǎn)亮的,因此會(huì)產(chǎn)生閃爍,但由于人眼的視覺暫留時(shí)間為20MS,故當(dāng)數(shù)碼管掃描周期小于這個(gè)時(shí)間時(shí)人眼不會(huì)感覺到閃爍,因此只要描頻率設(shè)置得當(dāng)即可采用該方案。</p><p>  對(duì)于方案二,液晶顯示屏具有顯示字符優(yōu)美,其不僅能顯示數(shù)字還能顯

30、示字符甚至圖形,這是LED數(shù)碼管無(wú)法比擬的。但是液晶顯示模塊的元件價(jià)格昂貴,顯示驅(qū)動(dòng)程序的編寫也較復(fù)雜,從簡(jiǎn)單實(shí)用的原則考慮,本系統(tǒng)采用方案一。</p><p>  2.5鍵盤電路的選擇</p><p>  方案一:獨(dú)立式鍵盤 ,最簡(jiǎn)單的鍵盤為獨(dú)立式鍵盤,每個(gè)鍵對(duì)應(yīng)I/O端口的一位,沒(méi)有鍵閉合時(shí),I/O端口各位均處于高電平。當(dāng)有一個(gè)鍵被按下時(shí),就使對(duì)應(yīng)位接地成為低電平。而其他位仍為高電平。

31、這樣,只要CPU檢測(cè)到I/O端口的某一位為“0”,便可以辨別出對(duì)應(yīng)鍵已經(jīng)被按下。</p><p>  方案二:矩陣式鍵盤,當(dāng)系統(tǒng)所需按鍵較多時(shí),為了減少鍵盤電路占用的I/O引腳數(shù)目,一般采用矩陣式電路。設(shè)有一個(gè)含有m×n個(gè)鍵的鍵盤,如果采用獨(dú)立式的鍵盤結(jié)構(gòu)設(shè)計(jì),需要m×n條引線和m×n位I/O端口。如果采用矩陣式鍵盤結(jié)構(gòu),便只要m+n條引線和m+n位I/O端口就行了。它由行線和列線組

32、成,按鍵設(shè)置在行、列的交叉點(diǎn)上,行、列分別連接到按鍵開關(guān)的兩端。行線通過(guò)上拉電阻接到+5v上。平時(shí)無(wú)按鍵動(dòng)作時(shí),行線處于高電平狀態(tài),而當(dāng)有按鍵按下時(shí),行線電平狀態(tài)將由與此行線相連的列線電平?jīng)Q定。列線電平如果為低,則行線電平為低,列線電平如果為高,則行線電平亦為高。這一點(diǎn)是識(shí)別矩陣按鍵是否被按下的關(guān)鍵。由于矩陣鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在行和列的電平。因此各按鍵彼此將互相發(fā)生影響,所以必須將行、列信號(hào)配合起來(lái)并做適當(dāng)?shù)奶?/p>

33、理,才能確定閉合鍵的位置。</p><p>  對(duì)于方案一,根據(jù)本設(shè)計(jì)所需按鍵個(gè)數(shù)、I/O引腳輸出級(jí)電路結(jié)構(gòu)以及可以利用的I/O引腳數(shù)量,確定鍵盤電路形式。本方案有2個(gè)按鍵,又考慮到I/O口的數(shù)量,采用方案一。</p><p>  對(duì)于方案二,I/O口的數(shù)量較多,適合較復(fù)雜的電路,所以不采用方案二。</p><p>  2.6調(diào)速方式的選擇</p>&

34、lt;p>  方案一:采用數(shù)模轉(zhuǎn)換芯片DAC0832來(lái)控制,由單片機(jī)根據(jù)當(dāng)前環(huán)境溫度值輸出相應(yīng)數(shù)字量到DAC0832中,再由DAC0832產(chǎn)生相應(yīng)模擬信號(hào)控制晶閘管的導(dǎo)通角,從而通過(guò)無(wú)級(jí)調(diào)速電路實(shí)現(xiàn)風(fēng)扇電機(jī)轉(zhuǎn)速的自動(dòng)調(diào)節(jié)。</p><p>  方案二:采用單片機(jī)軟件編程實(shí)現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速的方法。PWM是英文Pulse Width Modulation的縮寫,它是按一定的規(guī)律改變脈沖序列的脈沖寬度

35、,以調(diào)節(jié)輸出量和波形的一種調(diào)節(jié)方式,在PWM驅(qū)動(dòng)控制的調(diào)節(jié)系統(tǒng)中,最常用的是矩形波PWM信號(hào),在控制時(shí)需要調(diào)節(jié)PWM波得到占空比。占空比是指高電平持續(xù)時(shí)間在一個(gè)周期時(shí)間內(nèi)的百分比。在控制電機(jī)的轉(zhuǎn)速時(shí),占空比越大,轉(zhuǎn)速就越快,若全為高電平,占空比為100%時(shí),轉(zhuǎn)速達(dá)到最大[2]。用單片機(jī)I/O口輸出PWM信號(hào)時(shí),有如下三種方法:</p><p>  1.利用軟件延時(shí)。當(dāng)高電平延時(shí)時(shí)間到時(shí),對(duì)I/O口電平取反,使其變

36、成低電平,然后再延時(shí)一定時(shí)間;當(dāng)?shù)碗娖窖訒r(shí)時(shí)間到時(shí),再對(duì)該I/O口電平取反,如此循環(huán)即可得到PWM信號(hào)。在本設(shè)計(jì)中應(yīng)用了此方法。</p><p>  2.利用定時(shí)器。控制方法與第1條所述相同,只是在該方法中利用單片機(jī)的定時(shí)器來(lái)定時(shí)進(jìn)行高低電平的轉(zhuǎn)變,而不是用軟件延時(shí)。應(yīng)用此方法時(shí)編程相對(duì)復(fù)雜。</p><p>  3.利用單片機(jī)自帶的PWM控制器。在STC12系列單片機(jī)中自身帶有PWM控制

37、器,但本系統(tǒng)所用到得AT89系列單片機(jī)無(wú)此功能。</p><p>  對(duì)于方案一,該方案能夠?qū)崿F(xiàn)對(duì)直流風(fēng)扇電機(jī)的無(wú)級(jí)調(diào)速,速度變化靈敏,但是D/A轉(zhuǎn)換芯片的價(jià)格較高,與其溫控狀態(tài)下無(wú)級(jí)調(diào)速功能相比性價(jià)比不高。</p><p>  對(duì)于方案二,相對(duì)于其他用硬件或者軟硬件相結(jié)合的方法實(shí)現(xiàn)對(duì)電機(jī)進(jìn)行調(diào)速而言,采用PWM 用純軟件的方法來(lái)實(shí)現(xiàn)調(diào)速過(guò)程,具有更大的靈活性,并可大大降低成本,能夠充分發(fā)

38、揮單片機(jī)的功能,對(duì)于簡(jiǎn)單速度控制系統(tǒng)的實(shí)現(xiàn)提供了一種有效的途徑。綜合考慮選用方案二。</p><p>  第三章  主要單元模塊的介紹</p><p>  系統(tǒng)主要器件包括DS18B20溫度傳感器、AT89C52單片機(jī)、五位LED共陰數(shù)碼管、風(fēng)扇直流電機(jī)、達(dá)林頓反向驅(qū)動(dòng)器ULN2803。輔助元件包括電阻電容、晶振、電源、按鍵、開關(guān)等。</p><p>  3.1 D

39、S18B20單線數(shù)字溫度傳感器簡(jiǎn)介</p><p>  DS18B20數(shù)字溫度傳感器,是采用美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供處理器處理。</p><p>  適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。</p><p>  D

40、S18B20內(nèi)部結(jié)構(gòu)主要有四部分:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。其管腳有三個(gè),其中DQ為數(shù)字信號(hào)端,GND為電源地,VDD為電源輸入端。</p><p>  DS18B20溫度傳感器如下圖3-1所示:</p><p>  圖3-1 DS18B20溫度傳感器</p><p>  DS18B20的主要特征:測(cè)量的結(jié)果直接以數(shù)字信

41、號(hào)的形式輸出,以“一線總線”方式串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力;溫度測(cè)量范圍在-55℃~+125℃之間,在-10℃~+85℃時(shí)精度為±0.5℃;可檢測(cè)溫度分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃,0.25℃,0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫;它單線接口的獨(dú)特性,使它與微處理器連接時(shí)僅需一條端口線即可實(shí)現(xiàn)與微處理器的雙向通信;支持多點(diǎn)組網(wǎng)功能,即多個(gè)DS18B20可以并

42、聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫的功能;工作電壓范圍寬,其范圍在3.0~5.5V[3]。</p><p>  3.1.1 DS18B20的功能及使用說(shuō)明</p><p>  DS18B20高精度數(shù)字溫度傳感器可以完成如下的功能:</p><p>  (1)采用AT89S51單片機(jī)和DS18B20溫度傳感器通信,控制溫度的采集過(guò)程和進(jìn)行數(shù)據(jù)通信;</p>

43、<p>  (2)提供DS18B20的使用外圍電路溫度顯示LED電路以及DS18B20和單片機(jī)的通信接口電路;</p><p>  (3)利用發(fā)光二極管指示系統(tǒng)的工作狀態(tài),DS18B20溫度傳感器內(nèi)置溫度上下限;</p><p>  (4)編寫程序,完成單片機(jī)對(duì)溫度數(shù)據(jù)的采集過(guò)程以及與DS18B20數(shù)據(jù)傳輸過(guò)程的</p><p><b>  

44、控制。</b></p><p>  主機(jī)(單片機(jī))控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟,每一次讀寫之前都要對(duì)DS18B20進(jìn)行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對(duì)DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當(dāng)DS18B20收到信號(hào)后等待16-60微秒左右,后發(fā)出60-240微秒的存在低脈沖,主CPU收到此信號(hào)表示復(fù)位成功。

45、部分溫度值與DS18B20輸出的數(shù)字量對(duì)照表如下圖表3-1所示:</p><p>  表3-1  部分溫度值與DS18B20輸出的數(shù)字量對(duì)照表</p><p>  3.1.2 DS18B20寄存器的存儲(chǔ)器及格式</p><p>  DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和

46、結(jié)構(gòu)寄存器。暫存存儲(chǔ)器包含了8個(gè)連續(xù)字節(jié),前兩個(gè)字節(jié)是測(cè)得的溫度信息,第一個(gè)字節(jié)的內(nèi)容是溫度的低八位,第二個(gè)字節(jié)是溫度的高八位。第三個(gè)和第四個(gè)字節(jié)是TH、TL的易失性拷貝,第五個(gè)字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個(gè)字節(jié)的內(nèi)容在每一次上電復(fù)位時(shí)被刷新。第六、七、八個(gè)字節(jié)用于內(nèi)部計(jì)算。第九個(gè)字節(jié)是冗余檢驗(yàn)字節(jié)。</p><p>  3.1.3 DS18B20使用注意事項(xiàng)</p><p>  D

47、S18B20雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便和占用口線少等優(yōu)點(diǎn),但是在實(shí)際應(yīng)用中也應(yīng)注意以下幾個(gè)問(wèn)題:</p><p>  1.因?yàn)橛布_銷較小,所以需要較復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送。因此,在對(duì)DS18B20進(jìn)行讀寫編程時(shí)必須嚴(yán)格保證讀寫時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。</p><p>  2.當(dāng)單總線上所掛DS18B20超過(guò)8個(gè)時(shí),就需要解

48、決微處理器的總線驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。</p><p>  3.在DS18B20測(cè)溫程序設(shè)計(jì)中,向DS18B20發(fā)出溫度轉(zhuǎn)換時(shí)總要等待DS18B20的返回信號(hào),一旦某個(gè)DS18B20接觸不好或短線,當(dāng)程序讀該DS18B20時(shí),將沒(méi)有返回信號(hào),程序進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計(jì)時(shí)也要加以注意。</p><p>  3.2達(dá)林頓反向驅(qū)動(dòng)器

49、ULN2803簡(jiǎn)介</p><p>  本系統(tǒng)要用單片機(jī)控制風(fēng)扇直流電機(jī),需要加驅(qū)動(dòng)電路,為直流電機(jī)提供足夠大的驅(qū)動(dòng)電流。在本系統(tǒng)驅(qū)動(dòng)電路中,選用達(dá)林頓反向驅(qū)動(dòng)器ULN2803來(lái)驅(qū)動(dòng)風(fēng)扇直流電機(jī)。ULN2803在使用時(shí)接口簡(jiǎn)單,操作方便,可為電機(jī)提供較大的驅(qū)動(dòng)電流,它實(shí)際上是一個(gè)集成芯片,單塊芯片可同時(shí)驅(qū)動(dòng)8個(gè)電機(jī)。每個(gè)電機(jī)由單片機(jī)的一個(gè)I/O口控制,片機(jī)I/O口輸出的為5V的TTL信號(hào)。ULN2803如圖3-2

50、所示:</p><p>  圖3-2  ULN2803反向驅(qū)動(dòng)器</p><p>  ULN2803由8個(gè)NPN達(dá)林頓晶體管組裝而成,共18個(gè)引腳,引腳1~8分別是8路驅(qū)動(dòng)器的輸入端,輸入信號(hào)可直接是TTL或CMOS信號(hào);引腳11~18分別是8路驅(qū)動(dòng)器的輸出端;引腳9為接地線,引腳10為電源輸入。當(dāng)輸入TTL信號(hào)為5V或CMOS信號(hào)為6~15V時(shí),輸出的最大電壓為50V,最大電流為500m

51、A,工作溫度范圍為0~70℃。本系統(tǒng)選用的電機(jī)為12V直流無(wú)刷電機(jī),可用ULN2803來(lái)驅(qū)動(dòng)。</p><p>  3.3 LED數(shù)碼管簡(jiǎn)介</p><p>  本系統(tǒng)選用五個(gè)LED數(shù)碼管來(lái)進(jìn)行溫度顯示。LED又稱為數(shù)碼管,它主要是由8段發(fā)光二極管組成的不同組合,其中a~g為數(shù)字和字符顯示段,dp為小數(shù)點(diǎn)的顯示,通過(guò)a~g這7個(gè)發(fā)光二極管點(diǎn)亮的不同組合,可以顯示0~9和A~F共16個(gè)數(shù)字和

52、字母。LED數(shù)碼管可以分為共陰極和共陽(yáng)極兩種結(jié)構(gòu),如下圖3-2(a)和圖3-2(b)所示。共陰極結(jié)構(gòu)把8個(gè)發(fā)光二極管陰極連在一起,共陽(yáng)極結(jié)構(gòu)把8個(gè)發(fā)光二極管陽(yáng)極連在一起。通過(guò)單片機(jī)引腳輸出高低電平,可使數(shù)碼管顯示相應(yīng)的數(shù)字或字母,這種使數(shù)碼管顯示字形的數(shù)據(jù)稱字形碼,又稱段選碼[4]。</p><p>  圖3-2  七段LED數(shù)碼管</p><p>  一個(gè)共陰極數(shù)碼管接至單片機(jī)的電路,要

53、想顯示數(shù)字“7”須a、b、c這3個(gè)顯示段發(fā)光(即這3個(gè)字段為高電平)只要在P0口輸入00000111(07H)即可。這里07H即為數(shù)字7的段選碼。字形與段選碼的關(guān)系見表3-2所示。</p><p>  7段LED的段選碼表如下表3-2所示:</p><p>  表3-2  7段LED的段選碼表</p><p><b>  3.4單片機(jī)簡(jiǎn)介</b>

54、;</p><p>  AT89C52是51系列單片機(jī)的一個(gè)型號(hào),它是由ATMEL公司生產(chǎn)的一個(gè)低電壓、高性能的8位單片機(jī),片內(nèi)器件采用ATMEL公司的非易失性、高密度存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)的MCS-51指令系統(tǒng)兼容,同時(shí)片內(nèi)置有通用8位中央處理器和8K字節(jié)的可反復(fù)擦寫的只讀程序存儲(chǔ)器ROM以及256字節(jié)的數(shù)據(jù)存儲(chǔ)器RAM,在許多許多較復(fù)雜的控制系統(tǒng)中AT89C52單片機(jī)得到了廣泛的應(yīng)用[5]。AT89C52有40

55、個(gè)引腳,各引腳介紹如下:</p><p>  VCC:+5V電源線;GND:接地線。</p><p>  P0口:P0.7~P0.0,這組引腳共8條,其中P0.7為最高位,P0.0為最低位。這8條引腳共有兩種不同的功能,分別使用于兩種不同的情況。第一種情況是單片機(jī)不帶片外存儲(chǔ)器,P0口可以作為通用I/O口使用,P0.7~P0.0用于傳送CPU的輸入/輸出數(shù)據(jù),此時(shí)它需外接一上拉電阻才能正常

56、工作。第二種情況是單片機(jī)帶片外存儲(chǔ)器,其各引腳在CPU訪問(wèn)片外存儲(chǔ)器時(shí)先是用于傳送片外存儲(chǔ)器的低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀寫數(shù)據(jù)。</p><p>  P1口:P1口是一個(gè)內(nèi)部含上拉電阻的8位雙向I/O口。它也可作為通用的I/O口使用,與P0口一樣用于傳送用戶的輸入輸出數(shù)據(jù),所不同的是它片內(nèi)含上拉電阻而P0口沒(méi)有,故P0口在做該用途時(shí)需外接上拉電阻而P1口則無(wú)需。在FLASH編程和校驗(yàn)時(shí),P1口用于

57、輸入片內(nèi)EPROM的低8位地址。</p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,它可以作為通用I/O口使用,傳送用戶的輸入/輸出數(shù)據(jù),同時(shí)可與P0口的第二功能配合,用于輸出片外存儲(chǔ)器的高8位地址,共同選中片外存儲(chǔ)單元,但此時(shí)不能傳送存儲(chǔ)器的讀寫數(shù)據(jù)。在一些型號(hào)的單片機(jī)中,P2口還可以配合P1口傳送片內(nèi)EPROM的12位地址中的高4位地址。</p><p>  P3

58、口:P3口引腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,當(dāng)P3口寫入1后,它們被內(nèi)部上拉為高電平。它也可以作為通用的I/O口使用,傳送用戶的輸入/輸出數(shù)據(jù),P3口也作為一些特殊功能端口使用,如圖3-2所示:</p><p>  圖3-2  單片機(jī)AT89C52引腳</p><p>  P3.0:RXD(串行數(shù)據(jù)接收口)</p><p>  P3.1:TXD(串行數(shù)據(jù)發(fā)送口

59、)</p><p>  P3.2:(外部中斷0輸入) </p><p>  P3.3:(外部中斷1輸入) </p><p>  P3.4:T0(記時(shí)器0計(jì)數(shù)輸入) </p><p>  P3.5:T1(記時(shí)器1外部輸入) </p><p>  P3.6:WR(外部RAM寫選通信號(hào))</p><p&g

60、t;  P3.7:(外部RAM讀選通信號(hào)) </p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平狀態(tài)。</p><p>  ALE/:地址鎖存允許/編程線,當(dāng)訪問(wèn)片外存儲(chǔ)器時(shí),在P0.7~P0.0引腳線上輸出片外存儲(chǔ)器低8位地址的同時(shí)還在ALE/ 線上輸出一個(gè)高電位脈沖,其下降沿用于把這個(gè)片外存儲(chǔ)器低8位地址鎖存到外部專用地址鎖存器,以便空出P0.

61、7~P0.0引腳線去傳送隨后而來(lái)的片外存儲(chǔ)器讀寫數(shù)據(jù)。在不訪問(wèn)片外存儲(chǔ)器時(shí),單片機(jī)自動(dòng)在ALE/ 線上輸出頻率為1/6晶振頻率的脈沖序列。</p><p>  EA:外部程序存儲(chǔ)器ROM的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。</p><p>  VPP:允許訪問(wèn)片外存儲(chǔ)器/編程電源線,當(dāng)保持低電平時(shí),則在此期間允許

62、使用片外程序存儲(chǔ)器,不管是否有內(nèi)部程序存儲(chǔ)器。當(dāng)端保持高電平時(shí),則允許使用片內(nèi)程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1和XTAL2:片內(nèi)振蕩電路輸入線,這兩個(gè)端子用來(lái)外接石英晶體和微調(diào)電容,即用來(lái)連接單片機(jī)片內(nèi)OSC的定時(shí)反饋回路。</p><p>  第四章  總體硬件設(shè)計(jì)</p><p><

63、;b>  4.1系統(tǒng)結(jié)構(gòu)框圖</b></p><p>  系統(tǒng)結(jié)構(gòu)框圖如下圖4-1所示</p><p>  圖4-1  系統(tǒng)構(gòu)成框圖</p><p>  在本設(shè)計(jì)中,電源部分由外接電源直接提供,所以沒(méi)有設(shè)計(jì)電源模塊,復(fù)位系統(tǒng)電路是由1個(gè)按鍵,1個(gè)電容和2個(gè)電阻組成;時(shí)鐘振蕩電路是由1個(gè)晶震和2個(gè)電容組成;鍵盤控制電路是由2按鍵組成獨(dú)立鍵盤連接到單片

64、機(jī)上完成按鍵功能;狀態(tài)顯示以及LED顯示電路,由3個(gè)發(fā)光二極管和3個(gè)共陽(yáng)極7段數(shù)碼管以及電阻組成,用以完成設(shè)計(jì)中的狀態(tài)顯示功能和LED顯示功能;控制電路是由PWM控制,用達(dá)林頓反向驅(qū)動(dòng)器ULN2803控制風(fēng)扇直流電機(jī),主控制器采用單片機(jī)AT89C52單片機(jī)。所以本設(shè)計(jì)中用到的器件很少也很簡(jiǎn)單。</p><p>  4.2數(shù)字溫度傳感器模塊設(shè)計(jì)</p><p>  DS18B20數(shù)字溫度傳感

65、器通過(guò)其內(nèi)部計(jì)數(shù)時(shí)鐘周期來(lái)的作用,實(shí)現(xiàn)了特有的溫度測(cè)量功能。低溫系數(shù)振蕩器輸出的時(shí)鐘信號(hào)通過(guò)由高溫度系數(shù)振蕩器產(chǎn)生的門周期而被計(jì)數(shù),計(jì)數(shù)器預(yù)先置有與-55℃相對(duì)應(yīng)的一個(gè)基權(quán)值。如果計(jì)數(shù)器計(jì)數(shù)到0時(shí),高溫度系數(shù)振蕩周期還未結(jié)束,則表示測(cè)量的溫度值高于-55℃,被預(yù)置在-55℃的溫度寄存器中的值就增加1℃,然后這個(gè)過(guò)程不斷重復(fù),直到高溫度系數(shù)振蕩周期結(jié)束為止。此時(shí)溫度寄存器中的值即為被測(cè)溫度值,這個(gè)值以16位二進(jìn)制形式存放在存儲(chǔ)器中,通過(guò)主

66、機(jī)發(fā)送存儲(chǔ)器讀命令可讀出此溫度值,讀取時(shí)低位在前,高位在后,依次進(jìn)行。由于溫度振蕩器的拋物線特性的影響,其內(nèi)用斜率累加器進(jìn)行補(bǔ)償[6]。</p><p>  DS18B20在使用時(shí),一般都采用單片機(jī)來(lái)實(shí)現(xiàn)數(shù)據(jù)采集。只須將DS18B20信號(hào)線與單片機(jī)1位I/O線相連,且單片機(jī)的1位I/O線可掛接多個(gè)DS18B20,就可實(shí)現(xiàn)單點(diǎn)或多點(diǎn)溫度檢測(cè)[7]。</p><p>  溫度傳感模塊電路圖如圖

67、4-2所示:</p><p>  圖4-2  溫度傳感模塊電路圖</p><p><b>  4.3鍵盤輸入模塊</b></p><p>  鍵盤包括2個(gè)獨(dú)立按鍵S2和S3,一端與單片機(jī)的P1.3和P1.4口相連,另一端接地,當(dāng)按下任一鍵時(shí),P1口讀取低電平有效。系統(tǒng)上電后,進(jìn)入鍵盤掃描子程序,以查詢的方式確定各按鍵,完成溫度初值的設(shè)定。其中按

68、鍵S2為加按鍵,每按下一次,系統(tǒng)對(duì)最初設(shè)定值加一,按鍵S3為減按鍵,每按下一次,系統(tǒng)對(duì)初設(shè)定值進(jìn)行減一計(jì)算。</p><p>  鍵盤接線圖如圖如4-3所示:</p><p>  圖4-3  鍵盤接線圖</p><p>  4.4溫度顯示與控制模塊</p><p>  本設(shè)計(jì)制作中選用5位共陰極數(shù)碼管作為顯示模塊。其中前3位數(shù)碼管DS1、DS

69、2、DS3用于顯示溫度傳感器實(shí)時(shí)檢測(cè)采集到的溫度,可精確到0.1攝氏度,顯示范圍為0~99.9攝氏度;后2位數(shù)碼管DS4、DS5用于顯示系統(tǒng)設(shè)置的初值溫度,只能顯示整數(shù)的溫度值,顯示范圍為0~99攝氏度。5位數(shù)碼管的段選a、b、c、d、e、f、g、dp線分別與單片機(jī)的P0.0~P0.7口連接,其中P0口需接一10K的上拉電阻,以使單片機(jī)的P0口能夠輸出高低電平。5位數(shù)碼管的位選W1~W5分別與單片機(jī)的P2.0~P2.4口相連接,只要P2

70、.0~P2.4中任一位中輸出低電平,則選中與該位相連的數(shù)碼管。</p><p>  溫度顯示LED和單片機(jī)硬件的接口如圖4-4所示:</p><p>  圖4-4  數(shù)碼顯示接線圖</p><p>  4.5風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路</p><p>  本設(shè)計(jì)中由單片機(jī)的I/O口輸出PWM脈沖,通過(guò)一個(gè)達(dá)林頓反向驅(qū)動(dòng)器ULN2803驅(qū)動(dòng)12V直

71、流無(wú)刷風(fēng)扇電機(jī)以及實(shí)現(xiàn)風(fēng)扇電機(jī)速度的調(diào)節(jié)。</p><p>  鍵盤控制設(shè)置溫度,通過(guò)軟件向單片機(jī)輸入相應(yīng)控制指令,由單片機(jī)通過(guò)P3.1口輸出與轉(zhuǎn)速相應(yīng)的PWM脈沖,經(jīng)過(guò)ULN2803驅(qū)動(dòng)風(fēng)扇直流電機(jī)控制電路,實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的自動(dòng)控制[8]。當(dāng)環(huán)境溫度升高時(shí),直流電機(jī)的轉(zhuǎn)速會(huì)相應(yīng)按照設(shè)定的等級(jí)有所提高;當(dāng)環(huán)境溫度下降時(shí),電機(jī)的轉(zhuǎn)速會(huì)相應(yīng)的下降;當(dāng)環(huán)境溫度低于設(shè)置溫度時(shí),電機(jī)停止轉(zhuǎn)動(dòng),而環(huán)境溫度又高于預(yù)設(shè)溫度時(shí),電機(jī)

72、重新啟動(dòng)。</p><p>  風(fēng)扇電機(jī)的一端接12V電源,另一端接ULN2803的OUT7引腳,ULN2803的IN7引腳與單片機(jī)的P3.1引腳相連,通過(guò)控制單片機(jī)的P3.1引腳輸出PWM信號(hào),由此控制風(fēng)扇直流電機(jī)的速度與啟停。</p><p>  風(fēng)扇電機(jī)接線圖如下圖4-5所示:</p><p>  圖4-5  風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電</p><

73、;p>  系統(tǒng)選用的風(fēng)扇電機(jī)為12V直流無(wú)刷電機(jī),單達(dá)林頓反向驅(qū)動(dòng)器ULN2803輸入TTL信號(hào)為5V或CMOS信號(hào)為6~15V時(shí),輸出的最大電壓為50V,最大電流為500mA,工作溫度范圍為0~70℃。本系統(tǒng)中單片機(jī)I/O口輸出的TTL信號(hào)為5V,因此本設(shè)計(jì)的風(fēng)扇電機(jī)用ULN2803來(lái)驅(qū)動(dòng)。</p><p>  4.6開關(guān)復(fù)位與晶振電路</p><p>  在單片機(jī)應(yīng)用系統(tǒng)中,除單

74、片機(jī)本身需要復(fù)位以外,外部擴(kuò)展I/O接口電路也需要復(fù)位,因此需要一個(gè)包括上電和按鈕復(fù)位在內(nèi)的系統(tǒng)同步復(fù)位電路。單片機(jī)上的XTAL1和XTAL2用來(lái)外接石英晶體和微調(diào)電容,即用來(lái)連接單片機(jī)片內(nèi)OSC的定時(shí)反饋回路。本設(shè)計(jì)中開關(guān)復(fù)位與晶振電路如下圖所示,當(dāng)按下按鍵開關(guān)S1時(shí),系統(tǒng)復(fù)位一次。其中電容C1、C2為20pF,C3為10uF,電阻R2、R3為10k,晶振為11.0592MHz。</p><p>  系統(tǒng)復(fù)位與

75、晶振電路如下圖4-6所示:</p><p>  圖4-6  系統(tǒng)復(fù)位與晶振電路</p><p><b>  第五章  軟件設(shè)計(jì)</b></p><p><b>  5.1程序設(shè)置</b></p><p>  程序設(shè)計(jì)部分主要包括主程序、DS18B20初始化函數(shù)、DS18B20溫度轉(zhuǎn)換函數(shù)、溫度讀取函

76、數(shù)、鍵盤掃描函數(shù)、數(shù)碼管顯示函數(shù)、溫度處理函數(shù)以及風(fēng)扇電機(jī)控制函數(shù)。DS18B20初始化函數(shù)完成對(duì)DS18B20的初始化;DS18B20溫度轉(zhuǎn)換函數(shù)完成對(duì)環(huán)境溫度的實(shí)時(shí)采集;溫度讀取函數(shù)完成主機(jī)對(duì)溫度傳感器數(shù)據(jù)的讀取及數(shù)據(jù)換算,鍵盤掃描函數(shù)則根據(jù)需要完成初值的加減設(shè)定;溫度處理函數(shù)對(duì)采集到的溫度進(jìn)行分析出理,為電機(jī)轉(zhuǎn)速的變化提供條件;風(fēng)扇電機(jī)控制函數(shù)則根據(jù)溫度的數(shù)值完成對(duì)電機(jī)轉(zhuǎn)速的控制。</p><p>  主程

77、序流程圖如圖5-1所示:</p><p>  圖5-1  主程序流程圖</p><p>  5.2用Keil C51編寫程序</p><p>  Keil C51是美國(guó)Keil Software公司開發(fā)的51系列兼容單片機(jī)C語(yǔ)言的軟件開發(fā)系統(tǒng),與單片機(jī)匯編語(yǔ)言相比,C語(yǔ)言在不僅語(yǔ)句簡(jiǎn)單靈活,而且編寫的函數(shù)模塊可移植性強(qiáng)[9],因而易學(xué)易用,效率高。隨著單片機(jī)開發(fā)技術(shù)

78、的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前使用較多的MCS-51系列單片機(jī)開發(fā)的軟件。</p><p>  Keil C51軟件不僅提供了豐富的庫(kù)函數(shù),而且它強(qiáng)大的集成開發(fā)調(diào)試工具為程序編輯調(diào)試帶來(lái)便利,在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。在使用時(shí)要先建立一個(gè)工程,然后添加文件并編寫程序,編寫好后再編輯調(diào)試。</p><p>

79、  Keil C51的使用界面如圖5-3所示:</p><p>  圖5-3  Keil C51的使用界面</p><p>  第六章  用Proteus進(jìn)行仿真</p><p>  6.1 Proteus簡(jiǎn)介</p><p>  Proteus軟件是來(lái)自英國(guó)Labcenter electronics公司的EDA工具軟件。</p>

80、<p>  Proteus軟件有十多年的歷史,在全球廣泛使用,它不僅和其它EDA工具一樣有原理布圖、PCB自動(dòng)或人工布線及電路仿真的功能,而且更重要的功能是,他的電路仿真是互動(dòng)的,可以根據(jù)仿真實(shí)時(shí)觀察到得現(xiàn)象驗(yàn)證設(shè)計(jì)的正確性及準(zhǔn)確性并及時(shí)改變程序代碼、原理圖連接以及元件屬性等。它還能配合系統(tǒng)配置的虛擬儀器來(lái)顯示和輸出,如示波器、邏輯分析儀等,效果很好[10]。</p><p>  Proteus有4

81、個(gè)功能模塊:智能原理圖設(shè)計(jì)、完善的電路仿真功能、獨(dú)特的單片機(jī)協(xié)同仿真功能以及實(shí)用的PCB設(shè)計(jì)平臺(tái)。其內(nèi)部元件庫(kù)含有豐富的元件,支持總線結(jié)構(gòu)以及智能化的連線功能;支持主流CPU(如ARM、8051/52、AVR)及其通用外設(shè)模型的實(shí)時(shí)仿真等,為單片機(jī)的開發(fā)應(yīng)用等帶來(lái)極大的便利。</p><p>  Proteus使用界面如下圖6-1所示</p><p>  圖6-1  Proteus使用界面

82、</p><p>  6.2本設(shè)計(jì)基于Proteus的仿真</p><p>  首先啟動(dòng)Proteus軟件并建立一工程,然后根據(jù)原理圖調(diào)出相應(yīng)的原件,再根據(jù)要求改變各原件的屬性并把各個(gè)原件按原理圖連接起來(lái)。在原理圖繪制連接好后再把編譯好的程序加載到其中[11]。最后根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能分步進(jìn)行仿真[12]。</p><p>  1.當(dāng)把溫度傳感器DS18B20溫度設(shè)

83、置為26.4攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)的溫度為22攝氏度。點(diǎn)擊開始仿真按鈕,系統(tǒng)開始仿真,待一段時(shí)間穩(wěn)定后,觀察到此時(shí)風(fēng)扇直流電機(jī)的轉(zhuǎn)速為+14.2r/s,如圖6-2所示。</p><p>  圖6-2  Proteus仿真效果圖一</p><p>  2.當(dāng)把溫度傳感器DS18B20溫度設(shè)置為28.4攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)的溫度為22攝氏度。點(diǎn)擊開始按鈕,系統(tǒng)開始仿真,待一段

84、時(shí)間穩(wěn)定后,觀察到此時(shí)直流風(fēng)扇電機(jī)的轉(zhuǎn)速為+23.3 r/s,如圖6-3所示。</p><p>  圖6-3  Proteus仿真效果圖二</p><p>  3.當(dāng)把溫度傳感器DS18B20溫度設(shè)置為33.4攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)的溫度為22攝氏度。點(diǎn)擊開始按鈕,系統(tǒng)開始仿真,待一段時(shí)間穩(wěn)定后,觀察到此時(shí)直流風(fēng)扇電機(jī)的轉(zhuǎn)速為+32.0 r/s,如圖6-4所示。 </p>

85、;<p>  圖6-4  Proteus仿真效果圖三</p><p>  4.然后在上一步仿真的基礎(chǔ)上(溫度傳感器DS18B20溫度設(shè)置為33.4攝氏度,系統(tǒng)預(yù)設(shè)的溫度為22攝氏度),用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)溫度至34攝氏度,此時(shí)可知系統(tǒng)預(yù)設(shè)溫度大于溫度傳感器檢測(cè)到的溫度,觀察到直流風(fēng)扇電機(jī)的轉(zhuǎn)速逐漸變慢,最后轉(zhuǎn)速變?yōu)?,符合系統(tǒng)要實(shí)現(xiàn)的功能,如圖6-5所示。</p><p>

86、  圖6-5  Proteus仿真效果圖四</p><p>  通過(guò)以上仿真可以看出,直流風(fēng)扇電機(jī)在系統(tǒng)設(shè)定溫度一定的情況下,其轉(zhuǎn)速隨著環(huán)境溫度(溫度傳感器檢測(cè)到的溫度)的增加而增大。當(dāng)環(huán)境溫度低于系統(tǒng)預(yù)設(shè)的溫度時(shí),風(fēng)扇自動(dòng)停止運(yùn)轉(zhuǎn),實(shí)現(xiàn)了系統(tǒng)所設(shè)計(jì)的功能。當(dāng)然,在此沒(méi)有實(shí)現(xiàn)風(fēng)扇直流電機(jī)的無(wú)級(jí)調(diào)速,本系統(tǒng)實(shí)現(xiàn)的是電機(jī)在隨環(huán)境溫度變化的四個(gè)等級(jí)的速度變化,環(huán)境溫度在一定小范圍內(nèi)變化風(fēng)扇電機(jī)轉(zhuǎn)速是不變的,只有超過(guò)了設(shè)

87、定的某一界限時(shí)轉(zhuǎn)速才會(huì)變化。</p><p><b>  結(jié)  論</b></p><p>  首先,通過(guò)這次應(yīng)用系統(tǒng)設(shè)計(jì),在很大程度上提高了自己的獨(dú)立思考能力和單片機(jī)的專業(yè)知識(shí),也深刻了解寫一篇應(yīng)用系統(tǒng)的步驟和格式,有過(guò)這樣的一次訓(xùn)練,相信在接下來(lái)的日子我們都會(huì)了,而且會(huì)做得更好。</p><p>  我所寫的系統(tǒng)主要根據(jù)目前節(jié)智能化電風(fēng)扇技

88、術(shù)的發(fā)展趨勢(shì)和國(guó)內(nèi)實(shí)際的應(yīng)用特點(diǎn)和要求,采用了自動(dòng)化的結(jié)構(gòu)形式,實(shí)現(xiàn)對(duì)電風(fēng)扇轉(zhuǎn)速的自動(dòng)控制。</p><p>  本次設(shè)計(jì)的系統(tǒng)以單片機(jī)為控制核心,以溫度傳感器DS18B20檢測(cè)環(huán)境溫度,實(shí)現(xiàn)了根據(jù)環(huán)境溫度變化調(diào)節(jié)不同的風(fēng)扇電機(jī)轉(zhuǎn)速,在一定范圍能能實(shí)現(xiàn)轉(zhuǎn)速的連續(xù)調(diào)節(jié),LED數(shù)碼管能連續(xù)穩(wěn)定的顯示環(huán)境溫度和設(shè)置溫度,并能通過(guò)兩個(gè)獨(dú)立按鍵調(diào)節(jié)不同的設(shè)置溫度,從而改變環(huán)境溫度與設(shè)置溫度的差值,進(jìn)而改變電機(jī)轉(zhuǎn)速。本設(shè)計(jì)用

89、Protel軟件繪制電路原理圖,用Keil C51編寫程序,由Protues軟件進(jìn)行訪真測(cè)試,實(shí)現(xiàn)了基于單片機(jī)的智能風(fēng)扇的設(shè)計(jì)。</p><p>  該系統(tǒng)的主要特點(diǎn)是:</p><p>  1.適用性強(qiáng),用戶只需對(duì)界面參數(shù)進(jìn)行設(shè)置并啟動(dòng)系統(tǒng)正常運(yùn)行便可滿足不同用戶</p><p>  對(duì)最適合溫度的要求,實(shí)現(xiàn)對(duì)最適溫度的實(shí)時(shí)監(jiān)控。</p><p

90、>  2.系統(tǒng)成本低廉,操作非常簡(jiǎn)單,隨時(shí)可以根據(jù)軟件編寫新的功能加入產(chǎn)品。操作</p><p>  界面可擴(kuò)展性強(qiáng),只要稍加改變,即可增加其他按鍵的使用功能。</p><p>  本系統(tǒng)在當(dāng)今提倡人性化設(shè)計(jì)和健康產(chǎn)品的環(huán)境下具有非常好的市場(chǎng)前景。</p><p><b>  致  謝</b></p><p>  

91、我的畢業(yè)設(shè)計(jì),是在xx老師的指導(dǎo)下,從論文的選題、研究計(jì)劃的制定、技術(shù)路線的選擇到系統(tǒng)的開發(fā)設(shè)計(jì),各個(gè)方面都離不開xx老師熱情耐心的幫助和教導(dǎo)。她嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵(lì)著我。這次設(shè)計(jì)是通過(guò)查找翻閱有關(guān)理論資料和技術(shù)手冊(cè),進(jìn)行大膽的理論與實(shí)踐相結(jié)合,使我懂得了如何把書本上知識(shí)總結(jié)起來(lái)去應(yīng)用于實(shí)踐,學(xué)到了研究、開發(fā),設(shè)計(jì)單片微型計(jì)算機(jī)對(duì)工業(yè)過(guò)程控制的一套完整的方法,受益很大。由于硬件軟件都要涉及

92、,由于時(shí)間緊,工作量大,本次設(shè)計(jì)沒(méi)能做出實(shí)物。本畢業(yè)設(shè)計(jì)鍛煉了我的理論聯(lián)系實(shí)際的能力,進(jìn)一步強(qiáng)化了專業(yè)知識(shí),提高了將所學(xué)知識(shí)應(yīng)用于實(shí)踐的能力</p><p>  四年的學(xué)習(xí)生涯馬上就要畫上句號(hào)了,畢業(yè)前所有的努力與付出都凝聚在這篇論文里面。相信它雖然不能算是一篇上乘之作,但的確是我用心血澆灌的成果。在此我也要感謝我的同學(xué)們,正是和他們四年的朝夕相處,一起上課一起討論問(wèn)題,讓我逐漸完善了對(duì)問(wèn)題的思考認(rèn)識(shí),從而更好地

93、規(guī)劃自己的學(xué)業(yè)和生活。四年的求學(xué)時(shí)光給我留下了美好的回憶,它將成為我今后人生旅途中新的起點(diǎn)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李學(xué)龍.使用單片機(jī)控制的智能遙控電風(fēng)扇控制器[J]電子電路制作,2003,9:13—15</p><p>  [2] 藍(lán)厚榮.單片機(jī)的PWM控制技術(shù)[J].工業(yè)控制計(jì)算機(jī),201

94、0,23(3):97—98</p><p>  [3] 郭天祥.新概念51單片機(jī)C語(yǔ)言教程[M].北京:電子工業(yè)出版社,2009.</p><p>  [4] 胡全.51單片機(jī)的數(shù)碼管動(dòng)態(tài)顯示技術(shù)[J].信息技術(shù),2009,13:25—26</p><p>  [5] 胡漢才.單片機(jī)原理及其接口技術(shù)[M](第2版).北京:清華大學(xué)出版社,2004.</p>

95、;<p>  [6] 李鋼,趙彥峰.1-Wire總線數(shù)字溫度傳感器DS18B20原理及應(yīng)用[J].現(xiàn)代電子技術(shù),2005,28(21):77—79</p><p>  [7] 馬云峰.單片機(jī)與數(shù)字溫度傳感器DS18B20的接口設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2007,10(4):278—280</p><p>  [8] 王會(huì)明,侯加林.智能電風(fēng)扇控制器的研制[J].電子與自動(dòng)

96、化,1998,5(4):25—26</p><p>  [9] 譚浩強(qiáng).C程序設(shè)計(jì)[M](第三版).北京:清華大學(xué)出版社,2005.</p><p>  [10] 孫號(hào).Proteus軟件在設(shè)計(jì)電子電路中的應(yīng)用[J].儀表技術(shù),2009,8:74—75</p><p>  [11] 樓俊軍.基于Proteus和Keil的單片機(jī)演奏樂(lè)曲的實(shí)現(xiàn)[J].科技信息,2010

97、,23:50</p><p>  [12] 王文海.用Proteus實(shí)現(xiàn)51單片機(jī)的動(dòng)態(tài)仿真調(diào)試[J].IT技術(shù),2006,20:10—11</p><p>  [13] 丁建軍,陳定方,周國(guó)柱.基于AT89C51的智能電風(fēng)扇控制系統(tǒng)[J].湖北工學(xué)院學(xué)報(bào),2003,18(2):60—63</p><p>  [14] 王會(huì)明,侯加林.智能電風(fēng)扇控制器的研制[J].

98、電子與自動(dòng)化,1998,5(4):25—26</p><p>  [15] 劉進(jìn)山.基于MCS-51電風(fēng)扇智能調(diào)速器的設(shè)計(jì)[J].廣州:電子質(zhì)量,2004,10(10):71</p><p>  [16] YU Qihao,CHENGGuodong.The application of auto-temperature-controlled ventilation embankment i

99、n Qinghai--Tibet Railway [J].Science in China Ser.D Earth Sciences,2004,1(47):168—176</p><p>  [17] YLai,Y,Wang.Three—dimensional nonlinear analysis for temperature characteristic of ventilated embankment in

100、 permafrost regions [J].Cold Regions Science and Technology,2004,38(2):165—184</p><p>  [18] Cheng Guodong.Linearity engineering in permafrost areas [J].Journal of Glaciology and Geocryology(in Chinese),2001

101、,23(3):213—217</p><p>  [19] B Schneier.Applied Crytography:Algorithms,and Source Code in C[J].New York:Jone Wiley& Sons 1994,301—307</p><p><b>  附  錄</b></p><p>  附

102、錄1:電路原理總圖</p><p>  附圖1  電路原理總圖</p><p><b>  附錄2:程序代碼</b></p><p>  #include <reg52.h> </p><p>  #define uchar unsigned char</p><p>  #defin

103、e uint unsigned int</p><p>  sbit DQ=P1^7;</p><p>  sbit key1=P1^3;</p><p>  sbit key2=P1^4;</p><p>  sbit dianji=P3^1;</p><p><b>  float ff;</b&g

104、t;</p><p><b>  uint y3;</b></p><p>  uchar shi,ge,xiaoshu,sheding=20,gaonum,dinum;</p><p>  uchar code dispcode[]={ //段碼</p><p>  0x3f,0x06,0x5b,0x4f, &l

105、t;/p><p>  0x66,0x6d,0x7d,0x07, </p><p>  0x7f,0x6f,0x77,0x7c, </p><p>  0x39,0x5e,0x79,0x71}; </p><p>  uchar code tablel[]={ //帶小數(shù)點(diǎn)的段碼</p><p>  0xbf,0x86,0x

106、db,0xcf,</p><p>  0xe6,0xed,0xfd,</p><p>  0x87,0xff,0xef};</p><p>  uchar dispbitcode[]={ //位選</p><p>  0xfe,0xfd,0xfb,0xf7, </p><p>  0xef,0xdf,0xbf,0

107、x7f}; </p><p>  uchar dispbuf[8]={0,0,0,0,0,0,0,0}; </p><p>  void Delay(uint num)// 延時(shí)函數(shù)</p><p><b>  {</b></p><p>  while( --num );</p><p>&

108、lt;b>  }</b></p><p>  void digitalshow(uchar a4,uchar a3,uchar a2,uchar a1,uchar a0)</p><p><b>  {</b></p><p>  dispbuf[0]=a0; </p><p>  dispbuf[1]

109、=a1;</p><p>  dispbuf[2]=a2;</p><p>  dispbuf[3]=a3;</p><p>  dispbuf[4]=a4;</p><p><b>  P2=0xff;</b></p><p>  P0=dispcode[dispbuf[0]];</p&g

110、t;<p>  P2=dispbitcode[5];</p><p>  Delay(1); </p><p><b>  P2=0xff;</b></p><p>  P0=dispcode[dispbuf[1]];</p><p>  P2=dispbitcode[4];</p><

溫馨提示

  • 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)論