版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于單片機智能溫控風(fēng)扇設(shè)計基于51單片機的智能溫控風(fēng)扇設(shè)計摘要:本設(shè)計是一個智能溫控風(fēng)扇系統(tǒng),由單片機控制,可以根據(jù)環(huán)境溫度情況自動開通和關(guān)閉,具有性能穩(wěn)定、安全可靠,控制準(zhǔn)確的優(yōu)點。單片機STC89C51和溫度感應(yīng)器DS18B20是本設(shè)計的硬件配置關(guān)鍵。系統(tǒng)由對溫度敏感的傳感器DS18B20完成對外界溫度的感知、檢測,再將檢測到的溫度信號在DS18B20內(nèi)部轉(zhuǎn)化為可被單片機接收的數(shù)字信號,經(jīng)由單線接口送給單片機STC89C51分析處理,實現(xiàn)對溫度的感知、檢測、顯示和對風(fēng)扇轉(zhuǎn)速的自動控制功能。使用者可以按照自身的需要自由地設(shè)定溫度上下限,溫度感應(yīng)器DS18B20內(nèi)部結(jié)構(gòu)中的EEPROM具備關(guān)閉電源后仍能儲存最終設(shè)定值的特性,可以將用戶設(shè)置的上、下限溫度值儲存在EEPROM中。如果測得溫度在使用者設(shè)定的上限值與下限值之間,風(fēng)扇低溫檔位打開。若溫度逐漸升高,最終超過用戶設(shè)定的溫度上限值,單片機將控制風(fēng)扇提高轉(zhuǎn)速,將風(fēng)速提升到高溫檔范疇。當(dāng)溫度降低到小于設(shè)置的溫度最低值時,微處理器將控制風(fēng)扇電機自動關(guān)掉。智能溫控風(fēng)扇系統(tǒng)運作情況隨外部溫度轉(zhuǎn)變,具有“溫度低、風(fēng)力弱、溫度高、風(fēng)力強”的特點,不用人工干預(yù)就可以完成對風(fēng)扇運行狀態(tài)的控制。
1引言1.1課題背景及其意義近些年來,溫室效應(yīng)導(dǎo)致全球氣溫上升,在我國,夏季溫度不斷突破歷史新高,各地居民對防暑降溫的需求也不斷提升,空調(diào)行業(yè)因此而發(fā)展迅速,資本大量進入,技術(shù)取得不斷突破,價格大幅降低,空調(diào)成為了城市居民夏季防暑降溫的第一選擇。與此相對應(yīng)的是作為早期防暑降溫設(shè)備的電風(fēng)扇,在逐漸淡出人們的視野,導(dǎo)致許多人認為電風(fēng)扇行業(yè)已經(jīng)是“夕陽產(chǎn)業(yè)”。但客觀事實并不是這樣。電風(fēng)扇有中央空調(diào)沒有的優(yōu)點。首先,電扇的制冷原理和中央空調(diào)不一樣。中央空調(diào)可以根據(jù)其強悍的致冷功能迅速地降低房間溫度,但不適宜老年人、少年兒童等身體素質(zhì)偏弱的群體。電風(fēng)扇是通過葉片的轉(zhuǎn)動,產(chǎn)生風(fēng)力,促進空氣的循環(huán)流通來實現(xiàn)降溫,更為溫和,對體質(zhì)弱的人更加友好。其次,很多空調(diào)使用氟利昂作為制冷劑,氟利昂會破壞臭氧,增加紫外線照射,使地球變暖,而電風(fēng)扇更為節(jié)能環(huán)保。第三,電風(fēng)扇的價格相對空調(diào)更加便宜,安裝和使用也更加簡單,非常適合生活在農(nóng)村地區(qū)的家庭。因此,家用電風(fēng)扇在農(nóng)村地區(qū)是非常受歡迎的,銷量也非常高??萍荚诓粩喟l(fā)展,人們的生活水平也不斷提高,機械式控制的傳統(tǒng)電風(fēng)扇功能少,噪音大,需要使用者手動調(diào)檔,現(xiàn)在,市場上已經(jīng)出現(xiàn)了很多自動化、智能化的家用電器產(chǎn)品,家用電風(fēng)扇也可由微型計算機進行控制,根據(jù)環(huán)境溫度,自動調(diào)節(jié)風(fēng)力的智能溫控風(fēng)扇,更加人性化,必然更受用戶歡迎。本設(shè)計為一種智能式溫控風(fēng)扇系統(tǒng),旨在實現(xiàn)風(fēng)扇轉(zhuǎn)速由單片機系統(tǒng)控制,減少人的手動干預(yù)。系統(tǒng)共由硬件和軟件兩部分組成。單片機STC89C51、顯示數(shù)碼管和溫度感應(yīng)器DS18B20是本設(shè)計的硬件配置關(guān)鍵,主程序和電機調(diào)速程序是設(shè)計的軟件核心。用戶可根據(jù)需要,在溫度傳感器測溫范圍內(nèi)自由設(shè)定溫度上、下限。智能式溫控風(fēng)扇系統(tǒng)的運行狀態(tài)隨外界溫度而發(fā)生改變,控制系統(tǒng)可自動分析溫度信號、判斷將要執(zhí)行的控制狀態(tài)、下達控制命令,送至執(zhí)行部件,完成對風(fēng)扇運行狀態(tài)的控制,整個過程不再需要人手動干預(yù)。與溫度有關(guān)的設(shè)備,是滲透在我們的日常生活中的,電風(fēng)扇作為夏季防暑降溫必不可少的設(shè)備,發(fā)展前景廣闊,在城市地區(qū),大多數(shù)家庭都可以使用空調(diào)防暑降溫,但在廣大的農(nóng)村地區(qū),還有很多家庭還沒有安裝使用空調(diào)防暑降溫的條件,因此,他們大多使用電風(fēng)扇作為降溫設(shè)備。傳統(tǒng)的電風(fēng)扇通常由220V交流電供電,使用電容式單相交流異步電動機,設(shè)置有調(diào)速開關(guān)和定時器開關(guān),不同檔位的電機轉(zhuǎn)速,需要使用者手動調(diào)節(jié),從而達到改變風(fēng)速的目的。傳統(tǒng)電風(fēng)扇雖然低價環(huán)保,深受市場歡迎,但功能過于簡單。盡管有調(diào)節(jié)檔位的功能,但這必須要通過人工調(diào)節(jié)才可以實現(xiàn),對處于睡眠狀態(tài)的人,此項功能沒有作用。在夏季和秋季交替的時候,晝夜之間的溫差非常大,白天多酷熱高溫,電風(fēng)扇需要提高轉(zhuǎn)速、增大風(fēng)力,促進室內(nèi)空氣快速流通來迅速降低溫度,夜間則多為悶熱,且人們需要睡眠休息,電風(fēng)扇則需要降低轉(zhuǎn)速、減小風(fēng)力,減小噪聲,使人們可以舒適的休息。但到了后半夜人們睡著之后,室內(nèi)溫度降低,風(fēng)扇繼續(xù)運行既消耗電力又容易使人感冒,需要被關(guān)閉,而傳統(tǒng)的電風(fēng)扇是不能滿足上述需求的。因此,設(shè)計一款可以根據(jù)環(huán)境溫度情況自動開通和關(guān)閉的智能溫控風(fēng)扇系統(tǒng),具有一定的意義,它將具有非常廣泛的應(yīng)用。1.2本設(shè)計主要任務(wù)本設(shè)計主要任務(wù)如下:風(fēng)扇轉(zhuǎn)速由單片機自動控制,不用人手動調(diào)節(jié)。系統(tǒng)自動檢測、顯示環(huán)境溫度。設(shè)置高溫、低溫兩個不同的檔位,由使用者按鍵設(shè)置。當(dāng)環(huán)境溫度達到設(shè)定值時,電風(fēng)扇檔位自動改變。使用者自由設(shè)定溫度上下限。環(huán)境溫度低于下限值時,風(fēng)扇自動停機。
2方案論證本設(shè)計制作了一種智能溫控風(fēng)扇,使風(fēng)扇轉(zhuǎn)速可以隨溫度信號自動變化,減少使用者的手動操作。結(jié)合按鍵和編程技術(shù),可以使用戶自由、簡單的設(shè)置溫度上、下限,滿足不同使用者的需求。要實現(xiàn)單片機自動控制風(fēng)扇在不同溫度時達到不同的轉(zhuǎn)速,需要有能實時感知環(huán)境溫度、處理溫度信號、下達控制指令的核心元器件和準(zhǔn)確可靠的指令執(zhí)行部件。下面對一些重要器件的選用展開分析。2.1溫度傳感器方案一:熱敏電阻。熱敏電阻對溫度敏感,電阻值會隨著溫度的變化而改變,從而產(chǎn)生模擬信號,隨后利用A/D轉(zhuǎn)化器將這部分模擬信號轉(zhuǎn)化數(shù)字信號,發(fā)送給單片機處理。方案二:熱電偶。熱電偶是溫度精確測量中最普遍的測溫器件,它可以直接在-40℃至+1600℃環(huán)境下連續(xù)測溫,測溫范圍完全滿足設(shè)計需求,而且它與被測目標(biāo)直接接觸,不易受到干擾,測溫過程比較穩(wěn)定。方案三:溫度傳感器DS18B20。高度集成化的DS18B20可將溫度信號直接在內(nèi)部轉(zhuǎn)換成數(shù)字量輸出,且從傳感器到中央處理器僅需連接一條線,接口簡單、抗干擾能力強,有利于簡化系統(tǒng)程序設(shè)計。就方案一而言,價格便宜、成本較低是熱敏電阻的最大特點,但熱敏電阻的線性度比較差,且在使用過程中需要用到電流源,在采集溫度時容易產(chǎn)生誤差。且模擬信號需要外接電路轉(zhuǎn)換為數(shù)字信號才可以被單片機接收,但外接電路運行過程中電阻產(chǎn)生的溫度也會對溫度的檢測產(chǎn)生影響。而對于方案二來說,使用熱電偶作為測溫元件,也必然要搭配用于處理測量結(jié)果的外接電路,雖然熱電偶是應(yīng)用最普遍的溫度傳感器,但它并不適合精度較高的應(yīng)用。方案三要考慮的就是DS18B20采集環(huán)境溫度,并將溫度信號在內(nèi)部轉(zhuǎn)化為數(shù)字信號,傳輸給單片機系統(tǒng)處理REF_Ref100999352\r\h[1]。接口簡單、通信便捷,測溫范圍從-55℃至+125℃,分辨力高、集成度高,可以在1秒內(nèi)把溫度信號變換為數(shù)字信號,不用外接轉(zhuǎn)換電路,就可送至控制系統(tǒng)分析處理,相較于熱敏電阻和熱電偶有效降低了電路復(fù)雜度和溫度誤差。故本設(shè)計系統(tǒng)采用了DS18B20作為溫度傳感器。2.2控制核心方案一:采用純硬件電路設(shè)計。方案二:采用單片機電路設(shè)計。兩個的優(yōu)缺點以及注意事項:方案一,采用純硬件電路構(gòu)建控制核心的優(yōu)點是無需設(shè)計軟件。缺點是硬件電路會變的非常復(fù)雜,搭建出來的電路穩(wěn)定性較差。方案二,采用STC89C51單片機控制整個系統(tǒng)的運行,使用程序?qū)囟刃盘栠M行分析,可以在環(huán)境溫度發(fā)生變化時快速做出反應(yīng),調(diào)控風(fēng)扇轉(zhuǎn)速,實現(xiàn)設(shè)計目標(biāo)。故本設(shè)計系統(tǒng)采用單片機作為控制部件,發(fā)送控制信號,調(diào)控風(fēng)扇風(fēng)力。2.3顯示電路方案一:液晶顯示器。方案二:數(shù)碼管顯示器。兩種方案的不同以及需要考慮的點:方案一,液晶顯示器不僅可以顯示字符甚至還能夠顯示圖形,但是價格昂貴,相對于數(shù)碼管顯示器成本比較高、顯示驅(qū)動程序復(fù)雜,不適合本設(shè)計系統(tǒng)。方案二,雖然數(shù)碼管的顯示內(nèi)容非常有限,但在這個設(shè)計系統(tǒng)中,只需要顯示幾個基本的數(shù)字和字母,且數(shù)碼管顯示器具有功耗低、驅(qū)動程序相對簡單的優(yōu)點。
雖然動態(tài)掃描中會出現(xiàn)短暫的閃爍,但可以通過增加掃描頻率消除閃爍。故本設(shè)計系統(tǒng)采用4位共陽極數(shù)碼管作為顯示器。2.4調(diào)速方式方案一:采用變壓器調(diào)速。方案二:采用三極管調(diào)速。兩種調(diào)速方法的不同之處跟它們各自的優(yōu)缺點:一:使用變壓器調(diào)控風(fēng)扇轉(zhuǎn)速,在調(diào)控過程中發(fā)熱較為嚴重,且改變電機轉(zhuǎn)速時,有風(fēng)力級別限制,不能滿足設(shè)計目標(biāo)。二:通過控制三極管的導(dǎo)通時間,從而控制輸出功率,使電機轉(zhuǎn)速發(fā)生改變,即可在無風(fēng)到最大風(fēng)之間的任意調(diào)節(jié)風(fēng)力REF_Ref102135204\r\h[2]。故本系統(tǒng)采用三級管構(gòu)成無級調(diào)速電路作為風(fēng)扇調(diào)速方式。2.5按鍵方式1:矩陣鍵盤。兩組I/O接口線按行、列排列,一組作為輸入,一組作為輸出,鍵位設(shè)置在行、列線的交點上。在按鍵數(shù)量較多的情況下,矩陣鍵盤比獨立鍵盤更加節(jié)省I/O接口線。2:獨立鍵盤。每個按鍵均連接一條I/O接口線,各個按鍵相互獨立、互不影響REF_Ref101091568\r\h[3]。REF_Ref101091568\r\h在獨立鍵盤電路中,每個按鍵都要占用一條I/O接口線,因此,它只適用于按鍵較少的電路。在本設(shè)計中需要的按鍵數(shù)量較少,故本系統(tǒng)采用獨立鍵盤作為按鍵方式。3系統(tǒng)硬件設(shè)計3.1系統(tǒng)總體設(shè)計本設(shè)計系統(tǒng)主要由STC89C51單片機、DS18B20溫度傳感器、數(shù)碼管顯示電路以及晶振、按鍵、電阻、電容、風(fēng)扇等外圍器件組成,系統(tǒng)整體結(jié)構(gòu)框圖如下圖3.1所示,電路設(shè)計原理圖見附錄一。圖3.1系統(tǒng)總體結(jié)構(gòu)框圖3.2單片機系統(tǒng)模塊3.2.1STC89C51單片機簡介本設(shè)計系統(tǒng)使用的單片機STC89C51依據(jù)工業(yè)標(biāo)準(zhǔn)設(shè)計,由深圳宏晶科技有限公司生產(chǎn),具有低功耗、寬工作電壓、超強抗干擾的特點。STC89C51單片機引腳結(jié)構(gòu)如圖3.2所示,主要性能參數(shù)如表3.1所示,引腳功能如表3.2所示。圖3.2STC89C51單片機引腳圖表3.1STC89C51單片機主要性能參數(shù)性能參數(shù)引腳數(shù)40中斷源8個RAM512字節(jié)工作電壓3.4V—5.5V通用I/O口32個工作頻率范圍0—40MHz定時/計數(shù)器3個16位Flash程序存儲器4K數(shù)據(jù)指針2優(yōu)先級4時鐘/機器周期12工作溫度范圍-40℃—+80℃表3.2STC89C51單片機引腳功能引腳引腳功能VCC接電源GND接地RESET復(fù)位引腳XTAL1外接晶體引腳XTAL2外接晶體引腳P0準(zhǔn)雙向口,可作為通用I/O接口,也可用作地址/數(shù)據(jù)分時復(fù)用接口。P1準(zhǔn)雙向口,只能用作通用I/O接口。P2準(zhǔn)雙向口,有兩種用途:通用I/O接口和高8位地址線。P3除了作為準(zhǔn)雙向通用I/O接口外,每一根線還具有第二功能3.2.2STC89C51單片機最小系統(tǒng)最小系統(tǒng)包括單片機及其所需的電源、晶振、復(fù)位等部件,能使單片機始終處于正常的運行狀態(tài)REF_Ref102135383\r\h[4]。STC89C51是片內(nèi)有ROM/EPROM的單片機,只需要外接晶振電路和復(fù)位電路就可以構(gòu)成最小系統(tǒng)REF_Ref100999554\r\h[5]。單片機最小系統(tǒng)原理框圖如圖3.3所示。圖3.3單片機最小系統(tǒng)原理框圖單片機正常工作離不開時鐘電路,STC89C51在單片機內(nèi)設(shè)有振蕩電路,只要在單片機的XTAL1和XTAL2引腳外接微調(diào)電容和晶振,就可以在單片機內(nèi)形成構(gòu)成時鐘電路,生成時鐘脈沖信號REF_Ref101091785\r\h[6]。STC89C51內(nèi)部時鐘電路如圖3.4所示圖3.4STC89C51內(nèi)部時鐘電路計算機在啟動運行時都需要進行復(fù)位操作,以保證系統(tǒng)正常運行,此外,當(dāng)系統(tǒng)出現(xiàn)運行錯誤并進入死鎖狀態(tài)時,需要重新設(shè)置系統(tǒng)以擺脫麻煩。STC89C51單片機的RST引腳是一個高電平有效的復(fù)位引腳,當(dāng)外部電路使得RST端出現(xiàn)兩個機器周期以上的高電平,系統(tǒng)內(nèi)部可復(fù)位REF_Ref101091844\r\h[7]。單片機復(fù)位電路的設(shè)計,對整個單片機系統(tǒng)的可靠運行起著至關(guān)重要的作用。STC89C51按鍵復(fù)位電路如圖3.5所示。圖3.5STC89C51按鍵復(fù)位電路3.3溫度采集模塊DS18B20是一種智能化溫度感應(yīng)器,可用數(shù)據(jù)線供電,在使用中不需要任何外圍元件。它可以將采集到的溫度信號立即在內(nèi)部轉(zhuǎn)化成數(shù)字信號,其獨特的單線接口方式,使得它只需要使用一條I/O線與單片機系統(tǒng)連接,便可以將溫度信號發(fā)送至控制系統(tǒng)。DS18B20主要性能參數(shù),如下表3.3所示。表3.3DS18B20性能參數(shù)表性能參數(shù)工作電壓3.0V—5.5V接口方式單線接口工作溫度-55℃~+125℃測溫分辨率0.5℃可編程分辨率9—12位STC89C51單片機的P3口為準(zhǔn)雙向通用I/O接口,DS18B20采集環(huán)境溫度,在內(nèi)部經(jīng)過轉(zhuǎn)換后,將信號以數(shù)字形式送入STC89C51單片機的P3.6口,單片機接收到數(shù)字信號后,在程序中對比設(shè)定的溫度值,進行分析處理,輸出控制信號,調(diào)控風(fēng)扇電機轉(zhuǎn)速。部分溫度值與DS18B20輸出數(shù)據(jù)之間的關(guān)系如表3.4所示,溫度檢測電路如圖3.6所示。圖3.6DS18B20溫度檢測電路圖表3.4部分溫度值與DS18B20輸出的數(shù)字量對照表溫度值/℃數(shù)字輸出(二進制)數(shù)字輸出(十六進制)+125000001111101000007D0H+8500000101010100000550H+25.62500000001100100010191H+10.125000000001010001000A2H+0.500000000000010000008H000000000000000000000H-0.51111111111111000FFF8H-10.1251111111101101110FF5EH-25.6251111111101101111FF6FH-551111110010010000FC90H3.4數(shù)碼管顯示模塊本顯示模塊主要由單片機、三極管、電阻和一個4位一體的共陽極數(shù)碼管構(gòu)成。單片機和9012三極管用于驅(qū)動數(shù)碼管工作以顯示當(dāng)前環(huán)境溫度和風(fēng)扇檔位。采用動態(tài)掃描方式,將每一個數(shù)碼管的a、b、c、d、e、f、g和dp端并聯(lián)在一起,由一個I/O接口控制,接收單片機P0口發(fā)出的段選碼REF_Ref102135837\r\h[8]。1H、2H、3H、4H是4個數(shù)碼管各自的公共端,通過相應(yīng)的I/O接口線控制,接收單片機P2口發(fā)出的位選碼。數(shù)碼管顯示字型與段選碼的關(guān)系見表3.5。表3.5七段LED段選碼表顯示字符共陰極字段碼共陽極字段碼顯示字符共陰極字段碼共陽極字段碼03FHC0H96FH90H106HF9HA77H88H25BHA4HB7CH83H34FHB0HC39HC6H466H99HD5EHA1H56DH92HE79H86H67DH82HF71H8EH707HF8HH76H89H87FH80HL38HC7H顯示過程為:第一步,單片機在P2端口通過I/O接口線輸出位選碼,選通第一個數(shù)碼管,并在P0端口輸出第一個數(shù)碼管的字段碼,此時,第一個數(shù)碼管顯示出相應(yīng)的字符,其他數(shù)碼管不顯示。第二步,單片機同樣通過P2端口輸出位選碼,使第二個數(shù)碼管選通,并在P0端口輸出字段碼,此時,第一個數(shù)碼管滅,由第二個數(shù)碼管顯示字符,其他數(shù)碼管亦不顯示。以此類推,使得4個數(shù)碼管輪流顯示字符,不斷循環(huán)即可。在輪流點亮數(shù)碼管的過程中,每個數(shù)碼管點亮的時間非常短暫,且每隔一段時間才能顯示一次,因此會有閃爍感,但只要將只要掃描頻率增大到每秒24次以上,就可以消除閃爍感,使數(shù)碼管穩(wěn)定顯示。圖3.7數(shù)碼管顯示電路原理圖3.5電機控制模塊在整個控制系統(tǒng)中,風(fēng)扇電機的調(diào)速是至關(guān)重要的環(huán)節(jié),本系統(tǒng)設(shè)計的電機控制電路,由STC89C51單片機、限流電阻、9012三極管和風(fēng)扇電機構(gòu)成,利用三極管放大電信號來使風(fēng)扇電機轉(zhuǎn)動。通過控制三極管的導(dǎo)通時間,使電機轉(zhuǎn)速發(fā)生改變,實現(xiàn)了對風(fēng)扇轉(zhuǎn)速的控制。電機控制原理圖如圖3.8所示。圖3.8電機控制原理圖當(dāng)單片機I/O口輸出為低電平時,PNP三極管導(dǎo)通,風(fēng)扇電機轉(zhuǎn)動。當(dāng)單片機I/O口輸出為高電平時,PNP三極管截止,風(fēng)扇電機不轉(zhuǎn)。STC89C51單片機通過輸出控制信號,改變?nèi)龢O管導(dǎo)通和關(guān)斷的時間比例來控制風(fēng)扇電機轉(zhuǎn)速。在10秒的時間內(nèi),若三極管有4秒導(dǎo)通,6秒截止,則風(fēng)扇電機有4秒處于運轉(zhuǎn)狀態(tài),6秒處于停止?fàn)顟B(tài)。同理,若是三極管導(dǎo)通7秒,截止3秒,則風(fēng)扇電機有7秒處于運轉(zhuǎn)狀態(tài),3秒處于停止?fàn)顟B(tài)。由此可見,三級的導(dǎo)通時間在總體時間中所占的比例越高時,電機的轉(zhuǎn)速就會越快。反之則電機轉(zhuǎn)速就會越慢。3.6按鍵輸入模塊本設(shè)計系統(tǒng)使用獨立鍵盤作為按鍵電路,設(shè)置3個按鍵,用于設(shè)置溫度參數(shù),按鍵S1與單片機P1.5引腳連接,S2與P1.6引腳連接,S3與P1.7引腳連接,三個按鍵的另一端一起接地。每個按鍵連接一條I/O接口線,各條線連接的按鍵互不影響。沒有鍵按下時,開關(guān)處于斷開狀態(tài),所有數(shù)據(jù)輸入線都是高電平REF_Ref102136202\r\h[9]。當(dāng)按下任何一個鍵時,該開關(guān)就會閉合,連接到它的數(shù)據(jù)輸入線就會變成低電平,單片機通過讀入高低電平狀態(tài),即可判斷是否有鍵按下。圖3.9獨立按鍵電路4系統(tǒng)軟件設(shè)計程序執(zhí)行方式是單片機實現(xiàn)功能的基本工作方式,要實現(xiàn)風(fēng)扇系統(tǒng)的運行狀態(tài)由單片機實時控制,必須要設(shè)計執(zhí)行程序,在程序中不斷比較當(dāng)前溫度值和設(shè)定的動作溫度值,判斷是否要調(diào)整風(fēng)扇的運行狀態(tài)REF_Ref100999875\r\h[10]。本系統(tǒng)的執(zhí)行程序由可直接對硬件進行操作,且使用方便的C語言編寫。4.1主程序模塊主程序是由各個子模塊程序通過一些邏輯判斷合并起來構(gòu)成的,主要用于執(zhí)行各子模塊程序并顯示結(jié)果。單片機上電復(fù)位后,先是將系統(tǒng)初始化,其次系統(tǒng)開始識別各模塊緩沖區(qū)域的標(biāo)志,通過檢測緩沖區(qū)域是否置位,判斷該區(qū)域是否有數(shù)據(jù)需要處理。若有數(shù)據(jù)需要處理,則調(diào)用相應(yīng)的處理子模塊,處理完成后,再返回檢測下一模塊的緩沖區(qū)域,不斷循環(huán)。主程序流程圖如圖4.1所示。圖4.1主程序模塊流程圖void
main()
{
time_init();
//初始化定時器
temperature
=
read_temp();//先讀出溫度的值
delay_1ms(750);
temperature
=
read_temp();//先讀出溫度的值
while(1)
{
key();//按鍵程序
if(key_can
>
0)
key_with();
//設(shè)置溫度
if(flag_300ms
==
1)
//300ms
處理一次程序
{
flag_300ms
=
0;
temperature
=
read_temp();//先讀出溫度的值
if(menu_1
==
0)
{
dis_smg[0]
=
smg_du[temperature
%
10];
//取溫度的小數(shù)顯示
dis_smg[1]
=
smg_du[temperature
/
10
%
10]
&
0xdf;
//取溫度的個位顯示
0xdf是顯示小數(shù)點
dis_smg[2]
=
smg_du[temperature
/
100
%
10]
;
//取溫度的十位顯示
dis_smg[3]
=
0xFF;
//不顯示
}
fengshan_kz();
//風(fēng)扇控制函數(shù)
}
delay_1ms(1);
}
}4.2溫度采集程序模塊在本設(shè)計系統(tǒng)中,溫度傳感器實時采集周圍環(huán)境溫度信號,然后通過一根數(shù)據(jù)線與單片機的I/O口連接,將溫度信號發(fā)送至單片機處理,單片機處理之后再將溫度發(fā)送到數(shù)碼管顯示。主機控制著DS18B20完成溫度采集工作,需要初始化DS18B20、發(fā)送內(nèi)部存儲器操作命令、發(fā)送隨機存儲器操作命令三個階段,每個步驟都必須嚴格按照工作時序和通信協(xié)議進行REF_Ref102136660\r\h[11]。DS18B20程序流程圖如圖4.2所示。圖4.2DS18B20程序流程圖uintget_temp()//獲取溫度函數(shù){uchara,b;dsreset();delay(1);tempwritebyte(0xcc);tempwritebyte(0xbe);a=tempread();b=tempread();temp=b;temp<<=8;temp=temp|a;f_temp=temp*0.0625;temp=f_temp*10+0.5;f_temp=f_temp+0.05;returntemp;}4.3按鍵輸入程序模塊鍵盤是單片機應(yīng)用系統(tǒng)中常用的輸入設(shè)備。在本系統(tǒng)中,設(shè)計了3個用于設(shè)置風(fēng)扇動作溫度的按鍵。S1按鍵用于切換溫度設(shè)置功能,按一次進入溫度下限設(shè)置功能,按兩次進入溫度上限設(shè)置功能,按三次退出溫度設(shè)置功能REF_Ref102136701\r\h[12]。S2、S3按鍵則用來調(diào)整設(shè)置溫度,每按一次S2,可使設(shè)置值加一,按一次S3,則使得設(shè)置值減一。機械按鍵的彈性特點,使得按鍵在閉合和斷開的瞬間都伴隨著抖動,如果對抖動不作處理,則可能會出現(xiàn)按一次鍵而產(chǎn)生多次輸入的現(xiàn)象,所以本設(shè)計系統(tǒng)通過軟件編寫了延時程序,用于消除抖動。獨立按鍵流程圖如圖4.3所示。voidjiance()//按鍵檢測{if(key_shezhi==0){delay(10);//按鍵消抖if(key_shezhi==0){flag_0++;if(flag_0>=3)flag_0=0;while(!key_shezhi);//松手檢測}}}圖4.3獨立按鍵程序流程圖4.4電機控制程序模塊單片機可根據(jù)溫度變化,調(diào)節(jié)PWM占空比,從而調(diào)節(jié)風(fēng)扇電機的轉(zhuǎn)速。溫度傳感器將收集到的溫度數(shù)據(jù)輸出到單片機上,由風(fēng)扇電機控制程序?qū)υ摐囟刃盘栠M行分析和處理,并根據(jù)設(shè)定的控制規(guī)律,對風(fēng)扇電機的控制信號進行調(diào)整,從而達到調(diào)節(jié)電機轉(zhuǎn)速的目的。本設(shè)計在風(fēng)扇電機驅(qū)動電路中使用的三極管為低電平導(dǎo)通的PNP型三極管,所以當(dāng)PWM占空比減小時,電機轉(zhuǎn)速加快,當(dāng)PWM占空比增大時,電機轉(zhuǎn)速減慢。風(fēng)扇電機控制程序流程如圖4.4所示。圖4.4電機控制程序流程圖/*****************電機控制函數(shù)*******************/voidkongzhi(){count++;if(count>=3)count=0;//count取值范圍0、1、2if(wendu>=t_low&&wendu<t_max)//環(huán)境溫度介于設(shè)定溫度上下限之間{if(count<2)pwm=0;//風(fēng)扇只在三分之二的時間里轉(zhuǎn)動elsepwm=1;dw=1;//1檔}elseif(wendu>=t_max)//高于設(shè)定的最高溫度,風(fēng)扇全速轉(zhuǎn)動{pwm=0;dw=2;//2檔}else//低于設(shè)定的最低溫度,風(fēng)扇停止轉(zhuǎn)動{pwm=1;dw=0;//0檔}}4.5數(shù)碼管顯示程序模塊數(shù)碼管顯示器的使用要考慮譯碼方式和顯示方式,本設(shè)計系統(tǒng)中編寫了軟件譯碼程序,通過譯碼程序獲得要顯示的字符的字段碼,并將顯示一遍的處理過程編寫成子程序,每隔一段時間調(diào)用一次,通過動態(tài)掃描方式實時顯示溫度。在數(shù)碼管顯示程序又設(shè)計了環(huán)境溫度顯示子程序、溫度設(shè)置下限顯示子程序、溫度設(shè)置上限顯示子程序。在程序運行時,首先檢測設(shè)置鍵是否按下,若設(shè)置鍵沒有按下,則調(diào)用環(huán)境溫度顯示子程序,使數(shù)碼管顯示出當(dāng)前環(huán)境溫度。若有設(shè)置鍵按下,再判斷是設(shè)置溫度上限還是溫度下限,并調(diào)用相應(yīng)的顯示子程序,使數(shù)碼管顯示出相對應(yīng)的溫度上限值或下限值。數(shù)碼管顯示程序流程如圖4.5所示。圖4.5數(shù)碼管顯示流程圖/**************數(shù)碼管顯示函數(shù)**************/voiddisplay(){if(flag_0==0)display0();//顯示環(huán)境溫度elseif(flag_0==1)display1();//顯示溫度下限elseif(flag_0==2)display2();//顯示溫度上限}5系統(tǒng)測試本設(shè)計以節(jié)省成本、降低功耗為主要思想,在達到設(shè)計目標(biāo)的前提下,盡量簡化電路。首先根據(jù)實際需要選擇合適的器件,并畫出電路設(shè)計框圖。選用的電子元器件有STC89C51單片機、DS18B20溫度傳感器、9012三極管、四位共陽極數(shù)碼管、12M晶振、各種阻值的電阻、不同尺寸的電容和機械式按鍵。系統(tǒng)測試共分為兩個部分,一部分為仿真測試,另一部分為硬件測試。測試的主要內(nèi)容有:(1)系統(tǒng)是否可以自動檢測并顯示出當(dāng)前環(huán)境溫度。(2)使用者是否可以按鍵設(shè)置高溫、低溫檔位的溫度限定值。(3)當(dāng)環(huán)境溫度達到檔位設(shè)定值時,單片機是否可以控制風(fēng)扇調(diào)節(jié)轉(zhuǎn)速。(4)當(dāng)環(huán)境溫度低于設(shè)定的低溫檔位值時,風(fēng)扇是否可以自動停機。5.1仿真測試本設(shè)計在用軟件繪制了原理圖之后,使用仿真軟件對其進行了仿真調(diào)試,以驗證設(shè)計的正確性。在仿真調(diào)試時點擊獨立鍵盤上的按鍵,可改變預(yù)設(shè)的溫度上限和下限,點擊DS18B20上的加、減按鍵,可模擬當(dāng)前環(huán)境溫度值,并在數(shù)碼管上顯示出來,通過觀察數(shù)碼管的顯示內(nèi)容,即可知道風(fēng)扇的工作狀態(tài)。在仿真中,設(shè)定的溫度下限為25攝氏度,溫度上限為30攝氏度,當(dāng)模擬的當(dāng)前環(huán)境溫度低于設(shè)定的溫度下限值時,風(fēng)扇自動停機。如圖5.1所示。圖5.1風(fēng)扇停止轉(zhuǎn)動5.2實物測試在通過仿真測試后開始進行實物測試,點擊DS18B20上的按鍵,模擬環(huán)境溫度的變化,環(huán)境溫度值溫度后,系統(tǒng)又自動將環(huán)境溫度值與設(shè)定的溫度上下限作對比,并調(diào)控了風(fēng)扇電機轉(zhuǎn)速。當(dāng)環(huán)境溫度高于設(shè)定溫度下限時,低于設(shè)定溫度上限時,風(fēng)扇工作在低溫檔,如圖5.2所示。圖5.2風(fēng)扇工作在低溫擋實物圖再次點擊DS18B20改變環(huán)境溫度,將環(huán)境溫度設(shè)置為31攝氏度,此時環(huán)溫度高于設(shè)定的溫度上限,單片機控制全速轉(zhuǎn)動,風(fēng)扇工作在高溫檔,如圖5.3圖5.3風(fēng)扇工作在高溫擋實物圖在確認了系統(tǒng)設(shè)計沒有問題之后,便可根據(jù)電路圖完成系統(tǒng)的硬件設(shè)計。5.3硬件測試在完成硬件設(shè)計后,首先用萬用表檢查
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醬腌菜制作工崗前實操知識水平考核試卷含答案
- 電子元器件表面貼裝工崗前技術(shù)創(chuàng)新考核試卷含答案
- 轉(zhuǎn)底爐工安全實踐考核試卷含答案
- 玻璃鋼制品噴射工崗前深度考核試卷含答案
- 保溫材料制造工復(fù)試知識考核試卷含答案
- 高壓電器及元件裝配工創(chuàng)新思維評優(yōu)考核試卷含答案
- 風(fēng)險管理師班組建設(shè)競賽考核試卷含答案
- 活性炭酸洗工達標(biāo)競賽考核試卷含答案
- 地毯整修工班組安全競賽考核試卷含答案
- 服務(wù)機器人應(yīng)用技術(shù)員崗前沖突管理考核試卷含答案
- 2025至2030中國丁基橡膠行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 竣工決算業(yè)務(wù)合同范本
- 企業(yè)員工管理與激勵機制
- 生物質(zhì)鍋爐管理操作規(guī)程
- 2025輔警考試公安基礎(chǔ)知識考試試題庫及1套完整答案詳解
- 麻醉科術(shù)前評估指南
- 2025至2030中國高拍儀行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 2025上海松江國有資產(chǎn)投資經(jīng)營管理集團有限公司下屬公司招聘4人筆試考試參考題庫及答案解析
- 超大面積燙傷后的護理
- 2025年高考廣東卷物理真題(原卷版)
- 2025中國繼續(xù)教育行業(yè)市場發(fā)展現(xiàn)狀與投資策略報告
評論
0/150
提交評論