版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 摘 要本設(shè)計(jì)為一種溫控風(fēng)扇系統(tǒng),具有靈敏的溫度感測(cè)和顯示功能,系統(tǒng)AT89C52單片機(jī)作為控制平臺(tái)對(duì)風(fēng)扇轉(zhuǎn)速進(jìn)行控制??捎捎脩粼O(shè)置高、低溫度值,測(cè)得溫度值在高低溫度之間時(shí)打開風(fēng)扇弱風(fēng)檔,當(dāng)溫度升高超過(guò)所設(shè)定的溫度時(shí)自動(dòng)切換到大風(fēng)檔,當(dāng)溫度小于所設(shè)定的溫度時(shí)自動(dòng)關(guān)閉風(fēng)扇,控制狀態(tài)隨外界溫度而定。所設(shè)高低溫值保存在溫度傳感器DS18B20內(nèi)部中,掉電后仍然能保存上次設(shè)定值,性能穩(wěn)定,控制準(zhǔn)確。關(guān)鍵詞: 自動(dòng)控制;單片機(jī);溫控AbstractThis design is a kind of temperature control fan system, has the sensitive temp
2、erature sensor and display function, system AT89C52monolithic as control platform to control the fan speed. High and low temperature can be set by the user, the measured temperature value between high and low temperature open the fan when the windshield, when temperature exceeds the set temperature
3、automatically switch to the wind, when the temperature is less than the set temperature automatically shut down the fan, control state varies with temperature. Set high and low temperature values stored in internal temperature sensor DS18B20 E2ROM, after power off can still be saved the set value, s
4、table performance and accurate control.Key words: Automatic control; Single chip microcomputer; Temperature control目錄第一章 整體方案設(shè)計(jì)21.1 前 言21.2 系統(tǒng)整體設(shè)計(jì)21.3方案論證31.3.1 溫度傳感器的選擇31.3.2 控制核心的選擇41.3.3 顯示電路的選擇41.3.4 調(diào)速方式的選擇5第二章 各單元模塊的硬件設(shè)計(jì)72.1系統(tǒng)器件簡(jiǎn)介72.1.1 DS18B20單線數(shù)字溫度傳感器簡(jiǎn)介72.1.2 達(dá)林頓反向驅(qū)動(dòng)器ULN2803簡(jiǎn)介72.1.3 AT89C52單
5、片機(jī)簡(jiǎn)介82.1.4 LED數(shù)碼管簡(jiǎn)介102.2 各部分電路設(shè)計(jì)112.2.1 開關(guān)復(fù)位與晶振電路112.2.3 數(shù)碼管顯示電路122.2.4 溫度采集電路132.2.5 風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路15第三章 軟件設(shè)計(jì)173.1 程序設(shè)置173.2 用Keil C51編寫程序173.3 用Proteus進(jìn)行仿真183.3.1 Proteus簡(jiǎn)介183.3.2 本設(shè)計(jì)基于Proteus的仿真19第四章 系統(tǒng)調(diào)試244.1 軟件調(diào)試244.1.1 按鍵顯示部分的調(diào)試244.1.2 傳感器DS18B20溫度采集部分調(diào)試244.1.3 電動(dòng)機(jī)調(diào)速電路部分調(diào)試244.2 硬件調(diào)試254.2.1 按鍵顯示部分
6、的調(diào)試254.2.2 傳感器DS18B20溫度采集部分調(diào)試254.2.3 電動(dòng)機(jī)調(diào)速電路部分調(diào)試254.3 系統(tǒng)功能264.3.1 系統(tǒng)實(shí)現(xiàn)的功能264.3.2 系統(tǒng)功能分析26結(jié) 論27參考文獻(xiàn)28附錄1:電路總圖30附錄2:程序代碼31第一章 整體方案設(shè)計(jì)1.1 前 言在現(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)扇根據(jù)環(huán)境溫度
7、的變化進(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)智能控制。隨著單片機(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)了諸多便利,在提高人們的生活質(zhì)量、生產(chǎn)效率的同時(shí)還能節(jié)省風(fēng)扇運(yùn)轉(zhuǎn)所需的能量。本文設(shè)計(jì)了由ATMEL公司的8052系列單片機(jī)AT89C52作為控制器,采用DALLAS公司的溫度傳感器DS18B20作為溫度采集元件,并通過(guò)一個(gè)達(dá)林頓反向驅(qū)動(dòng)器ULN28
8、03驅(qū)動(dòng)風(fēng)扇電機(jī)的轉(zhuǎn)動(dòng)。同時(shí)使系統(tǒng)檢測(cè)到得環(huán)境溫度以及系統(tǒng)預(yù)設(shè)的溫度動(dòng)態(tài)的顯示在LED數(shù)碼管上。根據(jù)系統(tǒng)檢測(cè)到得環(huán)境溫度與系統(tǒng)預(yù)設(shè)溫度的比較,實(shí)現(xiàn)風(fēng)扇電機(jī)的自動(dòng)啟停以及轉(zhuǎn)速的自動(dòng)調(diào)節(jié)。1.2 系統(tǒng)整體設(shè)計(jì)本設(shè)計(jì)的整體思路是:利用溫度傳感器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è)溫度值。系統(tǒng)結(jié)構(gòu)框圖如圖1:溫度顯示DS18B
9、20AT89C52復(fù)位晶振獨(dú)立鍵盤PWM驅(qū)動(dòng)電路直流電機(jī)圖1系統(tǒng)構(gòu)成框圖1.3方案論證本設(shè)計(jì)要實(shí)現(xiàn)風(fēng)扇直流電機(jī)的溫度控制,使風(fēng)扇電機(jī)能根據(jù)環(huán)境溫度的變化自動(dòng)啟停及改變轉(zhuǎn)速,需要比較高的溫度變化分辨率以及穩(wěn)定可靠的換擋停機(jī)控制部件1 李學(xué)龍. 使用單片機(jī)控制的智能遙控電風(fēng)扇控制器J.電子電路制作,2003,9:1315.。1.3.1 溫度傳感器的選擇在本設(shè)計(jì)中,溫度傳感器的選擇有以下三種方案:方案一:選用熱敏電阻作為感測(cè)溫度的核心元件,通過(guò)運(yùn)算放大器放大由于溫度變化引起熱敏電阻電阻的變化、進(jìn)而導(dǎo)至的輸出電壓變化的微弱電壓變化信號(hào),再用AD轉(zhuǎn)換芯片ADC0809將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)輸入單片機(jī)處
10、理。方案二:采用熱電偶作為感測(cè)溫度的核心元件,配合橋式電路,運(yùn)算放大電路和AD轉(zhuǎn)換電路,將溫度變化信號(hào)送入單片機(jī)處理。方案三:采用數(shù)字式集成溫度傳感器DS18B20作為感測(cè)溫度的核心元件,直接輸出數(shù)字溫度信號(hào)供單片機(jī)處理。對(duì)于方案一,采用熱敏電阻有價(jià)格便宜、元件易購(gòu)的優(yōu)點(diǎn),但熱敏電阻對(duì)溫度的細(xì)微變化不敏感,在信號(hào)采集、放大、轉(zhuǎn)換過(guò)程中還會(huì)產(chǎn)生失真和誤差,并且由于熱敏電阻的R-T關(guān)系的非線性,其本身電阻對(duì)溫度的變化存在較大誤差,雖然可以通過(guò)一定電路予以糾正,但不僅將使電路復(fù)雜穩(wěn)定性降低,而且在人體所處溫度環(huán)境溫度變化中難以檢測(cè)到小的溫度變化。故該方案不適合本系統(tǒng)。對(duì)于方案二,采用熱電偶和橋式測(cè)量
11、電路相對(duì)于熱敏電阻其對(duì)溫度的敏感性和器件的非線性誤差都有較大提高,其測(cè)溫范圍也非常寬,從-50攝氏度到1600攝氏度均可測(cè)量。但是依然存在電路復(fù)雜,對(duì)溫度敏感性達(dá)不到本系統(tǒng)要求的標(biāo)準(zhǔn),故不采用該方案。對(duì)于方案三,由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,大大降低了外接放大轉(zhuǎn)換等電路的誤差因素,溫度誤差很小,并且由于其感測(cè)溫度的原理與上述兩種方案的原理有著本質(zhì)的不同,使得其溫度分辨力極高。溫度值在器件內(nèi)部轉(zhuǎn)換成數(shù)字量直接輸出,簡(jiǎn)化了系統(tǒng)程序設(shè)計(jì),又由于該傳感器采用先進(jìn)的單總線技術(shù)(1-WRIE),與單片機(jī)的接口變的非常簡(jiǎn)潔,抗干擾能力強(qiáng),因此該方案適用于本系統(tǒng)。1.3.2 控制核心的選
12、擇方案一:采用電壓比較電路作為控制部件。溫度傳感器采用熱敏電阻或熱電偶等,溫度信號(hào)轉(zhuǎn)為電信號(hào)并放大,由集成運(yùn)放組成的比較電路判決控制風(fēng)扇轉(zhuǎn)速,當(dāng)高于或低于某值時(shí)將風(fēng)扇切換到相應(yīng)檔位。方案二:采用單片機(jī)作為控制核心。以軟件編程的方法進(jìn)行溫度判斷,并在端口輸出控制信號(hào)。對(duì)于方案一,采用電壓比較電路具有電路簡(jiǎn)單、易于實(shí)現(xiàn),以及無(wú)需編寫軟件程序的特點(diǎn),但控制方式過(guò)于單一,不能自由設(shè)置上下限動(dòng)作溫度,無(wú)法滿足不同用戶以及不同環(huán)境下的多種動(dòng)作溫度要求,故不在本系統(tǒng)中采用。對(duì)于方案二,以單片機(jī)作為控制器,通過(guò)軟件編程的方法進(jìn)行溫度檢測(cè)和判斷,并在其I/O口輸出控制信號(hào)。AT89C52單片機(jī)工作電壓低,性能高
13、,片內(nèi)含8k字節(jié)的只讀程序存儲(chǔ)器ROM和256字節(jié)的隨機(jī)數(shù)據(jù)存儲(chǔ)器RAM,它兼容標(biāo)準(zhǔn)的MCS-51指令系統(tǒng),單片價(jià)格也不貴,適合本設(shè)計(jì)系統(tǒng)。1.3.3 顯示電路的選擇方案一:應(yīng)用動(dòng)態(tài)掃描的方式,采用LED共陰極數(shù)碼管顯示溫度。方案二:采用LCD液晶顯示屏顯示溫度。對(duì)于方案一,該方案成本很低,顯示溫度明確醒目,即使在黑暗空間也能清楚看見,功耗極低,同時(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ì)感覺到閃爍,因此只要描頻
14、率設(shè)置得當(dāng)即可采用該方案。對(duì)于方案二,液晶顯示屏具有顯示字符優(yōu)美,其不僅能顯示數(shù)字還能顯示字符甚至圖形,這是LED數(shù)碼管無(wú)法比擬的。但是液晶顯示模塊的元件價(jià)格昂貴,顯示驅(qū)動(dòng)程序的編寫也較復(fù)雜,從簡(jiǎn)單實(shí)用的原則考慮,本系統(tǒng)采用方案一。1.3.4 調(diào)速方式的選擇方案一:采用數(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é)。方案二:采用變壓器調(diào)節(jié)方式,運(yùn)用電磁感應(yīng)原理將220V電壓通過(guò)線圈降壓到不同的電壓,控制風(fēng)扇電機(jī)接到不同電壓值的線圈上可控制電機(jī)的轉(zhuǎn)速
15、,從而控制風(fēng)扇風(fēng)力大小。方案三:采用單片機(jī)軟件編程實(shí)現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速的方法。PWM是英文Pulse Width Modulation的縮寫,它是按一定的規(guī)律改變脈沖序列的脈沖寬度,以調(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 藍(lán)厚榮.單片機(jī)的PWM控制技術(shù)J .工業(yè)控制計(jì)算機(jī),2010,23(3):97982。用單片機(jī)I/O口輸出PWM信號(hào)時(shí),有如下三種方法:
16、(1) 利用軟件延時(shí)。當(dāng)高電平延時(shí)時(shí)間到時(shí),對(duì)I/O口電平取反,使其變成低電平,然后再延時(shí)一定時(shí)間;當(dāng)?shù)碗娖窖訒r(shí)時(shí)間到時(shí),再對(duì)該I/O口電平取反,如此循環(huán)即可得到PWM信號(hào)。在本設(shè)計(jì)中應(yīng)用了此方法。(2) 利用定時(shí)器??刂品椒ㄅc(1)相同,只是在該方法中利用單片機(jī)的定時(shí)器來(lái)定時(shí)進(jìn)行高低電平的轉(zhuǎn)變,而不是用軟件延時(shí)。應(yīng)用此方法時(shí)編程相對(duì)復(fù)雜。(3) 利用單片機(jī)自帶的PWM控制器。在STC12系列單片機(jī)中自身帶有PWM控制器,但本系統(tǒng)所用到得AT89系列單片機(jī)無(wú)此功能。對(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à)
17、比不高。對(duì)于方案二,由于采用變壓器改變電壓調(diào)節(jié),有風(fēng)速級(jí)別限制,不能適應(yīng)人性化要求。且在變壓過(guò)程中會(huì)有損耗發(fā)熱,效率不高,發(fā)熱有不安全因素。對(duì)于方案三,相對(duì)于其他用硬件或者軟硬件相結(jié)合的方法實(shí)現(xiàn)對(duì)電機(jī)進(jìn)行調(diào)速而言,采用PWM 用純軟件的方法來(lái)實(shí)現(xiàn)調(diào)速過(guò)程,具有更大的靈活性,并可大大降低成本,能夠充分發(fā)揮單片機(jī)的功能,對(duì)于簡(jiǎn)單速度控制系統(tǒng)的實(shí)現(xiàn)提供了一種有效的途徑。綜合考慮選用方案三。 第二章 各單元模塊的硬件設(shè)計(jì)系統(tǒng)主要器件包括DS18B20溫度傳感器、AT89C52單片機(jī)、五位LED共陰數(shù)碼管、風(fēng)扇直流電機(jī)、達(dá)林頓反向驅(qū)動(dòng)器ULN2803。輔助元件包括電阻電容、晶振、電源、按鍵、撥碼開關(guān)等。
18、2.1系統(tǒng)器件簡(jiǎn)介2.1.1 DS18B20單線數(shù)字溫度傳感器簡(jiǎn)介DS18B20 單線數(shù)字溫度傳感器是Dallas 半導(dǎo)體公司開發(fā)的世界上第一片支持“一線總線”接口的溫度傳感器。它具有3 引腳TO92 小體積封裝形式。溫度測(cè)量范圍為-55+125,可編程為9 位12 位A/D 轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625。被測(cè)溫度用符號(hào)擴(kuò)展的16 位數(shù)字量方式串行輸出。工作電壓支持3V5.5V 的電壓范圍,既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生。DS18B20 還支持“一線總線”接口,多個(gè)DS18B20可以并聯(lián)到3 根或2 根線上,CPU 只需一根端口線就能與諸多DS18B20 通信,占用微處理器的
19、端口較少,可節(jié)省大量的引線和邏輯電路。它還有存儲(chǔ)用戶定義報(bào)警溫度等功能。DS18B20 內(nèi)部結(jié)構(gòu)如圖2所示,主要由4 部分組成:64 位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH 和TL、配置寄存器。其管腳排列如圖3所示,DQ 為數(shù)字信號(hào)端,GND 為電源地,VDD 為電源輸入端。圖2 DS18B20 內(nèi)部結(jié)構(gòu)2.1.2 達(dá)林頓反向驅(qū)動(dòng)器ULN2803簡(jiǎn)介本系統(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í)際上是一
20、個(gè)集成芯片,單塊芯片可同時(shí)驅(qū)動(dòng)8個(gè)電機(jī)。每個(gè)電機(jī)由單片機(jī)的一個(gè)I/O口控制,單片機(jī)I/O口輸出的為5V的TTL信號(hào)。圖3 DS18B20外形及管腳ULN2803由8個(gè)NPN達(dá)林頓晶體管組裝而成,共18個(gè)引腳,引腳18分別是8路驅(qū)動(dòng)器的輸入端,輸入信號(hào)可直接是TTL或CMOS信號(hào);引腳1118分別是8路驅(qū)動(dòng)器的輸出端;引腳9為接地線,引腳10為電源輸入。當(dāng)輸入TTL信號(hào)為5V或CMOS信號(hào)為615V時(shí),輸出的最大電壓為50V,最大電流為500mA,工作溫度范圍為070。本系統(tǒng)選用的電機(jī)為12V直流無(wú)刷電機(jī),可用ULN2803來(lái)驅(qū)動(dòng)。2.1.3 AT89C52單片機(jī)簡(jiǎn)介AT89C52是一種帶8K字
21、節(jié)閃存可編程可擦除只讀存儲(chǔ)器(FPEROM)256B片內(nèi)RAM的低電壓,高性能CMOS8 位微處理器。該器件采用ATMEL 高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL 的AT89C52 是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。AT89C52單片機(jī)管腳如圖4所示。各管腳功能:VCC:供電電壓。GND:接地。圖4 AT89C52單片機(jī)管腳P0 口:P0 口為一個(gè)8 位漏級(jí)開路雙向I/O 口,每腳可吸收8TTL 門電流。當(dāng)P1 口的管腳第一次寫1 時(shí),被定義為高阻
22、輸入。P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH 編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH 進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0 外部必須被拉高。P1 口:P1 口是一個(gè)內(nèi)部提供上拉電阻的8 位雙向I/O 口,P1 口緩沖器能接收輸出4TTL門電流。P1 口管腳寫入1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH 編程和校驗(yàn)時(shí),P1 口作為第八位地接收。P2 口:P2 口為一個(gè)內(nèi)部上拉電阻的8 位雙向I/O 口,P2 口緩沖器可接收,輸出4 個(gè)TTL 門電流,當(dāng)P2 口被寫“1”時(shí),其管腳
23、被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲(chǔ)器或16 位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3 口:P3 口管腳是8 個(gè)帶內(nèi)部上拉電阻的雙向I/O 口,可接收輸出4 個(gè)TTL 門電流。當(dāng)P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這
24、是由于上拉的緣故。P3 口也可作為AT89C51 的一些特殊功能口。P3.0:RXD(串行輸入口);P3.1:TXD(串行輸出口);P3.2:/INT0(外部中斷0);P3.3:/INT1(外部中斷1);P3.4:T0(記時(shí)器0 外部輸入);P3.5:T1(記時(shí)器1外部輸入);P3.6:/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通);P3.7:/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)。P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH 編程期間,
25、此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE 脈沖。如想禁止ALE 的輸出可在SFR8EH 地址上置0。此時(shí),ALE 只有在執(zhí)行MOVX,MOVC 指令是ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE 禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN 有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN 信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA 保持
26、低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1 時(shí),/EA 將內(nèi)部鎖定為RESET;當(dāng)/EA 端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH 編程期間,此引腳也用于施加12V 編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。2.1.4 LED數(shù)碼管簡(jiǎn)介本系統(tǒng)選用五個(gè)LED數(shù)碼管來(lái)進(jìn)行溫度顯示。LED又稱為數(shù)碼管,它主要是由8段發(fā)光二極管組成的不同組合,其中 ag為數(shù)字和字符顯示段,dp為小數(shù)點(diǎn)的顯示,通過(guò)ag這7個(gè)發(fā)光二極管點(diǎn)亮的不同組合,可以顯示09和AF共16個(gè)數(shù)字和字
27、母。LED數(shù)碼管可以分為共陰極和共陽(yáng)極兩種結(jié)構(gòu),如下圖5(a)和圖5(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ù)稱字形碼,又稱段選碼5 胡全.51單片機(jī)的數(shù)碼管動(dòng)態(tài)顯示技術(shù)J .信息技術(shù),2009,13:25265。一個(gè)共陰極數(shù)碼管接至單片機(jī)的電路,要想顯示數(shù)字“7”須a、b、c這3個(gè)顯示段發(fā)光 (即這3個(gè)字段為高電平)只要在P0口輸入00000111(07H)即可。這里07H即為數(shù)字7的段選碼。字形與段選碼的關(guān)系見表1所示。 數(shù)碼管引腳分配圖 a.共陰極 b
28、.共陽(yáng)極圖5 七段LED數(shù)碼管表1 7段LED的段選碼表顯示字符共陰極段碼共陽(yáng)極段碼顯示字符共陰極段碼共陽(yáng)極段碼03fHC0H87fH80H106HF9H96fH90H25bHA4HA77H88H34fHB0HB7fH83H466H99HC39HC6H56dH92HD3fHA1H67dH82HE79H86H707HF8HF71H8EH2.2 各部分電路設(shè)計(jì)2.2.1 開關(guān)復(fù)位與晶振電路在單片機(jī)應(yīng)用系統(tǒng)中,除單片機(jī)本身需要復(fù)位以外,外部擴(kuò)展I/O接口電路也需要復(fù)位,因此需要一個(gè)包括上電和按鈕復(fù)位在內(nèi)的系統(tǒng)同步復(fù)位電路。單片機(jī)上的XTAL1和XTAL2用來(lái)外接石英晶體和微調(diào)電容,即用來(lái)連接單片機(jī)片
29、內(nèi)OSC的定時(shí)反饋回路。本設(shè)計(jì)中開關(guān)復(fù)位與晶振電路如圖6所示,當(dāng)按下按鍵開關(guān)S1時(shí),系統(tǒng)復(fù)位一次。其中電容C1、C2為20pF,C3為10uF,電阻R2、R3為10k,晶振為11.0592MHz。圖6 系統(tǒng)復(fù)位與晶振電路2.2.3 數(shù)碼管顯示電路本設(shè)計(jì)制作中選用5位共陰極數(shù)碼管作為顯示模塊,它和單片機(jī)硬件的接口如圖8所示。其中前3位數(shù)碼管DS1、DS2、DS3用于顯示溫度傳感器實(shí)時(shí)檢測(cè)采集到的溫度,可精確到0.1攝氏度,顯示范圍為099.9攝氏度;后2位數(shù)碼管DS4、DS5用于顯示系統(tǒng)設(shè)置的初值溫度,只能顯示整數(shù)的溫度值,顯示范圍為099攝氏度。5位數(shù)碼管的段選a、b、c、d、e、f、g、dp
30、線分別與單片機(jī)的P0.0P0.7口連接,其中P0口需接一10K的上拉電阻,以使單片機(jī)的P0口能夠輸出高低電平。5位數(shù)碼管的位選W1W5分別與單片機(jī)的P2.0P2.4口相連接,只要P2.0P2.4中任一位中輸出低電平,則選中與該位相連的數(shù)碼管。圖7 獨(dú)立鍵盤連接電路2.2.4 溫度采集電路DS18B20數(shù)字溫度傳感器通過(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的溫度寄存器中的值
31、就增加1,然后這個(gè)過(guò)程不斷重復(fù),直到高溫度系數(shù)振蕩周期結(jié)束為止。此時(shí)溫度寄存器中的值即為被測(cè)溫度值,這個(gè)值以16位二進(jìn)制形式存放在存儲(chǔ)器中,通過(guò)主機(jī)發(fā)送存儲(chǔ)器讀命令可讀出此溫度值,讀取時(shí)低位在前,高位在后,依次進(jìn)行。由于溫度振蕩器的拋物線特性的影響,其內(nèi)用斜率累加器進(jìn)行補(bǔ)償 6 李鋼,趙彥峰.1-Wire總線數(shù)字溫度傳感器DSI8B20原理及應(yīng)用J.現(xiàn)代電子技術(shù),2005,28(21):7779.6。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 馬云峰.單
32、片機(jī)與數(shù)字溫度傳感器DS18B20的接口設(shè)計(jì)J.計(jì)算機(jī)測(cè)量與控制,2007,10(4):278280.。在本設(shè)計(jì)中將DS18B20接在P1.7口實(shí)現(xiàn)溫度的采集。其與單片機(jī)的連接如圖9所示。圖8 數(shù)碼管顯示電路圖9 溫度采集電路2.2.5 風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路本設(shè)計(jì)中由單片機(jī)的I/O口輸出PWM脈沖,通過(guò)一個(gè)達(dá)林頓反向驅(qū)動(dòng)器ULN2803驅(qū)動(dòng)12V直流無(wú)刷風(fēng)扇電機(jī)以及實(shí)現(xiàn)風(fēng)扇電機(jī)速度的調(diào)節(jié)。鍵盤控制設(shè)置溫度,通過(guò)軟件向單片機(jī)輸入相應(yīng)控制指令,由單片機(jī)通過(guò)P1.7口輸出與轉(zhuǎn)速相應(yīng)的PWM脈沖,經(jīng)過(guò)ULN2803驅(qū)動(dòng)風(fēng)扇直流電機(jī)控制電路,實(shí)現(xiàn)電機(jī)轉(zhuǎn)速與啟停的自動(dòng)控制8 王會(huì)明,侯加林. 智能電風(fēng)扇
33、控制器的研制J. 電子與自動(dòng)化,1998,5(4):2526.。當(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ī)重新啟動(dòng)。電路如圖10所示,風(fēng)扇電機(jī)的一端接12V電源,另一端接ULN2803的OUT7引腳,ULN2803的IN7引腳與單片機(jī)的P3.1引腳相連,通過(guò)控制單片機(jī)的P3.1引腳輸出PWM信號(hào),由此控制風(fēng)扇直流電機(jī)的速度與啟停。系統(tǒng)選用的風(fēng)扇電機(jī)為12V直流無(wú)刷電機(jī),單達(dá)林頓反向驅(qū)動(dòng)器ULN2803輸入TTL信號(hào)為5V或CMOS信號(hào)為615V時(shí),輸出的最大電壓
34、為50V,最大電流為500mA,工作溫度范圍為070。本系統(tǒng)中單片機(jī)I/O口輸出的TTL信號(hào)為5V,因此此風(fēng)扇電機(jī)可以用ULN2803來(lái)驅(qū)動(dòng)。圖10 風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電第三章 軟件設(shè)計(jì)3.1 程序設(shè)置程序設(shè)計(jì)部分主要包括主程序、DS18B20初始化函數(shù)、DS18B20溫度轉(zhuǎn)換函數(shù)、溫度讀取函數(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)行分析出
35、理,為電機(jī)轉(zhuǎn)速的變化提供條件;風(fēng)扇電機(jī)控制函數(shù)則根據(jù)溫度的數(shù)值完成對(duì)電機(jī)轉(zhuǎn)速及啟停的控制。主程序流程圖如圖11:主程序開始程序初始化調(diào)用DS18B20初始化函數(shù)調(diào)用DS18B20溫度轉(zhuǎn)換函數(shù)調(diào)用溫度讀取函數(shù)調(diào)用鍵盤掃描函數(shù)調(diào)用數(shù)碼管顯示函數(shù)調(diào)用溫度處理函數(shù)調(diào)用風(fēng)扇電機(jī)控制函數(shù)結(jié)束 圖11 主程序流程圖3.2 用Keil C51編寫程序Keil C51是美國(guó)Keil Software公司開發(fā)的51系列兼容單片機(jī)C語(yǔ)言的軟件開發(fā)系統(tǒng),與單片機(jī)匯編語(yǔ)言相比,C語(yǔ)言在不僅語(yǔ)句簡(jiǎn)單靈活,而且編寫的函數(shù)模塊可移植性強(qiáng)9 譚浩強(qiáng).C程序設(shè)計(jì)M(第三版).北京:清華大學(xué)出版社.2005.3765.,因而易學(xué)易
36、用,效率高。隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前使用較多的MCS-51系列單片機(jī)開發(fā)的軟件。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)試。Keil C51的使用界面如圖12。圖12 Keil C51的使用界面3.3 用Proteus進(jìn)行仿真3.3.1 Proteus簡(jiǎn)介Proteus軟件是來(lái)自英國(guó)Labcenter electronics公司的EDA工具
37、軟件。Proteus軟件有十多年的歷史,在全球廣泛使用,它不僅和其它EDA工具一樣有原理布圖、PCB自動(dòng)或人工布線及電路仿真的功能,而且更重要的功能是,他的電路仿真是互動(dòng)的,可以根據(jù)仿真實(shí)時(shí)觀察到得現(xiàn)象驗(yàn)證設(shè)計(jì)的正確性及準(zhǔn)確性并及時(shí)改變程序代碼、原理圖連接以及元件屬性等。它還能配合系統(tǒng)配置的虛擬儀器來(lái)顯示和輸出,如示波器、邏輯分析儀等10 孫號(hào).Proteus軟件在設(shè)計(jì)電子電路中的應(yīng)用J .儀表技術(shù),2009,8:7475,效果很好。Proteus有4個(gè)功能模塊:智能原理圖設(shè)計(jì)、完善的電路仿真功能、獨(dú)特的單片機(jī)協(xié)同仿真功能以及實(shí)用的PCB設(shè)計(jì)平臺(tái)。其內(nèi)部元件庫(kù)含有豐富的元件,支持總線結(jié)構(gòu)以及智
38、能化的連線功能;支持主流CPU(如ARM、8051/52、AVR)及其通用外設(shè)模型的實(shí)時(shí)仿真等,為單片機(jī)的開發(fā)應(yīng)用等帶來(lái)極大的便利。軟件使用的主界面如圖13。圖13 Proteus使用界面3.3.2 本設(shè)計(jì)基于Proteus的仿真 首先啟動(dòng)Proteus軟件并建立一工程,然后根據(jù)原理圖調(diào)出相應(yīng)的原件,再根據(jù)要求改變各原件的屬性并把各個(gè)原件按原理圖連接起來(lái)。在原理圖繪制連接好后再把編譯好的程序加載到其中11 樓俊軍.基于Proteus和Keil的單片機(jī)演奏樂(lè)曲的實(shí)現(xiàn)J.科技信息,2010,23:第50頁(yè)。最后根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能分步進(jìn)行仿真12 王文海,周歡喜.用Proteus實(shí)現(xiàn)51單片機(jī)的動(dòng)
39、態(tài)仿真調(diào)試J .IT技術(shù),2006,20:1011。把溫度傳感器DS18B20溫度設(shè)置為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,如圖14所示。圖14 Proteus仿真效果圖一當(dāng)把溫度傳感器DS18B20溫度設(shè)置為28.4攝氏度,用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)的溫度為22攝氏度。點(diǎn)擊開始按鈕,系統(tǒng)開始仿真,待一段時(shí)間穩(wěn)定后,觀察到此時(shí)直流風(fēng)扇電機(jī)的轉(zhuǎn)速為+23.3 r/s,如圖15所示。圖15 Proteus仿真效果圖二 當(dāng)把溫度傳感器DS18B20溫度設(shè)置為33.4攝氏度,用鍵盤S2調(diào)節(jié)系
40、統(tǒng)預(yù)設(shè)的溫度為22攝氏度。點(diǎn)擊開始按鈕,系統(tǒng)開始仿真,待一段時(shí)間穩(wěn)定后,觀察到此時(shí)直流風(fēng)扇電機(jī)的轉(zhuǎn)速為+32.0 r/s,如圖16所示。圖16 Proteus仿真效果圖三在上一步仿真的基礎(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)的功能,如圖17所示。圖17 Proteus仿真效果圖四 通過(guò)以上仿真可以看出,直流風(fēng)扇電機(jī)在系統(tǒng)設(shè)定溫度一定的情況下,其轉(zhuǎn)速隨著環(huán)境溫度(溫度傳感器檢測(cè)到的溫度)的增加而增大
41、。當(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)然,在此沒有實(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è)定的某一界限時(shí)轉(zhuǎn)速才會(huì)變化。第四章 系統(tǒng)調(diào)試4.1 軟件調(diào)試4.1.1 按鍵顯示部分的調(diào)試起初根據(jù)設(shè)計(jì)編寫的系統(tǒng)程序:程序的鍵盤接口采用P1口,數(shù)碼管顯示采用P0口控制LED的斷碼,P2口控制LED的位碼,從而實(shí)現(xiàn)鍵盤功能及數(shù)碼管的顯示。經(jīng)過(guò)編譯沒有出錯(cuò),但在仿真調(diào)試時(shí),數(shù)碼管顯示的只是亂碼,沒有正確的顯示溫度,按鍵功能也不靈,當(dāng)按下鍵時(shí),顯示并不變化。經(jīng)過(guò)查找分
42、析,發(fā)現(xiàn)鍵盤掃描程序沒有沒有按鍵消抖部分,按鍵在按下與松手時(shí),都會(huì)有一定程度的抖動(dòng),從而可能使單片機(jī)做出錯(cuò)誤的判斷,導(dǎo)致按鍵條件預(yù)設(shè)溫度時(shí)失靈,甚至根本不能工作。因此必須在按鍵掃描程序中加入消抖部分,即在按鍵按下與松手時(shí)加入延時(shí)判斷,以檢測(cè)鍵盤是否真的按下或已完全松手。數(shù)碼管不能正確的顯示,主要是因?yàn)樗詳?shù)碼管的段碼都由P0口傳送,而數(shù)碼管顯示又采用了動(dòng)態(tài)掃描的方式,但在程序中卻沒有設(shè)置顯示段碼的暫存器,導(dǎo)致當(dāng)P0口傳送段碼時(shí)發(fā)生混亂,不能正確識(shí)別段碼。應(yīng)在系統(tǒng)中加入鎖存器,或是在程序中設(shè)定存儲(chǔ)段碼的空間。在鍵盤加入了消抖程序,數(shù)碼管顯示程序中加入了段碼的存儲(chǔ)空間后,數(shù)碼管能夠正常的顯示,按鍵
43、也能夠工作,達(dá)到了較好的效果。4.1.2 傳感器DS18B20溫度采集部分調(diào)試 由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,為軟件的設(shè)計(jì)和調(diào)試帶來(lái)了極大的簡(jiǎn)便,小體積、低功耗、高精度為控制電機(jī)的精度和穩(wěn)定提供了可能。軟件設(shè)計(jì)采用P3.1口為數(shù)字溫度輸入口,但是需要對(duì)輸入的數(shù)字信號(hào)進(jìn)行處理后才能顯示,從而多了溫度轉(zhuǎn)換程序。通過(guò)軟件設(shè)計(jì),實(shí)現(xiàn)了對(duì)環(huán)境溫度的連續(xù)檢測(cè),由于硬件LED個(gè)數(shù)的限制,只顯示了預(yù)設(shè)溫度的整數(shù)部分。在溫度轉(zhuǎn)換程序中,為了能夠正確的檢測(cè)并顯示溫度的小數(shù)位,程序中把檢測(cè)的溫度與10相乘后,再按一個(gè)三位的整數(shù)來(lái)處理。如把24.5變?yōu)?45來(lái)處理,這樣為程序的編寫帶來(lái)了方便。4
44、.1.3 電動(dòng)機(jī)調(diào)速電路部分調(diào)試在本設(shè)計(jì)中,采用了達(dá)林頓反向驅(qū)動(dòng)器ULN2803驅(qū)動(dòng)直流電機(jī),其可驅(qū)動(dòng)八個(gè)直流電機(jī),本系統(tǒng)僅驅(qū)動(dòng)一個(gè)。軟件設(shè)置了P3.1口輸出不同的PWM波形,通過(guò)達(dá)林頓反向驅(qū)動(dòng)器ULN2803驅(qū)動(dòng)直流電機(jī)轉(zhuǎn)動(dòng),通過(guò)軟件中程序設(shè)定,根據(jù)不同溫度輸出不同的PWM波,從而得到不同的占空比控制風(fēng)扇直流電機(jī)。程序?qū)崿F(xiàn)了P3.1口的PWM波形輸出,當(dāng)外界溫度低于設(shè)置溫度時(shí),電機(jī)不轉(zhuǎn)動(dòng)或自動(dòng)停止轉(zhuǎn)動(dòng);當(dāng)外界溫度高于設(shè)置溫度時(shí),電機(jī)的轉(zhuǎn)速升高或是自動(dòng)開始轉(zhuǎn)動(dòng),且外界溫度與設(shè)置溫度的差值越大,電機(jī)轉(zhuǎn)速越高,即占空比增加。在本系統(tǒng)中風(fēng)扇電機(jī)的轉(zhuǎn)速可實(shí)現(xiàn)四級(jí)調(diào)速。通過(guò)溫度傳感器檢測(cè)的溫度與系統(tǒng)預(yù)設(shè)
45、溫度值的比較,實(shí)現(xiàn)轉(zhuǎn)速變換。當(dāng)檢測(cè)到的溫度比預(yù)設(shè)的溫度每增加5攝氏度時(shí),風(fēng)扇電機(jī)轉(zhuǎn)速增加一級(jí)。4.2 硬件調(diào)試4.2.1 按鍵顯示部分的調(diào)試 系統(tǒng)按鍵部分實(shí)現(xiàn)了以下功能:按下P1.3口鍵,LED的后兩位顯示溫度值增一;按下P1.4口鍵,LED的后兩位顯示溫度值減一。調(diào)試過(guò)程中出現(xiàn)了當(dāng)按鍵時(shí)間過(guò)長(zhǎng)時(shí),設(shè)置的溫度值不是增一或者減一,而是增加后減少幾個(gè)值,出現(xiàn)這種情況的主要元嬰可能是按鍵的去抖動(dòng)延時(shí)時(shí)間過(guò)長(zhǎng)造成,改進(jìn)方法為將對(duì)應(yīng)的按鍵去抖動(dòng)延時(shí)時(shí)間適量增加,但也不應(yīng)過(guò)長(zhǎng),否則將出現(xiàn)按鍵無(wú)效的情形。系統(tǒng)顯示部分實(shí)現(xiàn)了以下功能:LED顯示的前三位實(shí)現(xiàn)了環(huán)境溫度整數(shù)部分與小數(shù)部分的連續(xù)顯示,LED的后兩位
46、能根據(jù)按鍵的調(diào)整顯示所需要的設(shè)計(jì)溫度。且LED的顯示效果很好,很穩(wěn)定。4.2.2 傳感器DS18B20溫度采集部分調(diào)試將DS18B20芯片接在系統(tǒng)板對(duì)應(yīng)的P3.1口,通過(guò)插針在對(duì)應(yīng)系統(tǒng)板的右下側(cè)三口即為對(duì)應(yīng)的VCC、P3.1和GND,可將芯片直接插在該插針上,因此即為方便。系統(tǒng)調(diào)試中為驗(yàn)證DS18B20是否能在系統(tǒng)板上工作,將手心靠攏或者捏住芯片,即可發(fā)現(xiàn)LED顯示的前兩位溫度也迅速升高,驗(yàn)證了DS18B20能在系統(tǒng)板上工作。由于DS18B20為3個(gè)引腳,因此在調(diào)試過(guò)程中因注意其各個(gè)引腳的對(duì)應(yīng)位置,以免將其接反而是芯片不能工作甚至燒毀芯片。4.2.3 電動(dòng)機(jī)調(diào)速電路部分調(diào)試系統(tǒng)本部分的設(shè)計(jì)中重
47、在軟件設(shè)計(jì),因?yàn)橥鈬尿?qū)動(dòng)電路只是將送來(lái)的PWM信號(hào)放大從而驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。系統(tǒng)軟件設(shè)置在P3.1口輸出使電機(jī)轉(zhuǎn)動(dòng)的PWM占空比,當(dāng)環(huán)境溫度高于設(shè)置溫度時(shí),電機(jī)開始轉(zhuǎn)動(dòng),若此時(shí)用高于環(huán)境溫度的熱源靠近測(cè)溫芯片DS18B20時(shí),發(fā)現(xiàn)電機(jī)的轉(zhuǎn)速在升高,并越來(lái)越快,當(dāng)達(dá)到一定值時(shí),發(fā)現(xiàn)電機(jī)的轉(zhuǎn)速不再升高;將熱源離開測(cè)溫芯片DS18B20時(shí),發(fā)現(xiàn)電機(jī)的轉(zhuǎn)速開始下降,轉(zhuǎn)速達(dá)到一定值時(shí),若將設(shè)置溫度升高到環(huán)境溫度以上,發(fā)現(xiàn)電機(jī)又停止了轉(zhuǎn)動(dòng)。系統(tǒng)采用的直流電機(jī)為12V的額定電壓,而該驅(qū)動(dòng)電路在采用單片機(jī)電源時(shí)的輸出電壓最高不過(guò)5V,因此在調(diào)試過(guò)程中只采用了原有的5V直流電機(jī)來(lái)調(diào)試,且得到了可觀的控制效果。4.
48、3 系統(tǒng)功能4.3.1 系統(tǒng)實(shí)現(xiàn)的功能本系統(tǒng)能夠?qū)崿F(xiàn)單片機(jī)系統(tǒng)檢測(cè)環(huán)境溫度的變化,然后根據(jù)環(huán)境溫度變化來(lái)控制風(fēng)扇直流電機(jī)輸入占空比的變化,從而產(chǎn)生不同的轉(zhuǎn)動(dòng)速度,亦可根據(jù)鍵盤調(diào)節(jié)不同的設(shè)置溫度,再由環(huán)境溫度與設(shè)置溫度的差值來(lái)控制電機(jī)。當(dāng)環(huán)境溫度低于設(shè)置溫度時(shí),電機(jī)停止轉(zhuǎn)動(dòng);當(dāng)環(huán)境溫度高于設(shè)置溫度時(shí),單片機(jī)對(duì)應(yīng)輸出口輸出不同占空比的PWM信號(hào),控制電機(jī)開始轉(zhuǎn)動(dòng),并隨著環(huán)境溫度與設(shè)置溫度的差值的增加電機(jī)的轉(zhuǎn)速逐漸升高。 系統(tǒng)還能動(dòng)態(tài)的顯示當(dāng)前溫度和設(shè)置溫度,并能通過(guò)鍵盤調(diào)節(jié)當(dāng)前的設(shè)置溫度。4.3.2 系統(tǒng)功能分析 系統(tǒng)總體上由五部分來(lái)組成,既按鍵與復(fù)位電路、數(shù)碼管顯示電路、溫度檢測(cè)電路、電機(jī)驅(qū)動(dòng)電
49、路。首先考濾的是溫度檢測(cè)電路,該部分是整個(gè)系統(tǒng)的首要部分,首先要檢測(cè)到環(huán)境溫度,才能用單片機(jī)來(lái)判斷溫度的高低,然后通過(guò)單片機(jī)控制直流風(fēng)扇電機(jī)的轉(zhuǎn)速;其次是電機(jī)驅(qū)動(dòng)電路,該部分需要使用外圍電路將單片機(jī)輸出的PWM信號(hào)轉(zhuǎn)化為平均電壓輸出,根據(jù)不同的PWM波形得到不同的平均電壓,從而控制電機(jī)的轉(zhuǎn)速,電路的設(shè)計(jì)中采用了達(dá)林頓反向驅(qū)動(dòng)器ULN2803,實(shí)現(xiàn)較好的控制效果;再次是數(shù)碼管的動(dòng)態(tài)顯示電路,該部分的功能實(shí)現(xiàn)對(duì)環(huán)境溫度和設(shè)置溫度的顯示,其中DS18B20采集環(huán)境溫度,按鍵實(shí)現(xiàn)不同設(shè)置溫度的調(diào)整,實(shí)現(xiàn)了對(duì)環(huán)境溫度和設(shè)置溫度的及時(shí)連續(xù)顯示。結(jié) 論 本次設(shè)計(jì)的系統(tǒng)以單片機(jī)為控制核心,以溫度傳感器DS18
50、B20檢測(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í)現(xiàn)了基于單片機(jī)的溫控風(fēng)扇的設(shè)計(jì)。本系統(tǒng)設(shè)計(jì)可推廣到各種電動(dòng)機(jī)的控制系統(tǒng)中,實(shí)現(xiàn)電動(dòng)機(jī)的轉(zhuǎn)速調(diào)節(jié)。在生產(chǎn)生活中,本系統(tǒng)可用于簡(jiǎn)單的日常風(fēng)扇的智能控制,為生活帶來(lái)便利;在工業(yè)生產(chǎn)中,可以改變不同的輸入信號(hào),實(shí)現(xiàn)對(duì)不同信號(hào)輸入控制電機(jī)的轉(zhuǎn)速,進(jìn)而實(shí)現(xiàn)生產(chǎn)自動(dòng)化,如在電力系統(tǒng)中可以根據(jù)不同的負(fù)荷達(dá)到不同的電壓信號(hào),再由電壓信號(hào)調(diào)節(jié)不同的發(fā)電機(jī)轉(zhuǎn)速,進(jìn)而調(diào)節(jié)發(fā)電量,
51、實(shí)現(xiàn)電力系統(tǒng)的自動(dòng)化調(diào)節(jié)。綜上所述,該系統(tǒng)的設(shè)計(jì)和研究在社會(huì)生產(chǎn)和生活中具有重要地位。參考文獻(xiàn)1 李學(xué)龍.使用單片機(jī)控制的智能遙控電風(fēng)扇控制器J.電子電路制作,2003,9:1315.2 藍(lán)厚榮.單片機(jī)的PWM控制技術(shù)J.工業(yè)控制計(jì)算機(jī).2010,23(3):97983 郭天祥.新概念51單片機(jī)C語(yǔ)言教程M.北京:電子工業(yè)出版社.2009.3423444 胡漢才.單片機(jī)原理及其接口技術(shù)M(第2版).北京:清華大學(xué)出版社.2004.4977.5 胡全. 51單片機(jī)的數(shù)碼管動(dòng)態(tài)顯示技術(shù)J .信息技術(shù),2009,13:25266 李鋼,趙彥峰.1-Wire總線數(shù)字溫度傳感器DSI8B20原理及應(yīng)用J
52、.現(xiàn)代電子技術(shù),2005,28(21):7779.7 馬云峰.單片機(jī)與數(shù)字溫度傳感器DS18B20的接口設(shè)計(jì)J.計(jì)算機(jī)測(cè)量與控制,2007,10(4):278280.8 王會(huì)明,侯加林.智能電風(fēng)扇控制器的研制J.電子與自動(dòng)化,1998,5(4):2526.9 譚浩強(qiáng).C程序設(shè)計(jì)M(第三版).北京:清華大學(xué)出版社.2005.3765.10 孫號(hào). Proteus軟件在設(shè)計(jì)電子電路中的應(yīng)用J.儀表技術(shù),2009,8:747511 樓俊軍.基于Proteus和Keil的單片機(jī)演奏樂(lè)曲的實(shí)現(xiàn)J .科技信息,2010,23:第50頁(yè)12 王文海,周歡喜.用Proteus實(shí)現(xiàn)51單片機(jī)的動(dòng)態(tài)仿真調(diào)試J.I
53、T技術(shù),2006,20:101113 丁建軍,陳定方,周國(guó)柱. 基于AT89C51的智能電風(fēng)扇控制系統(tǒng)J.湖北工學(xué)院學(xué)報(bào),2003,18(2):6063.14 王會(huì)明,侯加林. 智能電風(fēng)扇控制器的研制J. 電子與自動(dòng)化,1998,5(4):2526.15 劉進(jìn)山. 基于MCS-51電風(fēng)扇智能調(diào)速器的設(shè)計(jì)J. 廣州:電子質(zhì)量,2004,10(10):71.16 YU Qihao,CHENG Guodong,NIU Fujun. The application of auto-temperature-controlled ventilation embankment in Qinghai-Tibe
54、t Railway J. Science in China SerD Earth Sciences,2004,1(47):168176.17 YLai,Y,Wang. Threedimensional nonlinear analysis for temperature characteristic of ventilated embankment in permafrost regions J. Cold Regions Science and Technology,2004,38(2):165184.18 Cheng Guodong. Linearity engineering in permafrost areas J. Journal of Glaciology and Geocryology(in Chinese),2001,23(3):213217.19 B SchneierApplied Crytography:Algorithms,and Source Code in CJNew Yo
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 有關(guān)幼兒園防洪澇災(zāi)害應(yīng)急預(yù)案(3篇)
- 領(lǐng)工資委托書
- 舞蹈培訓(xùn)班合作協(xié)議(3篇)
- 直播流程方案
- 門診的年終總結(jié)
- 酒店員工述職報(bào)告匯編5篇
- 珍愛生命主題班會(huì)教案
- 23.5 位似圖形 同步練習(xí)
- 江西上饒市2024-2025七年級(jí)歷史期中試卷(含答案)
- 河北省秦皇島市盧龍縣2024-2025學(xué)年七年級(jí)上學(xué)期期中生物試題
- JIT、QR與供應(yīng)鏈管理課件
- 車輛采購(gòu)服務(wù)投標(biāo)方案(完整技術(shù)標(biāo))
- 2022年長(zhǎng)江產(chǎn)業(yè)投資集團(tuán)限公司招聘【150人】上岸筆試歷年難、易錯(cuò)點(diǎn)考題附帶參考答案與詳解
- 《大學(xué)生軍事理論教程》第四章
- 光伏發(fā)電項(xiàng)目達(dá)標(biāo)投產(chǎn)實(shí)施細(xì)則之歐陽(yáng)科創(chuàng)編
- 預(yù)防事故和職業(yè)危害的措施及應(yīng)注意的安全事項(xiàng)課件
- 基于Android的個(gè)性化天氣預(yù)報(bào)系統(tǒng)的設(shè)計(jì)與軟件實(shí)現(xiàn)
- 第屆世界旅游小姐大賽中國(guó)云南總決賽招商贊助方案
- 愛立信網(wǎng)管BO操作流程
- 《神經(jīng)生物學(xué)》-膠質(zhì)細(xì)胞課件
- 魯科版四年級(jí)上冊(cè)英語(yǔ)每單元重點(diǎn)
評(píng)論
0/150
提交評(píng)論