智能電風(fēng)扇的設(shè)計畢業(yè)論文_第1頁
智能電風(fēng)扇的設(shè)計畢業(yè)論文_第2頁
智能電風(fēng)扇的設(shè)計畢業(yè)論文_第3頁
智能電風(fēng)扇的設(shè)計畢業(yè)論文_第4頁
智能電風(fēng)扇的設(shè)計畢業(yè)論文_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、南 華 大 學(xué)畢業(yè)設(shè)計(論文) 摘要:在日常生活中,單片機得到了越來越廣泛的應(yīng)用,特別在小型的自動控制系統(tǒng)的應(yīng)用中。本文基于AT89C51單片機設(shè)計了電風(fēng)扇自動調(diào)溫系統(tǒng)。通過單片機的控制我們實現(xiàn)了電風(fēng)扇的主要功能:當(dāng)按下開關(guān)鍵時,系統(tǒng)初始化默認的設(shè)定溫度為25度,如果外界溫度高于設(shè)定溫度電風(fēng)扇進行運轉(zhuǎn),如果外界溫度高于低于設(shè)定溫度則楓葉不轉(zhuǎn)動,同時顯示外界的溫度。當(dāng)加減鍵同時按下時進入溫度設(shè)定狀態(tài),可以設(shè)置所需的溫度,并同時顯示所設(shè)定的溫度,同時按加減鍵退出設(shè)定功能。電風(fēng)扇的自動控制,讓電風(fēng)扇這一家用電器變的更智能化??朔似胀婏L(fēng)扇無法根據(jù)外界溫度自動調(diào)節(jié)轉(zhuǎn)速困難。智能電風(fēng)扇的設(shè)計具有重要的

2、現(xiàn)實意義。關(guān)鍵詞: AT89C51單片機;溫度傳感器;直流電機。Abstract:In daily life, SCM got more and more widely applied in small system, particularly in the application of automatic control system. This thesis based on AT89C51 to design thermostat automatically electric system.Through the MCU control we realized the fan main

3、function:after you press the button,the default system initialization temperature is 25. If the temperature higher than outside temperature,the fan ran. If the temperature is lower than outside temperature the fan doesn't turn and display outside temperature at the same time. When press add key

4、and subtract key, enter the temperature setting system. Then we can set temperature what we needed and display the temperature at the same time. We can exit set temperature system by press add key and subtract key at the same time.The automatic control make electric fan become more intelligent in th

5、e household appliances. It overcomes the difficulty which cannot accord the temperature outside automatically to adjust the speed of the normal fan.Keywords:Temperature sensor; Single Chip Machine; D.C. electric machine;目錄引言、.51、智能電風(fēng)扇概論.51.1、自動調(diào)溫電風(fēng)扇簡介51.2、自動調(diào)溫電風(fēng)扇設(shè)計目的52、自動調(diào)溫電風(fēng)扇設(shè)計原理和具體結(jié)構(gòu)62.1、自動調(diào)溫電風(fēng)扇結(jié)構(gòu)

6、62.1.1、內(nèi)部結(jié)構(gòu)72.1.2、外部結(jié)構(gòu)72.2、電風(fēng)扇控制流程圖.72.3、主要原器件的工作原理簡介82.3.1、AT89C51單片機簡介.82.3.2、直流電機的結(jié)構(gòu)102.3.3、溫度傳感器的原理112.3.4、數(shù)字控制器的原理132.3.5、A/D轉(zhuǎn)換器與數(shù)字顯示電路原理142.3.6、直流穩(wěn)壓器電路原理.153、自動調(diào)溫電風(fēng)扇控制系統(tǒng)設(shè)計.163.1、電源轉(zhuǎn)換部分.163.2、AT89C51部分163.3、按鍵部分183.4、單片機復(fù)位部分183.5、繼電器控制電路部分193.6、數(shù)模轉(zhuǎn)換部分203.7、緩沖與保護部分213.8、自動調(diào)溫電風(fēng)扇的整體硬件電路224、軟件設(shè)計.25

7、4.1、主流程序設(shè)計254.2、總程序26結(jié)束語.34參考文獻.35謝辭.36引言: 在日常生活中,單片機得到了越來越廣泛的應(yīng)用。它體積小、重量輕、集成度高、抗干擾能力強、性價比高,尤其適合應(yīng)用于小型的自動控制系統(tǒng)中。電風(fēng)扇起停的自動控制, 能夠解決夏天人們晚上熟睡時,由于夜里溫度下降而導(dǎo)致受涼,或者從睡夢中醒來親自開關(guān)電風(fēng)扇的問題,具有重要的現(xiàn)實意義。本文從此目的出發(fā)利用A T89S52 單片機設(shè)計了自動溫控電風(fēng)扇系統(tǒng),當(dāng)溫度高于20 時,自動打開電風(fēng)扇;低于20 時自動關(guān)閉電風(fēng)扇。還可以實現(xiàn)當(dāng)溫度過高或過低時,蜂鳴器發(fā)出聲音報警提醒人們注意避暑或防止受涼。1、智能電風(fēng)扇概論我們常見的風(fēng)扇一

8、般只有四、五個風(fēng)速擋,用的是人工開關(guān),不知室內(nèi)溫度, 只是人為的調(diào)節(jié)該用哪個擋。而自動調(diào)溫電風(fēng)扇這個設(shè)計是一新領(lǐng)域,它用的是在電子行業(yè)中應(yīng)用廣泛的AT89C51單片機。通過單片機與溫度探測器結(jié)合,將其應(yīng)用于家用電風(fēng)扇的轉(zhuǎn)速精確控制上,能夠有良好的性能。1.1、自動調(diào)溫電風(fēng)扇簡介它使用直流電動機的控制以模擬電路為基礎(chǔ),運算放大器、非線性集成電路以及數(shù)字電路組成,使得對電風(fēng)扇各擋風(fēng)量的調(diào)節(jié)更加細化,使得電風(fēng)扇的控制更具人性化,同時它也具有全自動、控制簡單、智能化、制作容易。使用溫度傳感器、專用控制集成電路和單片機,實現(xiàn)當(dāng)室溫達到自己所設(shè)定開啟風(fēng)扇的溫度時,電風(fēng)扇自動開啟,并且可以根據(jù)室溫變換風(fēng)速;

9、當(dāng)室溫低于這一設(shè)定溫度時,電風(fēng)扇自動關(guān)閉。同時顯示當(dāng)前室內(nèi)的溫度,和自己所設(shè)定的溫度,提醒人們合理的使用電風(fēng)扇。1.2、自動調(diào)溫電風(fēng)扇設(shè)計目的進入5月份,天氣越來越炎熱,尤其到了盛夏,更是酷熱難當(dāng)。目前可供選擇的納涼工具主要有:空調(diào)、普通電風(fēng)扇、冷風(fēng)機以及蒲扇、紙扇等等??照{(diào)使用方便,且越來越智能化,但它使用費用高,并且常常給人帶來疾病。而電風(fēng)扇以其低廉的價格使它的使用極為普遍。人們常常通宵達旦的使用,一旦氣溫稍有變化,感冒人數(shù)就會急劇增加;冷風(fēng)機能增強空氣的濕度但使用久了,家里電器會受潮,同時也會讓使用者長期裸露在外的關(guān)節(jié)受到危害;蒲扇和紙扇價格低廉,但不自動,目前使用者微乎其微。在這種情況

10、下,自動調(diào)溫電風(fēng)扇應(yīng)運而生。我們的生活加快,人們需要處理的事情越來越多,在炎熱的夏天,回到家更想好好休息,消除自己一天的工作疲勞,而自動調(diào)溫電風(fēng)扇的設(shè)計就解決了這些問題。自動調(diào)溫電風(fēng)扇是通過單片機控制來實現(xiàn)直流電動機運轉(zhuǎn)頻率的自動調(diào)節(jié),從而達到改變風(fēng)速的目的。此設(shè)計用到AT89C51單片機,它是把微處理器,存儲器(RAM和ROM),輸入/輸出接口以及定時器/計數(shù)器等集成在一起的集成電路芯片。它與集成電路相結(jié)合,組成一個設(shè)定溫度,感溫,控制和輸出與一身的模塊。利用單片機AT89C51和一些電路對室溫進行探測,從而對電風(fēng)扇進行開和關(guān)的一系列控制。2、自動調(diào)溫電風(fēng)扇設(shè)計原理和具體結(jié)構(gòu)2.1、自動調(diào)溫

11、電風(fēng)扇結(jié)構(gòu)自動調(diào)溫電風(fēng)扇有內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)組成。有集成電路板和直流電機組成,整個部分電路板是重中之中,它上面連接了有單片機,溫度傳感器,延時開關(guān)電路, 按鍵式電磁開關(guān),LED顯示器,A/D、D/A轉(zhuǎn)換電路、可控硅觸發(fā)控制電路、振蕩電路、電源電路等。由外殼、風(fēng)扇葉、開關(guān)、電源線、網(wǎng)罩、 轉(zhuǎn)頁組成。2.2、電風(fēng)扇控制流程圖如圖2.2所示: 圖2.2電風(fēng)扇控制流程圖2.3、主要元器件的工作原理簡介AT89C51 單片機引腳圖管腳定義:Vss :接地。Vcc :電源,提供掉電、空閑、正常工作電壓。P0.0-0.7 : P0 I/O 口 - P0 口是開漏雙向口,可以寫為1 使其狀態(tài)為懸浮用作高阻輸入

12、。P0 也可以在訪問外部程序存儲器時作地址的低字節(jié),在訪問外部數(shù)據(jù)存儲器時作數(shù)據(jù)總線,此時通過內(nèi)部強上拉輸出1。P1.0-1.7 : P1 I/O 口 - P1 口是帶內(nèi)部上拉的雙向I/O 口,向P1 口寫入1時,P1 口被內(nèi)部上拉為高電平,可用作輸入口。當(dāng)作為輸入腳時,被外部拉低的P1 口會因為內(nèi)部上拉而輸出電流。 P1 口第2 功能:T2(P1.0) 定時/計數(shù)器2 的外部計數(shù)輸入/時鐘輸出。T2EX(P1.1) 定時/計數(shù)器2 重裝載/捕捉/方向控制。P2.0-2.7 : P2 I/O 口 - P2 口是帶內(nèi)部上拉的雙向I/O 口,向P2 口寫入1時,P2 口被內(nèi)部上拉為高電平,可用作輸

13、入口。當(dāng)作為輸入腳時,被外部拉低的P2 口會因為內(nèi)部上拉而輸出電流。 在訪問外部程序存儲器和外部數(shù)據(jù)時分別作為地址高位字節(jié)和16 位地址(MOVX DPTR),此時通過內(nèi)部強上拉傳送1。 當(dāng)使用8 位尋址方式(MOV Ri)訪問外部數(shù)據(jù)存儲器時,P2 口發(fā)送P2 特殊功能寄存器的內(nèi)容。RST : 復(fù)位 當(dāng)晶振在運行中,只要復(fù)位管腳出現(xiàn)2 個機器周期高電平即可復(fù)位,內(nèi)部有擴散電阻連接到Vss 僅需要外接一個電容到Vcc ,即可實現(xiàn)上電復(fù)位。PSEN :程序存儲使能當(dāng)執(zhí)行外部程序存儲器代碼時,PSEN 每個機器周期被激活兩次,在訪問外部數(shù)據(jù)存儲器時PSEN無效,訪問內(nèi)部程序存儲器時PSEN 無效。

14、XTAL1 :晶體1 反相振蕩放大器輸入和內(nèi)部時鐘發(fā)生電路輸入。XTAL2 :晶體2 反相振蕩放大器輸出。直流電動機具有良好的起動、制動性能,宜于在大范圍內(nèi)平滑調(diào)速,在許多需要調(diào)速或快速正反向的電力拖動領(lǐng)域中得到了廣泛的應(yīng)用。從控制的角度來看,直流調(diào)速還是交流拖動系統(tǒng)的基礎(chǔ)。隨著單片機技術(shù)的日新月異,使得許多控制功能及算法可以采用軟件技術(shù)來完成,為直流電動機的控制提供了更大的靈活性,并使系統(tǒng)能達到更高的性能。采用單片機構(gòu)成控制系統(tǒng),可以節(jié)約大量的人力資源和降低系統(tǒng)成本,從而有效的提高工作效率。直流電動機的轉(zhuǎn)速與施加于電動機兩端的電壓大小有關(guān)。電樞電壓為Ua,電樞電流為Ia,電樞回路總電阻為Ra

15、,電機常數(shù)Ca,勵磁磁通量是。根據(jù)KVL方程:電機轉(zhuǎn)速n=(Ua-IaRa)/Ca,其中,對于極對數(shù)p,匝數(shù)為N,電樞支路數(shù)為a的電機來說:電機常數(shù)Ca=pN/60a,意味著電機確定后,該值是不變的。而在Ua-IaRa中,由于Ra僅為繞組電阻,導(dǎo)致IaRa非常小,所以Ua-IaRa約等于Ua。由此可見我們改變電樞電壓時,轉(zhuǎn)速n即可隨之改變。要求對一個非電量(如溫度、力矩、重量等)進行自動測量和控制,首先需將這一非電量轉(zhuǎn)換成電量。完成這一過程的裝置稱為傳感器。溫度傳感器的種類較多,常用的有:(1)熱電偶:用兩種不同材料的導(dǎo)體組成一個閉合回路。如果兩端結(jié)點的溫度不同,則在兩者之間產(chǎn)生電動勢E,而在

16、回路中有一定大小的電流。這個電動勢或電流與兩種導(dǎo)體的性質(zhì)和結(jié)點溫度有關(guān)。利用這種熱電效應(yīng)組成的溫度傳感器,稱為熱電偶。熱電偶具有測量范圍大等優(yōu)點,但靈敏度較低。(2)半導(dǎo)體熱敏電阻:由于非線性而影響其精度,不適宜在精度較高的溫度控制系統(tǒng)中作傳感器。(3)鉑電阻溫度傳感器:測量范圍大,精度較高,但成本高,適合在較大系統(tǒng)中使用。(4)集成溫度電流傳感器:如美國Analog Devices公司生產(chǎn)的AD590,它的測溫范圍為-50oC+150 oC,滿刻度范圍誤差為±0.3 oCAD590是美國ANALO G DEV ICES 公司的單片集成兩端感溫電流源。主要特性:(1) 流過器件的電流

17、(A) 等于器件所處環(huán)境的熱力學(xué)溫度(開爾文) 度數(shù):Ir/T=1 (1) 式中,Ir流過器件(AD590) 的電流,單位為A;T熱力學(xué)溫度,單位為K;(2) AD590的測溫范圍為- 55+150;(3) AD590的電源電壓范圍為430 V,可以承受44 V正向電壓和20 V反向電壓,因而器件即使反接也不會被損壞;(4) 輸出電阻為710 m;(5) 精度高,AD590在- 55+-150范圍內(nèi),非線性誤差僅為±0.3。AD590的應(yīng)用:AD590測量熱力學(xué)溫度、攝氏溫度、兩點溫度差、多點最低溫度、多點平均溫度的具體電路,廣泛應(yīng)用于不同的溫度控制場合由于AD590精度高、價格低、

18、不需輔助電源、線性好,常用于測溫和熱電偶的冷端補償。AD590不能直接置于水中,需加防水但不隔熱裝置。 AD590電路圖多路溫度巡回檢測控制電路,可通過多路選擇器CC4051實現(xiàn),它使一個8選1多路選擇器。如要實現(xiàn)4路循環(huán)檢測,只需將CC4051的譯碼輸入端最高為C端(9圖中555定時器組成多諧振蕩器產(chǎn)生脈沖,其輸出頻率f1.44/(R+R+2R)C,調(diào)節(jié)電位器R可改變巡回顯示的時間長短。為了使溫度值顯示穩(wěn)定,輸出脈沖周期應(yīng)不小于4s。CC4013組成一個二位二進制計數(shù)器,一方面計數(shù)器的輸出作為8選1數(shù)據(jù)選擇器的地址線輸入,另一方面經(jīng)譯碼、顯示給出顯示的是第幾路。當(dāng)按下開關(guān)S時,計數(shù)器脈沖被封

19、鎖,計數(shù)器狀態(tài)不變,可實現(xiàn)定點顯示。溫度檢測數(shù)字控制電路A/D轉(zhuǎn)換器與數(shù)字顯示電路原理采用ICL7107A/D轉(zhuǎn)換器。ICL7107A/D轉(zhuǎn)換器的性能與管腳參見前面A/DICL7107顯示的滿量程與基準(zhǔn)電壓的關(guān)系位VM=2 V。若將V選擇為100mv,則可組成滿量程為200mv的電壓測量電路。只要把小數(shù)點定在十位即可直接讀出測量結(jié)果。由于ICL7107沒有專門的小數(shù)點驅(qū)動電路,使用時將其陽極數(shù)碼管的公共陽極接+5V,小數(shù)點接GND時點亮,接5V A/D轉(zhuǎn)換與顯示電路R、C為振蕩電阻和振蕩電容。R和R構(gòu)成基準(zhǔn)電壓分壓器,調(diào)整R可改變基準(zhǔn)電壓,使V100mv,R采用精密電位器。R、C為模擬信號輸入

20、端高頻濾波電路。C、C分別為基準(zhǔn)電容和自動調(diào)零電容。R、C為積分電阻和積分電容。為了提高測量溫度的精度,電路輸入為滿量程2V的電壓信號,因此,輸入另加一分壓網(wǎng)絡(luò)擴大量程。直流穩(wěn)壓器電路原理此電路采用的三端穩(wěn)壓集成電路 LM317。LM317的輸出電流是1.5A,輸出電壓可在1.5-37V之間連續(xù)可調(diào)。輸出電壓由控制腳決定,最高輸出電壓由電源電壓決定。它的1腳是控制端。2腳是輸出端 。3腳是電源端。引腳非常少易于控制,并且輸出電壓穩(wěn)定帶負載能力強。它配合前級的推動電路從而實現(xiàn)電壓的數(shù)控調(diào)節(jié)。LM317在工作時流過的電流是非常大的,所以一定要加足夠大的散熱片。以便較快的散去工作時的熱量避免因高溫而

21、損壞LM317穩(wěn)壓集成電路。此設(shè)計的LM317是不能用一般的三端穩(wěn)壓器代替的。因為一般的三端穩(wěn)壓器是不帶控制腳他只有接地腳。三端穩(wěn)壓元件圖3、自動調(diào)溫電風(fēng)扇控制系統(tǒng)設(shè)計3.1、電源轉(zhuǎn)換部分:圖3.1電源轉(zhuǎn)換電路3.2、AT89C51部分復(fù)位在振蕩器工作時將RST腳保持至少兩個機器周期高電平12 時鐘模式為24 個振蕩器周期6,時鐘模式為12 振蕩器周期可實現(xiàn)復(fù)位為了保證上電復(fù)位的可靠,RST 保持高電平的時間至少為振蕩器啟動時間(通常為幾個毫秒)再加上兩個機器周期。復(fù)位后,振蕩器以12 時鐘模式運行當(dāng)已通過并行編程器設(shè)置為6 時鐘模式時除外。振蕩器特性XTAL1 和XTAL2 為輸入和輸出,可

22、分別作為一個反相放大器的輸入和輸出。此管腳可配置為使用內(nèi)部振蕩器。要使用外部時鐘源驅(qū)動器件時,XTAL2 可以不連接而由XTAL1 驅(qū)動。外部時鐘信號無占空比的要求,因為時鐘通過觸發(fā)器二分頻輸入到內(nèi)部時鐘電路。定時器0 和1 的操作定時和計數(shù)功能由特殊功能寄存器TMOD 的控制位進行選擇。這兩個定時/計數(shù)器有4 種操作模式,通過TMOD 的M1 和M0 選擇。兩個定時/計數(shù)器的模式0、 1 和2 都相同模式3 不同。中斷本器件提供6 個中斷源。外部中斷INT0 和INT1 可根據(jù)寄存器TCON 中的IT0 和IT1 位狀態(tài)分別設(shè)置為電平或者邊沿觸發(fā)。實際產(chǎn)生的中斷標(biāo)志是TCON 中的位IE0

23、和IE1。 當(dāng)產(chǎn)生外部中斷時,如果是邊沿觸發(fā),進入中斷服務(wù)程序后由硬件清除中斷標(biāo)志位。如果中斷是電平觸發(fā),由外部請求源而不是由片內(nèi)硬件控制請求標(biāo)志。定時器0 和定時器1 中斷由TF0 和TF1 (分別由各自的定時/計數(shù)寄存器控制,定時器0 工作在模式3時除外)產(chǎn)生。當(dāng)產(chǎn)生定時器中斷時,進入中斷服務(wù)程序后由片內(nèi)硬件清除標(biāo)志位圖3.2單片機內(nèi)部結(jié)構(gòu)3.3、按鍵部分按鍵電路采用的是單片機89C51的15,16,17腳作為按鍵的輸入端子。它們分別是SW1開關(guān)按鍵、SW2遞減按鍵、SW3遞增按鍵。當(dāng)按下開關(guān)按鍵時會給單片機一低電平,從而單片機檢測到這個腳電平的變化,會做出下一步的處理,經(jīng)內(nèi)部分析運算后輸

24、出相應(yīng)的控制數(shù)據(jù)。開關(guān)按鍵的是單片機內(nèi)部的T1記數(shù)功能,當(dāng)此腳電平變化一次,內(nèi)部就會記一次數(shù)。遞減按鍵用的是單片機的3.6口。當(dāng)此按鍵按下一次就會使P1口所有的輸出端口就會變化。遞增按鍵用的是3.7口,工作過程同遞減按鍵3.6口。圖3.3按鍵連接圖3.4、單片機復(fù)位部分圖3.4復(fù)位連接圖上電后5V電壓通過C向R電阻充電,這時在89C51的復(fù)位端就會形成一個負的電壓脈沖。這時單片機就認為給它一低的電平信號告訴它要復(fù)位了。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸

25、入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。本電路采用的是上電自動復(fù)位,不需要手動按動按鈕去人工復(fù)位。在復(fù)位有效期間,ACE、PSEN也輸出高電平,REST輸入端返回低電平以后單片機從0地址開始執(zhí)行程序。3.5、繼電器控制電路部分 繼電器有線圈,常開觸點,常閉觸點

26、。常開觸點在線圈不通電的情況下是斷開的,當(dāng)線圈中有電流經(jīng)過時,常開觸點閉合;常閉觸點在線圈不通電的情況下是閉合的,當(dāng)線圈中有電流經(jīng)過時斷開。本設(shè)計用到的是繼電器的常開觸點,即在繼電器線圈沒有電流經(jīng)過時是斷開的狀態(tài),當(dāng)繼電器線圈中有電流經(jīng)過時閉合導(dǎo)通。從而實現(xiàn)弱電控制強電,單片機是弱電器件,一般情況下它的工作電壓為5 V ,電風(fēng)扇工作所需電壓為220 V , 屬于強電,強電不能和弱電有任何電器接觸,防止強電進入到單片機內(nèi),繼電器起到隔離作用。由于單片機是一個弱電器件,它的工作電壓是5 V ,驅(qū)動電流在mA級以下,而現(xiàn)在要把它用于一些大功率場合,控制電風(fēng)扇,顯然是不行的。所以,就要有一個環(huán)節(jié)來銜接

27、,這個環(huán)節(jié)就是所謂的“功率驅(qū)動”,繼電器驅(qū)動就是一個典型的、簡單的功率驅(qū)動環(huán)節(jié)。繼電器驅(qū)動就是單片機與其他大功率負載接口,起到控制作用,三極管起到放大作用。這里繼電器由相應(yīng)的三極管來驅(qū)動,當(dāng)溫度高于20 時,給單片機一個命令, set b P2. 7 ,單片機P2. 7引腳輸出高電平,三極管導(dǎo)通,繼電器線圈得電有電流經(jīng)過,常開觸點閉合,電風(fēng)扇電路接通,電風(fēng)扇開始轉(zhuǎn)動。溫度低于20 時,執(zhí)行CLR P2. 7 ,單片機P2. 7引腳輸出低電平,三極管截至,繼電器線圈中沒有電流經(jīng)過,常開觸點保持原斷開狀態(tài),電風(fēng)扇電路斷路,電風(fēng)扇不能轉(zhuǎn)動。繼電器線圈兩端反相并聯(lián)的二極管起到吸收反向電動勢的功能,保護

28、相應(yīng)的驅(qū)動三極管。斷電器自動控制電路圖如圖2 所示。實現(xiàn)自動控制時先把開關(guān)S1 閉合。圖3.5繼電器自動控制電路3.6、數(shù)模轉(zhuǎn)換部分圖3.6 DAC0832引腳圖該D/A轉(zhuǎn)換器為20引腳雙列直插式封裝,各引腳含義如下:(1)D7D0轉(zhuǎn)換數(shù)據(jù)輸入。(2)CS片選信號(輸入),低電平有效。(3)ILE數(shù)據(jù)鎖存允許信號(輸入),高電平有效。(4)WR1第一信號(輸入),低電平有效。該信號與ILE 信號共同控制輸入寄存器是數(shù)據(jù)直通方式還是數(shù)據(jù)鎖存方式:當(dāng)ILE=1和XFER=0時,為輸入寄存器直通方式;當(dāng)ILE=1和WR1 =1時,為輸入寄存器鎖存方式。(5) WR2 第2寫信號(輸入),低電平有效.

29、該信號與信號合在一起控制DAC寄存器是數(shù)據(jù)直通方式還是數(shù)據(jù)鎖存方式:當(dāng) WR2=0和XFER=0時,為DAC寄存器直通方式; 當(dāng)WR2=1和XFER=0時,為DAC寄存器鎖存方式。 (6)XFER數(shù)據(jù)傳送控制信號(輸入),低電平有效 。 7)Iout2電流輸出“1”。當(dāng)數(shù)據(jù)為全“1”時,輸出電流最大; 為全“0”時輸出電流最小。(8)I(out2電流輸出“2”。 DAC轉(zhuǎn)換器的特性之一是:Iout1 +Iout2=常數(shù)。(9)Rfb反饋電阻端 既運算放大器的反饋電阻端,電阻(15K)已固化在芯片中。因為DAC0832是電流輸出型D/A轉(zhuǎn)換器,為得到電壓的轉(zhuǎn)換輸出,使用時需在兩個電流輸出端接運算

30、放大器,Rfb 即為運算放大器的反饋電阻。(10)Vref基準(zhǔn)電壓,是外加高精度電壓源,與芯片內(nèi)的電阻網(wǎng)絡(luò)相連接,該電壓可正可負,范圍為-10V+10V.(11)DGND數(shù)字地(12)AGND模擬地3.7、緩沖與保護部分緩沖電路作用是把D/A數(shù)模轉(zhuǎn)換集成電路輸出的控制電壓進行放大后去推動LM317輸出所要的電壓。保護電路是由(R10、R11、R12)取樣電阻和單片機的25腳組成。工作原理是:當(dāng)單片機檢測到負載短路時,25腳的電壓會發(fā)生變化這時單片機就認為負載短路迫使整機處于待機狀態(tài),使輸出電壓為零從而保護了三端穩(wěn)壓器不至于損壞,并且還避免了負載因短路在擴大故障范圍。 圖3.7單片機和DAC08

31、32直通方式輸出連接圖3.8、自動調(diào)溫電風(fēng)扇的整體硬件電路220V市電經(jīng)變壓器將壓后變成15V的交流電壓,經(jīng)整流電路后變成正負15V左右的直流電壓。(變壓器是采用三抽頭的)-15V電壓送到緩沖放大集成運放為其提供負的工作電壓。+15V直流電壓經(jīng)五伏穩(wěn)壓后變成穩(wěn)定的5V電壓為單片機和D/A數(shù)模轉(zhuǎn)換集成電路提供工作電壓。數(shù)模轉(zhuǎn)換器是一個八位的D/A轉(zhuǎn)換器件。當(dāng)輸入的數(shù)據(jù)全為0時,其數(shù)控電源輸出的電壓接近0V。當(dāng)輸入的數(shù)據(jù)全為1時,其數(shù)控電源輸出電壓最高接近基準(zhǔn)電壓?;鶞?zhǔn)電壓值由VREF決定。此電路采用的基準(zhǔn)電壓是15V 。當(dāng)接通電源后89C51得到復(fù)位電壓復(fù)位后,內(nèi)部開始執(zhí)行程序,而輸出相應(yīng)的電壓

32、值。SW1是開關(guān)按鍵,按一下次按鍵后整機處于待機狀態(tài),同時LED顯示“OF”。電源無電壓輸出,按任意鍵可以開機。SW2是輸出電壓遞減調(diào)節(jié)按鍵,當(dāng)按一下SW2時,89C51單片機地16腳(P3.6口)會得到一個變化的脈沖,這個變化的脈沖送到單片機內(nèi)部處理后由P1口的1到8腳輸出遞減電壓的數(shù)據(jù),直接送到數(shù)模轉(zhuǎn)換集成電路的A1-A8端子(也就是5-12腳),電壓遞減數(shù)據(jù)經(jīng)D/A集成電路轉(zhuǎn)換后,由4腳輸出一個控制電壓。這個控制電壓直接送到集成運放TL082,經(jīng)TL082反相放大后,直接推動LM317三端穩(wěn)壓器輸出相應(yīng)的電壓值。從而實現(xiàn)數(shù)控電壓的無觸點調(diào)節(jié)。并且由89C51單片機的內(nèi)部輸出顯示電壓的數(shù)據(jù)

33、電壓去推動V1,V2三極管的導(dǎo)通,從而驅(qū)動LED數(shù)碼管顯示相應(yīng)的輸出電壓值。SW3按鍵(電壓遞增調(diào)節(jié))與電壓遞減調(diào)節(jié)的工作原理相反。當(dāng)剛開機時由于單片機要初始化(復(fù)位)這一瞬間單片機輸出的數(shù)據(jù)不受控制,從而會導(dǎo)致LM317輸出一個高的電壓,會使用電器(負載)損壞。為了防止這一現(xiàn)象的發(fā)生,從而設(shè)置了V3(PNP)保護三極管。當(dāng)單片機初始化時,各端口的電壓為低電平,這時V3導(dǎo)通,繼電器得到工作電壓,使繼電器的觸點斷開,從而切斷了輸出電壓,保護了用電器不被瞬間輸出的高電壓損壞。當(dāng)復(fù)位后,P2.5口恢復(fù)了高電平,這時V3截止,繼電器得不到工作電壓而恢復(fù)到常閉狀態(tài),這時就輸出正常的電壓到用電器。當(dāng)用電器

34、(負載)短路或過載現(xiàn)象時,會到造成輸出電壓大幅度下降,此電壓經(jīng)取樣電路后的電壓也會下降很多,這時P2.4口的電位也隨之降低。程序立即檢測到P2.4這一變化。立即使P2.5口為低電平從而使V3導(dǎo)通,繼電器工作切斷輸出電壓。這時整機也轉(zhuǎn)入待機狀態(tài),直至故障排除后才能重新開機,否則整機將一直處于待機狀態(tài) 。整體電路結(jié)構(gòu)如圖3.8所示:圖3.8整體電路結(jié)構(gòu)圖4、軟件設(shè)計4.1、主流程序設(shè)計主程序設(shè)計流程如圖4.1所示:圖4.1主程序流程圖功能介紹:單片機復(fù)位后,進行初始化工作,然后進入按鍵功能模塊,最后完成工作。初始化中,將DS18B20,內(nèi)部RAM,包括按鍵,默認為控制狀態(tài),溫度設(shè)定為25。加減按鍵

35、同時按下進入溫度設(shè)定狀態(tài),然后按加或減按鍵進行溫度設(shè)定,然后再次同時按加減鍵退出。4.2、總程序TEMPER_L EQU 29H; 用于保存讀出溫度的低8位TEMPER_H EQU 28H; 用于保存讀出溫度的高8位FLAG1 EQU 38H; DS18B20標(biāo)志位FLAG2 EQU 01H; 設(shè)定狀態(tài)標(biāo)志位ORG 0000HAJMP START; 轉(zhuǎn)入主程序ORG 0030H START:MOV 2FH,#25; 設(shè)定高于25度為溫度過高SETB P2.1 ; CLR FLAG2 mov sp,#60h;duqu:LCALL GET_TEMPER ; 調(diào)用讀溫度子程序并初始化DS18B20L

36、CALL DISP ; 調(diào)用顯示當(dāng)前溫度MOV A,29H; 將現(xiàn)場實際溫度傳遞給ACJNE A,2FH,LL1; 比較當(dāng)前的溫度與設(shè)定的溫度是否相等CLR P2.0; 開啟電風(fēng)扇SJMP ANJIANMAIN: MOV a,2FH ; 存儲的溫度25度MOV b,#10 ; 取出十位和個位div abORL A,#00110000BMOV 41H,a ; 十位MOV 42H,b ; 個位MOV A,42HORL A,#00110000B; 轉(zhuǎn)化成ASCII碼MOV 42H,AMOV a,2FHMOV b,#100 ; div abORL A,#00110000BMOV 40H,a ; LL1

37、:SETB P2.0; 關(guān)閉電風(fēng)扇ANJIAN:LCALL DISP MOV A,P3 ; 讀取當(dāng)前按鍵的值 ANL A,#0FH ; 屏蔽高位sheding:CJNE A,#0CH,jia ; 加減按鍵一起按就進入溫度設(shè)定狀態(tài) ACALL DELAY100 ; 消除鍵抖動 CJNE A,#0CH,jia ; 加減按鍵一起按就進入溫度設(shè)定狀態(tài) setb flag2 ; 啟動設(shè)定 sjmp duqu jia: CJNE A,#0EH,jian ; 加處理 ACALL DELAY100 ; 消除鍵抖動 CJNE A,#0EH,jian ; 加處理JNB FLAG2,DUQU ; 在加減鍵沒有同時按

38、下的時候,只按加按鍵時不執(zhí)行任何功能,并跳到讀取當(dāng)前溫度 MOV A,2FH; 先讀取原先設(shè)定的溫度值 INC A; 原先設(shè)定的溫度值加1, MOV 2FH,A; 將當(dāng)前設(shè)定的溫度值保存 SJMP BAOCUN jian: CJNE A,#0DH,duqu ; 減處理 ACALL DELAY100 ; 消除鍵抖動 CJNE A,#0DH,duqu ; 減處理 JNB FLAG2,DUQU ; 在加減鍵沒有同時按下的時候,只按加按鍵時不執(zhí)行任何功能,并跳到讀取當(dāng)前溫度 MOV A,2FH; 先讀取原先設(shè)定的溫度值 DEC A; 原先設(shè)定的溫度值減1,當(dāng)設(shè)定的溫度值不能超過-25 MOV 2FH,

39、A; 保存當(dāng)前設(shè)定的溫度 baocun:CJNE A,#0CH,TUICHU; 加減按鍵一起按就保存溫度設(shè)定狀態(tài) 并退出設(shè)定 ACALL DELAY100 ; 消除鍵抖動 CJNE A,#0CH,TUICHU; 加減按鍵一起按就保存溫度設(shè)定狀態(tài) 并退出設(shè)定 CLR flag2 ; 關(guān)閉設(shè)定 SJMP QUITTUICHU:CPL P2.1; 等待退出設(shè)定狀態(tài) LCALL DELAY100 LCALL DELAY100 LCALL DELAY100 LCALL DELAY100 LCALL DELAY100 SJMP BAOCUNQIUT:LCALL DISP LJUMP MAINDISP:JN

40、B FLAG2,DQMOV A,2FH; 顯示設(shè)定溫度值SJMP XSDQ:mov a,29H; 顯示當(dāng)前溫度值XS: mov b,#10 ; 取出十位和個位div abMOV DPTR,#WORDTABMOVC A,A+DPTRMOV P0,ACLR P2.7; 開啟個位數(shù)碼管顯示SETB P2.6SETB P2.5LCALL DELAY100SETB P2.7MOV A,BMOV DPTR,#WORDTABMOVC A,A+DPTRMOV P0,ACLR P2.6; 開啟十位數(shù)碼管顯示SETB P2.7SETB P2.5LCALL DELAY100SETB P2.6RETGET_TEMPE

41、R:LCALL INIT_1820; 先復(fù)位DS18B20JB FLAG1,TSS2RET ; INIT_1820:SETB P3.2NOPCLR P3.2MOV R0,#06BH; 主機發(fā)出延時537微秒的復(fù)位低脈沖MOV R1,#03HTSR1:DJNZ R0,TSR1 MOV R0,#6BHDJNZ R1,TSR1SETB P3.2; 然后拉高數(shù)據(jù)線NOPNOPNOPMOV R0,#25HTSR2:JNB P3.2,TSR3; 等待DS18B20回應(yīng)DJNZ R0,TSR2LJMP TSR4 ; 延時TSR3:SETB FLAG1 ; 置標(biāo)志位,表示DS1820存在LJMP TSR5TS

42、R4:CLR FLAG1 ; 清標(biāo)志位,表示DS1820不存在LJMP TSR7TSR5:MOV R0,#06BHTSR6:DJNZ R0,TSR6 ; 時序要求延時一段時間TSR7:SETB P3.2RETWRITE_1820:MOV R2,#8; 一共8位數(shù)據(jù)CLR CWR1:CLR P3.2MOV R3,#5DJNZ R3,$RRC AMOV P3.2,CMOV R3,#21DJNZ R3,$SETB P3.2NOPDJNZ R2,WR1SETB P3.2RET ; 判斷DS1820是否存在?若DS18B20不存在則返回TSS2:MOV A,#0CCH ; 跳過ROM匹配LCALL WR

43、ITE_1820MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令LCALL WRITE_1820LCALL DELAY100; 延時750微秒以上,等待18B20 A/D轉(zhuǎn)換結(jié)束LCALL INIT_1820; 準(zhǔn)備讀溫度前先復(fù)位 MOV A,#0CCH ; 跳過ROM匹配LCALL WRITE_1820MOV A,#0BEH ; 發(fā)出讀溫度命令LCALL WRITE_1820LCALL READ_18200; 將讀出的溫度數(shù)據(jù)保存到28H/29HRETREAD_18200:MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出MOV R1,#29H ; 低位存入29H(TEMPER_L),

44、高位存入28H(TEMPER_H)RE00:MOV R2,#8RE01:CLR CSETB P3.2NOPNOPCLR P3.2NOPNOPNOPSETB P3.2MOV R3,#08RE10: DJNZ R3,RE10MOV C,P3.2MOV R3,#21RE20: DJNZ R3,RE20RRC ADJNZ R2,RE01MOV R1,ADEC R1DJNZ R4,RE00RETWORDTAB: DB 3FH,06H,5BH,4FH ;"0","1","2","3" DB 66H,6DH,7DH,07H ;&

45、quot;4","5","6","7" DB 7FH,6FH,77H,7CH ;"8","9","A","B" DB 39H,5EH,79H,71H ;"C","D","E","F" DB 80H,00H,40H ;"小數(shù)點","暗","負號"DELAY100:MOV R4,#100 ;100毫秒延時子程序,占用R4、R5D222:MOV R5,#248 DJNZ R5,$ DJNZ R4,D222 RETDELAY7:SETB P1.7MOV R3,#120FRT:ACALL DELAY100CPL P1.6DJNZ R3,FRTSETB P1.6RETDELAY500:MOV R4,#248DA222: MOV R5,#248 DJNZ R5,$ DJNZ R4,DA222 RETE

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論