畢業(yè)設(shè)計(論文)基于單片機簡易溫控風(fēng)扇設(shè)計與制作_第1頁
畢業(yè)設(shè)計(論文)基于單片機簡易溫控風(fēng)扇設(shè)計與制作_第2頁
畢業(yè)設(shè)計(論文)基于單片機簡易溫控風(fēng)扇設(shè)計與制作_第3頁
畢業(yè)設(shè)計(論文)基于單片機簡易溫控風(fēng)扇設(shè)計與制作_第4頁
畢業(yè)設(shè)計(論文)基于單片機簡易溫控風(fēng)扇設(shè)計與制作_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄TOC o 1-3 h u HYPERLINK l _Toc30585 摘要 PAGEREF _Toc30585 1 HYPERLINK l _Toc32689 第一章 緒論 PAGEREF _Toc32689 3 HYPERLINK l _Toc11839 PAGEREF _Toc11839 3 HYPERLINK l _Toc13475 PAGEREF _Toc13475 3 HYPERLINK l _Toc29758 PAGEREF _Toc29758 3 HYPERLINK l _Toc25158 PAGEREF _Toc25158 3 HYPERLINK l _Toc21423

2、第二章 系統(tǒng)概述 PAGEREF _Toc21423 4 HYPERLINK l _Toc32704 PAGEREF _Toc32704 4 HYPERLINK l _Toc15635 PAGEREF _Toc15635 4 HYPERLINK l _Toc13304 2.2.2 溫度傳感器的選擇 PAGEREF _Toc13304 4 HYPERLINK l _Toc10336 2.2.3 顯示電路 PAGEREF _Toc10336 5 HYPERLINK l _Toc20219 PAGEREF _Toc20219 5 HYPERLINK l _Toc25512 PAGEREF _Toc2

3、5512 5 HYPERLINK l _Toc4875 2.3.1 AT89C51功能簡介 PAGEREF _Toc4875 5 HYPERLINK l _Toc26600 2.3.2 DS18B20功能簡介 PAGEREF _Toc26600 7 HYPERLINK l _Toc31282 2.3.3 LED數(shù)碼管簡介 PAGEREF _Toc31282 7 HYPERLINK l _Toc8935 第三章 系統(tǒng)電路設(shè)計 PAGEREF _Toc8935 8 HYPERLINK l _Toc4989 3.1 原理圖 PAGEREF _Toc4989 8 HYPERLINK l _Toc954

4、7 3.1.1 原理圖的制作 PAGEREF _Toc9547 8 HYPERLINK l _Toc1871 3.1.2 溫度顯示電路 PAGEREF _Toc1871 9 HYPERLINK l _Toc17744 3.2 PCB圖 PAGEREF _Toc17744 9 HYPERLINK l _Toc16938 第四章 軟件設(shè)計 PAGEREF _Toc16938 10 HYPERLINK l _Toc5209 軟件設(shè)計流程圖: PAGEREF _Toc5209 10 HYPERLINK l _Toc25926 PAGEREF _Toc25926 10 HYPERLINK l _Toc3

5、0467 第五章 Proteus仿真系列組圖 PAGEREF _Toc30467 12 HYPERLINK l _Toc25461 5.1 仿真圖 PAGEREF _Toc25461 12 HYPERLINK l _Toc22877 第六章 實物制作和演示 PAGEREF _Toc22877 14 HYPERLINK l _Toc1418 PAGEREF _Toc1418 14 HYPERLINK l _Toc23510 圖6.1 實物上限圖 PAGEREF _Toc23510 14 HYPERLINK l _Toc26984 PAGEREF _Toc26984 14 HYPERLINK l

6、_Toc2107 6.3 實物顯示當(dāng)前溫度圖 PAGEREF _Toc2107 15 HYPERLINK l _Toc25658 結(jié)論 PAGEREF _Toc25658 16 HYPERLINK l _Toc11012 參考文獻References PAGEREF _Toc11012 17 HYPERLINK l _Toc14850 致謝 PAGEREF _Toc14850 18 HYPERLINK l _Toc16549 附件 PAGEREF _Toc16549 19基于單片機簡易溫控風(fēng)扇設(shè)計與制作摘要:這次我要做的畢業(yè)設(shè)計的內(nèi)容是一個帶有溫度感測反響敏捷的,還可以顯示溫度的自動溫控風(fēng)扇系

7、統(tǒng)。在這里我們要用到的單片機是AT89C51,51系列單片機。 我們這里風(fēng)扇轉(zhuǎn)速是由單片機的工作來進行控制的。我們測量當(dāng)前的實時溫度是使用溫度傳感器DS18B20來完成的,實驗所用風(fēng)扇的轉(zhuǎn)速是由ULN2003達林頓管來驅(qū)動在通過單片機工作后完成的。根據(jù)我們測量到的當(dāng)前溫度,可以控制風(fēng)扇的工作速度,可由我們自己設(shè)置高、低溫度的值,當(dāng)測得溫度值在上下溫度之間時,是翻開風(fēng)扇的弱風(fēng)檔,當(dāng)溫度升高時,超過所設(shè)定的溫度,風(fēng)扇就會自動調(diào)高轉(zhuǎn)速,當(dāng)溫度小于我們所設(shè)定的低溫度時,風(fēng)扇就會自己停止,它的控制狀態(tài)是由外界溫度和我們在程序中所設(shè)定的值而定的。關(guān)鍵詞: 單片機、 DS18B20、 風(fēng)扇DESIGN AN

8、D PRODUCTION OF SIMPLE MICROCONTROLLER BASED TEMPERATURE CONTROLFANAbstract: The design of a temperature controlled fan system, sensitive temperaturemeasuring and display, system uses 51 series single chip microcontroller AT89C51 as control platform to control the speed of the fan. The real-timetemp

9、erature using DS18B20 digital temperature sensor, SCM processingthrough the motor Darlington transistor ULN2003 to drive the DC fan.According to the real-time temperature acquisition, the fan self stop. High, lowtemperature value set by the user, the measured temperature values in thehigh and low te

10、mperature between open fan weak wind profile, when the temperature exceeds the set temperature automatically switch to the file,automatically turn off the fan when the temperature is lower than the settemperature, control state varies with the outside temperature.Key words: Single chip microcomputer

11、, DS18B20, temperature, fanHYPERLINK :/fanyi.baidu /translate#HYPERLINK :/tts.baidu /text2audio?lan=en&pid=101&ie=UTF-8&text=Single chip microcomputer,DS18B20, temperature, fan&spd=2HYPERLINK :/fanyi.baidu /translate#HYPERLINK :/fanyi.baidu /translate#第一章 緒論選題背景和意義 在我們的生活環(huán)境中,我們運用風(fēng)扇在很多的方面,風(fēng)扇給我們帶來的幫助時

12、巨大的,就好似我們在天氣炎熱的時候要開電風(fēng)扇來散熱,在工廠里我們用的機器太熱了,也要給它散熱,我們在學(xué)校學(xué)習(xí)室用到的電腦,它也是需要散熱的。漸漸我們隨著這個單片機對風(fēng)扇的技術(shù)開展,我們要到達省電的目的,我們隊這方面的研究越來越表達出來了,這樣才能更好地被我們利用。當(dāng)開展到現(xiàn)在,我們在控制風(fēng)扇的轉(zhuǎn)速技術(shù)上取得了不錯的成就,我們可以為了讓自動風(fēng)扇到達我們所期待,風(fēng)扇可以自動運轉(zhuǎn),當(dāng)它所到達我們所設(shè)定的溫度時,當(dāng)風(fēng)扇停止時,說明已經(jīng)到達我們所設(shè)定的溫度,或者是更低,這樣來到達我們所想要的控制?,F(xiàn)在很多的東西都用到了單片機,我們所設(shè)計的這個課題也越來越流行,就好似我們現(xiàn)在做的基于單片機的溫控風(fēng)扇系統(tǒng)。

13、我們所做的畢業(yè)設(shè)計的目的是能夠?qū)崿F(xiàn)檢測當(dāng)前的溫度,從而來控制風(fēng)扇的轉(zhuǎn)速,可以讓風(fēng)扇轉(zhuǎn)速隨著環(huán)境溫度的變化而變化,到達了不用認為的去控制它。然而我們也確實得到了不少的好處,從我們的設(shè)計標(biāo)題,不僅是我們的生活得到了更多的方便之處,而且我們在工廠里的生產(chǎn)效率也大大地提高了,當(dāng)然這也可以省點,來節(jié)約我們的開支。本文設(shè)計了由AT M EL公司的8051系列單片機AT89C51作為控制器,我們采用溫度傳感器DS18B20作為溫度采集的元件,并且通過一個達林頓反向驅(qū)動器ULN2803 驅(qū)動風(fēng)扇電機的轉(zhuǎn)動。我們是溫度傳感器檢測到的當(dāng)前溫度,在經(jīng)過單片機的工作后,轉(zhuǎn)化為數(shù)字顯示在數(shù)碼管上。根據(jù)溫度傳感器檢測到的

14、當(dāng)前溫度和我們所設(shè)定的溫度來比擬,到達風(fēng)扇可以自己來控制轉(zhuǎn)速的目的。 選題目的這次我們選擇這個畢業(yè)設(shè)計課題,就是想通過了解軟件的編寫,來到達通過檢測當(dāng)前溫度,我們做的模塊可以自己來控制風(fēng)扇的轉(zhuǎn)速。本設(shè)計的研究內(nèi)容我們用的主核心單片機是AT89C51,和利用溫度傳感器DS18B20作為采集溫度的原件,根據(jù)我們所檢測到的溫度,來和我們所設(shè)定的上下限來比照,從而工作在我們所設(shè)定占空比所相應(yīng)的轉(zhuǎn)速,最后用LED四位一體數(shù)碼管完成溫度的顯示。本設(shè)計的優(yōu)點在沒有人為調(diào)節(jié)的情況下,可以通過檢測當(dāng)前溫度能夠自己調(diào)節(jié)風(fēng)扇的轉(zhuǎn)速來到達節(jié)能的效果。第二章 系統(tǒng)概述系統(tǒng)概述 我這次做的畢業(yè)設(shè)計是以單片機AT89C51

15、為核心,再通過溫度傳感器對我們周圍的溫度進行采集,從而建立一個控制系統(tǒng),使風(fēng)扇隨著溫度的變化而變換當(dāng)為,實現(xiàn)風(fēng)扇轉(zhuǎn)速快慢的功能。在我們做該設(shè)計之前,我們首先要挑選我們所要用到的單片機,那么我們就要對它有相應(yīng)的了解。ATMEL公司生產(chǎn)的C51單片機AT89C51,AT89C51是在8051的根底上,使某些功能增強了,它的優(yōu)點是由Flash存儲器取帶了原來的ROM,ROM只能寫一次,但是Flash可以至少寫1000屢次。但AT89C51也有它的的缺點,那就是不能在線編程,對這款單片機的開展有很大的影響。2.2.2 溫度傳感器的選擇我們可以通過下面的三種方法來選擇溫度傳感器:首先,第一種方法是:我們

16、感測溫度的核心元件就是熱敏電阻,然后經(jīng)過運算放大器,把由溫度變化引起的熱敏電阻的變化來放大,導(dǎo)致電壓會產(chǎn)生很微小的變化都明顯的表達出來,ADC0809經(jīng)過AD轉(zhuǎn)換將模擬信號轉(zhuǎn)化為數(shù)字信號,然后再傳輸?shù)絾纹瑱C當(dāng)中去處理。方法二就是:我們感測溫度的核心元件使用到熱電偶,然后和橋式電路相連接,通過運算放大電路和AD轉(zhuǎn)換電路,把我的的變化傳輸?shù)絾纹瑱C里去工作。方法三:我們用感測溫度的核心元件溫度傳感器DS18B20數(shù)字式集成,直接輸出數(shù)字溫度信號給單片機工作。對于方法一我們用到的是熱敏電阻,它的優(yōu)點是價格廉價、元器件容易買到的優(yōu)點,但熱敏電阻的缺點是,它對溫度的細小變化不容易檢測到,我們在采集信號、信

17、號放大、信號轉(zhuǎn)換過程中還會產(chǎn)生失真和誤差,它自身的電阻對我的的變化也是存在誤差的,雖可以通過一定的方法來將它糾正過來,這樣一來不僅會降低它自身電路的穩(wěn)定性,難以檢測到細微的變化。故該方案不適合本系統(tǒng)。對于方法二來說,我們采用的是橋式測量電路,和我們的方法一來比照,橋式測量電路比方法一對溫度的敏感性有較大提高,橋式測量電路的溫度測量也比擬的寬-50度1600度。但橋式測量的電路比擬復(fù)雜,不能到達我們所想要的溫度的明感性,故不采用該方案。 對于方法三,由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,在很大的程度上降低了轉(zhuǎn)換電路的誤差因素,溫度誤差很小。DS18B20測量溫度的工作方式和以上兩種

18、方法的工作方式不同,它對溫度的變化表達細微。測量到的溫度值經(jīng)一系列工作后由數(shù)字量來輸出,DS18B20的優(yōu)點是采用了先進的單總線技術(shù)1-WRIE,抗干擾能力強,和單片機連接簡單。當(dāng)我們在設(shè)計單片機電路的時候,一般是進行數(shù)字信號的處理,所以在這里我們經(jīng)常采用數(shù)字溫度傳感器DS18B20。和其他的傳感器相比,我們使用單總線,可以使我們用到很少的IO口,而且和傳感器相連接的其他的器件,需要連接的地方也較少,這個哦我們降低的開銷,節(jié)省了我們的工作量。因為傳感器是輸出數(shù)字信號,不僅省掉了不必要的電路,對我們設(shè)計的穩(wěn)定性以及可靠性都有提高。因此,我們實際是用這里傳感器比擬方便。2.2.3 顯示電路 方案一

19、:我們對溫度的顯示是用到了數(shù)碼管,顯示方式是動態(tài)掃描。 方案二:我們顯示溫度時用到了液晶顯示屏。 對于方案一,這個方案可以給我們節(jié)省本錢,而且溫度的變化顯示的比擬明顯,不僅在光線不好的環(huán)境下也能很清楚的看到,而且對我們的能源消耗也比擬的低,我們隊軟件的編寫也不太復(fù)雜,用數(shù)碼管顯示也是很普及的運用到了。 對于方案二,我們用液晶在顯示的時候,它可以以很優(yōu)美的形式顯示出來。液晶可以顯示的種類比擬多,例如數(shù)字、字符、圖形,但是LED數(shù)碼管就不能做到全部這些。但是我們在用液晶顯示模塊的缺點是,它的價格不低廉,我們在寫軟件的時候比擬復(fù)雜,為了便于我們的工作,本系統(tǒng)采用方案一。 方案一:我們用到的是來調(diào)節(jié)變

20、壓器的方法,經(jīng)過線圈器件起到降壓的目的,這樣,我們就可以由降壓后的電壓來控制風(fēng)扇的轉(zhuǎn)速,調(diào)節(jié)風(fēng)力的大小了。方案二:我們控制PWM用到的是來三極管驅(qū)動。對于方案一,我們在調(diào)節(jié)電壓時用到的是變壓器,它在變壓的過程中會發(fā)熱,那么就會有能源的浪費,不單效率低,還不怎么平安。對于方案二,PWM具有它自己的優(yōu)點,是從處理器處理的是數(shù)字的,而且信號也是數(shù)字的,無需進行數(shù)模轉(zhuǎn)換。這樣就可以使我們的這個噪聲降低。所以,在這個設(shè)計中,我們就采用的是這個方案。2.3.1 AT89C51功能簡介 AT89C51的標(biāo)準(zhǔn)功能:片內(nèi)振蕩器及時鐘電路,32 個I/O 口,兩個16位定時/計數(shù)器,128字節(jié)內(nèi)部RAM,F(xiàn)las

21、h閃速存儲器是4k 的字節(jié),中斷結(jié)構(gòu)是一個5向量級的,一個全雙工串行通信口。AT89C51在0Hz是也能進行靜態(tài)邏輯的操作。當(dāng)它處于空閑方式的時候,CPU就不會工作了,但是串行通信是可以工作的,還能工作的是中斷系統(tǒng),定時/計數(shù)器,RAM也還可以繼續(xù)工作。在掉電后以后,RAM中的內(nèi)容是不會喪失的,但振蕩器不會工作了,知道下一次復(fù)位的時候其他的部件才會開始重新工作。 主要特性:32可編程I/O線,兩個16位定時器/計數(shù)器,5個中斷源,可編程串行通道,與MCS-51 兼容,全靜態(tài)工作:0Hz-24MHz,三級程序存儲器鎖定,1288位內(nèi)部RAM,低功耗的閑置和掉電模式,片內(nèi)振蕩器和時鐘電路,4K字節(jié)

22、可編程FLASH存儲器,壽命:1000寫/擦循環(huán),數(shù)據(jù)保存時間:10年,VCC:供電電壓,GND:接地。P0口:AT89C51的P0口是一個雙向I/O口。當(dāng)給P0口的管腳置1,那么它就處于高阻輸入的狀態(tài)。當(dāng)它為數(shù)據(jù)/地址的低八位的時候,那么它是用于外部程序存儲器。我們在對FIASH編程的時候,由P0 口輸入,當(dāng)我們在對FIASH進行讀操作時,P0口是作為輸出的,當(dāng)P0作為輸出的時候,我們應(yīng)該讓P0口處于上拉的狀態(tài)。P1口:AT89C51的P1口,它是具有內(nèi)部上拉電阻的雙向I/O口。當(dāng)我們給P1口置1的時候,這個時候它是處于上拉的狀態(tài),此時是作為輸入的,當(dāng)我們給P1口置0時,這個時候它是作為輸出

23、狀態(tài)的。我們在對FLASH編程的時候,這時P1口時接受地址的低八位。P2口:AT89C51的P2口它也有內(nèi)部上拉電阻,它也是雙向I/O口,當(dāng)我們把P2口置1時,其內(nèi)部上拉,這時是作為輸入狀態(tài)。當(dāng)我們給P2口置0 時,這時它是作為輸出狀態(tài)的。P2口還可以用于16位地址、外部數(shù)據(jù)存儲器、外部程序存儲器,這時它是處于高位的狀態(tài)。當(dāng)我們給它置1 是,它是接受地址的高八位。P3口:P3口它也是內(nèi)部帶有上拉電阻的雙向I/O口。當(dāng)我們給P3口置1時,這個時候內(nèi)部上拉為高電平,它是作為輸入的狀態(tài)。當(dāng)我們給P3口置0時,這個時候它是處于輸出狀態(tài)的。P3口也可作為AT89C51的一些特殊功能口,如下所示:P3.0

24、 RXD串行輸入口P3.1 TXD串行輸出口P3.2 /INT0外部中斷0P3.3 /INT1外部中斷1P3.4 T0計時器0外部輸入P3.5 T1計時器1外部輸入P3.6 /WR外部數(shù)據(jù)存儲器寫選通P3.7 /RD外部數(shù)據(jù)存儲器讀選通P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:輸入信號來復(fù)位的管腳。當(dāng)它處于復(fù)位狀態(tài)時,復(fù)位的管腳要保持兩個機器周期的高電平。 XTAL1:內(nèi)部工作電路的時鐘,是以反向放大器輸入的。XTAL2: 來自反向振蕩器的輸出。芯片擦除:我們在擦除芯片的操作過程當(dāng)中,我們給代碼陣列全寫入高電平,且在任何非空存儲字節(jié)被重復(fù)編程以前,必須執(zhí)行該操作。2.3.2 DS

25、18B20功能簡介DS18B20 溫度傳感器,它是由美國Dallas 公司最新推出的,它是數(shù)字式的,它和熱敏電阻是不一樣的,它對環(huán)境的溫度,可以直接讀取出來,根據(jù)我們的不同需求,我們對它簡單的編程,實現(xiàn)912 位的數(shù)字值讀數(shù)方式,將溫度值轉(zhuǎn)化為12 位的數(shù)字量需要在93.75ms 和750ms 內(nèi)完成,9位也是一樣。所以我們采用DS18B20,可以更簡單,而且可靠性比擬高。DS18B20也比擬節(jié)能,微弱的電量就能夠讓它正常工作。在檢測點的時候已經(jīng)數(shù)字化了信號,所以它傳輸?shù)氖菙?shù)字信號。但是它具有它的優(yōu)點,它對系統(tǒng)的抗干擾性好、可靠性比擬高,它能傳送到更遠的地方。DS18B20 的特點及內(nèi)部構(gòu)造D

26、S18B20有一下的特點:與控制器只連接一根線,運用單總線接口的方式,沒有其他元件的時候,就可以對數(shù)據(jù)實現(xiàn)雙向的通信;以數(shù)字的形式直接輸出作為結(jié)果,控制器以單總線串行的形式來接收。它的糾錯能力比擬突出;還具有多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三根線上,實現(xiàn)組網(wǎng)多點的測量;不用另外來備份電源,可用的電壓范圍為3.0-5.5V,數(shù)據(jù)線就能供電,溫度測量范圍為-55125。當(dāng)溫度在-1085時,測量精度為;我們通過對軟件的編程就能,它能很高精度的識別出來;當(dāng)我們接反了電源的時候,芯片是不能正常工作的,但是它不會被損壞。2.3.3 LED數(shù)碼管簡介設(shè)計采用共陰極四位數(shù)碼管顯示數(shù)據(jù),單片機

27、P0口加上拉電阻驅(qū)動數(shù)碼管的段碼,數(shù)碼管位選端可直接單片機,即可驅(qū)動點亮數(shù)碼管。用a,b,c,d,e,f,g,dp分別表示八段LED數(shù)碼管。在我們給相應(yīng)的數(shù)碼管段加上電壓后,就會相應(yīng)的點亮,以形成我們眼睛看到的 字樣了。LED數(shù)碼管的亮度也是有區(qū)分的,分別為0.5寸、1寸。我們用一個發(fā)光二極管來顯示小的尺寸的數(shù)碼管的筆畫,而用多個發(fā)光二極管來顯示大的數(shù)碼管的筆畫。在一般的是單個發(fā)光二極管的電壓,它的電流都不會比30mA大。把它們的的陽極連接在一起,然后接在電源的正極,我們叫這樣的為共陽極的發(fā)光二極管。同理,我們把接在陰極的叫為共陰極的發(fā)光二極管。數(shù)碼管可以顯示0F。 第三章 系統(tǒng)電路設(shè)計3.1

28、 原理圖3.1.1 原理圖的制作這次實物的制作是根據(jù)下面的這個原理圖做出來的,要制作出實物來,就要先畫出來原理圖,然后再按照步驟,才能得出實物。以下原理圖包括系統(tǒng)單片機局部,溫度檢測局部,數(shù)碼管顯示局部等,為我們后期的實物制作打下根底。在初期畫原理圖的時候,我們需要根據(jù)我們所要用到的元器件,合理的分配單片機的端口。我們根據(jù)實物板上所要用到的元器件,在Altium Designer軟件上找到相應(yīng)的原件,在選用元器件的時候,我們這里沒有采用貼片式封裝,然后和我們程序中所用到的單片機的引腳相連接,單片機的P1端連接電機和溫度傳感器,P0端連接用來顯示溫度的數(shù)碼管,P3端和穩(wěn)壓電路相連接,把按鍵和相應(yīng)

29、的單片機控制端連接后,然后再將相應(yīng)的電源和地端連接好。再將相應(yīng)的原件連接到相應(yīng)的端口上,就完成了原理圖的制作。 圖 系統(tǒng)電路圖3.1.2 溫度顯示電路圖3.2是溫度顯示的電路,它對我們觀察溫度起到了非常重要的作用,也是我們這次畢業(yè)設(shè)計原理圖的重要組成局部,它是通過連接到單片機的P0口,再實現(xiàn)它的功能的。我們根據(jù)控制單片機的P0口。在單片機工作以后,讓溫度在數(shù)碼管上顯示出來。我們在設(shè)置上下限溫度和顯示當(dāng)前溫度的時候,都是通過顯示電路在實物板上顯示出來的。 圖3.2 溫度顯示電路 3.2 PCB圖圖3.3是我們這次畢業(yè)設(shè)計的PCB圖,我們在Altium Designer軟件上畫完原理圖后,然后倒成

30、PCB圖,將元器件擺放到相應(yīng)的地方,然后經(jīng)過布線、跳線,得到下面的圖,我們就是根據(jù)這個PCB圖來轉(zhuǎn)印到實物板上去的。 圖3.3 實物的PCB圖第四章 軟件設(shè)計軟件設(shè)計流程圖:位定義按鍵、接口、溫度顯示位, 定義數(shù)碼管顯示數(shù) 鍵盤掃描、自動溫控模式函數(shù)設(shè)計DS18B20初始化函數(shù)、讀字節(jié)函數(shù)、寫字節(jié)函數(shù),讀取DS18B20當(dāng)前溫度,溫度顯示函數(shù), 主函數(shù) 圖軟件設(shè)計流程圖軟件設(shè)計分析當(dāng)我們在給器件上電復(fù)位的時候,檢測溫度傳感器,把DS18B20檢測到的二進制溫度值,經(jīng)過相應(yīng)的處理在數(shù)碼管上顯示出來。在該設(shè)計中,我們可以根據(jù)在軟件中設(shè)置上下兩個溫度來控制風(fēng)扇轉(zhuǎn)速的大小,在模塊上的設(shè)計是以3個按鍵來

31、表達出來的,在程序中,我們是以KEYSCAN鍵盤掃描子程序來支持控制的。如果我們按下鍵K1,可以給溫度的上限來設(shè)置,如果此時按下鍵K2,溫度會加5度,按下鍵K3,溫度會減1度。當(dāng)我們再按一次設(shè)置鍵K2,會進入溫度下限設(shè)置狀態(tài)。此時按下鍵K2,溫度會加一度,我們按下鍵K3,溫度會減1度。從下限溫度到上限溫度我們設(shè)置在10-100攝氏度,這樣在一般的情況下,我們就可以進行工作了。我們再按一次設(shè)置鍵K3,就會退出上下限溫度設(shè)置狀態(tài),回到當(dāng)前溫度顯示狀態(tài)。定義共陰數(shù)碼管的段選,系統(tǒng)延時子函數(shù),DS18B20延時子函數(shù),根據(jù)DS18B20規(guī)格書定義初始化子函數(shù),DS18B20讀、寫字節(jié),讀取DS18B2

32、0當(dāng)前溫度子函數(shù),溫度顯示子函數(shù),自動溫控模式子函數(shù),主函數(shù)。我們要實現(xiàn)由當(dāng)前的實時溫度來控制風(fēng)扇的轉(zhuǎn)速,這樣我們就要在程序里面不斷地來判斷當(dāng)前的溫度是不是在我們程序設(shè)定的溫度范圍內(nèi)。因為我們用到的晶振為12MHz,在執(zhí)行程序時不斷將當(dāng)前溫度和設(shè)定動作溫度進行比擬判斷,如果超過我們設(shè)定的溫度值范圍,或者當(dāng)前的溫度比我們是指的最低溫度還要低的時候,風(fēng)扇的工作狀態(tài)就會出現(xiàn)關(guān)閉、小風(fēng)、大風(fēng)這三種狀態(tài)。并且在數(shù)碼管上我們可以看到事實的當(dāng)前溫度。 第五章 Proteus仿真系列組圖 仿真圖我們在畫Proteus仿真圖的時候,按照我們之前所畫的原理圖,同樣的在仿真軟件上找到我們仿真時所要用到的元器件和單片

33、機,再相應(yīng)的連接在單片機相應(yīng)的端口上,即完成了Proteus仿真圖的制作。以下列圖是我們在Proteus軟件上仿真的圖,在這里我們設(shè)置上限溫度為30度,下限溫度為10度,當(dāng)前溫度為20度,我們根據(jù)正確的程序生成的HEX文件,添加到到單片機當(dāng)中去,再點擊運行,然后觀察風(fēng)扇轉(zhuǎn)速。如果我們所觀察到的實驗結(jié)果和我們預(yù)期的是一樣的,風(fēng)扇在0、1、2檔的工作都和我們所預(yù)期的一致。說明我們的程序是沒有問題的,即仿真是成功的。 在圖中我們在DS18B20局部,將溫度設(shè)置為20度,它相當(dāng)于在實物中,DS18B20所檢測到當(dāng)前溫度20度。 圖 當(dāng)前溫度20圖是我們設(shè)置的上限溫度,只要我們在程序中定義上限溫度為30

34、度,然后再Proteus仿真時點擊切換顯示溫度模式的按鍵,就能顯示出我們所設(shè)置的上限溫度,如下圖,仿真時的操作和我們在實物上的操作是一樣的。我們在仿真時顯示定義好的上限溫度,這樣一來我們就可以根據(jù)當(dāng)前溫度和上限溫度來比擬,這樣更有利于我們對仿真結(jié)果的分析和判斷。 圖 上限溫度30 圖5.3是我們設(shè)置的下限溫度,只要我們在程序中定義上限溫度為10度,然后再Proteus仿真時點擊切換顯示溫度模式的按鍵,就能顯示出我們所設(shè)置的下限溫度,和以上所設(shè)置的上限溫度類似,如圖5.3所示,仿真時的操作和我們在實物上的操作是一樣的。 我們在仿真時顯示定義好的下限溫度,這樣一來我們就可以根據(jù)當(dāng)前溫度和下限溫度來

35、比擬,這樣也方便我們對仿真結(jié)果的分析和判斷。 圖5.3 下限溫度10如果我們在仿真的時候能夠到達我們所預(yù)期的目的,當(dāng)前溫度低于下限溫度時,風(fēng)扇不工作;當(dāng)前溫度處于上下限溫度之間以局部轉(zhuǎn)速工作;當(dāng)前溫度高于上限溫度時,快速工作;這樣就能夠說明我們的仿真已經(jīng)取得了成功,接下來我們就可以動手做實物,不必擔(dān)憂做出來的實物會出現(xiàn)問題了。第六章 實物制作和演示在我們畫完原理圖和PCB圖之后,接下來的就是轉(zhuǎn)印了,在經(jīng)過學(xué)校轉(zhuǎn)印機轉(zhuǎn)印之后,已經(jīng)成功的轉(zhuǎn)印到實物板上了,然后就是在硫酸銅中腐蝕,實物板在硫酸銅中腐蝕了十來分鐘之后,剩下來的就是我們所需要的覆滿銅的電路了。然后再打洞,緊接著將實物的元器件按照PCB圖

36、相應(yīng)的插在實物板上去,再焊上,我們這里所用到的電源是8節(jié)電池,這樣實物板就算是做好了。然后我們要做的就是將程序燒入到單片機當(dāng)中去,我們可以在程序中設(shè)定我們自己想要的上下限,把單片機插到排座上去,接下來的就是調(diào)試了。這是我們將實物調(diào)到上限20度時所拍攝的圖片,圖6.1所示,數(shù)碼管很清晰的顯示了我們所設(shè)置的溫度。我們通過按下K1鍵可以選擇當(dāng)前溫度、上限溫度、下限溫度,中選擇了上限溫度時,我們可以按下K2鍵,這時上限溫度會增加5度,假設(shè)按下K3鍵,上限溫度會降低1度,我們就是通過這樣的方法來調(diào)動上限溫度的,上限溫度的范圍是10度至100度。當(dāng)我們調(diào)完了上限溫度以后,我們按下K4鍵就能保存我們所設(shè)置的

37、上限溫度了。圖6.1 實物上限圖這是我們將實物調(diào)到下限10度時所拍攝的圖片,數(shù)碼管很清晰的顯示了我們所設(shè)置的溫度。我們通過按下K1鍵可以選擇當(dāng)前溫度、上限溫度、下限溫度,中選擇了下限溫度時,我們可以按下K2鍵,這時上限溫度會增加5度,假設(shè)按下K3鍵,上限溫度會降低1度,同上限溫度的調(diào)試一樣,我們就是通過這樣的方法來調(diào)動下限溫度的,下限溫度的范圍是0度至90度。當(dāng)我們調(diào)完了下限溫度以后,我們按下K4鍵就能保存我們所設(shè)置的下限溫度了。圖6.2 實物下限圖6.3 實物顯示當(dāng)前溫度圖 圖6.3是我們將實物檢測到當(dāng)前溫度15度時所拍攝的圖片,數(shù)碼管很清晰的顯示了當(dāng)前所檢測到的溫度。在實物板上,我們是不能

38、設(shè)置當(dāng)前溫度的,它只能根據(jù)我們周圍的當(dāng)前溫度的變化來改變,由DS18B20來測得,當(dāng)前溫度同樣也是按K1鍵來切換。 圖6.3 當(dāng)前溫度圖我們在設(shè)置完上下限溫度以后:當(dāng)前溫度低于下限溫度時,風(fēng)扇不工作;當(dāng)前溫度處于上下限之間時,風(fēng)扇以局部轉(zhuǎn)速轉(zhuǎn)動;當(dāng)前溫度高于上限溫度時,風(fēng)扇以全速轉(zhuǎn)動;經(jīng)過實物的調(diào)試,到達了我們所想要的結(jié)果。說明我們所做的實物是成功的。結(jié)論我這次做畢業(yè)設(shè)計是以AT89C51作為核心,用DS18B20溫度傳感器為輔,來測量當(dāng)前的溫度,然后與我們所設(shè)定的需要溫度來做比照,實現(xiàn)根據(jù)我們所測量的不同的當(dāng)前溫度與設(shè)定溫度比擬后控制風(fēng)扇的轉(zhuǎn)速,不同的范圍內(nèi)運轉(zhuǎn)不同的轉(zhuǎn)速,然后在四位一體數(shù)碼

39、管上顯示出來,我們通過設(shè)定的不同功能的按鈕來調(diào)節(jié),從而改變環(huán)境溫度和設(shè)置溫度的差值,進而改變電機轉(zhuǎn)速,實現(xiàn)了基于單片機的溫控風(fēng)扇的設(shè)計。這次畢業(yè)設(shè)計的課題內(nèi)容可以運用到很多的方面,只要是在工作的器件就免不了會發(fā)熱,我們可以利用該課題的知識內(nèi)容設(shè)計出我們所需要的功能,這將會給我們帶來很多的便捷之處。我覺得這次畢業(yè)設(shè)計的課題很有意義,能使我們學(xué)習(xí)到很多的東西!對即將畢業(yè)的我們來說,是一次很好的鍛煉的時機,這對我們畢業(yè)后踏入社會找到一個好的工作有巨大的幫助!參考文獻References1 郭天祥. 新概念51單片機C語言教程M.北京:電子工業(yè)出版社.2021.2 李學(xué)龍. 使用單片機控制的智能遙控電

40、風(fēng)扇制器J.電子電路制作.2003. 3 藍厚榮. 單片機的PWM控制技術(shù)J.工業(yè)控制計算機.2021.4 胡汗才. 單片機原理及其接口技術(shù)M 第2版.北京:清華大學(xué)出版社.2004.5 胡全. 51單片機的數(shù)碼管動態(tài)顯示技術(shù)J.信息技術(shù).2021.6 李鋼. 趙彥峰.1-Wire總線數(shù)字溫度傳感器DS18B20原理及應(yīng)用J.現(xiàn)代電子技 術(shù).2005.7 馬云峰. 單片機與數(shù)字溫度傳感器DS18B20的接口設(shè)計J.計算機測量與控制.2007.8 王會明.候加林.智能電風(fēng)扇控制器的研制J.電子與自動化.19989 譚浩強. C程序設(shè)計M第三版.北京:清華大學(xué)出版社.2005.致謝大學(xué)很快的就接近

41、尾聲了,到了大學(xué)最后做畢業(yè)設(shè)計和寫論文的時候了。在這里感謝四年來老師教給我們的專業(yè)知識,讓我們可以有一定的根底可以動手我們的畢業(yè)設(shè)計,從對專業(yè)知識不了解的我們到現(xiàn)在可以自己動手做畢業(yè)設(shè)計,這都是我們通過對專業(yè)知識的學(xué)習(xí)到能夠運用的階段。首先很慶幸的是,抽到了這次帶我做畢業(yè)設(shè)計的是何俊老師。我的畢業(yè)設(shè)計的論文,是在何俊老師一步一步的精心指導(dǎo)下完成的。在剛開始做畢業(yè)設(shè)計的時候,何老師幫我分析了做這次畢業(yè)設(shè)計的主要思路,讓我了解了DS18B20的性能,它是如何工作的,再畫實物的原理圖的時候,何老師也幫助了我畫圖的思路,在何老師的幫助下我很順利的完成了原理圖和PCB圖的制作。然后接下來的是要寫程序了,

42、在我寫程序的過程中,何老師也是很耐心的幫助我,終于,在何老師的耐心指導(dǎo)下,我能夠完成了程序的編寫。然后接下來的是將程序燒入到單片機當(dāng)中去,何老師又是教會我如何設(shè)置占空比來實現(xiàn)風(fēng)扇的不同的轉(zhuǎn)速,最終到達了實現(xiàn)的目的。何老師為人和藹,教學(xué)態(tài)度不僅嚴(yán)謹(jǐn),更是非常的科學(xué),對我的影響巨大,何老師給了我巨大的幫助。在此衷心感謝何俊老師對我的悉心教導(dǎo)。當(dāng)然,在寫論文的這段時間,班上的同學(xué)也給了我很大的幫助,在這里也深深地感謝那些幫助過我的同學(xué)。這都能使得我能更用心的投入到學(xué)習(xí)當(dāng)中去。在做畢業(yè)設(shè)計的這段時間里,我學(xué)到了很多的東西,這對我在畢業(yè)后找工作也帶來了很大的幫助。再次感謝那些給過我?guī)椭娜?。最后也感謝學(xué)

43、校安排的這次畢業(yè)設(shè)計,讓我學(xué)到了很多的東西,衷心的祝愿我們的學(xué)校越辦越好! 鄒 亮 2021年5月8日附件#include#include#define uchar unsigned char#define uint unsigned int/sbit dj=P10; /電機控制端接口sbit DQ=P16; /溫度傳感器接口/按鍵接口/sbit key1=P35; /設(shè)置溫度sbit key2=P36; /溫度加sbit key3=P37; /溫度減/sbit w1=P24;sbit w2=P25;sbit w3=P26;sbit w4=P27;/共陰數(shù)碼管段選/0-15位分別為:0-F,1

44、6-21位分別為: -, L, H, 滅, 全亮, n uchar table22=0 x3F,0 x06,0 x5B,0 x4F,0 x66,0 x6D,0 x7D,0 x07,0 x7F,0 x6F,0 x77,0 x7C,0 x39,0 x5E,0 x79,0 x71,0 x40,0 x38,0 x76,0 x00,0 xff,0 x37;uint wen_du; uchar gao,di; /PWMuint shang,xia; /比照溫度暫存變量uchar dang; /檔位顯示uchar flag;uchar d1,d2,d3; /顯示數(shù)據(jù)暫存變量void delay(uint m

45、s)uchar x;for(ms;ms0;ms-)for(x=10;x0;x-);/*ds18b20延遲子函數(shù)晶振12MHz */ void delay_18B20(uint i)while(i-);/*ds18b20初始化函數(shù)*/void Init_DS18B20() uchar x=0; DQ=1; /DQ復(fù)位 delay_18B20(8); /稍做延時 DQ=0; /單片機將DQ拉低 delay_18B20(80); /精確延時 大于 480us DQ=1; /拉高總線 delay_18B20(14); x=DQ; /稍做延時后 如果x=0那么初始化成功 x=1那么初始化失敗 delay_18B20(20);/*ds18b20讀一個字節(jié)*/ uchar ReadOneChar()uchar i=0;uchar dat=0;for (i=8;i0;i-) DQ=0; / 給脈沖信號 dat=1; DQ=1; / 給脈沖信號 if(DQ) dat|=0 x80; delay_18B20(4);

溫馨提示

  • 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

提交評論