2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、<p><b>  摘要</b></p><p>  本設計為一種溫控風扇系統(tǒng),具有靈敏的溫度感測和顯示功能,系統(tǒng)選用STC89C52單片機作為控制平臺對風扇轉(zhuǎn)速進行控制??捎捎脩粼O置高、低溫度值,測得溫度值在高低溫度之間時打開風扇弱風檔,當溫度升高超過所設定的溫度時自動切換到大風檔,當溫度小于所設定的溫度時自動關閉風扇,控制狀態(tài)隨外界溫度而定。所設高低溫值保存在溫度傳感器DS18

2、B20內(nèi)部E2ROM中,掉電后仍然能保存上次設定值,性能穩(wěn)定,控制準確。</p><p>  關鍵詞:單片機 溫度傳感器 智能控制</p><p><b>  Abstract</b></p><p>  This design is a kind of temperature control fan system, has the sen

3、sitive temperature senor and display function ,system STC89C52 monolithic as control the fan speed...High and low temperature can be set by the users, the measured temperature value between high and low temperature open

4、the fan when the windshield ,when temperature exceeds the set temperature automatically switch to the wind ,when the temperature is less than the set temperature automatically shut down the fan, control state var</p&g

5、t;<p>  Key words: Automatic control; single chip micromputer; temperature control</p><p><b>  目錄</b></p><p><b>  第一章引言1</b></p><p>  第二章 整體方案的設計2&l

6、t;/p><p>  2.1 系統(tǒng)整體的設計2</p><p>  2.2 方案論證2</p><p>  2.2.1 溫度傳感器的選擇2</p><p>  2.2.2 控制核心的選擇3</p><p>  2.2.3 溫度顯示器件的選擇3</p><p>  2.2.4 調(diào)速方式的選擇

7、4</p><p>  第三章 硬件設計5</p><p>  3.1 系統(tǒng)器件簡介5</p><p>  3.1.1 DS18B20單線數(shù)字溫度傳感器簡介5</p><p>  3.1.2 STC89C52單片機簡介6</p><p>  3.1.3 LED數(shù)碼管簡介11</p><

8、p>  3.2 電路設計12</p><p>  3.2.1 開關復位與晶振電路12</p><p>  3.2.2 獨立按鍵連接電路13</p><p>  3.2.3 數(shù)碼管顯示電路14</p><p>  3.2.4溫度采集電路15</p><p>  第四章 軟件設計17</p>

9、<p>  4.1程序設置17</p><p>  4.2用KeilC51編寫程序18</p><p>  4.3用Proteus進行仿真18</p><p>  4.3.1 Proteus簡介18</p><p>  4.3.2 本設計基于Proteus的仿真19</p><p>  第五章 系

10、統(tǒng)調(diào)試24</p><p>  5.1 軟件調(diào)試24</p><p>  5.1.1 按鍵顯示部分的調(diào)試24</p><p>  5.1.2 傳感器DS18B20溫度采集部分調(diào)試24</p><p>  第六章 硬件系統(tǒng)25</p><p>  6.1 按鍵電路的調(diào)試25</p><p&

11、gt;  6.2 溫度傳感器電路的調(diào)試25</p><p>  6.3 電機電路的調(diào)試25</p><p>  6.4 硬件調(diào)試遇到的問題25</p><p><b>  第七章 結(jié)論26</b></p><p><b>  參考文獻27</b></p><p>&

12、lt;b>  致謝28</b></p><p><b>  附錄29</b></p><p>  附錄1 PCB版圖29</p><p>  附錄2 原理圖30</p><p>  附錄3 程序代碼31</p><p><b>  第一章引言</b&

13、gt;</p><p>  電扇是人們?nèi)粘I钪谐S玫慕禍毓ぞ?,從開始的吊扇到現(xiàn)在的USB風扇無處不見電扇的蹤跡。雖然如今空調(diào)已經(jīng)走進千家萬戶,但是電扇的低位還是無可取代。作為一種節(jié)能環(huán)保,并且廉價簡單的降溫工具,電扇還在很多人家發(fā)揮著自己獨特的作用。順應時代潮流,各種多功能的風扇逐漸在取代傳統(tǒng)風扇。</p><p>  單片機作為一種智能化程度高,控制精度高,操作簡單,廉價易得,抗干擾

14、能力強等特點,越來越多的應用于智能化產(chǎn)品之中。</p><p>  市場上智能風扇產(chǎn)品相繼問世,制作方法也多種多樣,功能也逐漸完善,普遍都具有了手動變速和定時關閉等功能。相對而言,具備人性化,智能化的風扇還是很少,使用也并不廣泛,而且在電子工藝高度發(fā)展的今天,智能化的步伐也越來越快。尤其是中國這個高速發(fā)展的國家,電扇的智能化也該向前邁進一個步伐。在中國市場上風扇還是有一定的市場份額的,幾乎每個家庭都有風扇,具備價

15、格便宜,擺放輕便,體積靈巧等特點,使得風扇在中小城市以及鄉(xiāng)村將來一段時間內(nèi)仍然會占有市場的大部分份額,為提高風扇的市場競爭力,使之在技術含量上有所提高。滿足智能化的要求,智能風扇很具競爭力。大學三年即將結(jié)束,為了檢驗自己的學習情況,我決定使用之前所學習到的硬件只是結(jié)合相關的軟件基礎來制作一個基于單片機的智能溫控風扇?;趯θ诵曰c智能化相結(jié)合的考慮,同時基于對價格的考慮,本設計決定制作一個基于52單片機的智能溫控風扇。該風扇具有隨溫度自

16、動調(diào)節(jié)風速的功能,并且在無人時可以自動關閉,而且可以根據(jù)每個人的不同情況來設定基準溫度,從而實現(xiàn)了人性化與智能化的雙重目標。</p><p>  第二章 整體方案的設計</p><p>  2.1 系統(tǒng)整體的設計</p><p>  本設計的整體思路是:利用溫度傳感器DS18B20檢測環(huán)境溫度并直接輸出數(shù)字溫度信號給單片機STC89C52進行處理,在LED數(shù)碼管上顯

17、示當前環(huán)境溫度值以及預設溫度值。其中預設溫度值只能為整數(shù)形式,檢測到的當前環(huán)境溫度可精確到小數(shù)點后一位。同時采用PWM脈沖寬度調(diào)制方式來改變直流風扇電機的轉(zhuǎn)速。并通過兩個按鍵改變預設溫度的大小,一個提高預設溫度,另一個降低預設溫度。系統(tǒng)結(jié)構(gòu)框圖如圖1。</p><p><b>  圖1系統(tǒng)結(jié)構(gòu)框圖</b></p><p><b>  2.2 方案論證<

18、/b></p><p>  本設計需要實現(xiàn)風扇直流電機的溫度控制,使風扇電機能根據(jù)環(huán)境溫度的變化自動啟動和停止以及轉(zhuǎn)速的自動調(diào)節(jié),需要比較高的溫度變化分辨率以及穩(wěn)定可靠的換擋停機控制部件。</p><p>  2.2.1 溫度傳感器的選擇</p><p>  在本設計中,溫度傳感器的選擇有以下兩種方案:</p><p>  方案一:采用

19、熱敏電阻。熱敏電阻的特性是阻值可以隨溫度的變化而變化,采用熱敏電阻作為檢測溫度的核心部件,然后通過放大電路放大信號,進過AD0809數(shù)模轉(zhuǎn)換將放大的微弱電壓變化信號轉(zhuǎn)化了數(shù)字信號輸入單片機處理。</p><p>  方案二:采用單總線數(shù)字溫度計DS18B20。作為一款優(yōu)秀的數(shù)字集成溫度傳感器,DS18B20可以直接檢測并輸出數(shù)字信號給單片機進行處理。</p><p>  對于方案一,如果采

20、用熱敏電阻作為溫度檢測原件,則價格方面比較便宜,原件易得,但是熱敏電阻的缺點顯而易見,對于溫度細微變化反應不敏感,而且在后續(xù)的轉(zhuǎn)換和放大電路中還會造成失真和誤差。并且熱敏電阻的變化曲線非線性,每個熱敏電阻都不同,還需要單獨測試描繪出曲線,雖然可以通過軟件來實現(xiàn)誤差的修正,但是這回使得電路復雜性增加,并且在人體所在實際環(huán)境中難以檢測到小的溫度變化,所以這個方案在本設計中難以勝任。</p><p>  對于方案二,由

21、于數(shù)字式集成溫度傳感器DS18B20的高度集成化,大大降低了外接放大轉(zhuǎn)換等電路的誤差因數(shù),溫度誤差變得很小,并且由于其檢測溫度的原理與熱敏電阻檢測溫度的原理有著本質(zhì)的不同,使得其溫度分辨率極高。溫度值在器件內(nèi)部轉(zhuǎn)化成數(shù)字量直接輸出,簡化了系統(tǒng)程序設計,又由于該溫度傳感器采用先進的單總線技術,與單片機的接口變的非常簡潔,看干擾能力強,因此該方案適用于本系統(tǒng)。</p><p>  2.2.2 控制核心的選擇</

22、p><p>  在本設計中采用STC89C52單片機作為控制核心,通過軟件編程的方法進行溫度檢測和判斷,并在其I/O口輸出控制信號。AT89C52單片機工作電壓低,性能高,片內(nèi)含8K字節(jié)的只讀程序存儲器ROM和256字節(jié)的隨機數(shù)據(jù)存儲器RAM,它兼容標準的MCS-51指令系統(tǒng),單片機價格便宜,適合本設計系統(tǒng)。</p><p>  2.2.3 溫度顯示器件的選擇</p><p

23、>  方案一:采用四位功能共陽數(shù)碼管顯示溫度,動態(tài)掃描顯示方式。</p><p>  方案二:采用液晶顯示屏LCD顯示溫度。</p><p>  對于方案一,該方案成本低廉,顯示溫度明確醒目,即使在黑暗空間也能清楚看見,功耗極低,同時溫度顯示程序的編寫也相對簡單,因而這種顯示方式得到了廣泛應用。但不足的地方是它采用動態(tài)掃描的方式,各個LED數(shù)碼管是逐個點亮的,因此會產(chǎn)生閃爍,但由于人

24、眼的視覺暫留時間為20MS,故當數(shù)碼管掃描周期小于這個時間時人眼不會感覺到閃爍,因此只要掃描頻率設置的當即可采用該方案。</p><p>  對于方案二,液晶體顯示屏具有顯示字符優(yōu)美,不但能顯示數(shù)字還能顯示字符甚至圖形的優(yōu)點,這是LED數(shù)碼管無法比擬的。但是液晶顯示模塊價格昂貴,驅(qū)動程序復雜,從簡單實用的原則考慮,本系統(tǒng)采用方案一。</p><p>  2.2.4 調(diào)速方式的選擇</

25、p><p>  方案一:采用數(shù)模轉(zhuǎn)換芯片DAC0832來控制,由單片機根據(jù)當前環(huán)境溫度值輸出相應數(shù)字量到DAC0832中,再由DAC0832產(chǎn)生相應模擬信號控制晶閘管的導通角,從而通過無極調(diào)速電路實現(xiàn)風扇電機轉(zhuǎn)速的自動調(diào)節(jié)。</p><p>  方案二:采用單片機軟件編程實現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速的方法,PWM它是按一定的規(guī)律改變脈沖序列的脈沖寬度,以調(diào)節(jié)輸出量和波形的一種調(diào)制方式,,在P

26、WM驅(qū)動控制的調(diào)節(jié)系統(tǒng)中最常用的的是矩形波PWM信號,在控制時需要調(diào)節(jié)PWM波的占空比。占空比是指高電平持續(xù)時間在一個周期時間內(nèi)的百分比。在控制電機的轉(zhuǎn)速時,占空比越大,轉(zhuǎn)速就越快,若全為高電平占空比為100%時,轉(zhuǎn)速達到最大。用單片機I/O口輸出PWM信號時,有如下三種方法:</p><p>  利用軟件延時。當高電平延時時間到時,對I/O口電平取反,使其變成低電平,然后再延時一定時間;然后當?shù)碗娖窖訒r時間到時

27、,在對該I/O口電平取反,如此循環(huán)即可得到PWM信號。</p><p>  利用定時器??刂品椒ㄅc(1)相同,只是在該方法中利用單片機的定時器來定時進行高低電平的轉(zhuǎn)換,而不是用軟件延時。應用此方法是編程相對復雜。在本設計中應用了此方法。</p><p>  利用單片機自帶的PWM控制器。在STC12系列的單片機中自身帶有PWM控制器,但本系統(tǒng)所用到的AT89單片機無此功能。</p&g

28、t;<p>  對于方案一,該方案能夠?qū)崿F(xiàn)對直流風扇電機的無極調(diào)速,速度變化靈敏,但是D/A轉(zhuǎn)換芯片的價格較高,與其溫控狀態(tài)下無極調(diào)速功能相比性價比不高。</p><p>  對于方案二,相對于其他用硬件或者軟硬件相結(jié)合的方法實現(xiàn)對電機進行調(diào)速而言,采用PWM用純軟件的方法來實現(xiàn)調(diào)速過程,具有更大的靈活性,并可大大降低成本,能夠充分發(fā)揮單片機的功能,對于簡單速度控制系統(tǒng)的實現(xiàn)提供了一種有效的途徑。綜

29、合考慮選用方案二。</p><p><b>  第三章 硬件設計</b></p><p>  系統(tǒng)主要硬件包括DS18B20溫度傳感器、STC89C51單片機、四位LED共陽極數(shù)碼管、風扇直流電機。輔助元器件包括電阻、電容、電源、按鍵、撥碼開關等。</p><p>  3.1 系統(tǒng)器件簡介</p><p>  3.1.1

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

31、S1820之后推出的一種改進型智能溫度傳感器DS18B20。作為新一帶數(shù)字檢測元件,DS1820是世界上第一片支持 "一線總線"接口的溫度傳感器,在其內(nèi)部使用了在板ON-BOARD專利技術。全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡,為測量系統(tǒng)的構(gòu)建引入全新概念。現(xiàn)在新一代的DS18B20體積更小、更經(jīng)濟、更靈活。使你可以充分發(fā)揮“一線總線”的優(yōu)點

32、。DS18B20可以程序設定912位的分辨率,精度為±0.5°C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設定,及用戶設定的報警溫度存儲在EEPROM中,掉電后依然保存。測溫范圍為-55125℃最大分辨率可達0.0625℃。DS18B20減少了外部的硬件電路,直接輸出數(shù)字信號,具有低成本和易使用的特點。</p><p>  DS18B20內(nèi)部主要有四個部分:64位ROM、溫度傳感器、

33、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。其管角有三個,其中DQ為數(shù)字信號端,GND為電源地,VDD為電源輸入端.</p><p>  圖2 DS18B20外形及管腳</p><p>  圖3 DS18B20內(nèi)部結(jié)構(gòu)</p><p>  3.1.2 STC89C52單片機簡介</p><p>  性能:(1)與MCS-51單片機產(chǎn)品兼容&

34、lt;/p><p>  (2)8KFlash字節(jié)閃速存儲器</p><p>  (3)1000次擦寫周期</p><p>  (4)全靜態(tài)操作:0Hz~88Hz ??</p><p>  (5)32個可編程I/O口線??</p><p>  (6)三個16位定時器/計數(shù)器</p><p><b

35、>  (7)八個中斷源</b></p><p>  (8)全雙工UART串行通道</p><p>  (9)低功耗空閑和掉電模式</p><p>  (10)掉電后中斷可喚醒</p><p>  VCC:+5V電源線; GND:接地線</p><p>  P0 口:P0口是一個8位漏極開路的雙向&l

36、t;/p><p>  I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。</p><p>  P1 口:是一個具有內(nèi)部上拉電阻的8 位雙向I/O

37、口,p1 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表1所示。在flash編程和校驗時,P1口接收低8位地址字節(jié)。</p><p>&l

38、t;b>  表4 P1口功能</b></p><p>  P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX @DPTR)

39、時,P2 口送出高八位地址。在這種應用中,</p><p>  P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也可接收高8位地址字節(jié)和一些控制信號。</p><p>  P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對P3

40、端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如上表2所示。在flash編程和校驗時,P3口也接收一些控制信號。</p><p><b>  表5 P3口功能</b></p><p>  RST:復位輸入。當震蕩器復位器件時,

41、要保持RST腳兩個機器周期的高電平狀態(tài)。</p><p>  地址鎖存允許/ 編程線,當訪問片外存儲器時,在P0.7~P0.0引腳線上輸出片外存儲器低8位地址的同時還在線上輸出一個高電平脈沖,其下降沿用于把這個片外存儲器低8位地址鎖存到外部專用地址鎖存器,以便空出P0.7~P0.0引腳線去傳送隨后而來的片外存儲器讀寫數(shù)據(jù)。在不訪問片外存儲器時單片機自動在線上輸出頻率為1/6晶振頻率的脈沖序列。</p>

42、<p> ?。和獠砍绦虼鎯ζ鱎OM的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次有效,但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的信號將不出現(xiàn)。</p><p> ?。涸试S訪問外部存儲器/編程電源線。當保持低電平時,則在此期間允許使用片外程序存儲器,不管是否有內(nèi)部程序存儲器。當保持高電平時,則允許使用片外程序存儲器。當FIASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p&g

43、t;<p>  XTAL1和XTAL2:片內(nèi)振蕩電路輸入線,這兩個端子用來外接石英晶體和微調(diào)電容,即用來連接單片機內(nèi)OSC的定時反饋電路。</p><p>  存儲器結(jié)構(gòu):MCS-51器件有單獨的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以64K尋址。</p><p>  程序存儲器:如果EA引腳接地,程序讀取只從外部存儲器開始。對于89S52,如果EA 接VCC

44、,程序讀寫先從內(nèi)部存儲器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2000H~FFFFH。</p><p>  數(shù)據(jù)存儲器:STC89C52 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。當一條指令訪問高于7FH 的地址時,尋址方式?jīng)Q定CPU 訪問高128 字節(jié)RAM 還是特殊功能寄存器空間。</

45、p><p>  晶振特性如圖2所示,STC89C52 單片機有一個用于構(gòu)成內(nèi)部振蕩器的反相放大器,XTAL1 和XTAL2 分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構(gòu)成自激振蕩器</p><p>  圖6 自激振蕩器原理圖</p><p>  定時器0 和定時器1 </p><p>  在STC89C52 中,定時器0 和定

46、時器1 的操作與89C51 一樣。</p><p><b>  定時器2 </b></p><p>  定時器2是一個16位定時/計數(shù)器,它既可以做定時器,又可以做事件計數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇(如表2所示)。定時器2有三種工作模式:捕捉方式、自動重載(向下或向上計數(shù))和波特率發(fā)生器。工作模式由T2CON中的相關位選擇。定時器2 有2個

47、8位寄存器:TH2和TL2。在定時工作方式中,每個機器周期,TL2 寄存器都會加1。由于一個機器周期由12個晶振周期構(gòu)成,因此,計數(shù)頻率就是晶振頻率的1/12。</p><p><b>  中斷</b></p><p>  STC89C52有6個中斷源:兩個外部中斷(INT0 和INT1),三個定時中斷(定時器0、1、2)和一個串行中斷每個中斷源都可以通過置位或清除特

48、殊寄存器IE 中的相關中斷允許控制位分別使得中斷源有效或無效。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。定時器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進入中斷服務后,這些標志位都可以由硬件清0。實際上,中斷服務程序必須判定是否是TF2 或EXF2激活中斷,標志位也必須由軟件清0。下表2為中斷允許控制寄存器功能。 </p><p>  圖7 中斷允許控制寄存器</p>

49、;<p>  3.1.3 LED數(shù)碼管簡介 </p><p>  本系統(tǒng)選用四位LED數(shù)碼管來進行溫度顯示。LED又稱為數(shù)碼管,它主要是由8段發(fā)光二極管組成的不同組合,其中a~g為數(shù)字和字符顯示段,dp為小數(shù)點的顯示,通過a~g這七個發(fā)光二極管點亮的不同組合,可以顯示0~9和A~F共16個數(shù)字和字母。LED數(shù)碼管可以分為共陰極和共陽極兩種結(jié)構(gòu),如圖5所示。共陰極結(jié)構(gòu)把8個發(fā)光二極管陰極連在一起,共

50、陽極結(jié)構(gòu)把8個發(fā)光二極管陽極連在一起。通過單片機引腳輸出高低電平,可使數(shù)碼管顯示相應的數(shù)字和字母,這種使數(shù)碼管顯示字形的數(shù)據(jù)稱字形碼,又稱段選碼。</p><p>  圖8七段LED數(shù)碼管</p><p>  表9 七段LED的段選碼表</p><p>  一個共陰極數(shù)碼管接至單片機的電路,要想顯示數(shù)字“7”須a、b、c這三個顯示段發(fā)光(即這3個字段為高電平)只要

51、在P0口輸入00000111(07H)即可。這里07H即為數(shù)字7的段選碼。字形與段選碼的關系見表9。</p><p><b>  3.2 電路設計</b></p><p>  3.2.1 開關復位與晶振電路</p><p>  單片機系統(tǒng)中,有兩個非常重要的電路,一個是開關復位電路,用來對單片機本身和其外部擴展。I/O接口電路進行復位還有一個是

52、晶振電路,用于產(chǎn)生諧振,使單片機得以工作。電路圖如圖10。</p><p>  圖10系統(tǒng)復位與晶振電路</p><p>  在單片機系統(tǒng)中,處單片機本身需要復位外外部擴展I/O接口電路也需要復位,因此需要一個包括上電和按鈕復位在內(nèi)的系統(tǒng)同步復位電路。單片機的XTAL1和XTAL2用來外界石英晶體和微調(diào)電容,連接單片機內(nèi)OSC的定時反饋電路。如圖所示,當按下按鍵開關是系統(tǒng)復位一次。其中電容

53、C1、C2為20pF,C3為10uF,電阻R1為10k,晶振為12MHz。 </p><p>  3.2.2 獨立按鍵連接電路</p><p>  本設計還有三個獨立按鍵,其中一端分別連接單片機的P2.0口、P2.1口和P2.2口,如圖8所示。另一端接地,當按下時,當按下任一鍵時,P1口讀取低電平有效。系統(tǒng)上電后,進入鍵盤掃描子程序,以查詢的方式確定各按鍵,完成溫度初值的設定。其接線圖如圖

54、11:</p><p><b>  圖11 按鍵電路</b></p><p>  3.2.3 數(shù)碼管顯示電路</p><p>  本設計制作中選用四位共陽極數(shù)碼管作為顯示模塊。數(shù)碼掃描顯示電路是數(shù)字系統(tǒng)設計中較常用的電路,通常作為數(shù)碼顯示模塊。數(shù)碼掃描顯示電路,其中每個數(shù)碼段的8個段 a、b、c、d、e、f、g、h(小數(shù)點)分別連在一起,8個數(shù)

55、碼管分別有8個選通信號 K1、K2、K3、K4、K5、K6、K7、K8 來選擇。被選通的數(shù)碼管顯示數(shù)據(jù),其余關閉。如在某一時刻,K2 為高電平,其余選通信號為低電 平,此時,僅 K2 對應的數(shù)碼管顯示來自信號段的數(shù)據(jù),其他 7個數(shù)碼管呈現(xiàn)關閉狀態(tài)。所 以,如果要在 8個數(shù)碼管顯示希望的數(shù)據(jù),就必須使得 8個選通信號,分別單獨選通。同時,在短信號輸入端口假如希望在該對應數(shù)碼管上顯示的數(shù)據(jù)。于是隨著選通信 號的循環(huán)變化,就實現(xiàn)了掃描顯示的目

56、的。它和單片機硬件的接口如圖12。</p><p>  圖12 數(shù)碼管顯示電路</p><p>  3.2.4溫度采集電路</p><p>  DS18B20數(shù)字溫度傳感器通過其內(nèi)部計數(shù)時鐘周期來的作用,實現(xiàn)了特有的溫度測量功能。低溫系數(shù)振蕩器輸出的時鐘信號通過由高溫度系數(shù)振蕩器產(chǎn)生的門周期而被計數(shù),計數(shù)器預先置有與-55℃相對應的一個基權(quán)值。如果計數(shù)器計數(shù)到0時,

57、高溫度系數(shù)振蕩周期還未結(jié)束,則表示測量的溫度值高于-55℃,被預置在-55℃的溫度寄存器中的值就增加1℃,然后這個過程不斷重復,直到高溫度系數(shù)振蕩周期結(jié)束為止。此時溫度寄存器中的值即為被測溫度值,這個值以16位二進制形式存放在存儲器中,通過主機發(fā)送存儲器讀命令可讀出此溫度值,讀取時低位在前,高位在后,依次進行。由于溫度振蕩器的拋物線特性的影響,其內(nèi)用斜率累加器進行補償。</p><p>  DS18B20在使用

58、時,一般都采用單片機來實現(xiàn)數(shù)據(jù)采集。只需將DS18B20信號線與單片機1位I/O相連,且單片機的1位I/O線可掛多個DS18B20,就可實現(xiàn)單點或多點溫度檢測。在本設計中將DS18B20接在P1.7口實現(xiàn)溫度的采集。其與單片機的連接如圖13。</p><p>  圖13 溫度采集電路</p><p><b>  第四章 軟件設計</b></p><

59、p>  軟件編寫有C語言和匯編語言兩種,這兩種語言我都有所了解,兩種語言各有特點。C語言具有編寫簡單,容易上手的特點,而且看起來條理清晰,便于修改能夠快速準確的找到錯誤并進行改正。相對于匯編語言,作為一種低級的機器語言,讀程序相對繁瑣,但程序?qū)懞煤笠馑济髁?,效率也要高于C語言編寫的程序,具有很好的開發(fā)功能。 </p><p><b>  4.1程序設置</b></p>

60、<p>  程序設計部分主要包括主程序、DS18B20初始化函數(shù)、DS18B20溫度轉(zhuǎn)換函數(shù)、</p><p>  溫度讀取函數(shù)、鍵盤掃描函數(shù)、數(shù)碼管顯示函數(shù)、溫度處理函數(shù)以及風扇電機控制函數(shù)。DS18B20初始化函數(shù)完成對DS18B20的初始化,DS18B20溫度轉(zhuǎn)換函數(shù)完成對環(huán)境溫度的實時采集,溫度讀取函數(shù)完成主機對溫度傳感器數(shù)據(jù)的讀取及數(shù)據(jù)換算,鍵盤掃描函數(shù)則根據(jù)需要完成初值的加減設定,溫度處理函

61、數(shù)對采集到的溫度進行分析出理,為電機轉(zhuǎn)速的變化提供條件,風扇電機控制函數(shù)則根據(jù)溫度的數(shù)值完成對電機轉(zhuǎn)速及啟停的控制。</p><p><b>  主程序流程圖11:</b></p><p>  4.2用KeilC51編寫程序 </p><p>  Keil C51是美國Keil Software公司開發(fā)的51系列兼容單片機C語言的軟件開發(fā)系統(tǒng)

62、與單片機匯編語言相比,C語言在不僅語句簡單靈活而且編寫的函數(shù)模塊可移植性強,因而易學易用效率高。隨著單片機開發(fā)技術的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前使用較多的MCS-51系列單片機開發(fā)的軟件。 </p><p>  Keil C51軟件不僅提供了豐富的庫函數(shù),而且它強大的集成開發(fā)調(diào)試工具為程序編輯調(diào)試帶來便利,在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)

63、勢。在使用時要先建立一個工程,然后添加文件并編寫程序,編寫好后再編輯調(diào)試。</p><p>  Keil的使用界面如圖14:</p><p>  圖14 keil的使用界面</p><p>  4.3用Proteus進行仿真 </p><p>  4.3.1 Proteus簡介 </p><p>  Proteus軟件

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

65、分析儀等效果很好。 </p><p>  Proteus有4個功能模塊智能原理圖設計、完善的電路仿真功能、獨特的單片機協(xié)同仿真功能以及實用的PCB設計平臺。其內(nèi)部元件庫含有豐富的元件,支持總線結(jié)構(gòu)以及智能化的連線功能,支持主流CPU如ARM、8051/52、AVR及其通用外設模型的實時仿真等,為單片機的開發(fā)應用等帶來極大的便利。</p><p>  Proteus軟件使用的主界面如圖15:

66、</p><p>  圖15 Proteus軟件使用界面</p><p>  4.3.2 本設計基于Proteus的仿真 </p><p>  首先啟動Proteus軟件并建立一工程,然后根據(jù)原理圖調(diào)出相應的原件,再根據(jù)要求改變各原件的屬性并把各個原件按原理圖連接起來。在原理圖繪制連接好后再把編譯好的程序加載到其中。最后根據(jù)系統(tǒng)要實現(xiàn)的功能分步進行仿真。 </

67、p><p>  把溫度傳感器DS18B20溫度設置為23攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預設的溫度為22攝氏度。點擊開始按鈕,系統(tǒng)開始仿真,待一段時間穩(wěn)定后,觀察風扇直流電機的轉(zhuǎn)速,如圖16所示。</p><p><b>  圖16</b></p><p>  當把溫度傳感器DS18B20溫度設置為24攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預設的溫度為22攝氏度。點

68、擊開始按鈕,系統(tǒng)開始仿真,待一段時間穩(wěn)定后,觀察風扇電機的轉(zhuǎn)速,如圖17所示。</p><p><b>  圖17</b></p><p>  當把溫度傳感器DS18B20溫度設置為28攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預設的溫度為22攝氏度。點擊開始按鈕,系統(tǒng)開始仿真,待一段時間穩(wěn)定后,觀察到直流風扇電機的轉(zhuǎn)速,如圖18所示。</p><p><

69、;b>  圖18</b></p><p>  在上一步仿真的基礎上(溫度傳感器DS18B20溫度設置為33.4攝氏度,系統(tǒng)預設的溫度為22攝氏度)用鍵盤S2調(diào)節(jié)系統(tǒng)預設溫度至34攝氏度,此時可知系統(tǒng)預設溫度大于溫度傳感器檢測到的溫度,觀察到直流風扇電機的轉(zhuǎn)速逐漸變慢,最后轉(zhuǎn)速變?yōu)?,符合系統(tǒng)要實現(xiàn)的功能,如圖19所示。</p><p><b>  圖19<

70、/b></p><p>  通過以上仿真可以看出,直流風扇電機在系統(tǒng)設定溫度一定的情況下,其轉(zhuǎn)速隨著環(huán)境溫度,溫度傳感器檢測到的溫度的增加而增大。當環(huán)境溫度低于系統(tǒng)預設的溫度時,風扇自動停止運轉(zhuǎn),實現(xiàn)了系統(tǒng)所設計的功能。當然在此沒有實現(xiàn)風扇直流電機的無級調(diào)速,本系統(tǒng)實現(xiàn)的是電機在隨環(huán)境溫度變化的四個等級的速度變化,環(huán)境溫度在一定小范圍內(nèi)變化風扇電機轉(zhuǎn)速是不變的,只有超過了設定的某一界限時轉(zhuǎn)速才會變化。<

71、;/p><p><b>  第五章 系統(tǒng)調(diào)試</b></p><p><b>  5.1 軟件調(diào)試</b></p><p>  5.1.1 按鍵顯示部分的調(diào)試 </p><p>  起初根據(jù)設計編寫的系統(tǒng)程序,程序的鍵盤接口采用P1口,數(shù)碼管顯示采用P0口,控制LED的斷碼,P2口控制LED的位碼,從而

72、實現(xiàn)鍵盤功能及數(shù)碼管的顯示。經(jīng)過編譯沒有出錯,但在仿真調(diào)試時,數(shù)碼管顯示的只是亂碼,沒有正確的顯示溫度,按鍵功能也不靈,當按下鍵時,顯示并不變化。 </p><p>  經(jīng)過查找分析,發(fā)現(xiàn)鍵盤掃描程序沒有沒有按鍵消抖部分,按鍵在按下與松手時,都會有一定程度的抖動,從而可能使單片機做出錯誤的判斷,導致按鍵條件預設溫度時失靈,甚至根本不能工作。因此必須在按鍵掃描程序中加入消抖部分,即在按鍵按下與松手時加入延時判斷,以

73、檢測鍵盤是否真的按下或已完全松手。 數(shù)碼管不能正確的顯示,主要是因為所以數(shù)碼管的段碼都由P0口傳送,而數(shù)碼管顯示又采用了動態(tài)掃描的方式,但在程序中卻沒有設置顯示段碼的暫存器,導致當P0口傳送段碼時發(fā)生混亂,不能正確識別段碼。應在系統(tǒng)中加入鎖存器,或是在程序中設定存儲段碼的空間。 在鍵盤加入了消抖程序,數(shù)碼管顯示程序中加入了段碼的存儲空間后,數(shù)碼管能夠正常的顯示,按鍵也能夠工作,達到了較好的效果。 </p><p>

74、;  5.1.2 傳感器DS18B20溫度采集部分調(diào)試 </p><p>  由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,為軟件的設計和調(diào)試帶來了極大的簡便、小體積、低功耗、高精度為控制電機的精度和穩(wěn)定提供了可能。軟件設計采用P3.1口為數(shù)字溫度輸入口,但是需要對輸入的數(shù)字信號進行處理后才能顯示,從而多了溫度轉(zhuǎn)換程序。通過軟件設計實現(xiàn)了對環(huán)境溫度的連續(xù)檢測,由于硬件LED個數(shù)的限制,只顯示了預設溫度的

75、整數(shù)部分。 </p><p>  在溫度轉(zhuǎn)換程序中,為了能夠正確的檢測并顯示溫度的小數(shù)位,程序中把檢測的溫度與10相乘后,再按一個三位的整數(shù)來處理。如把24.5變?yōu)?45來處理,這樣為程序的編寫帶來了方便。 </p><p><b>  第六章 硬件系統(tǒng)</b></p><p>  硬件電路的調(diào)試相對來說比較簡單。調(diào)試的功能包括按鍵電路,DS1

76、8B20電機電路和紅外傳感電路。 </p><p>  6.1 按鍵電路的調(diào)試 </p><p>  按鍵電路實現(xiàn)的功能是在按鍵按下后能執(zhí)行設定溫度的改變,這項采用實物調(diào)試,按鍵按下之后溫度隨之改變。 </p><p>  6.2 溫度傳感器電路的調(diào)試 </p><p>  溫度傳感器DS18B20的調(diào)試在實物上進行,當用手指去加熱溫度傳感器

77、DS18B20的時候,LCD示數(shù)開始隨溫度的上升而改變,變化明顯而且刷新頻率適中,可以清晰的看到所顯示的溫度。 </p><p>  6.3 電機電路的調(diào)試 </p><p>  電機電路進行調(diào)試,不斷的將設定溫度降低,觀察電機轉(zhuǎn)速的變化。電機隨設定溫度與實際溫度差值的改變而改變,轉(zhuǎn)速變化較為平滑,達到了預期的效果。</p><p>  6.4 硬件調(diào)試遇到的問題

78、</p><p>  本次設計中遇到的最困難的問題就是出在了電機的驅(qū)動上,剛開始的設計使用的達林頓ULN2803反向驅(qū)動器來驅(qū)動電機,可是在軟件無誤,硬件連接無誤的情況下,電機轉(zhuǎn)動表現(xiàn)出來的是變速效果不明顯,最高檔時停轉(zhuǎn)現(xiàn)象的發(fā)生。再不斷的修改軟件和硬件電路無果的情況下,放棄了這個驅(qū)動,改用橋式驅(qū)動電路L298N,所有的問題迎刃而解,反向驅(qū)動的驅(qū)動力不連續(xù),而且驅(qū)動力在小電流的輸入輸出時不足,使得電機驅(qū)動產(chǎn)生了非

79、常不理想的效果。 </p><p><b>  第七章 結(jié)論</b></p><p>  此次的設計遇到的每個問題對我來說都是一個很大的挑戰(zhàn),在老師的幫助和自己的探索中,我完成了“基于52單片機的智能溫控電扇設計”,設計了硬件電路,獨立完成了軟件編寫。在設計中,實現(xiàn)了預期的功能,成功設計出了LCD顯示模塊、DS18B20測溫模塊、溫控變速模塊。紅外探測模塊,以及進行了

80、系統(tǒng)的仿真。從實踐中鞏固了所學的知識,并且在探索中學習到了新的知識。通過這次設計我又對單片機的知識有了一定的拓展,對處理問題的能力有了一定的提高,這次設計中的電機驅(qū)動就是一個很好的挑戰(zhàn),雖然一開始走了彎路,沒有能夠很好的處理好這個變速的問題,但是經(jīng)過一番的反復實踐,終于獲得了一種最好的電路,很好的完成了這個設計。 </p><p>  這次的設計對我而言不僅僅是一個畢業(yè)設計,更是對我大學四年學習的一個檢驗,給了我

81、一次實踐的機會,運用自己的所學來完成這個設計。從設計中,我學習到了很多東西,提高了自己獨立學習和思考能力,不管對于硬件電路還是軟件設計,都有了很多自己的體會和認識,懂得了如何在實際中靈活運用所學的知識,是一次難得的鍛煉機會,為我以后無論是學習還是工作打下了堅實的基礎。</p><p><b>  參考文獻</b></p><p>  [1] 方佩敏,新編傳感器原理與應

82、用[M].北京:電子工業(yè)出版社, 1994.15~4 </p><p>  [2] 陳棣湘,潘孟春,孟祥貴. 一種高精度溫度采集系統(tǒng)[J]電子測量技術, 2008,(07)</p><p>  [3] 羌海益. 基于單片機的溫度控制器設計[J]. 科技信息(學術研究), 2007,(03) .</p><p>  [4] 張菁. 單片機溫度控制系統(tǒng)方案的研究[J].

83、 上海交通大學學報, 2007,(01) . </p><p>  [5] 李曉偉,鄭小兵,周磊,李建軍. 基于單片機的精密溫控系統(tǒng)設計[J]. 微計算機信息, 2007,(32) . </p><p>  [6] 夏大勇,周曉輝,趙增,陳博峰,虎恩典. MCS-51單片機溫度控制系統(tǒng)[J]. 工業(yè)儀表與自動化裝置, 2007,(01) . </p><p>  [

84、7] 明德剛. DS18B20在單片機溫控系統(tǒng)中的應用[J]. 貴州大學學報(自然科學版), 2006,(01) . </p><p>  [8] 趙娜,趙剛,于珍珠,郭守清. 基于51單片機的溫度測量系統(tǒng)[J]. 微計算機信息, 2007,(02) . </p><p>  [9] 劉綠山,劉建群,李仕勇,王飛. 基于AT89S52單片機的溫度控制系統(tǒng)</p><p&

85、gt;  [10] 李敏,周曉燕. 實用新型單片機溫控系統(tǒng)[J]. 焦作大學學報, 2003,(01) .</p><p><b>  致謝</b></p><p>  藉此論文結(jié)束之際,我要向我所有的良師益友表以深深的歉意。</p><p>  首先要感謝我的論文指導老師————殷淑英、田曉龍老師。在本論文的謀篇布局、編寫、修改各個方面他都給

86、了我寶貴的意見和建議。除了論文兩位老師在工作上也給了我無私的幫助,特別在我在做此次系統(tǒng)時遇到難題的時候,多虧老師的指導,才能使我順利完成此次設計。</p><p>  其次我要感謝我身邊的曾給與我?guī)椭拿恳晃焕蠋?、同學和朋友。</p><p>  再次我要感謝我生活學習了三年的母?!轮萋殬I(yè)技術學院,感謝電子與新能源技術工程系。母校給了我一個寬闊的學習平臺,讓我在三年的時間里不斷地吸

87、取新的知識,不斷地充實自己。</p><p>  最后,我要以感恩的心再一次感謝我認識的每一個人,是你們讓我的人生更加的精彩!再次我為每位伴隨我度過三年的同學,老師,領導們深深的鞠一個躬,謝謝!謝謝你們!</p><p><b>  謝謝!</b></p><p><b>  附錄</b></p><p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論