版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)論文(設(shè)計)</p><p> 題目:基于單片機的溫控風(fēng)扇的設(shè)計</p><p> 學(xué) 院:__ </p><p> 專 業(yè):電子信息科學(xué)與技術(shù)</p><p> 班 級: </p><p> 學(xué)
2、 號: </p><p> 學(xué)生姓名:_ _</p><p> 指導(dǎo)教師: ___</p><p><b> 年 月 </b></p><p><b> 目 錄I</b></p><p>
3、;<b> 摘 要III</b></p><p> AbstractIV</p><p> 第一章 整體方案設(shè)計1</p><p> 1.1 前 言1</p><p> 1.2 系統(tǒng)整體設(shè)計1</p><p><b> 1.3方案論證2</b>&l
4、t;/p><p> 1.3.1 溫度傳感器的選擇2</p><p> 1.3.2 控制核心的選擇3</p><p> 1.3.3 溫度顯示器件的選擇3</p><p> 1.3.4 調(diào)速方式的選擇3</p><p> 第二章 各單元模塊的硬件設(shè)計5</p><p> 2.1系統(tǒng)
5、器件簡介5</p><p> 2.1.1 DS18B20單線數(shù)字溫度傳感器簡介5</p><p> 2.1.2 達林頓反向驅(qū)動器ULN2803簡介5</p><p> 2.1.3 AT89C52單片機簡介6</p><p> 2.1.4 LED數(shù)碼管簡介7</p><p> 2.2 各部分電路設(shè)
6、計8</p><p> 2.2.1 開關(guān)復(fù)位與晶振電路9</p><p> 2.2.2 獨立鍵盤連接電路9</p><p> 2.2.3 數(shù)碼管顯示電路10</p><p> 2.2.4 溫度采集電路11</p><p> 2.2.5 風(fēng)扇電機驅(qū)動與調(diào)速電路12</p><p&
7、gt; 第三章 軟件設(shè)計14</p><p> 3.1 程序設(shè)置14</p><p> 3.2 用Keil C51編寫程序14</p><p> 3.3 用Proteus進行仿真15</p><p> 3.3.1 Proteus簡介15</p><p> 3.3.2 本設(shè)計基于Proteus的仿真
8、16</p><p> 第四章 系統(tǒng)調(diào)試21</p><p> 4.1 軟件調(diào)試21</p><p> 4.1.1 按鍵顯示部分的調(diào)試21</p><p> 4.1.2 傳感器DS18B20溫度采集部分調(diào)試21</p><p> 4.1.3 電動機調(diào)速電路部分調(diào)試21</p><
9、;p> 4.2 硬件調(diào)試22</p><p> 4.2.1 按鍵顯示部分的調(diào)試22</p><p> 4.2.2 傳感器DS18B20溫度采集部分調(diào)試22</p><p> 4.2.3 電動機調(diào)速電路部分調(diào)試22</p><p> 4.3 系統(tǒng)功能23</p><p> 4.3.1 系統(tǒng)實現(xiàn)
10、的功能23</p><p> 4.3.2 系統(tǒng)功能分析23</p><p><b> 結(jié) 論24</b></p><p><b> 參考文獻25</b></p><p><b> 致 謝26</b></p><p> 附錄1:
11、電路總圖27</p><p> 附錄2:程序代碼28</p><p> 基于單片機的溫控風(fēng)扇的設(shè)計</p><p> 姓名: 學(xué)號:</p><p> 學(xué)校: 指導(dǎo)教師:</p><p><b> 摘 要</b></p&
12、gt;<p> 溫控風(fēng)扇在現(xiàn)代社會中的生產(chǎn)以及人們的日常生活中都有廣泛的應(yīng)用,如工業(yè)生產(chǎn)中大型機械散熱系統(tǒng)中的風(fēng)扇、現(xiàn)在筆記本電腦上的廣泛應(yīng)用的智能CPU風(fēng)扇等。本文設(shè)計了基于單片機的溫控風(fēng)扇系統(tǒng),采用單片機作為控制器,利用溫度傳感器DS18B20作為溫度采集元件,并根據(jù)采集到的溫度,通過一個達林頓反向驅(qū)動器ULN2803驅(qū)動風(fēng)扇電機。根據(jù)檢測到的溫度與系統(tǒng)設(shè)定的溫度的比較實現(xiàn)風(fēng)扇電機的自動啟動和停止,并能根溫度的變化自
13、動改變風(fēng)扇電機的轉(zhuǎn)速,同時用LED八段數(shù)碼管顯示檢測到的溫度與設(shè)定的溫度。</p><p> 關(guān)鍵詞:單片機、DS18B20、溫控、風(fēng)扇</p><p> 第一章 整體方案設(shè)計</p><p><b> 1.1 前 言</b></p><p> 在現(xiàn)代社會中,風(fēng)扇被廣泛的應(yīng)用,發(fā)揮著舉足輕重的作用,如夏天人們用
14、的散熱風(fēng)扇、工業(yè)生產(chǎn)中大型機械中的散熱風(fēng)扇以及現(xiàn)在筆記本電腦上廣泛使用的智能CPU風(fēng)扇等。而隨著溫度控制技術(shù)的發(fā)展,為了降低風(fēng)扇運轉(zhuǎn)時的噪音以及節(jié)省能源等,溫控風(fēng)扇越來越受到重視并被廣泛的應(yīng)用。在現(xiàn)階段,溫控風(fēng)扇的設(shè)計已經(jīng)有了一定的成效,可以使風(fēng)扇根據(jù)環(huán)境溫度的變化進行自動無級調(diào)速,當溫度升高到一定時能自動啟動風(fēng)扇,當溫度降到一定時能自動停止風(fēng)扇的轉(zhuǎn)動,實現(xiàn)智能控制。</p><p> 隨著單片機在各個領(lǐng)域的廣
15、泛應(yīng)用,許多用單片機作控制的溫度控制系統(tǒng)也應(yīng)運而生,如基于單片機的溫控風(fēng)扇系統(tǒng)。它使風(fēng)扇根據(jù)環(huán)境溫度的變化實現(xiàn)自動啟停,使風(fēng)扇轉(zhuǎn)速隨著環(huán)境溫度的變化而變化,實現(xiàn)了風(fēng)扇的智能控制。它的設(shè)計為現(xiàn)代社會人們的生活以及生產(chǎn)帶來了諸多便利,在提高人們的生活質(zhì)量、生產(chǎn)效率的同時還能節(jié)省風(fēng)扇運轉(zhuǎn)所需的能量。</p><p> 本文設(shè)計了由ATMEL公司的8052系列單片機AT89C52作為控制器,采用DALLAS公司的溫度傳
16、感器DS18B20作為溫度采集元件,并通過一個達林頓反向驅(qū)動器ULN2803驅(qū)動風(fēng)扇電機的轉(zhuǎn)動。同時使系統(tǒng)檢測到得環(huán)境溫度以及系統(tǒng)預(yù)設(shè)的溫度動態(tài)的顯示在LED數(shù)碼管上。根據(jù)系統(tǒng)檢測到得環(huán)境溫度與系統(tǒng)預(yù)設(shè)溫度的比較,實現(xiàn)風(fēng)扇電機的自動啟停以及轉(zhuǎn)速的自動調(diào)節(jié)。</p><p> 1.2 系統(tǒng)整體設(shè)計</p><p> 本設(shè)計的整體思路是:利用溫度傳感器DS18B20檢測環(huán)境溫度并直接輸出數(shù)
17、字溫度信號給單片機AT89C52進行處理,在LED數(shù)碼管上顯示當前環(huán)境溫度值以及預(yù)設(shè)溫度值。其中預(yù)設(shè)溫度值只能為整數(shù)形式,檢測到的當前環(huán)境溫度可精確到小數(shù)點后一位。同時采用PWM脈寬調(diào)制方式來改變直流風(fēng)扇電機的轉(zhuǎn)速。并通過兩個按鍵改變預(yù)設(shè)溫度值,一個提高預(yù)設(shè)溫度,另一個降低預(yù)設(shè)溫度值。系統(tǒng)結(jié)構(gòu)框圖如下:</p><p> 圖1.1系統(tǒng)構(gòu)成框圖</p><p><b> 1.3
18、方案論證</b></p><p> 本設(shè)計要實現(xiàn)風(fēng)扇直流電機的溫度控制,使風(fēng)扇電機能根據(jù)環(huán)境溫度的變化自動啟停及改變轉(zhuǎn)速,需要比較高的溫度變化分辨率以及穩(wěn)定可靠的換擋停機控制部件。</p><p> 1.3.1 溫度傳感器的選擇</p><p> 在本設(shè)計中,溫度傳感器的選擇有以下兩種方案:</p><p> 方案一:采用
19、熱敏電阻作為檢測溫度的核心元件,并通過運算放大器放大,由于熱敏電阻會隨溫度變化而變化,進而產(chǎn)生輸出電壓變化的微弱電壓變化信號,再經(jīng)模數(shù)轉(zhuǎn)換芯片ADC0809將微弱電壓變化信號轉(zhuǎn)化為數(shù)字信號輸入單片機處理。</p><p> 方案二:采用數(shù)字式的集成溫度傳感器DS18B20作為溫度檢測的核心元件,由其檢測并直接輸出數(shù)字溫度信號給單片機進行處理。</p><p> 對于方案一,采用熱敏電阻
20、作為溫度檢測元件,有價格便宜,元件易購的優(yōu)點,但熱敏電阻對溫度的細微變化不太敏感,在信號采集、放大以及轉(zhuǎn)換的過程中還會產(chǎn)生失真和誤差,并且由于熱敏電阻的R-T關(guān)系的非線性,其自身電阻對溫度的變化存在較大誤差,雖然可以通過一定電路來修正,但這不僅將使電路變得更加復(fù)雜,而且在人體所處環(huán)境溫度變化過程中難以檢測到小的溫度變化。故該方案不適合本系統(tǒng)。</p><p> 對于方案二,由于數(shù)字式集成溫度傳感器DS18B20
21、的高度集成化,大大降低了外接放大轉(zhuǎn)化等電路的誤差因數(shù),溫度誤差變得很小,并且由于其檢測溫度的原理與熱敏電阻檢測的原理有著本質(zhì)的不同,使得其溫度分辨力極高。溫度值在器件內(nèi)部轉(zhuǎn)化成數(shù)字量直接輸出,簡化了系統(tǒng)程序設(shè)計,又由于該溫度傳感器采用先進的單總線技術(shù),與單片機的接口變得非常簡潔,抗干擾能力強,因此該方案適用于本系統(tǒng)。</p><p> 1.3.2 控制核心的選擇</p><p> 在本
22、設(shè)計中采用AT89C52單片機作為控制核心,通過軟件編程的方法進行溫度檢測和判斷,并在其I/O口輸出控制信號。AT89C52單片機工作電壓低,性能高,片內(nèi)含8k字節(jié)的只讀程序存儲器ROM和256字節(jié)的隨機數(shù)據(jù)存儲器RAM,它兼容標準的MCS-51指令系統(tǒng),單片價格也不貴,適合本設(shè)計系統(tǒng)。</p><p> 1.3.3 溫度顯示器件的選擇</p><p> 方案一:應(yīng)用動態(tài)掃描的方式,采
23、用LED共陰極數(shù)碼管顯示溫度。</p><p> 方案二:采用LCD液晶顯示屏顯示溫度。</p><p> 對于方案一,該方案成本很低,顯示溫度明確醒目,即使在黑暗空間也能清楚看見,功耗極低,同時溫度顯示程序的編寫也相對簡單,因而這種顯示方式得到了廣泛應(yīng)用。但不足的地方是它采用動態(tài)掃描的顯示方式,各個LED數(shù)碼管是逐個點亮的,因此會產(chǎn)生閃爍,但由于人眼的視覺暫留時間為20MS,故當數(shù)碼
24、管掃描周期小于這個時間時人眼不會感覺到閃爍,因此只要描頻率設(shè)置得當即可采用該方案。</p><p> 對于方案二,液晶顯示屏具有顯示字符優(yōu)美,其不僅能顯示數(shù)字還能顯示字符甚至圖形,這是LED數(shù)碼管無法比擬的。但是液晶顯示模塊的元件價格昂貴,顯示驅(qū)動程序的編寫也較復(fù)雜,從簡單實用的原則考慮,本系統(tǒng)采用方案一。</p><p> 1.3.4 調(diào)速方式的選擇</p><p
25、> 方案一:采用數(shù)模轉(zhuǎn)換芯片DAC0832來控制,由單片機根據(jù)當前環(huán)境溫度值輸出相應(yīng)數(shù)字量到DAC0832中,再由DAC0832產(chǎn)生相應(yīng)模擬信號控制晶閘管的導(dǎo)通角,從而通過無級調(diào)速電路實現(xiàn)風(fēng)扇電機轉(zhuǎn)速的自動調(diào)節(jié)。</p><p> 方案二:采用單片機軟件編程實現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速的方法。PWM是英文Pulse Width Modulation的縮寫,它是按一定的規(guī)律改變脈沖序列的脈沖寬度,以調(diào)節(jié)
26、輸出量和波形的一種調(diào)節(jié)方式,在PWM驅(qū)動控制的調(diào)節(jié)系統(tǒng)中,最常用的是矩形波PWM信號,在控制時需要調(diào)節(jié)PWM波得占空比。占空比是指高電平持續(xù)時間在一個周期時間內(nèi)的百分比。在控制電機的轉(zhuǎn)速時,占空比越大,轉(zhuǎn)速就越快,若全為高電平,占空比為100%時,轉(zhuǎn)速達到最大2]。用單片機I/O口輸出PWM信號時,有如下三種方法:</p><p> (1) 利用軟件延時。當高電平延時時間到時,對I/O口電平取反,使其變成低電平
27、,然后再延時一定時間;當?shù)碗娖窖訒r時間到時,再對該I/O口電平取反,如此循環(huán)即可得到PWM信號。在本設(shè)計中應(yīng)用了此方法。</p><p> (2) 利用定時器。控制方法與(1)相同,只是在該方法中利用單片機的定時器來定時進行高低電平的轉(zhuǎn)變,而不是用軟件延時。應(yīng)用此方法時編程相對復(fù)雜。</p><p> (3) 利用單片機自帶的PWM控制器。在STC12系列單片機中自身帶有PWM控制器,
28、但本系統(tǒng)所用到得AT89系列單片機無此功能。</p><p> 對于方案一,該方案能夠?qū)崿F(xiàn)對直流風(fēng)扇電機的無級調(diào)速,速度變化靈敏,但是D/A轉(zhuǎn)換芯片的價格較高,與其溫控狀態(tài)下無級調(diào)速功能相比性價比不高。</p><p> 對于方案二,相對于其他用硬件或者軟硬件相結(jié)合的方法實現(xiàn)對電機進行調(diào)速而言,采用PWM 用純軟件的方法來實現(xiàn)調(diào)速過程,具有更大的靈活性,并可大大降低成本,能夠充分發(fā)揮單
29、片機的功能,對于簡單速度控制系統(tǒng)的實現(xiàn)提供了一種有效的途徑。綜合考慮選用方案二。</p><p> 第二章 各單元模塊的硬件設(shè)計</p><p> 系統(tǒng)主要器件包括DS18B20溫度傳感器、AT89C52單片機、五位LED共陰數(shù)碼管、風(fēng)扇直流電機、達林頓反向驅(qū)動器ULN2803。輔助元件包括電阻電容、晶振、電源、按鍵、撥碼開關(guān)等。</p><p><b&g
30、t; 2.1系統(tǒng)器件簡介</b></p><p> 2.1.1 DS18B20單線數(shù)字溫度傳感器簡介</p><p> DS18B20數(shù)字溫度傳感器,是采用美國DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等優(yōu)點,可直接將溫度轉(zhuǎn)化成串行數(shù)字信號供處理器處理。</p><
31、;p> 適用于各種狹小空間設(shè)備數(shù)字測溫和控制領(lǐng)域。</p><p> DS18B20的主要特征:測量的結(jié)果直接以數(shù)字信號的形式輸出,以“一線總線”方式串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力;溫度測量范圍在-55℃~+125℃之間,在-10℃~+85℃時精度為±0.5℃;可檢測溫度分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃,0.25℃,0.125℃和0.062
32、5℃,可實現(xiàn)高精度測溫;它單線接口的獨特性,使它與微處理器連接時僅需一條端口線即可實現(xiàn)與微處理器的雙向通信;支持多點組網(wǎng)功能,即多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫的功能;工作電壓范圍寬,其范圍在3.0~5.5V3]。</p><p> DS18B20內(nèi)部結(jié)構(gòu)主要有四部分:64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。其管腳有三個,其中DQ為數(shù)字信號端,GND為電
33、源地,VDD為電源輸入端。</p><p> 2.1.2 達林頓反向驅(qū)動器ULN2803簡介</p><p> 本系統(tǒng)要用單片機控制風(fēng)扇直流電機,需要加驅(qū)動電路,為直流電機提供足夠大的驅(qū)動電流。在本系統(tǒng)驅(qū)動電路中,選用達林頓反向驅(qū)動器ULN2803來驅(qū)動風(fēng)扇直流電機。ULN2803在使用時接口簡單,操作方便,可為電機提供較大的驅(qū)動電流,它實際上是一個集成芯片,單塊芯片可同時驅(qū)動8個電機
34、。每個電機由單片機的一個I/O口控制,單片機I/O口輸出的為5V的TTL信號。</p><p> ULN2803由8個NPN達林頓晶體管組裝而成,共18個引腳,引腳1~8分別是8路驅(qū)動器的輸入端,輸入信號可直接是TTL或CMOS信號;引腳11~18分別是8路驅(qū)動器的輸出端;引腳9為接地線,引腳10為電源輸入。當輸入TTL信號為5V或CMOS信號為6~15V時,輸出的最大電壓為50V,最大電流為500mA,工作溫
35、度范圍為0~70℃。本系統(tǒng)選用的電機為12V直流無刷電機,可用ULN2803來驅(qū)動。</p><p> 2.1.3 AT89C52單片機簡介</p><p> AT89C52是51系列單片機的一個型號,它是由ATMEL公司生產(chǎn)的一個低電壓、高性能的8位單片機,片內(nèi)器件采用ATMEL公司的非易失性、高密度存儲技術(shù)生產(chǎn),與標準的MCS-51指令系統(tǒng)兼容,同時片內(nèi)置有通用8位中央處理器和8
36、k 字節(jié)的可反復(fù)擦寫的只讀程序存儲器ROM以及256 字節(jié)的數(shù)據(jù)存儲器RAM,在許多許多較復(fù)雜的控制系統(tǒng)中AT89C52單片機得到了廣泛的應(yīng)用。AT89C52有40個引腳,各引腳介紹如下:</p><p> VCC:+5V電源線;GND:接地線。</p><p> P0口:P0.7~P0.0,這組引腳共8條,其中P0.7為最高位,P0.0為最低位。這8條引腳共有兩種不同的功能,分別使用
37、于兩種不同的情況。第一種情況是單片機不帶片外存儲器,P0口可以作為通用I/O口使用,P0.7~P0.0用于傳送CPU的輸入/輸出數(shù)據(jù),此時它需外接一上拉電阻才能正常工作。第二種情況是單片機帶片外存儲器,其各引腳在CPU訪問片外存儲器時先是用于傳送片外存儲器的低8位地址,然后傳送CPU對片外存儲器的讀寫數(shù)據(jù)4]。</p><p> P1口:P1口是一個內(nèi)部含上拉電阻的8位雙向I/O口。它也可作為通用的I/O口使用
38、,與P0口一樣用于傳送用戶的輸入輸出數(shù)據(jù),所不同的是它片內(nèi)含上拉電阻而P0口沒有,故P0口在做該用途時需外接上拉電阻而P1口則無需。在FLASH編程和校驗時,P1口用于輸入片內(nèi)EPROM的低8位地址。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,它可以作為通用I/O口使用,傳送用戶的輸入/輸出數(shù)據(jù),同時可與P0口的第二功能配合,用于輸出片外存儲器的高8位地址,共同選中片外存儲單元,但
39、此時不能傳送存儲器的讀寫數(shù)據(jù)。在一些型號的單片機中,P2口還可以配合P1口傳送片內(nèi)EPROM的12位地址中的高4位地址。</p><p> P3口:P3口引腳是8個帶內(nèi)部上拉電阻的雙向I/O口,當P3口寫入1后,它們被內(nèi)部上拉為高電平。它也可作為通用的I/O口使用,傳送用戶的輸入輸出數(shù)據(jù),P3口也作為一些特殊功能端口使用,如下所示:</p><p> P3.0:RXD(串行數(shù)據(jù)接收口)
40、</p><p> P3.1:TXD(串行數(shù)據(jù)發(fā)送口)</p><p> P3.2:(外部中斷0輸入)</p><p> P3.3:(外部中斷1輸入)</p><p> P3.4:T0(記數(shù)器0計數(shù)輸入)</p><p> P3.5:T1(記時器1外部輸入)</p><p> P3.
41、6:(外部RAM寫選通信號)</p><p> P3.7:(外部RAM讀選通信號) 圖2.1.1 AT89C51單片機 </p><p> RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平狀態(tài)。</p><p> ALE/:地址鎖存允許/編程線,當訪問片外存儲器時,在P0.7~P0.0引腳線上輸出片外存儲器低8位地
42、址的同時還在ALE/線上輸出一個高電位脈沖,其下降沿用于把這個片外存儲器低8位地址鎖存到外部專用地址鎖存器,以便空出P0.7~P0.0引腳線去傳送隨后而來的片外存儲器讀寫數(shù)據(jù)。在不訪問片外存儲器時,單片機自動在ALE/線上輸出頻率為1/6晶振頻率的脈沖序列。</p><p> ?。和獠砍绦虼鎯ζ鱎OM的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的信號將不出現(xiàn)。
43、</p><p> /VPP:允許訪問片外存儲器/編程電源線,當保持低電平時,則在此期間允許使用片外程序存儲器,不管是否有內(nèi)部程序存儲器。當端保持高電平時,則允許使用片內(nèi)程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> XTAL1和XTAL2:片內(nèi)振蕩電路輸入線,這兩個端子用來外接石英晶體和微調(diào)電容,即用來連接單片機片內(nèi)OSC的定時反饋回路
44、。</p><p> 2.1.4 LED數(shù)碼管簡介</p><p> 本系統(tǒng)選用五個LED數(shù)碼管來進行溫度顯示。LED又稱為數(shù)碼管,它主要是由8段發(fā)光二極管組成的不同組合,其中 a~g為數(shù)字和字符顯示段,dp為小數(shù)點的顯示,通過a~g這7個發(fā)光二極管點亮的不同組合,可以顯示0~9和A~F共16個數(shù)字和字母。LED數(shù)碼管可以分為共陰極和共陽極兩種結(jié)構(gòu),如下圖2.1.2(a)和圖2.1.
45、2(b) 所示。共陰極結(jié)構(gòu)把8個發(fā)光二極管陰極連在一起,共陽極結(jié)構(gòu)把8個發(fā)光二極管陽極連在一起。通過單片機引腳輸出高低電平,可使數(shù)碼管顯示相應(yīng)的數(shù)字或字母,這種使數(shù)碼管顯示字形的數(shù)據(jù)稱字形碼,又稱段選碼5]。</p><p> 圖2.1.2 七段LED數(shù)碼管</p><p> 表2.1.1 7段LED的段選碼表</p><p> 一個共陰極數(shù)碼管接至單片機的
46、電路,要想顯示數(shù)字“7”須a、b、c這3個顯示段發(fā)光 (即這3個字段為高電平)只要在P0口輸入00000111(07H)即可。這里07H即為數(shù)字7的段選碼。字形與段選碼的關(guān)系見表2.1.1所示。</p><p> 2.2 各部分電路設(shè)計</p><p> 2.2.1 開關(guān)復(fù)位與晶振電路</p><p> 在單片機應(yīng)用系統(tǒng)中,除單片機本身需要復(fù)位以外,外部擴展I
47、/O接口電路也需要復(fù)位,因此需要一個包括上電和按鈕復(fù)位在內(nèi)的系統(tǒng)同步復(fù)位電路。單片機上的XTAL1和XTAL2用來外接石英晶體和微調(diào)電容,即用來連接單片機片內(nèi)OSC的定時反饋回路。本設(shè)計中開關(guān)復(fù)位與晶振電路如下圖所示,當按下按鍵開關(guān)S1時,系統(tǒng)復(fù)位一次。其中電容C1、C2為20pF,C3為10uF,電阻R2、R3為10k,晶振為11.0592MHz。</p><p> 圖2.2.1 系統(tǒng)復(fù)位與晶振電路<
48、/p><p> 2.2.2 獨立鍵盤連接電路</p><p> 鍵盤包括2個獨立按鍵S2和S3,一端與單片機的P1.3和P1.4口相連,另一端接地,當按下任一鍵時,P1口讀取低電平有效。系統(tǒng)上電后,進入鍵盤掃描子程序,以查詢的方式確定各按鍵,完成溫度初值的設(shè)定。其中按鍵S1為加按鍵,每按下一次,系統(tǒng)對最初設(shè)定值加一,按鍵S2為減按鍵,每按下一次,系統(tǒng)對初設(shè)定值進行減一計算。其接線圖如下:&
49、lt;/p><p> 圖2.2.2 獨立鍵盤連接電路</p><p> 2.2.3 數(shù)碼管顯示電路</p><p> 本設(shè)計制作中選用5位共陰極數(shù)碼管作為顯示模塊,它和單片機硬件的接口如圖2.2.3所示。其中前3位數(shù)碼管DS1、DS2、DS3用于顯示溫度傳感器實時檢測采集到的溫度,可精確到0.1攝氏度,顯示范圍為0~99.9攝氏度;后2位數(shù)碼管DS4、DS5用于
50、顯示系統(tǒng)設(shè)置的初值溫度,只能顯示整數(shù)的溫度值,顯示范圍為0~99攝氏度。5位數(shù)碼管的段選a、b、c、d、e、f、g、dp線分別與單片機的P0.0~P0.7口連接,其中P0口需接一10K的上拉電阻,以使單片機的P0口能夠輸出高低電平。5位數(shù)碼管的位選W1~W5分別與單片機的P2.0~P2.4口相連接,只要P2.0~P2.4中任一位中輸出低電平,則選中與該位相連的數(shù)碼管。</p><p> 圖2.2.3 數(shù)碼管顯
51、示電路</p><p> 2.2.4 溫度采集電路</p><p> DS18B20數(shù)字溫度傳感器通過其內(nèi)部計數(shù)時鐘周期來的作用,實現(xiàn)了特有的溫度測量功能。低溫系數(shù)振蕩器輸出的時鐘信號通過由高溫度系數(shù)振蕩器產(chǎn)生的門周期而被計數(shù),計數(shù)器預(yù)先置有與-55℃相對應(yīng)的一個基權(quán)值。如果計數(shù)器計數(shù)到0時,高溫度系數(shù)振蕩周期還未結(jié)束,則表示測量的溫度值高于-55℃,被預(yù)置在-55℃的溫度寄存器中的值
52、就增加1℃,然后這個過程不斷重復(fù),直到高溫度系數(shù)振蕩周期結(jié)束為止。此時溫度寄存器中的值即為被測溫度值,這個值以16位二進制形式存放在存儲器中,通過主機發(fā)送存儲器讀命令可讀出此溫度值,讀取時低位在前,高位在后,依次進行。由于溫度振蕩器的拋物線特性的影響,其內(nèi)用斜率累加器進行補償6]。</p><p> DS18B20在使用時,一般都采用單片機來實現(xiàn)數(shù)據(jù)采集。只須將DS18B20信號線與單片機1位I/O線相連,且單
53、片機的1位I/O線可掛接多個DS18B20,就可實現(xiàn)單點或多點溫度檢測。在本設(shè)計中將DS18B20接在P1.7口實現(xiàn)溫度的采集。其與單片機的連接如圖2.2.4。</p><p> 圖2.2.4 溫度采集電路</p><p> 2.2.5 風(fēng)扇電機驅(qū)動與調(diào)速電路</p><p> 本設(shè)計中由單片機的I/O口輸出PWM脈沖,通過一個達林頓反向驅(qū)動器ULN2803
54、驅(qū)動12V直流無刷風(fēng)扇電機以及實現(xiàn)風(fēng)扇電機速度的調(diào)節(jié)。</p><p> 鍵盤控制設(shè)置溫度,通過軟件向單片機輸入相應(yīng)控制指令,由單片機通過P1.7口輸出與轉(zhuǎn)速相應(yīng)的PWM脈沖,經(jīng)過ULN2803驅(qū)動風(fēng)扇直流電機控制電路,實現(xiàn)電機轉(zhuǎn)速與啟停的自動控制。當環(huán)境溫度升高時,直流電機的轉(zhuǎn)速會相應(yīng)按照設(shè)定的等級有所提高;當環(huán)境溫度下降時,電機的轉(zhuǎn)速會相應(yīng)的下降;當環(huán)境溫度低于設(shè)置溫度時,電機停止轉(zhuǎn)動,而環(huán)境溫度又高于預(yù)設(shè)
55、溫度時,電機重新啟動。</p><p> 電路如圖2.2.5所示,風(fēng)扇電機的一端接12V電源,另一端接ULN2803的OUT7引腳,ULN2803的IN7引腳與單片機的P3.1引腳相連,通過控制單片機的P3.1引腳輸出PWM信號,由此控制風(fēng)扇直流電機的速度與啟停。</p><p> 圖2.2.5 風(fēng)扇電機驅(qū)動與調(diào)速電</p><p> 系統(tǒng)選用的風(fēng)扇電機為1
56、2V直流無刷電機,單達林頓反向驅(qū)動器ULN2803輸入TTL信號為5V或CMOS信號為6~15V時,輸出的最大電壓為50V,最大電流為500mA,工作溫度范圍為0~70℃。本系統(tǒng)中單片機I/O口輸出的TTL信號為5V,因此此風(fēng)扇電機可以用ULN2803來驅(qū)動。</p><p><b> 第三章 軟件設(shè)計</b></p><p><b> 3.1 程序設(shè)置
57、</b></p><p> 程序設(shè)計部分主要包括主程序、DS18B20初始化函數(shù)、DS18B20溫度轉(zhuǎn)換函數(shù)、溫度讀取函數(shù)、鍵盤掃描函數(shù)、數(shù)碼管顯示函數(shù)、溫度處理函數(shù)以及風(fēng)扇電機控制函數(shù)。DS18B20初始化函數(shù)完成對DS18B20的初始化;DS18B20溫度轉(zhuǎn)換函數(shù)完成對環(huán)境溫度的實時采集;溫度讀取函數(shù)完成主機對溫度傳感器數(shù)據(jù)的讀取及數(shù)據(jù)換算,鍵盤掃描函數(shù)則根據(jù)需要完成初值的加減設(shè)定;溫度處理函數(shù)
58、對采集到的溫度進行分析出理,為電機轉(zhuǎn)速的變化提供條件;風(fēng)扇電機控制函數(shù)則根據(jù)溫度的數(shù)值完成對電機轉(zhuǎn)速及啟停的控制。</p><p> 主程序流程圖如圖3.1.1:</p><p> 圖3.1.1 主程序流程圖</p><p> 3.2 用Keil C51編寫程序</p><p> Keil C51是美國Keil Software公司
59、開發(fā)的51系列兼容單片機C語言的軟件開發(fā)系統(tǒng),與單片機匯編語言相比,C語言在不僅語句簡單靈活,而且編寫的函數(shù)模塊可移植性強,因而易學(xué)易用,效率高。隨著單片機開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前使用較多的MCS-51系列單片機開發(fā)的軟件。</p><p> Keil C51軟件不僅提供了豐富的庫函數(shù),而且它強大的集成開發(fā)調(diào)試工具為程序編輯調(diào)
60、試帶來便利,在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。在使用時要先建立一個工程,然后添加文件并編寫程序,編寫好后再編輯調(diào)試。</p><p> Keil C51的使用界面如圖3.2.1。</p><p> 圖3.2.1 Keil C51的使用界面</p><p> 3.3 用Proteus進行仿真</p><p> 3.3.1 Pro
61、teus簡介</p><p> Proteus軟件是來自英國Labcenter electronics公司的EDA工具軟件。</p><p> Proteus軟件有十多年的歷史,在全球廣泛使用,它不僅和其它EDA工具一樣有原理布圖、PCB自動或人工布線及電路仿真的功能,而且更重要的功能是,他的電路仿真是互動的,可以根據(jù)仿真實時觀察到得現(xiàn)象驗證設(shè)計的正確性及準確性并及時改變程序代碼、原理
62、圖連接以及元件屬性等。它還能配合系統(tǒng)配置的虛擬儀器來顯示和輸出,如示波器、邏輯分析儀等,效果很好。</p><p> Proteus有4個功能模塊:智能原理圖設(shè)計、完善的電路仿真功能、獨特的單片機協(xié)同仿真功能以及實用的PCB設(shè)計平臺。其內(nèi)部元件庫含有豐富的元件,支持總線結(jié)構(gòu)以及智能化的連線功能;支持主流CPU(如ARM、8051/52、AVR)及其通用外設(shè)模型的實時仿真等,為單片機的開發(fā)應(yīng)用等帶來極大的便利。&
63、lt;/p><p> 軟件使用的主界面如圖3.3.1。</p><p> 圖3.3.1 Proteus使用界面</p><p> 3.3.2 本設(shè)計基于Proteus的仿真</p><p> 首先啟動Proteus軟件并建立一工程,然后根據(jù)原理圖調(diào)出相應(yīng)的原件,再根據(jù)要求改變各原件的屬性并把各個原件按原理圖連接起來。在原理圖繪制連接好后
64、再把編譯好的程序加載到其中。最后根據(jù)系統(tǒng)要實現(xiàn)的功能分步進行仿真。</p><p> 把溫度傳感器DS18B20溫度設(shè)置為26.4攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)的溫度為22攝氏度。點擊開始按鈕,系統(tǒng)開始仿真,待一段時間穩(wěn)定后,觀察到此時風(fēng)扇直流電機的轉(zhuǎn)速為+14.2r/s,如圖3.3.2所示。</p><p> 當把溫度傳感器DS18B20溫度設(shè)置為28.4攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)
65、設(shè)的溫度為22攝氏度。點擊開始按鈕,系統(tǒng)開始仿真,待一段時間穩(wěn)定后,觀察到此時直流風(fēng)扇電機的轉(zhuǎn)速為+23.3 r/s,如圖3.3.3所示。</p><p> 當把溫度傳感器DS18B20溫度設(shè)置為33.4攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)的溫度為22攝氏度。點擊開始按鈕,系統(tǒng)開始仿真,待一段時間穩(wěn)定后,觀察到此時直流風(fēng)扇電機的轉(zhuǎn)速為+32.0 r/s,如圖3.3.4所示。</p><p>
66、 在上一步仿真的基礎(chǔ)上(溫度傳感器DS18B20溫度設(shè)置為33.4攝氏度,系統(tǒng)預(yù)設(shè)的溫度為22攝氏度),用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)溫度至34攝氏度,此時可知系統(tǒng)預(yù)設(shè)溫度大于溫度傳感器檢測到的溫度,觀察到直流風(fēng)扇電機的轉(zhuǎn)速逐漸變慢,最后轉(zhuǎn)速變?yōu)?,符合系統(tǒng)要實現(xiàn)的功能,如圖3.3.5所示。</p><p> 通過以上仿真可以看出,直流風(fēng)扇電機在系統(tǒng)設(shè)定溫度一定的情況下,其轉(zhuǎn)速隨著環(huán)境溫度(溫度傳感器檢測到的溫度)的增
67、加而增大。當環(huán)境溫度低于系統(tǒng)預(yù)設(shè)的溫度時,風(fēng)扇自動停止運轉(zhuǎn),實現(xiàn)了系統(tǒng)所設(shè)計的功能。當然,在此沒有實現(xiàn)風(fēng)扇直流電機的無級調(diào)速,本系統(tǒng)實現(xiàn)的是電機在隨環(huán)境溫度變化的四個等級的速度變化,環(huán)境溫度在一定小范圍內(nèi)變化風(fēng)扇電機轉(zhuǎn)速是不變的,只有超過了設(shè)定的某一界限時轉(zhuǎn)速才會變化。</p><p><b> 第四章 系統(tǒng)調(diào)試</b></p><p><b> 4.1
68、 軟件調(diào)試</b></p><p> 4.1.1 按鍵顯示部分的調(diào)試</p><p> 起初根據(jù)設(shè)計編寫的系統(tǒng)程序:程序的鍵盤接口采用P1口,數(shù)碼管顯示采用P0口控制LED的斷碼,P2口控制LED的位碼,從而實現(xiàn)鍵盤功能及數(shù)碼管的顯示。經(jīng)過編譯沒有出錯,但在仿真調(diào)試時,數(shù)碼管顯示的只是亂碼,沒有正確的顯示溫度,按鍵功能也不靈,當按下鍵時,顯示并不變化。</p>
69、<p> 經(jīng)過查找分析,發(fā)現(xiàn)鍵盤掃描程序沒有沒有按鍵消抖部分,按鍵在按下與松手時,都會有一定程度的抖動,從而可能使單片機做出錯誤的判斷,導(dǎo)致按鍵條件預(yù)設(shè)溫度時失靈,甚至根本不能工作。因此必須在按鍵掃描程序中加入消抖部分,即在按鍵按下與松手時加入延時判斷,以檢測鍵盤是否真的按下或已完全松手。</p><p> 數(shù)碼管不能正確的顯示,主要是因為所以數(shù)碼管的段碼都由P0口傳送,而數(shù)碼管顯示又采用了動態(tài)掃
70、描的方式,但在程序中卻沒有設(shè)置顯示段碼的暫存器,導(dǎo)致當P0口傳送段碼時發(fā)生混亂,不能正確識別段碼。應(yīng)在系統(tǒng)中加入鎖存器,或是在程序中設(shè)定存儲段碼的空間。</p><p> 在鍵盤加入了消抖程序,數(shù)碼管顯示程序中加入了段碼的存儲空間后,數(shù)碼管能夠正常的顯示,按鍵也能夠工作,達到了較好的效果。</p><p> 4.1.2 傳感器DS18B20溫度采集部分調(diào)試</p><
71、;p> 由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,為軟件的設(shè)計和調(diào)試帶來了極大的簡便,小體積、低功耗、高精度為控制電機的精度和穩(wěn)定提供了可能。軟件設(shè)計采用P3.1口為數(shù)字溫度輸入口,但是需要對輸入的數(shù)字信號進行處理后才能顯示,從而多了溫度轉(zhuǎn)換程序。通過軟件設(shè)計,實現(xiàn)了對環(huán)境溫度的連續(xù)檢測,由于硬件LED個數(shù)的限制,只顯示了預(yù)設(shè)溫度的整數(shù)部分。</p><p> 在溫度轉(zhuǎn)換程序中,為了能夠正確的
72、檢測并顯示溫度的小數(shù)位,程序中把檢測的溫度與10相乘后,再按一個三位的整數(shù)來處理。如把24.5變?yōu)?45來處理,這樣為程序的編寫帶來了方便。</p><p> 4.1.3 電動機調(diào)速電路部分調(diào)試</p><p> 在本設(shè)計中,采用了達林頓反向驅(qū)動器ULN2803驅(qū)動直流電機,其可驅(qū)動八個直流電機,本系統(tǒng)僅驅(qū)動一個。軟件設(shè)置了P3.1口輸出不同的PWM波形,通過達林頓反向驅(qū)動器ULN28
73、03驅(qū)動直流電機轉(zhuǎn)動,通過軟件中程序設(shè)定,根據(jù)不同溫度輸出不同的PWM波,從而得到不同的占空比控制風(fēng)扇直流電機。程序?qū)崿F(xiàn)了P3.1口的PWM波形輸出,當外界溫度低于設(shè)置溫度時,電機不轉(zhuǎn)動或自動停止轉(zhuǎn)動;當外界溫度高于設(shè)置溫度時,電機的轉(zhuǎn)速升高或是自動開始轉(zhuǎn)動,且外界溫度與設(shè)置溫度的差值越大,電機轉(zhuǎn)速越高,即占空比增加。</p><p> 在本系統(tǒng)中風(fēng)扇電機的轉(zhuǎn)速可實現(xiàn)四級調(diào)速。通過溫度傳感器檢測的溫度與系統(tǒng)預(yù)設(shè)
74、溫度值的比較,實現(xiàn)轉(zhuǎn)速變換。當檢測到的溫度比預(yù)設(shè)的溫度每增加5攝氏度時,風(fēng)扇電機轉(zhuǎn)速增加一級。</p><p><b> 4.2 硬件調(diào)試</b></p><p> 4.2.1 按鍵顯示部分的調(diào)試</p><p> 系統(tǒng)按鍵部分實現(xiàn)了以下功能:按下P1.3口鍵,LED的后兩位顯示溫度值增一;按下P1.4口鍵,LED的后兩位顯示溫度值減一。
75、調(diào)試過程中出現(xiàn)了當按鍵時間過長時,設(shè)置的溫度值不是增一或者減一,而是增加后減少幾個值,出現(xiàn)這種情況的主要元嬰可能是按鍵的去抖動延時時間過長造成,改進方法為將對應(yīng)的按鍵去抖動延時時間適量增加,但也不應(yīng)過長,否則將出現(xiàn)按鍵無效的情形。</p><p> 系統(tǒng)顯示部分實現(xiàn)了以下功能:LED顯示的前三位實現(xiàn)了環(huán)境溫度整數(shù)部分與小數(shù)部分的連續(xù)顯示,LED的后兩位能根據(jù)按鍵的調(diào)整顯示所需要的設(shè)計溫度。且LED的顯示效果很好
76、,很穩(wěn)定。</p><p> 4.2.2 傳感器DS18B20溫度采集部分調(diào)試</p><p> 將DS18B20芯片接在系統(tǒng)板對應(yīng)的P3.1口,通過插針在對應(yīng)系統(tǒng)板的右下側(cè)三口即為對應(yīng)的VCC、P3.1和GND,可將芯片直接插在該插針上,因此即為方便。系統(tǒng)調(diào)試中為驗證DS18B20是否能在系統(tǒng)板上工作,將手心靠攏或者捏住芯片,即可發(fā)現(xiàn)LED顯示的前兩位溫度也迅速升高,驗證了DS18B
77、20能在系統(tǒng)板上工作。由于DS18B20為3個引腳,因此在調(diào)試過程中因注意其各個引腳的對應(yīng)位置,以免將其接反而是芯片不能工作甚至燒毀芯片。</p><p> 4.2.3 電動機調(diào)速電路部分調(diào)試</p><p> 系統(tǒng)本部分的設(shè)計中重在軟件設(shè)計,因為外圍的驅(qū)動電路只是將送來的PWM信號放大從而驅(qū)動電機轉(zhuǎn)動。系統(tǒng)軟件設(shè)置在P3.1口輸出使電機轉(zhuǎn)動的PWM占空比,當環(huán)境溫度高于設(shè)置溫度時,電
78、機開始轉(zhuǎn)動,若此時用高于環(huán)境溫度的熱源靠近測溫芯片DS18B20時,發(fā)現(xiàn)電機的轉(zhuǎn)速在升高,并越來越快,當達到一定值時,發(fā)現(xiàn)電機的轉(zhuǎn)速不再升高;將熱源離開測溫芯片DS18B20時,發(fā)現(xiàn)電機的轉(zhuǎn)速開始下降,轉(zhuǎn)速達到一定值時,若將設(shè)置溫度升高到環(huán)境溫度以上,發(fā)現(xiàn)電機又停止了轉(zhuǎn)動。系統(tǒng)采用的直流電機為12V的額定電壓,而該驅(qū)動電路在采用單片機電源時的輸出電壓最高不過5V,因此在調(diào)試過程中只采用了原有的5V直流電機來調(diào)試,且得到了可觀的控制效果。
79、</p><p><b> 4.3 系統(tǒng)功能</b></p><p> 4.3.1 系統(tǒng)實現(xiàn)的功能</p><p> 本系統(tǒng)能夠?qū)崿F(xiàn)單片機系統(tǒng)檢測環(huán)境溫度的變化,然后根據(jù)環(huán)境溫度變化來控制風(fēng)扇直流電機輸入占空比的變化,從而產(chǎn)生不同的轉(zhuǎn)動速度,亦可根據(jù)鍵盤調(diào)節(jié)不同的設(shè)置溫度,再由環(huán)境溫度與設(shè)置溫度的差值來控制電機。當環(huán)境溫度低于設(shè)置溫度時,
80、電機停止轉(zhuǎn)動;當環(huán)境溫度高于設(shè)置溫度時,單片機對應(yīng)輸出口輸出不同占空比的PWM信號,控制電機開始轉(zhuǎn)動,并隨著環(huán)境溫度與設(shè)置溫度的差值的增加電機的轉(zhuǎn)速逐漸升高。 系統(tǒng)還能動態(tài)的顯示當前溫度和設(shè)置溫度,并能通過鍵盤調(diào)節(jié)當前的設(shè)置溫度。</p><p> 4.3.2 系統(tǒng)功能分析</p><p> 系統(tǒng)總體上由五部分來組成,既按鍵與復(fù)位電路、數(shù)碼管顯示電路、溫度檢測電路、電機驅(qū)動電路。首先考
81、濾的是溫度檢測電路,該部分是整個系統(tǒng)的首要部分,首先要檢測到環(huán)境溫度,才能用單片機來判斷溫度的高低,然后通過單片機控制直流風(fēng)扇電機的轉(zhuǎn)速;其次是電機驅(qū)動電路,該部分需要使用外圍電路將單片機輸出的PWM信號轉(zhuǎn)化為平均電壓輸出,根據(jù)不同的PWM波形得到不同的平均電壓,從而控制電機的轉(zhuǎn)速,電路的設(shè)計中采用了達林頓反向驅(qū)動器ULN2803,實現(xiàn)較好的控制效果;再次是數(shù)碼管的動態(tài)顯示電路,該部分的功能實現(xiàn)對環(huán)境溫度和設(shè)置溫度的顯示,其中DS18B
82、20采集環(huán)境溫度,按鍵實現(xiàn)不同設(shè)置溫度的調(diào)整,實現(xiàn)了對環(huán)境溫度和設(shè)置溫度的及時連續(xù)顯示。</p><p><b> 結(jié) 論</b></p><p> 本次設(shè)計的系統(tǒng)以單片機為控制核心,以溫度傳感器DS18B20檢測環(huán)境溫度,實現(xiàn)了根據(jù)環(huán)境溫度變化調(diào)節(jié)不同的風(fēng)扇電機轉(zhuǎn)速,在一定范圍能能實現(xiàn)轉(zhuǎn)速的連續(xù)調(diào)節(jié),LED數(shù)碼管能連續(xù)穩(wěn)定的顯示環(huán)境溫度和設(shè)置溫度,并能通過兩
83、個獨立按鍵調(diào)節(jié)不同的設(shè)置溫度,從而改變環(huán)境溫度與設(shè)置溫度的差值,進而改變電機轉(zhuǎn)速。實現(xiàn)了基于單片機的溫控風(fēng)扇的設(shè)計。</p><p> 本系統(tǒng)設(shè)計可推廣到各種電動機的控制系統(tǒng)中,實現(xiàn)電動機的轉(zhuǎn)速調(diào)節(jié)。在生產(chǎn)生活中,本系統(tǒng)可用于簡單的日常風(fēng)扇的智能控制,為生活帶來便利;在工業(yè)生產(chǎn)中,可以改變不同的輸入信號,實現(xiàn)對不同信號輸入控制電機的轉(zhuǎn)速,進而實現(xiàn)生產(chǎn)自動化,如在電力系統(tǒng)中可以根據(jù)不同的負荷達到不同的電壓信號,再
84、由電壓信號調(diào)節(jié)不同的發(fā)電機轉(zhuǎn)速,進而調(diào)節(jié)發(fā)電量,實現(xiàn)電力系統(tǒng)的自動化調(diào)節(jié)。綜上所述,該系統(tǒng)的設(shè)計和研究在社會生產(chǎn)和生活中具有重要地位。</p><p><b> 參考文獻</b></p><p> [1] 李學(xué)龍.使用單片機控制的智能遙控電風(fēng)扇控制器[J].電子電路制作,2003,9:13—15.</p><p> [2] 藍厚榮.單片機
85、的PWM控制技術(shù)[J].工業(yè)控制計算機.2010,23(3):97—98</p><p> [3] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社.2009.342—344</p><p> [4] 胡漢才.單片機原理及其接口技術(shù)[M](第2版).北京:清華大學(xué)出版社.2004.49—77.</p><p> [5] 胡全. 51單片機的數(shù)碼管
86、動態(tài)顯示技術(shù)[J] .信息技術(shù),2009,13:25—26</p><p> [6] 李鋼,趙彥峰.1-Wire總線數(shù)字溫度傳感器DSI8B20原理及應(yīng)用[J].現(xiàn)代電子技術(shù),2005,28(21):77—79.</p><p> [7] 馬云峰.單片機與數(shù)字溫度傳感器DS18B20的接口設(shè)計[J].計算機測量與控制,2007,10(4):278—280.</p><
87、;p> [8] 王會明,侯加林.智能電風(fēng)扇控制器的研制[J].電子與自動化,1998,5(4):25—26.</p><p> [9] 譚浩強.C程序設(shè)計[M](第三版).北京:清華大學(xué)出版社.2005.37—65.</p><p> [10] 孫號. Proteus軟件在設(shè)計電子電路中的應(yīng)用[J].儀表技術(shù),2009,8:74—75</p><p>
88、 [11] 樓俊軍.基于Proteus和Keil的單片機演奏樂曲的實現(xiàn)[J] .科技信息,2010,23:第50頁</p><p> [12] 王文海,周歡喜.用Proteus實現(xiàn)51單片機的動態(tài)仿真調(diào)試[J].IT技術(shù),2006,20:10—11</p><p> [13] 丁建軍,陳定方,周國柱. 基于AT89C51的智能電風(fēng)扇控制系統(tǒng)[J].湖北工學(xué)院學(xué)報,2003,18(2):
89、60—63.</p><p> [14] 王會明,侯加林. 智能電風(fēng)扇控制器的研制[J]. 電子與自動化,1998,5(4):25—26.</p><p> [15] 劉進山. 基于MCS-51電風(fēng)扇智能調(diào)速器的設(shè)計[J]. 廣州:電子質(zhì)量,2004,10(10):71.</p><p> [16] YU Qihao,CHENG Guodong,NIU Fuj
90、un. The application of auto-temperature-controlled ventilation embankment in Qinghai--Tibet Railway [J]. Science in China Ser.D Earth Sciences,2004,1(47):168—176.</p><p> [17] YLai,Y,Wang. Three—dimensional
91、 nonlinear analysis for temperature characteristic of ventilated embankment in permafrost regions [J]. Cold Regions Science and Technology,2004,38(2):165—184.</p><p> [18] Cheng Guodong. Linearity engineeri
92、ng in permafrost areas [J]. Journal of Glaciology and Geocryology(in Chinese),2001,23(3):213—217.</p><p> [19] B Schneier.Applied Crytography:Algorithms,and Source Code in C[J].New York:Jone Wiley& Sons
93、. 1994.301—307.</p><p> [20] Intel: Benjamin Jun,Paul Kocher.The lntel Random Number Generator[J].White Paper Prepared for lntel Corporation,April 22,l999:4—5.</p><p><b> 致 謝</b>&
94、lt;/p><p> 在此衷心感謝我的導(dǎo)師宋宗倫教授。本文的設(shè)計工作是在宋教授的悉心指導(dǎo)下完成的,從論文的選題、研究計劃的制定、技術(shù)路線的選擇到系統(tǒng)的開發(fā)設(shè)計,各個方面都離不開宋教授熱情耐心的幫助和教導(dǎo)。他嚴肅的科學(xué)態(tài)度,嚴謹?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。同時也要感謝在本次論文的設(shè)計過程中不斷給予我?guī)椭?、支持與鼓勵的老師和同學(xué),是他們讓我更加有信心堅持下去,是他們讓我更加順利的把一個個問題解
95、決,最終順利的完成本文的設(shè)計。</p><p> 四年的學(xué)習(xí)生涯馬上就要畫上句號了,畢業(yè)前所有的努力與付出都凝聚在這篇論文里面。相信它雖然算不上上乘之作,但的確是我用心血澆灌的答卷。在此我也要感謝我的同學(xué)們,正是和他們四年的朝夕相處,一起上課一起討論問題,讓我逐漸有了對問題的思考認識,從而更好地規(guī)劃自己的學(xué)業(yè)。四年的求學(xué)時光給我留下了美好的回憶,它將成為我今后人生旅途中新的起點。</p><
96、p> 最后,感謝我的爸爸媽媽。焉得諼草,言樹之背,養(yǎng)育之恩,無以回報,你們永遠健康快樂是我最大的心愿。</p><p><b> 附錄1:電路總圖</b></p><p><b> 附圖1 電路總圖</b></p><p><b> 附錄2:程序代碼</b></p><
97、;p> #include <reg52.h> </p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> sbit DQ=P1^7;</p><p> sbit key1=P1^3;</p><
98、;p> sbit key2=P1^4;</p><p> sbit dianji=P3^1;</p><p><b> float ff;</b></p><p><b> uint y3;</b></p><p> uchar shi,ge,xiaoshu,sheding=20,g
99、aonum,dinum;</p><p> uchar code dispcode[]={ //段碼</p><p> 0x3f,0x06,0x5b,0x4f, </p><p> 0x66,0x6d,0x7d,0x07, </p><p> 0x7f,0x6f,0x77,0x7c, </p><p>
100、 0x39,0x5e,0x79,0x71}; </p><p> uchar code tablel[]={ //帶小數(shù)點的段碼</p><p> 0xbf,0x86,0xdb,0xcf,</p><p> 0xe6,0xed,0xfd,</p><p> 0x87,0xff,0xef};</p><p>
101、uchar dispbitcode[]={ //位選</p><p> 0xfe,0xfd,0xfb,0xf7, </p><p> 0xef,0xdf,0xbf,0x7f}; </p><p> uchar dispbuf[8]={0,0,0,0,0,0,0,0}; </p><p> void Delay(uint nu
102、m)// 延時函數(shù)</p><p><b> {</b></p><p> while( --num );</p><p><b> }</b></p><p> void digitalshow(uchar a4,uchar a3,uchar a2,uchar a1,uchar a0)&l
103、t;/p><p><b> {</b></p><p> dispbuf[0]=a0; </p><p> dispbuf[1]=a1;</p><p> dispbuf[2]=a2;</p><p> dispbuf[3]=a3;</p><p> dispbuf
104、[4]=a4;</p><p><b> P2=0xff;</b></p><p> P0=dispcode[dispbuf[0]];</p><p> P2=dispbitcode[5];</p><p> Delay(1); </p><p><b> P2=0xff;&
105、lt;/b></p><p> P0=dispcode[dispbuf[1]];</p><p> P2=dispbitcode[4];</p><p><b> Delay(1);</b></p><p><b> P2=0xff;</b></p><p>
106、 P0=dispcode[dispbuf[2]];</p><p> P2=dispbitcode[2];</p><p><b> Delay(1);</b></p><p><b> P2=0xff;</b></p><p> P0=tablel[dispbuf[3]];</p&g
107、t;<p> P2=dispbitcode[1];</p><p><b> Delay(1);</b></p><p><b> P2=0xff;</b></p><p> P0=dispcode[dispbuf[4]];</p><p> P2=dispbitcode[0
108、];</p><p><b> Delay(1);</b></p><p><b> }</b></p><p> void dmsec(uint count) </p><p><b> { </b></p><p> uint i;
109、// 1ms延時</p><p> while(count--) </p><p><b> {</b></p><p> for(i=0;i<125;i++){}</p><p><b> }</b></p><p><b> }</b
110、></p><p> void tmreset(void) </p><p> { </p><p><b> DQ=0;</b></p><p> Delay(90);// 精確延時 大于 480us</p><p><b> D
111、Q=1;</b></p><p> Delay(4);// 90,4 可以小范圍變化</p><p><b> }</b></p><p> void tmpre(void) </p><p> { </p><p> while(
112、DQ);</p><p> while(~DQ);</p><p> Delay(4); </p><p><b> }</b></p><p> bit tmrbit(void) </p><p> { </p><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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--基于單片機的溫控風(fēng)扇的設(shè)計
- 基于單片機的智能溫控風(fēng)扇設(shè)計-畢業(yè)論文
- 畢業(yè)論文(設(shè)計)基于單片機的溫控風(fēng)扇的設(shè)計
- 畢業(yè)論文(設(shè)計)基于單片機的溫控風(fēng)扇的設(shè)計
- 風(fēng)扇畢業(yè)論文--基于51單片機的智能溫控風(fēng)扇
- 基于單片機的溫控風(fēng)扇的設(shè)計論文
- 應(yīng)用物理畢業(yè)論文基于單片機的智能風(fēng)扇溫控系統(tǒng)設(shè)計
- 基于單片機的溫控風(fēng)扇的設(shè)計論文
- 應(yīng)用物理畢業(yè)論文基于單片機的智能風(fēng)扇溫控系統(tǒng)設(shè)計
- 基于單片機的智能溫控風(fēng)扇設(shè)計論文
- 基于單片機的智能溫控風(fēng)扇設(shè)計論文
- 基于單片機的智能溫控風(fēng)扇設(shè)計論文
- 基于單片機的溫控風(fēng)扇的設(shè)計
- 基于單片機溫控風(fēng)扇轉(zhuǎn)速的設(shè)計畢業(yè)設(shè)計
- 應(yīng)用物理學(xué)畢業(yè)論文基于單片機的智能風(fēng)扇溫控系統(tǒng)設(shè)計
- 應(yīng)用物理學(xué)畢業(yè)論文基于單片機的智能風(fēng)扇溫控系統(tǒng)設(shè)計
- 畢業(yè)論文--基于單片機的智能電風(fēng)扇的設(shè)計
- 基于單片機的智能溫控風(fēng)扇設(shè)計開題報告
- 畢業(yè)論文(設(shè)計)基于單片機的智能電風(fēng)扇的設(shè)計
- 課程設(shè)計--基于單片機的溫控風(fēng)扇的設(shè)計
評論
0/150
提交評論