




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE35TOC\o"1-3"\u目錄摘要 IIIAbstract IV第一章整體方案設(shè)計(jì) 11.1前言 11.2系統(tǒng)整體設(shè)計(jì) 11.3方案論證 21.3.1溫度傳感器的選擇 21.3.2控制核心的選擇 31.3.3溫度顯示器件的選擇 31.3.4調(diào)速方式的選擇 3第二章各單元模塊的硬件設(shè)計(jì) 52.1系統(tǒng)器件簡介 52.1.1DS18B20單線數(shù)字溫度傳感器簡介 52.1.2達(dá)林頓反向驅(qū)動(dòng)器ULN2803簡介 52.1.3AT89C52單片機(jī)簡介 62.1.4LED數(shù)碼管簡介 72.2各部分電路設(shè)計(jì) 82.2.1開關(guān)復(fù)位與晶振電路 92.2.2獨(dú)立鍵盤連接電路 92.2.3數(shù)碼管顯示電路 102.2.4溫度采集電路 112.2.5風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路 12第三章軟件設(shè)計(jì) 143.1程序設(shè)置 143.2用KeilC51編寫程序 143.3用Proteus進(jìn)行仿真 153.3.1Proteus簡介 153.3.2本設(shè)計(jì)基于Proteus的仿真 16第四章系統(tǒng)調(diào)試 214.1軟件調(diào)試 214.1.1按鍵顯示部分的調(diào)試 214.1.2傳感器DS18B20溫度采集部分調(diào)試 214.1.3電動(dòng)機(jī)調(diào)速電路部分調(diào)試 214.2硬件調(diào)試 224.2.1按鍵顯示部分的調(diào)試 224.2.2傳感器DS18B20溫度采集部分調(diào)試 224.2.3電動(dòng)機(jī)調(diào)速電路部分調(diào)試 224.3系統(tǒng)功能 234.3.1系統(tǒng)實(shí)現(xiàn)的功能 234.3.2系統(tǒng)功能分析 23結(jié)論 24參考文獻(xiàn) 25致謝 26附錄1:電路總圖 27附錄2:程序代碼 28摘要現(xiàn)代社會(huì)中,眾多的工業(yè)生產(chǎn)、日常生活都離不開溫控風(fēng)扇的應(yīng)用,其在工程建設(shè)的散熱系統(tǒng)、手提電腦處理器降溫等有著突出的作用。本命題對(duì)溫控風(fēng)扇系統(tǒng)進(jìn)行了解釋說明,單片機(jī)為其核心構(gòu)成部分,通過溫度傳感器DS18B20獲取溫度信息,與系統(tǒng)設(shè)置的溫度做比較,判斷使用ULN2803電機(jī)做成的風(fēng)扇系統(tǒng)對(duì)元件進(jìn)行散熱處理,同時(shí)能通過判斷設(shè)定溫度與采集溫度的溫差大小,來確定風(fēng)扇系統(tǒng)的轉(zhuǎn)速,采用LED八段數(shù)碼管實(shí)現(xiàn)溫度顯示功能。關(guān)鍵詞:單片機(jī)、DS18B20、溫控、風(fēng)扇AbstractInmodernsociety,manyindustrialproductionanddailylifeareinseparablefromtheapplicationoftemperature-controlledfans,whichplayaprominentroleinthecoolingsystemofengineeringconstructionandthecoolingoflaptopprocessors.Thispropositionexplainsthetemperature-controlledfansystem.Thesingle-chipmicrocomputerisitscorecomponent.ThetemperatureinformationisobtainedthroughthetemperaturesensorDS18B20,andcomparedwiththetemperaturesetbythesystem,itisjudgedthatthefansystemmadeofULN2803motorisusedtoheatthecomponents.Atthesametime,itcandeterminethespeedofthefansystembyjudgingthetemperaturedifferencebetweenthesettemperatureandthecollectedtemperature,andtheLEDeight-segmentdigitaltubeisusedtorealizethetemperaturedisplayfunction.Keywords:MCU,DS18B20,temperaturecontrol,fan第一章整體方案設(shè)計(jì)1.1前言在現(xiàn)代社會(huì)中,風(fēng)扇被廣泛的應(yīng)用,在人民日常生活中的作用越來越大,無論是工程建設(shè)中的散熱系統(tǒng),還是電腦主機(jī)的散熱功能,都離不開風(fēng)扇的使用。由于科學(xué)技術(shù)的發(fā)展,低噪音、低耗能的風(fēng)扇逐漸被推廣,隨著科技水平的智能化程度越來越高,如今的風(fēng)扇的轉(zhuǎn)速可以隨著環(huán)境溫度的變化而變化,同時(shí)當(dāng)環(huán)境溫度達(dá)到或者低于其設(shè)定值時(shí),風(fēng)扇可以自發(fā)啟動(dòng)或者停止,實(shí)現(xiàn)控制系統(tǒng)的智能化。目前單片機(jī)的應(yīng)用愈加普及,一定程度上促進(jìn)了溫控系統(tǒng)的發(fā)展,通過單片機(jī)技術(shù)的運(yùn)用,提升溫控系統(tǒng)的智能性,實(shí)現(xiàn)風(fēng)扇的自發(fā)啟動(dòng)與停止、風(fēng)扇轉(zhuǎn)速與環(huán)境溫度相配合,提升風(fēng)扇的智能化水平。這不僅給人民生活帶來了便捷,提升工業(yè)生產(chǎn)質(zhì)效,還避免了資源浪費(fèi),提升資源利用率。本命題介紹了8052系列單片機(jī),其由ATMEL公司研發(fā),以AT89C52作為主要控制器,通過DS18B20元件進(jìn)行溫度采集,進(jìn)而通過ULN2803驅(qū)動(dòng)風(fēng)扇電機(jī)實(shí)現(xiàn)風(fēng)扇轉(zhuǎn)動(dòng)。此外,通過LED數(shù)碼管來顯示出系統(tǒng)所采集的環(huán)境溫度以及系統(tǒng)預(yù)設(shè)的溫度,根據(jù)系統(tǒng)檢測到得環(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ì)本產(chǎn)品的設(shè)計(jì)思路如下:通過溫度傳感器對(duì)環(huán)境溫度進(jìn)行溫度采集,轉(zhuǎn)化為數(shù)字信號(hào)輸入AT89C52單片機(jī),進(jìn)而在八段數(shù)碼管上顯示出所采集的溫度以及系統(tǒng)設(shè)定溫度,分別精確到十分位與整數(shù)位。并且通過運(yùn)用PWM脈寬調(diào)制法,實(shí)現(xiàn)電機(jī)轉(zhuǎn)速隨著環(huán)境溫度的改變而改變。此外,為了方面預(yù)設(shè)溫度的調(diào)整,設(shè)定兩個(gè)按鍵來對(duì)預(yù)設(shè)溫度進(jìn)行升高或者降低。該系統(tǒng)運(yùn)行流程圖如下所示:DS18B20溫度顯示DS18B20溫度顯示獨(dú)立鍵盤獨(dú)立鍵盤ATAT89C52直流電機(jī)PWM驅(qū)動(dòng)電路直流電機(jī)PWM驅(qū)動(dòng)電路晶振復(fù)位晶振復(fù)位圖1.1系統(tǒng)構(gòu)成框圖1.3方案論證為了提升風(fēng)扇的智能化水平,本產(chǎn)品風(fēng)扇電機(jī)能根據(jù)采集的環(huán)境溫度是否達(dá)到預(yù)設(shè)溫度,實(shí)現(xiàn)風(fēng)扇電機(jī)的自發(fā)啟動(dòng)與停止,這對(duì)溫控器件以及溫度傳感器元件的技術(shù)要求較高[1][1]李學(xué)龍.使用單片機(jī)控制的智能遙控電風(fēng)扇控制器[J].電子電路制作,2003,9:13—溫度傳感器的選擇本產(chǎn)品的溫度傳感器有兩種以下兩者選擇:A方案:溫控系統(tǒng)的溫度采集元件采用熱敏電阻,隨著溫度的變化,配合運(yùn)算放大器的使用,熱敏電阻所產(chǎn)生的動(dòng)態(tài)電壓信號(hào)經(jīng)過AD轉(zhuǎn)換成數(shù)字信號(hào),進(jìn)而輸入單片機(jī)進(jìn)行下一步設(shè)置。B方案:溫控系統(tǒng)的溫度采集元件用DS18B20溫度傳感器,其將電壓信號(hào)通過AD轉(zhuǎn)換成數(shù)字信號(hào)輸入溫控系統(tǒng)。采用A方案選取熱敏電阻作為核心,其優(yōu)點(diǎn)是成本低,熱敏電阻方便安裝等,但其也有缺點(diǎn),例如當(dāng)溫度產(chǎn)生微小變化時(shí),熱敏電阻的靈敏度低,變化不大,因此對(duì)溫度采集過程會(huì)產(chǎn)生誤差。同時(shí),熱敏電阻的電阻與溫度之間的特性曲線非線性,其本身存在測量誤差,可以通過外加電路進(jìn)行校正,減少測量誤差,但這會(huì)使溫控系統(tǒng)復(fù)雜化,而且在人體所處環(huán)境溫度變化過程中難以檢測到微小的溫度變化。因此,采用A方案缺乏便捷性以及精準(zhǔn)性。采用B方案由于DS18B20型溫度傳感器的精確度高,對(duì)采集溫度過程中很大程度上減少了測量誤差,相比于熱敏電阻,其靈敏度高,其內(nèi)部可以直接把電信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),減少了電路的復(fù)雜程度。通過單線總技術(shù),讓系統(tǒng)電路簡單化,并且提升其自動(dòng)控制水平,提升系統(tǒng)的精簡性與智能性。B方案與系統(tǒng)要求相契合。1.3.2控制核心的選擇本產(chǎn)品中的選取AT89C52單片機(jī)作為溫控系統(tǒng)的核心元件,對(duì)其輸入對(duì)應(yīng)功能的代碼,實(shí)現(xiàn)溫度采集與判定,在輸入輸出端口中輸出數(shù)字信號(hào)。這一單片機(jī)的優(yōu)點(diǎn)包括性能完善、工作耗能小、存儲(chǔ)器容量大等,相比于其它單片機(jī),AT89C52的兼容性較強(qiáng),購買價(jià)格便宜,非常契合系統(tǒng)的運(yùn)行。1.3.3溫度顯示器件的選擇A方案:選取LED八段數(shù)碼管進(jìn)行動(dòng)態(tài)掃描。B方案:通過LCD顯示屏體現(xiàn)溫度信息。A方案的優(yōu)點(diǎn)是采購價(jià)格低,耗能低,所顯示出的溫度即使在黑暗環(huán)境下也清晰可見,所植入的程序易理解,因此這類溫度顯示器得到了推廣,普遍應(yīng)用于人民的日常生活當(dāng)中。由于它是通過動(dòng)態(tài)掃描的方式來顯示數(shù)字,只要顯示間隔時(shí)間大于20MS,數(shù)字信息就能通過人眼采集,因此,設(shè)定適合的閃爍頻率就可使用A方案。B方案的LCD液晶顯示屏相比于LED數(shù)碼管其所顯示出的數(shù)字比較美觀,除此之外還能顯示多元化的字符以及圖案。但其購買成本也相對(duì)較高。顯示驅(qū)動(dòng)程序的編寫也較復(fù)雜,從簡單實(shí)用的原則考慮,綜合考慮,A方案比較適合本系統(tǒng)。1.3.4調(diào)速方式的選擇A方案:選取DAC0832元件作為核心元件,采集到的環(huán)境溫度輸入此芯片,從而輸出對(duì)應(yīng)的模擬信號(hào)以控制晶閘管的導(dǎo)通以及關(guān)斷時(shí)間,進(jìn)而實(shí)現(xiàn)根據(jù)不同的溫度自動(dòng)調(diào)節(jié)風(fēng)扇轉(zhuǎn)速。B方案:選用脈寬調(diào)節(jié)法(PWM),通過輸入編程代碼實(shí)現(xiàn)對(duì)輸入脈沖寬度的調(diào)節(jié),進(jìn)而調(diào)節(jié)輸出波形,控制風(fēng)扇轉(zhuǎn)動(dòng)速度。這種方法一般采取矩形波的脈沖信號(hào),對(duì)脈沖寬度的調(diào)節(jié)時(shí)嚴(yán)格控制其占空比。PWM的占空比反映高電平脈沖在一個(gè)完整周期內(nèi)所占的比例,高電平時(shí)間持續(xù)越長,電機(jī)轉(zhuǎn)速就越高,當(dāng)脈沖沒有低電平時(shí),風(fēng)扇電機(jī)達(dá)到最大轉(zhuǎn)速[2]藍(lán)厚榮.[2]藍(lán)厚榮.單片機(jī)的PWM控制技術(shù)[J].工業(yè)控制計(jì)算機(jī),2010,23(3):97—98(1)通過軟件對(duì)PWM高低電平進(jìn)行延時(shí)處理。當(dāng)高電平即將變成低電平時(shí),通過軟件處理,對(duì)I/O輸出端口進(jìn)行取反處理,使高電平變?yōu)榈碗娖?,同時(shí)增加延時(shí)時(shí)間;當(dāng)?shù)碗娖郊磳⒆兂呻娖綍r(shí),重復(fù)上述過程,不斷循環(huán)處理便可輸出PWM信號(hào)。這種方法比較契合本系統(tǒng)。(2)通過定時(shí)器的使用,與(1)中的控制方法相同,改變脈沖高低電平的延時(shí)時(shí)間,應(yīng)用此方法時(shí)編程相對(duì)復(fù)雜。(3)利用單片機(jī)自帶的PWM控制器。在STC12系列單片機(jī)中自身帶有PWM控制器,但本系統(tǒng)所用到得AT89系列單片機(jī)無此功能。A方案能夠的性能較好,其靈敏度高,環(huán)境溫度變化時(shí)對(duì)應(yīng)的風(fēng)扇電機(jī)速度變化靈敏,但DAC0832芯片的購買成本高,對(duì)本系統(tǒng)的而言其性價(jià)比較低。B方案采用軟件系統(tǒng)對(duì)風(fēng)扇電機(jī)的轉(zhuǎn)速進(jìn)行調(diào)節(jié),這種方法轉(zhuǎn)變性比較強(qiáng),相比于硬件系統(tǒng)其成本低,單片的功能的體現(xiàn)不亞于硬件系統(tǒng),對(duì)于比較單一的控制系統(tǒng)而言,B方案比較適合。第二章各單元模塊的硬件設(shè)計(jì)本設(shè)計(jì)的主要硬件包含:①型號(hào)為DS18B20的輸出離散型號(hào)的數(shù)字溫度傳感器;②型號(hào)為AT89C52的CMOS8位單片機(jī);③5位發(fā)光二極管封裝的數(shù)碼管顯示器④風(fēng)扇直流電動(dòng)機(jī);⑤型號(hào)為ULN2803驅(qū)動(dòng)器。其他電子元器件包含:①多種不同阻值的電阻器;②多種不同電容量的電容器;③多個(gè)晶體振蕩器;④各類電壓源以及電流源;⑤多個(gè)按鍵;⑥多個(gè)DIP開關(guān)。2.1系統(tǒng)器件簡介2.1.1DS18B20單線數(shù)字溫度傳感器簡介DS18B20屬于DALLAS公司開發(fā)的一款數(shù)字溫度傳感器產(chǎn)品,該產(chǎn)品性能穩(wěn)定、體積緊湊、功率損耗低、適用范圍廣,能夠采集環(huán)境的溫度信息并以數(shù)字信號(hào)的形式進(jìn)行輸出。若在一些微觀領(lǐng)域使用DS18B20進(jìn)行溫度的測量,則可以充分發(fā)揮它的功能。其工作特性如下:第一,可以對(duì)環(huán)境的溫度信息進(jìn)行捕捉,并將這些信息轉(zhuǎn)化為離散的數(shù)字信號(hào),信號(hào)的輸出端僅設(shè)有一條線路,DS18B20在該線路上以串行通信的方式將數(shù)字信號(hào)傳輸于中央處理器CPU,在這個(gè)過程中,還可以進(jìn)行循環(huán)冗余效驗(yàn),保證了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性以及穩(wěn)定性;第二,以攝氏度為單位,DS18B20的測溫區(qū)間為[-55,125],在區(qū)間[-10,85]內(nèi),DS18B20可以控制在0.5攝氏度以內(nèi)的測量誤差;第三,DS18B20溫度分辨率設(shè)有0.5℃9bits、0.25℃10bits、0.125℃11bits、0.0625℃12bits這4個(gè)級(jí)次,即最高采樣位數(shù)為12bits,顯示溫度的最小變化量為0,0625攝氏度;第四,DS18B20“一線總線”的模式,可以實(shí)現(xiàn)使用一條線路與MPU進(jìn)行半雙工通信;第五,多個(gè)DS18B20可以連接于一根接線上,構(gòu)成溫度監(jiān)測網(wǎng)絡(luò),對(duì)環(huán)境溫度進(jìn)行大范圍的監(jiān)測;第六,DS18B20工作時(shí),以V為單位,其兩段的電壓值區(qū)間為[3.0,5.5][3]。它的內(nèi)部包含4個(gè)核心器件:①64bits的只讀存儲(chǔ)器;②用于采集溫度信息的傳感器;③溫度高位與溫度低位的觸發(fā)報(bào)警器④寄存器。DS18B20含有引腳(3個(gè)),其中DQ端用于輸出數(shù)字信號(hào),GND端用于接地,VDD端用于外接電源的輸入。2.1.2達(dá)林頓反向驅(qū)動(dòng)器ULN2803簡介本文主要對(duì)基于單片機(jī)的溫控風(fēng)扇進(jìn)行設(shè)計(jì),電機(jī)在需要一定的驅(qū)動(dòng)電流才能正常工作,因此需引入相應(yīng)的驅(qū)動(dòng)電路。本設(shè)計(jì)選取ULN2803作為電機(jī)工作電流的驅(qū)動(dòng)器。反向驅(qū)動(dòng)器ULN2803的硬件接口較少,可以簡化系統(tǒng)開發(fā)者的安裝操作流程,并為本系統(tǒng)的風(fēng)扇直流電動(dòng)機(jī)提供充足的工作電流,ULN2803的本質(zhì)為CMOS器件中的接口型集成芯片,1~8腳為輸入端,11~18腳為輸出端,可集中驅(qū)動(dòng)8路小型直流電機(jī)。在本系統(tǒng)中,AT89C52的8個(gè)I/O口與ULN2803的8路輸入進(jìn)行連接,輸入TTL高電平,進(jìn)而實(shí)現(xiàn)對(duì)8個(gè)相應(yīng)電機(jī)的控制。ULN2803的內(nèi)部由8路NPN達(dá)林頓管構(gòu)成,并采用合適的形式進(jìn)行封裝,包含18個(gè)管腳,1腳至8腳為輸入端口,可接收TTL電平以及CMOS電平;11腳至18腳為輸出端口,可輸出充足的電壓以及電流;9腳為GND端,用于接地;10腳為供電輸入端口,接正極電源。若在1~8腳中輸入5V的TTL高電平或者輸入6V至15V的CMOS高電平,那么對(duì)應(yīng)的11~18腳最高輸出電壓可以達(dá)到50V,相應(yīng)的電流可達(dá)500mA,以攝氏度為單位,ULN2803可正常運(yùn)行的溫度限值區(qū)間為[0,70],本設(shè)計(jì)將選取工作電壓為12V的直流電機(jī),因此ULN2803符合該電機(jī)的驅(qū)動(dòng)條件。2.1.3AT89C52單片機(jī)簡介AT89C52屬于COMS8位單片機(jī),由制作商愛特梅爾公司推出,是一款性能極佳、工作電壓低的單片機(jī)產(chǎn)品。AT89C52的組件使用愛特梅爾的NVM技術(shù)制作,可兼容Intel8051系統(tǒng),內(nèi)部裝有8bitsCPU、容量為8KB的ROM、容量為256B的RAM。AT89C52功能強(qiáng)大,適用于各種不同系統(tǒng)的開發(fā),它含有40只管腳,對(duì)應(yīng)的功能如下:VCC:作為供電輸入端口,接5V電壓。GND:用于接地端或0線。P0.7~P0.0:P0端共含有八只管腳,從P0.0至P0.7位數(shù)逐漸上升。P0.7~P0.0包含兩種使用情況:①若AT89C52不連接外部存儲(chǔ)器,且確保P0口功能的正常,則需要在P0的引出端中插入一個(gè)電阻并輸入高電平,進(jìn)而實(shí)現(xiàn)中央處理器通過P0端與外部設(shè)備進(jìn)行數(shù)據(jù)交換以及信息傳輸?shù)墓δ?。②若AT89C52外部接有存儲(chǔ)器,那么在中央處理器與外部存儲(chǔ)器進(jìn)行數(shù)據(jù)傳輸時(shí),相應(yīng)引腳會(huì)先傳輸外部存儲(chǔ)器的低八位地址信號(hào),再傳輸中央處理器對(duì)應(yīng)的讀寫信息[4]。P1.7~P1.0:P1端包含了P1.7~P1.0這8個(gè)管腳,屬于插入了上拉電阻的半雙工通信I/O接口,具備一般I/O端的功能,能夠用于傳輸I/O信息,不同之處在于P1端內(nèi)部預(yù)先插入了上拉電阻,因此P1端可直接通路使用。在使用AS語言進(jìn)行編程時(shí),可以通過P1端對(duì)AT89C52的EPROM的低八位地址信息進(jìn)行輸入。P2.7~P2.0:P2端包含了P2.7~P2.0這8個(gè)管腳,屬于插入了上拉電阻的半雙工通信I/O接口,具備一般I/O端的功能,傳送用戶的輸入/輸出數(shù)據(jù),此外,P2還能與P0.7~P0.0管腳的②功能配合使用,實(shí)現(xiàn)外接存儲(chǔ)器高八位地址信號(hào)的傳輸功能,輸出16位地址信號(hào),進(jìn)而協(xié)同選取外接存儲(chǔ)器的存儲(chǔ)元集合,不足之處在于,二者配合使用時(shí)無法輸出中央處理器對(duì)外接存儲(chǔ)器的讀寫信息。對(duì)于一些其他不同的51機(jī),P2.7~P2.0腳還能夠與P0.7~P0.0腳協(xié)同使用,輸入單片機(jī)內(nèi)部EPROM的高四位地址信號(hào)。P3.7~P3.0:P3端包含了P3.7~P3.0這8個(gè)管腳,屬于插入了上拉電阻的半雙工通信I/O接口,在對(duì)P3端進(jìn)行寫1操作后,其將輸出高電平。P3端具備一般I/O端口的功能,可以讓CPU與外部設(shè)備進(jìn)行數(shù)據(jù)的輸入與輸出,P3口也作為一些特殊功能端口使用,如下所示:P3.0:RXD(串行數(shù)據(jù)接收口)P3.1:TXD(串行數(shù)據(jù)發(fā)送口)P3.2:(外部中斷0輸入)P3.3:(外部中斷1輸入)P3.4:T0(記數(shù)器0計(jì)數(shù)輸入)P3.5:T1(記時(shí)器1外部輸入)P3.6:(外部RAM寫選通信號(hào))P3.7:(外部RAM讀選通信號(hào))圖2.1.1AT89C51單片機(jī)ALE/:地址鎖存器允許/編程線,在訪問片外存儲(chǔ)器時(shí)在ALE/線上輸出高電位脈沖,以及在引腳P0.7?P0.0上的片外存儲(chǔ)器的低8位地址。下降之后是片外存儲(chǔ)器的低8位地址的鎖存器到外部專用地址鎖存器。為了釋放P0.7?P0.0引腳以傳輸后續(xù)的片外存儲(chǔ)器讀寫數(shù)據(jù)。當(dāng)讀取片外存儲(chǔ)器時(shí),單片機(jī)自動(dòng)進(jìn)入ALE/線上輸出頻率為1/6晶振頻率的脈沖序列。:是讀取外部程序存儲(chǔ)器的先通信號(hào),CPU從外部獲取指令時(shí),在每個(gè)工作周期中兩次有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。/VPP:允許訪問片外存儲(chǔ)器/編程電源線。程序存儲(chǔ)器的選取是由電平狀態(tài)決定的,當(dāng)處于高電平狀態(tài)時(shí),只選用片內(nèi)程序存儲(chǔ)器;當(dāng)處于低電平狀態(tài)時(shí),只選用外程序存儲(chǔ)器。在固態(tài)存儲(chǔ)器與動(dòng)畫編輯器工作過程中,經(jīng)常性地使用12V編輯電壓(VPP)。2.1.4LED數(shù)碼管簡介在本系統(tǒng)中,溫度由五根LED管表示。LED管又名數(shù)碼管,由八段具有發(fā)光功能的二極管組成,根據(jù)外界條件的變化,這八段具有發(fā)光功能的二極管可以組成成千上萬種不同的組合。如下圖2.1.2所示,其中標(biāo)有字母a-g的二極管根據(jù)不同的發(fā)光組合可以用來表示數(shù)字0-9或字母A-F;標(biāo)有dp的二極管則表示小數(shù)點(diǎn)。一般而言,LED管結(jié)構(gòu)主要分為兩類:①共陰極結(jié)構(gòu);②共陽極結(jié)構(gòu);如下圖2.1.2(a)、(b)所示。兩種結(jié)構(gòu)不同的地方在于這八段二極管終端接連的差異。顧名思義,在共陰極結(jié)構(gòu)中,八段二極管的終端都連接在陰極;在共陽極結(jié)構(gòu)中,八段二極管的終端都連接在陽極??刂齐娖降母叩蜖顟B(tài)可以使得二極管按照預(yù)先設(shè)定的組合發(fā)光,以此表示具體的數(shù)字組合或者字母組合,最終形成一段字形碼,又稱為段選碼[5]。b.共陽極a.共陰極數(shù)碼管引腳分配圖b.共陽極a.共陰極數(shù)碼管引腳分配圖圖2.1.2七段LED數(shù)碼管表2.1.17段LED的段選碼表顯示字符共陰極段碼共陽極段碼顯示字符共陰極段碼共陽極段碼03fHC0H87fH80H106HF9H96fH90H25bHA4HA77H88H34fHB0HB7fH83H466H99HC39HC6H56dH92HD3fHA1H67dH82HE79H86H707HF8HF71H8EH在采用共陰極結(jié)構(gòu)的單片機(jī)中,給“a、b、c”三個(gè)二極管輸入高電平時(shí),即這三個(gè)二極管同時(shí)發(fā)光時(shí)就會(huì)顯示數(shù)字“7”。其具體操作為在P0輸入端輸入段選碼07(H),即00000111就可以顯示數(shù)字“7”。其他數(shù)字與段選碼的相互關(guān)系如上表2.1.1所示。2.2各部分電路設(shè)計(jì)2.2.1開關(guān)復(fù)位與晶振電路復(fù)位不僅在單片機(jī)中發(fā)揮著非常重要的作用,還在外部組成結(jié)構(gòu)之一的I/O接口電路中發(fā)揮著至關(guān)重要的作用。因此,需要設(shè)計(jì)一個(gè)具有復(fù)位功能的開關(guān),除此之外,該開關(guān)還需同步單片機(jī)系統(tǒng)和外部I/O接口電路,以此簡化整個(gè)操作過程。另外,借助XTAL1和XTAL2引腳有利于確保石英晶體以及微調(diào)電容接觸狀態(tài)良好。按照以上方法設(shè)計(jì)的具有復(fù)位功能的開關(guān)示意圖如圖2.2.1所示。具體功能如下:當(dāng)按觸S1時(shí),單片機(jī)系統(tǒng)進(jìn)行復(fù)位,此時(shí)電容C1、C2、C3以及電阻R2、R3都參與了整個(gè)復(fù)位過程。圖2.2.1系統(tǒng)復(fù)位與晶振電路2.2.2獨(dú)立鍵盤連接電路該獨(dú)立鍵盤擁有兩個(gè)具有特定功能的按鈕,分別為:S2和S3。其中S2和單片機(jī)系統(tǒng)的P13接口相接;S3和單片機(jī)系統(tǒng)的P14接口相接。當(dāng)單片機(jī)系統(tǒng)通電并按下S2、S3任一按鈕之后,P1處會(huì)顯示實(shí)時(shí)的電平狀態(tài)。此時(shí)可以通過按觸兩個(gè)按鈕調(diào)節(jié)初始溫度大小,S2按鈕為減按鈕,S3為加按鈕,每一次按觸的變化值都是單位1,按觸后系統(tǒng)會(huì)計(jì)算出最終的初始溫度值。其接線圖如下:圖2.2.2獨(dú)立鍵盤連接電路2.2.3數(shù)碼管顯示電路 本設(shè)計(jì)制作中選用5位共陰極數(shù)碼管作為顯示模塊,它和單片機(jī)硬件的接口如圖2.2.3所示。其中溫度的測量由顯示模塊中前3位數(shù)碼管DS1、DS2、DS3顯示,以攝氏度為單位,其可測量的溫度值區(qū)間為[0,99.9],另外,在該測量范圍內(nèi),其最終測量的溫度精準(zhǔn)度控制在±0.1℃。除此之外,初始溫度值由后2位數(shù)碼管DS4、DS5顯示,而且改2位數(shù)碼管有且僅有顯示溫度初始值得功能,其可顯示的初始溫度值區(qū)間為[0,99]。其各線路的銜接如下圖2.2.3所示。通過觀察下圖,可以發(fā)現(xiàn)5位數(shù)碼管借助a-g以及dp線與單片機(jī)相連接,其接口也是按照字母順序?qū)訂纹瑱C(jī)的P00-P07接口。除此之外,還需要給單片機(jī)P0接口處添加一個(gè)電阻為10K的電阻R,有利于精準(zhǔn)地控制電平狀態(tài)。圖2.2.3數(shù)碼管顯示電路2.2.4溫度采集電路內(nèi)部計(jì)數(shù)時(shí)鐘周期是DS18B20溫度轉(zhuǎn)換器的技術(shù)核心,當(dāng)內(nèi)部計(jì)數(shù)時(shí)鐘周期正常運(yùn)作時(shí),DS18B20溫度轉(zhuǎn)換器才具有測量溫度的功能。通過高溫系數(shù)振蕩器產(chǎn)生的門周期對(duì)低溫系數(shù)振蕩器輸出的時(shí)鐘信號(hào)進(jìn)行計(jì)數(shù)。除此之外,還在該計(jì)數(shù)器中預(yù)先設(shè)定一個(gè)與-55℃對(duì)應(yīng)的權(quán)數(shù)值。以該權(quán)數(shù)值作為界限,若當(dāng)計(jì)數(shù)器輸出結(jié)果為0時(shí),高溫系數(shù)振蕩器還處于震蕩狀態(tài),則表明此次測量的溫度大于-55℃,此時(shí)原先存在在顯示屏的溫度值就會(huì)加1℃。重復(fù)以上過程直至高溫系數(shù)震蕩器停止震蕩,該時(shí)顯示屏顯示的數(shù)值為溫度的測量值。除此之外,該數(shù)值會(huì)被換算為16位二進(jìn)制的表示形式儲(chǔ)存在內(nèi)部存儲(chǔ)器。當(dāng)需要讀取溫度測量值時(shí)只需要向系統(tǒng)輸入相關(guān)指令[6]。單片機(jī)有利于DS18B20溫度轉(zhuǎn)換器實(shí)現(xiàn)其測量溫度的功能。因此,在實(shí)際使用情況中,往往將DS18B20溫度轉(zhuǎn)換器的信號(hào)線與單片機(jī)的I/O線相連接。除此之外,單片機(jī)的I/O接口還可以同時(shí)與多個(gè)DS18B20溫度轉(zhuǎn)換器相連接,提高單片機(jī)的使用效率,有利于測量多點(diǎn)溫度值[7]。其具體連接模式如下圖2.2.4所示:圖2.2.4溫度采集電路2.2.5風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路本系統(tǒng)由AT89C52通過I/O端進(jìn)行PWM脈沖的輸出,再使用ULN2803將輸出的電流電壓參數(shù)放大至適宜的值,ULN2083與電機(jī)鏈接并發(fā)揮驅(qū)動(dòng)作用,最終使工作電壓為12V的直流電機(jī)正常運(yùn)作并實(shí)現(xiàn)電機(jī)轉(zhuǎn)速的調(diào)控功能。通過PC機(jī)的如鍵盤等終端設(shè)備進(jìn)行目標(biāo)環(huán)境溫度值的設(shè)定,并使用51機(jī)相關(guān)軟件將目標(biāo)溫度控制值轉(zhuǎn)化為AT89C52的操作指令,進(jìn)而使AT89C52的1.7引腳輸出用于調(diào)控電機(jī)轉(zhuǎn)速的PWM脈沖,該脈沖在其電流電壓參數(shù)由ULN2803放大后可用于對(duì)電機(jī)的控制電路進(jìn)行驅(qū)動(dòng),通過這些流程后最終可實(shí)現(xiàn)風(fēng)扇電機(jī)的啟動(dòng)、關(guān)停以及工作頻率的自動(dòng)化調(diào)控功能[8]。若外界的溫度值上升,那么風(fēng)扇的工作頻率也將上升,隨之轉(zhuǎn)速上升;若外界的溫度值降低,那么風(fēng)扇的工作頻率也將下降,隨之轉(zhuǎn)速降低;若外界溫度低于目標(biāo)溫度值,那么風(fēng)扇將停止運(yùn)作;若外界溫度高于目標(biāo)溫度值,那么風(fēng)扇將重新運(yùn)行,進(jìn)而實(shí)現(xiàn)風(fēng)扇電機(jī)轉(zhuǎn)速根據(jù)環(huán)境溫度的自適應(yīng)調(diào)節(jié)功能。電機(jī)的驅(qū)動(dòng)與控制電路見圖2.2.5,從該圖中可以清晰地看到VCC輸入+12V直流電壓至MOTOR-DC,同時(shí)MOTOR-DC與ULN2803的輸出端OUT7管腳連接;ULN2803的輸入端IN7管腳與AT89C52的TXD引腳相接,同時(shí)GND腳接地,COM口接+12V的VCC輸入電壓,此時(shí)AT89C52的TXD腳將輸出PWM脈沖,通過ULN2803的放大作用實(shí)現(xiàn)對(duì)MOTOR-DC的啟動(dòng)、關(guān)停以及工作頻率的調(diào)控功能。圖2.2.5風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電本設(shè)計(jì)選取了工作電壓為12V的直流電機(jī),若ULN28031的1~8腳輸入5V的TTL高電平或者輸入6V至15V的CMOS高電平,那么對(duì)應(yīng)的11~18腳最高輸出電壓可以達(dá)到50V,相應(yīng)的電流可達(dá)500mA,以攝氏度為單位,ULN2803可正常運(yùn)行的溫度限值區(qū)間為[0,70]。因?yàn)楸驹O(shè)計(jì)采用了51系列單片機(jī)AT89C52,其I/O端輸出TTL高電平,滿足ULN2803的使用要求,所以能夠選取ULN2803作為電機(jī)的驅(qū)動(dòng)器件。第三章軟件設(shè)計(jì)3.1程序設(shè)置采用主程序、DS18B20初始化函數(shù)、DS18B20溫度轉(zhuǎn)換函數(shù)、溫度讀取函數(shù)、鍵盤掃描函數(shù)、數(shù)碼管顯示函數(shù)、溫度處理函數(shù)以及風(fēng)扇電機(jī)控制函數(shù)等,這一部分都主要在程序設(shè)計(jì)部分進(jìn)行操作與應(yīng)用。采用DS18B20初始化函數(shù)完成對(duì)DS18B20的初始化;對(duì)環(huán)境溫度的實(shí)時(shí)采集則選用了DS18B20溫度轉(zhuǎn)換函數(shù);主機(jī)對(duì)溫度傳感器數(shù)據(jù)的讀取及數(shù)據(jù)換算則采用了溫度讀取函數(shù),依據(jù)需要完成初值的加減設(shè)定的要求選用了鍵盤掃描函數(shù);而針對(duì)需要即完成將采集到的溫度進(jìn)行處理,選擇溫度處理函數(shù),使得具備支持電機(jī)轉(zhuǎn)速變化所需條件;鑒于需要依據(jù)溫度的數(shù)值完成對(duì)電機(jī)轉(zhuǎn)速及啟停的控制則選用了風(fēng)扇電機(jī)控制函數(shù)。具體流程圖如圖3.1.1:所示調(diào)用鍵盤掃調(diào)用鍵盤掃描函數(shù)主程序開始主程序開始調(diào)用數(shù)碼管調(diào)用數(shù)碼管顯示函數(shù)程序初始化程序初始化調(diào)用溫度處理函數(shù)調(diào)用溫度處理函數(shù)調(diào)用DS18B20初始化函數(shù)調(diào)用風(fēng)扇電機(jī)控制函數(shù)調(diào)用風(fēng)扇電機(jī)控制函數(shù)調(diào)用DS18B20溫度轉(zhuǎn)換函數(shù)結(jié)束調(diào)用溫度讀結(jié)束調(diào)用溫度讀取函數(shù)圖3.1.1主程序流程圖3.2用KeilC51編寫程序由美國KeilSoftware公司開發(fā)的KeilC5151軟件系統(tǒng),屬于系列兼容單片機(jī)C語言類,與單片機(jī)匯編語言相比,C語言不僅在語句方面簡單靈活,而且編寫的函數(shù)模塊可移植性強(qiáng)[9][9]譚浩強(qiáng).C程序設(shè)計(jì)[M](第三版).北京:清華大學(xué)出版社.2005.37—65.事實(shí)上,隨著單片機(jī)開發(fā)技術(shù)的日益迭代發(fā)展,市面上單片機(jī)的開發(fā)軟件也早已呈現(xiàn)繁榮景觀,同時(shí)在操作應(yīng)用中,單片機(jī)的開發(fā)技術(shù)也有所轉(zhuǎn)變,現(xiàn)基本已從早年常用的匯編語言轉(zhuǎn)向高級(jí)語言,而其中,Keil軟件則屬于目前使用面積較廣的一款MCS-51系列單片機(jī)開發(fā)軟件。KeilC51軟件具備非常多的優(yōu)勢,其主要優(yōu)勢有兩點(diǎn)。第一它能提供非常豐富的庫函數(shù),這便使得在應(yīng)用過程中大大節(jié)省了操作人員的時(shí)間,簡化了工作步驟;二是KeilC51還具備強(qiáng)大的集成開發(fā)調(diào)試工具,優(yōu)化了程序編輯調(diào)試,帶來諸多便利,而以上這兩點(diǎn)優(yōu)勢,完全在當(dāng)需要開發(fā)大型軟件時(shí)體現(xiàn)出高級(jí)語言的優(yōu)勢。關(guān)于Keil軟件的使用,主要步驟大致分為三步,即先建立一個(gè)工程,再添加文件并編寫程序,編寫好程序之后最后再進(jìn)行編輯調(diào)試。軟件使用界面如圖所示3.2.1。圖3.2.1KeilC51軟件的使用界面3.3采用Proteus進(jìn)行仿真3.3.1Proteus簡介Proteus軟件是由英國公司Labcenterelectronics出品,是一款EDA工具軟件,該款軟件具備十多年的歷史,其使用人數(shù)涵蓋全球,深受世界各地的喜歡。該款軟件的優(yōu)勢十分顯著,不僅具有和其他EDA工具一樣的原理布圖、人工布線以及電路仿真功能,而且與其它軟件不同的是,它的仿真電路還可以進(jìn)行互動(dòng),甚至可以根據(jù)仿真進(jìn)行實(shí)時(shí)觀察從而驗(yàn)證設(shè)計(jì)的準(zhǔn)確性并及時(shí)改變程序代碼、原理圖連接以及元件屬性等。另外該款軟件還能配合系統(tǒng)配置的虛擬儀器來顯示和輸出,例如示波器、邏輯分析儀等[10]孫號(hào)[10]孫號(hào).Proteus軟件在設(shè)計(jì)電子電路中的應(yīng)用[J].儀表技術(shù),2009,8:74—75Proteus有4個(gè)功能模塊分別為智能原理圖設(shè)計(jì)、完善的電路仿真功能、獨(dú)特的單片機(jī)協(xié)同仿真功能以及實(shí)用的PCB設(shè)計(jì)平臺(tái)。而Proteus的優(yōu)勢也十分顯著,其內(nèi)部元件庫含有豐富的元件,能支持總線結(jié)構(gòu)以及智能化的連線功能,此外它還能支持主流CPU(如ARM、8051/52、AVR)及其通用外設(shè)模型的實(shí)時(shí)仿真等,而這些優(yōu)勢能為單片機(jī)的開發(fā)與應(yīng)用等帶來極大的幫助。Proteus使用的主界面如圖3.3.1。圖3.3.1Proteus使用界面3.3.2本設(shè)計(jì)基于Proteus的仿真本階段的主要操作具體為:啟動(dòng)Proteus軟件,建立工程,依據(jù)原理圖調(diào)出所需要的原件,按照要求改變各原件的屬性,最后將各個(gè)原件按照原理圖連接起來。在原理圖繪制連接好之后,把編譯好的程序加載到其中[11]樓俊軍.[11]樓俊軍.基于Proteus和Keil的單片機(jī)演奏樂曲的實(shí)現(xiàn)[J].科技信息,2010,23:第50頁[12]王文海,周歡喜.用Proteus實(shí)現(xiàn)51單片機(jī)的動(dòng)態(tài)仿真調(diào)試[J].IT技術(shù),2006,20:10—11將溫度傳感器DS18B20的溫度設(shè)置為26.4攝氏度,用鍵盤S2將調(diào)節(jié)系統(tǒng)預(yù)設(shè)的溫度調(diào)節(jié)到22攝氏度。點(diǎn)擊按鈕,系統(tǒng)開始進(jìn)行仿真,待一段數(shù)值時(shí)間穩(wěn)定后再進(jìn)行觀察,記錄風(fēng)扇直流電機(jī)的轉(zhuǎn)速,此時(shí)風(fēng)扇直流電機(jī)的速轉(zhuǎn)顯示為+14.2r/s,如圖3.3.2所示。圖圖3.3.2Proteus仿真效果圖一使用DS18B20將溫度設(shè)定為28,。4攝氏度,用鍵盤S2調(diào)節(jié)溫度,將系統(tǒng)預(yù)設(shè)溫度調(diào)節(jié)為22攝氏度。點(diǎn)擊按鍵,系統(tǒng)開始仿真,待到一段時(shí)間穩(wěn)定后再進(jìn)行觀察,此時(shí)記錄數(shù)值,結(jié)果為+23.3r/s,如圖3.3.3所示。使用溫度傳感器DS18B20將溫度設(shè)定為28.4攝氏度,然后采用S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)溫度,將其設(shè)定為22攝氏度。點(diǎn)擊開始鍵,系統(tǒng)立刻進(jìn)行仿真,待一段時(shí)間數(shù)值穩(wěn)定后再進(jìn)行讀數(shù),此時(shí)記錄直流風(fēng)扇電機(jī)的轉(zhuǎn)速,獲得結(jié)果為+23.3r/s,如圖3.3.3所示。圖3.3.3Proteus仿真效果圖二圖3.3.3Proteus仿真效果圖二溫度傳感器DS18B20的溫度設(shè)置為33.4攝氏度,鍵盤S2調(diào)節(jié)溫度,將系統(tǒng)預(yù)設(shè)溫度調(diào)節(jié)為22攝氏度。點(diǎn)擊按鈕,啟動(dòng)系統(tǒng)仿真程序,待到一段時(shí)間穩(wěn)定后再進(jìn)行數(shù)值觀察和記錄,此時(shí)所觀察到的直流風(fēng)扇電機(jī)的轉(zhuǎn)速為+32.0r/s,如圖3.3.4所示。圖圖3.3.4Proteus仿真效果圖三在上一步上述基礎(chǔ)上,即33.4攝氏度的溫度傳感器和22攝氏度的系統(tǒng)預(yù)設(shè)溫度條件下,用鍵盤S2調(diào)節(jié)系統(tǒng)預(yù)設(shè)溫度到34攝氏度,此時(shí)得知系統(tǒng)預(yù)設(shè)溫度高于溫度傳感器檢測到的溫度,觀察到直流風(fēng)扇電機(jī)的轉(zhuǎn)速正逐漸變慢,直到最后轉(zhuǎn)速歸0,符合系統(tǒng)要實(shí)現(xiàn)的功能,如圖3.3.5所示。圖圖3.3.5Proteus仿真效果圖四通過上述仿真可以看到,直流風(fēng)扇電機(jī)在系統(tǒng)所設(shè)定的溫度一定的情況下,其電機(jī)的轉(zhuǎn)速會(huì)隨著環(huán)境溫度即溫度傳感器檢測到的溫度的增加而增大。當(dāng)環(huán)境溫度低于系統(tǒng)預(yù)設(shè)溫度時(shí),風(fēng)扇自動(dòng)停止運(yùn)轉(zhuǎn),此結(jié)果能夠?qū)崿F(xiàn)系統(tǒng)所設(shè)計(jì)的功能。當(dāng)然,在此并沒有實(shí)現(xiàn)風(fēng)扇直流電機(jī)的無級(jí)調(diào)速,本系統(tǒng)實(shí)現(xiàn)的是電機(jī)在隨環(huán)境溫度變化的四個(gè)等級(jí)的速度變化,環(huán)境溫度的變化在一定小范圍內(nèi)不會(huì)影響風(fēng)扇電機(jī)的轉(zhuǎn)速,只有超過了設(shè)定的某一界限時(shí)轉(zhuǎn)速才會(huì)變化。第四章系統(tǒng)調(diào)試4.1軟件調(diào)試4.1.1按鍵顯示部分的調(diào)試首先,按照設(shè)計(jì)方案編寫了系統(tǒng)程序:P0端口與數(shù)碼管相連,P1端口與鍵盤接口相接,P2端口用于控制LED位碼,用于控制鍵盤的使用功能和數(shù)碼管的顯示。此種情況下,編譯沒有出現(xiàn)錯(cuò)誤,但在模擬調(diào)試中,數(shù)碼管顯示出現(xiàn)亂碼情況,數(shù)碼管上顯示的設(shè)定溫度不正確,通過按鍵調(diào)節(jié)設(shè)定溫度時(shí)顯示器上的溫度并沒有任何的變化。通過對(duì)每一個(gè)部件的查找和分析,發(fā)現(xiàn)鍵盤程序存在一定的問題,其發(fā)現(xiàn)鍵盤掃描程序并沒有安裝按鍵部件來防止防震。這是因?yàn)楫?dāng)鍵盤中的按鍵被按下或者松開時(shí),因?yàn)閼T性的原因按鍵均會(huì)出現(xiàn)一定程度的震動(dòng),致使單片機(jī)做出錯(cuò)誤的判斷,導(dǎo)致在按鍵條件決定溫度時(shí)出現(xiàn)故障,甚至某種程度上使其不工作。為了解決此類問題則需要在按鍵掃描程序中增加消除抖動(dòng)部分,即增加按鍵釋放時(shí)的延遲判斷,以確定按鍵是完全按下還是完全釋放。數(shù)碼管不能準(zhǔn)確顯示的主要原因是所有數(shù)碼管段碼都是通過P0端口傳輸?shù)?,而?shù)碼管屏幕認(rèn)可的模式是動(dòng)態(tài)掃描。然而,該系統(tǒng)程序中沒有顯示段碼的寄存器,導(dǎo)致通過端口P0傳輸段碼時(shí)產(chǎn)生混淆,無法識(shí)別正確的段碼。這就是為什么有必要向系統(tǒng)添加一個(gè)連接或設(shè)置程序的段代碼空間的原因。在鍵盤上加入防振程序,在數(shù)碼管顯示程序中加入保存段碼的空間后,數(shù)碼管沒有出現(xiàn)亂碼且可以正常顯示,按鍵也可以正常工作且沒有延遲現(xiàn)象發(fā)生,在模擬調(diào)試時(shí)取得了很好的效果。4.1.2傳感器DS18B20溫度采集部分調(diào)試由于數(shù)字溫度積分傳感器DS18B20集成度高,給軟件設(shè)計(jì)和調(diào)試帶來很大的方便。其體積小、能耗低、精度高,為檢測儀器的精度和穩(wěn)定性提供了支持和可能。軟件使用P3.1端口作為數(shù)字溫度輸入端口,但必須在數(shù)字信號(hào)輸入出現(xiàn)之前對(duì)其進(jìn)行處理,因此這里有溫度轉(zhuǎn)換程序,此程序經(jīng)過編程和軟件設(shè)計(jì)之后可以實(shí)現(xiàn)對(duì)外部環(huán)境連續(xù)測溫。但是也存在一定的問題,即由于硬件LED數(shù)量的限制,此處僅顯示部分默認(rèn)溫度的整數(shù)部分。為了解決上述只顯示整數(shù)部分的問題,一般在溫度轉(zhuǎn)換程序中為了準(zhǔn)確的檢測和顯示溫度中小數(shù)點(diǎn)后的數(shù)字,程序會(huì)將檢測到的溫度乘以10,然后將其作為三位整數(shù)進(jìn)行數(shù)字處理,例如將28.5更改為285,這樣的程序使編碼變得更加簡便,加快了編程的速度。4.1.3電動(dòng)機(jī)調(diào)速電路部分調(diào)試在本設(shè)計(jì)中,使用了一個(gè)達(dá)林頓驅(qū)動(dòng)器ULN2803來驅(qū)動(dòng)直流發(fā)動(dòng)機(jī),它可以驅(qū)動(dòng)八臺(tái)發(fā)動(dòng)機(jī)。直流電軟件將端口設(shè)置為P3.1端口以輸出不同形式的PWM波。達(dá)林頓驅(qū)動(dòng)器ULN2803驅(qū)動(dòng)直流發(fā)動(dòng)機(jī)運(yùn)行。通過軟件的程序任務(wù)定義,在不同的溫度下輸出不同形式的PWM波,從而對(duì)直流通風(fēng)機(jī)的發(fā)動(dòng)機(jī)進(jìn)行不同的控制。程序執(zhí)行端口P3.1的PWM波形輸出,當(dāng)外部溫度低于設(shè)定溫度時(shí),發(fā)動(dòng)機(jī)不會(huì)自動(dòng)旋轉(zhuǎn)或停止;當(dāng)外部溫度高于設(shè)定溫度時(shí),發(fā)動(dòng)機(jī)轉(zhuǎn)速會(huì)自動(dòng)增加或開始旋轉(zhuǎn)。此外,當(dāng)外部溫度與固定溫度之差較大時(shí),發(fā)動(dòng)機(jī)轉(zhuǎn)速會(huì)較高,因此工作循環(huán)會(huì)增加。在該系統(tǒng)中,風(fēng)扇的發(fā)動(dòng)機(jī)轉(zhuǎn)速可以達(dá)到四級(jí)調(diào)速。將溫度傳感器檢測到的溫度與系統(tǒng)溫度的默認(rèn)值進(jìn)行比較,可以實(shí)現(xiàn)速度的轉(zhuǎn)換執(zhí)行。當(dāng)檢測到的溫度比默認(rèn)溫度升高5攝氏度時(shí),風(fēng)扇的發(fā)動(dòng)機(jī)轉(zhuǎn)速升高一個(gè)階段。4.2硬件調(diào)試4.2.1按鍵顯示部分的調(diào)試系統(tǒng)的按鍵部分執(zhí)行以下功能:按P1.3鍵,最后兩個(gè)LED數(shù)字顯示設(shè)定溫度增加1℃的值;按中間的P1.4鍵,最后兩個(gè)LED數(shù)字顯示溫度降低1℃的值。在調(diào)試過程中,當(dāng)按鍵時(shí)間過長時(shí),設(shè)定的溫度值斌不是增加1℃或減少1℃的情況,而是在先增加之后減少幾個(gè)值。經(jīng)調(diào)查分析,造成這種情況的主要原因可能是增加按鍵釋放時(shí)的延遲判斷時(shí)間過長,故在此基礎(chǔ)上有所改變,具體改進(jìn)方法是適當(dāng)增加按鍵釋放時(shí)的相應(yīng)延遲時(shí)間,但同時(shí)控制時(shí)間不宜太久,否則密鑰將無效。系統(tǒng)顯示部分執(zhí)行以下功能:LED顯示屏的前三位數(shù)字連續(xù)顯示環(huán)境溫度的全部包括整數(shù)部分和小鼠部分,最后兩位LED數(shù)字顯示按鍵設(shè)置所需的設(shè)計(jì)溫度。LED顯示效果非常好,可持續(xù)性很強(qiáng)。4.2.2傳感器DS18B20溫度采集部分調(diào)試將DS18B20芯片連接到P3.1端口。通過對(duì)應(yīng)系統(tǒng)板右下角的三個(gè)端口,特別是VCC、P3.1和GND,芯片可以直接插入此插針上。這一步操作的目的是為了使后續(xù)操作更加簡便。在系統(tǒng)調(diào)試中,為了驗(yàn)證DS18B20是否能在系統(tǒng)板工作,通過合上手掌或握住芯片進(jìn)行檢測。如果結(jié)果顯示LED屏幕上的前兩個(gè)數(shù)字的溫度迅速上升,則表明DS18B20可以在系統(tǒng)板工作,反之則不能在系統(tǒng)班上工作。因DS18B20有三列,在調(diào)試過程中需要看每一列的對(duì)應(yīng)位置是否正確,避免使芯片不能正常工作甚至燒壞如果連接了芯片。4.2.3電動(dòng)機(jī)調(diào)速電路部分調(diào)試電動(dòng)機(jī)調(diào)速電路部分的調(diào)試重點(diǎn)在于調(diào)試相關(guān)軟件的設(shè)計(jì)開發(fā),因?yàn)樵撾娐凡糠滞鈧?cè)的電路主要用于將外界接收的PWM信號(hào)放大而驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。一般情況下在P3.1端口設(shè)置在系統(tǒng)軟件,其目的是使電動(dòng)機(jī)轉(zhuǎn)動(dòng)放大的PWM信號(hào)占空比。當(dāng)外部溫度高于設(shè)定溫度時(shí),發(fā)動(dòng)機(jī)轉(zhuǎn)速會(huì)自動(dòng)增加或開始旋轉(zhuǎn),此時(shí)若用于提高溫度的熱源溫度高于外界時(shí)且靠近測溫芯片DS18B20時(shí),發(fā)現(xiàn)發(fā)動(dòng)機(jī)的轉(zhuǎn)速會(huì)一直升高且速度越來越快,當(dāng)發(fā)動(dòng)機(jī)的轉(zhuǎn)速達(dá)到一個(gè)臨界值時(shí)轉(zhuǎn)速將不再升高。當(dāng)熱源距離測溫芯片DS18B20較遠(yuǎn)時(shí),發(fā)動(dòng)機(jī)的轉(zhuǎn)速開始逐漸下降,當(dāng)發(fā)動(dòng)機(jī)的轉(zhuǎn)速達(dá)到一個(gè)臨界值且此時(shí)將設(shè)定的溫度升高并高于環(huán)境溫度時(shí),發(fā)動(dòng)機(jī)的轉(zhuǎn)速變?yōu)?.此系統(tǒng)中的電機(jī)選用的是額定電壓為12V的直流電機(jī),驅(qū)動(dòng)電路中選用的電源是輸出電壓最高值為5V的單片機(jī)電源。在調(diào)試過程中,采用原直流發(fā)動(dòng)機(jī)5V進(jìn)行調(diào)試,發(fā)現(xiàn)控制效果客觀。4.3系統(tǒng)功能4.3.1系統(tǒng)實(shí)現(xiàn)的功能單片機(jī)系統(tǒng)可以用來檢測環(huán)境中的溫度變化,直流電機(jī)的流量循環(huán)變化可以通過環(huán)境溫度的變化來控制,從而產(chǎn)生不同轉(zhuǎn)速的效果和應(yīng)用。同時(shí),本系統(tǒng)可以根據(jù)鍵盤調(diào)節(jié)和設(shè)定不同的溫度來控制發(fā)動(dòng)機(jī)的轉(zhuǎn)速。當(dāng)環(huán)境溫度低于設(shè)定的溫度時(shí),發(fā)動(dòng)機(jī)停止轉(zhuǎn)動(dòng);當(dāng)環(huán)境溫度高于設(shè)定的溫度時(shí),相應(yīng)的單片機(jī)可以通過不同輸出口輸出并用不同占空比的PWM信號(hào)來控制發(fā)動(dòng)機(jī)進(jìn)行啟動(dòng)轉(zhuǎn)動(dòng),發(fā)動(dòng)機(jī)轉(zhuǎn)速隨著環(huán)境溫度與設(shè)定溫度的差值變化而變化,一般規(guī)律為差值越大轉(zhuǎn)速越快。另外,系統(tǒng)還可以動(dòng)態(tài)顯示當(dāng)前溫度和設(shè)定溫度,并通過鍵盤設(shè)定當(dāng)前溫度。4.3.2系統(tǒng)功能分析整個(gè)系統(tǒng)由按鍵和復(fù)位回路、數(shù)碼管顯示回路、溫度檢測回路和發(fā)動(dòng)機(jī)驅(qū)動(dòng)回路五部分組成。一是溫度檢測回路,是整個(gè)系統(tǒng)的重要部分,溫度檢測回路首先可以準(zhǔn)確地檢測出環(huán)境溫度,然后利用單片機(jī)對(duì)溫度進(jìn)行評(píng)估,最后利用單片機(jī)控制直流故障發(fā)動(dòng)機(jī)的速度。二是發(fā)動(dòng)機(jī)驅(qū)動(dòng)回路,這部分必須利用外圍電路將單片機(jī)輸出的不同的波形PWM以獲得不同的平均輸出電壓,更好地控制發(fā)動(dòng)機(jī)的速度,設(shè)計(jì)中采用了具有良好控制效果的達(dá)林頓變換驅(qū)動(dòng)器ULN2803;三是數(shù)碼管動(dòng)態(tài)顯示回路,該部分可以顯示環(huán)境溫度和設(shè)定溫度,鍵盤部位可以調(diào)節(jié)設(shè)定溫度而DS18B20可以測定環(huán)江溫度,然后記錄環(huán)境溫度和設(shè)定溫度并將其連續(xù)及時(shí)顯示。結(jié)論本系統(tǒng)采用單片機(jī)為核心部位,以DS18B20溫度傳感器測定環(huán)境溫度為基礎(chǔ)組合可以具有不同轉(zhuǎn)速的風(fēng)扇發(fā)動(dòng)機(jī)為一個(gè)整體,通過測定外界環(huán)境溫度的變化來加快或減慢發(fā)動(dòng)機(jī)的轉(zhuǎn)速,并實(shí)現(xiàn)在一定的溫度范圍內(nèi)轉(zhuǎn)速的連續(xù)調(diào)節(jié)。LED數(shù)碼管可以顯示周圍環(huán)境溫度,并可以通過鍵盤上的兩個(gè)獨(dú)立按鍵實(shí)現(xiàn)維持和穩(wěn)定數(shù)碼管不同設(shè)定溫度的調(diào)整,這意味著數(shù)碼管的溫度是固定在不同的溫度差值水平的。改變環(huán)境的溫度和設(shè)定溫度之間的差值可以進(jìn)一步改變發(fā)動(dòng)機(jī)的轉(zhuǎn)速。了解本系統(tǒng)的發(fā)動(dòng)機(jī)轉(zhuǎn)速設(shè)計(jì)可以應(yīng)用眾多發(fā)動(dòng)機(jī)的控制系統(tǒng)之中。它可以在日常生活中使用,使智能化風(fēng)扇可以被廣大消費(fèi)者所使用,為生活提供便利。在工業(yè)化生產(chǎn)中,為了控制發(fā)動(dòng)機(jī)的轉(zhuǎn)速,可以改變輸入信號(hào)的不同類型,降低生產(chǎn)自動(dòng)化程度和生產(chǎn)壓力及使用成本。例如,在能源系統(tǒng)中可以獲得不同負(fù)載的不同電壓信號(hào),然后通過每個(gè)電壓信號(hào)改變不同發(fā)電機(jī)的轉(zhuǎn)速,從而確定發(fā)動(dòng)機(jī)的轉(zhuǎn)速,實(shí)現(xiàn)電力系統(tǒng)的自動(dòng)化。該系統(tǒng)的設(shè)計(jì)和研究在工業(yè)生產(chǎn)和日常生活中起著重要的作用。參考文獻(xiàn)[1]李學(xué)龍.使用單片機(jī)控制的智能遙控電風(fēng)扇控制器[J].電子電路制作,2003,9:13—15.[2]藍(lán)厚榮.單片機(jī)的PWM控制技術(shù)[J].工業(yè)控制計(jì)算機(jī).2010,23(3):97—98[3]郭天祥.新概念51單片機(jī)C語言教程[M].北京:電子工業(yè)出版社.2009.342—344[4]胡漢才.單片機(jī)原理及其接口技術(shù)[M](第2版).北京:清華大學(xué)出版社.2004.49—77.[5]胡全.51單片機(jī)的數(shù)碼管動(dòng)態(tài)顯示技術(shù)[J].信息技術(shù),2009,13:25—26[6]李鋼,趙彥峰.1-Wire總線數(shù)字溫度傳感器DSI8B20原理及應(yīng)用[J].現(xiàn)代電子技術(shù),2005,28(21):77—79.[7]馬云峰.單片機(jī)與數(shù)字溫度傳感器DS18B20的接口設(shè)計(jì)[J].計(jì)算機(jī)測量與控制,2007,10(4):278—280.[8]王會(huì)明,侯加林.智能電風(fēng)扇控制器的研制[J].電子與自動(dòng)化,1998,5(4):25—26.[9]譚浩強(qiáng).C程序設(shè)計(jì)[M](第三版).北京:清華大學(xué)出版社.2005.37—65.[10]孫號(hào).Proteus軟件在設(shè)計(jì)電子電路中的應(yīng)用[J].儀表技術(shù),2009,8:74—75[11]樓俊軍.基于Proteus和Keil的單片機(jī)演奏樂曲的實(shí)現(xiàn)[J].科技信息,2010,23:第50頁[12]王文海,周歡喜.用Proteus實(shí)現(xiàn)51單片機(jī)的動(dòng)態(tài)仿真調(diào)試[J].IT技術(shù),2006,20:10—11[13]丁建軍,陳定方,周國柱.基于AT89C51的智能電風(fēng)扇控制系統(tǒng)[J].湖北工學(xué)院學(xué)報(bào),2003,18(2):60—63.[14]王會(huì)明,侯加林.智能電風(fēng)扇控制器的研制[J].電子與自動(dòng)化,1998,5(4):25—26.[15]劉進(jìn)山.基于MCS-51電風(fēng)扇智能調(diào)速器的設(shè)計(jì)[J].廣州:電子質(zhì)量,2004,10(10):71.[16]YUQihao,CHENGGuodong,NIUFujun.Theapplicationofauto-temperature-controlledventilationembankmentinQinghai--TibetRailway[J].ScienceinChinaSer.DEarthSciences,2004,1(47):168—176.[17]YLai,Y,Wang.Three—dimensionalnonlinearanalysisfortemperaturecharacteristicofventilatedembankmentinpermafrostregions[J].ColdRegionsScienceandTechnology,2004,38(2):165—184.[18]ChengGuodong.Linearityengineeringinpermafrostareas[J].JournalofGlaciologyandGeocryology(inChinese),2001,23(3):213—217.[19]BSchneier.AppliedCrytography:Algorithms,andSourceCodeinC[J].NewYork:JoneWiley&Sons.1994.301—307.[20]Intel:BenjaminJun,PaulKocher.ThelntelRandomNumberGenerator[J].WhitePaperPreparedforlntelCorporation,April22,l999:4—5.附錄1:電路總圖附圖1電路總圖附錄2:程序代碼#include<reg52.h>#defineucharunsignedchar#defineuintunsignedintsbitDQ=P1^7;sbitkey1=P1^3;sbitkey2=P1^4;sbitdianji=P3^1;floatff;uinty3;ucharshi,ge,xiaoshu,sheding=20,gaonum,dinum;ucharcodedispcode[]={//段碼0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};ucharcodetablel[]={//帶小數(shù)點(diǎn)的段碼0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};uchardispbitcode[]={//位選0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};uchardispbuf[8]={0,0,0,0,0,0,0,0};voidDelay(uintnum)//延時(shí)函數(shù){ while(--num);}voiddigitalshow(uchara4,uchara3,uchara2,uchara1,uchara0){ dispbuf[0]=a0; dispbuf[1]=a1; dispbuf[2]=a2; dispbuf[3]=a3; dispbuf[4]=a4; P2=0xff; P0=dispcode[dispbuf[0]]; P2=dispbitcode[5]; Delay(1); P2=0xff; P0=dispcode[dispbuf[1]]; P2=dispbitcode[4]; Delay(1); P2=0xff; P0=dispcode[dispbuf[2]]; P2=dispbitcode[2]; Delay(1); P2=0xff; P0=tablel[dispbuf[3]]; P2=dispbitcode[1]; Delay(1); P2=0xff; P0=dispcode[dispbuf[4]]; P2=dispbitcode[0]; Delay(1);}voiddmsec(uintcount){ uinti; //1ms延時(shí) while(count--) { for(i=0;i<125;i++){} }}voidtmreset(void){ DQ=0; Delay(90); //精確延時(shí)大于480us DQ=1; Delay(4); //90,4可以小范圍變化}voidtmpre(void){ while(DQ); while(~DQ); Delay(4);}bittmrbit(void){ uinti; bitdat; DQ=0; i++; //i++;大概1us DQ=1; i++; i++; dat=DQ; Delay(8); return(dat);}uchartmrbyte(v
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人與公司投資合作合同范本2025
- 包裝材料供應(yīng)合同
- 證券交易合同格式規(guī)范
- 車輛過戶合同協(xié)議書模板
- 商業(yè)綜合體給排水工程清包合同范本
- 版臨時(shí)電力施工合作合同
- 出口代理合同模板
- 旅行期間的緊急情況應(yīng)對(duì)準(zhǔn)備加強(qiáng)考核試卷
- 農(nóng)村集體經(jīng)濟(jì)組織可持續(xù)發(fā)展能力評(píng)價(jià)與實(shí)踐考核試卷
- 咖啡館行業(yè)品牌延伸策略考核試卷
- 小學(xué)生守則、日常行為規(guī)范教育實(shí)施方案
- 湖南省六年級(jí)上冊(cè)數(shù)學(xué)期末試卷(含答案)
- 部編版小學(xué)六年級(jí)道德與法治下冊(cè)課堂達(dá)標(biāo)檢測試卷全冊(cè)含答案
- 巖土工程中的非線性問題分析
- 他們創(chuàng)造了數(shù)學(xué):50位著名數(shù)學(xué)家的故事
- 《普洱茶的定義》課件
- 2023山東經(jīng)貿(mào)職業(yè)學(xué)院教師招聘考試真題題庫
- 《定向運(yùn)動(dòng)》教學(xué)大綱(含課程思政要素)
- 學(xué)技能如何打逃生繩結(jié)固定繩結(jié)
- 內(nèi)浮頂儲(chǔ)罐檢修安全規(guī)范
- 特殊教育:康復(fù)訓(xùn)練課程標(biāo)準(zhǔn)(年版)
評(píng)論
0/150
提交評(píng)論