版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、大學(xué)生創(chuàng)新性實(shí)驗(yàn)項(xiàng)目結(jié)題報(bào)告 “大學(xué)生創(chuàng)新性實(shí)驗(yàn)計(jì)劃”項(xiàng)目結(jié)題報(bào)告項(xiàng)目名稱 智能無葉風(fēng)扇 項(xiàng)目編號 項(xiàng)目級別 項(xiàng)目負(fù)責(zé)人 系、年級、班級 指導(dǎo)教師姓名 職稱 填表日期 2014 年 4 月 25 日 學(xué)院教務(wù)處制表目 錄一、項(xiàng)目選題思路1二、實(shí)驗(yàn)的研究方案及技術(shù)路線1三、項(xiàng)目的實(shí)施過程2 1電路部分系統(tǒng)整體設(shè)計(jì)2 2電路實(shí)現(xiàn)原理2 3溫度部分系統(tǒng)硬件設(shè)計(jì)33.1 獨(dú)立鍵盤連接電路33.2 數(shù)碼管顯示電路3 3.3 溫度采集電路3 3.4 風(fēng)扇電機(jī)驅(qū)動與調(diào)速電路4 4濕度部分系統(tǒng)硬件設(shè)計(jì)4 4.1 濕度采集電路4 4.2 閾值設(shè)置電路5 4.3數(shù)碼管顯示電路5 4.4 加濕器驅(qū)動電路5 5系統(tǒng)軟
2、件設(shè)計(jì)6 5.1溫度部分軟件設(shè)計(jì)6 5.2濕度部分軟件設(shè)計(jì)7四、項(xiàng)目的預(yù)期成果及最終成果8五、項(xiàng)目組成員的收獲及體會8參考文獻(xiàn)9附件1源程序10附件2電路圖2122一、項(xiàng)目選題思路風(fēng)扇是日常生活中重要的電器,不僅在家庭中給人們帶來涼爽,在溫室等很多地方也都需要風(fēng)扇通風(fēng)散熱。大部分風(fēng)扇還只是停留在手動調(diào)節(jié)的水平。如果風(fēng)扇能根據(jù)周圍溫度自動啟停和調(diào)節(jié)風(fēng)速,那么不僅解放了人力,還能節(jié)省電能。目前許多家里都使用空調(diào),不但耗電率過高,而且?guī)缀鹾翢o通風(fēng)的可能。傳統(tǒng)風(fēng)扇的三瓣葉,不僅清洗起來麻煩,而且對小朋友還存在一定的安全隱患。市面上有一款奇特的風(fēng)扇,因其外形上不同于普通風(fēng)扇,沒有扇葉所以稱為無葉風(fēng)扇。新
3、型無葉風(fēng)扇不但在價(jià)格上比空調(diào)要低很多,而且通風(fēng)性很強(qiáng)。沒有扇葉和轉(zhuǎn)輪的新型電風(fēng)扇,吹出清爽涼風(fēng)的同時(shí),還能完全避免了清洗扇葉之苦。它能產(chǎn)生神奇的持續(xù)性的吹出涼風(fēng),由于沒有葉片,不會覆蓋塵土,對有好奇性的兒童不具有傷害,是理想的既安全又節(jié)能的產(chǎn)品?;谑忻嫘畔⒁约帮L(fēng)扇帶來的各種問題,我們設(shè)計(jì)一款智能無葉風(fēng)扇。它能實(shí)時(shí)檢測溫度顯示出來,并根據(jù)溫度調(diào)整風(fēng)速以適應(yīng)當(dāng)前環(huán)境,解決人力調(diào)控的問題。除此之外還加有濕度檢測部分顯示當(dāng)前濕度,并控制加濕器的啟停,讓環(huán)境一直保持在人感到舒適的濕度下。二、實(shí)驗(yàn)的研究方案及技術(shù)路線無葉風(fēng)扇出風(fēng)原理主要是利用噴氣式飛機(jī)引擎及汽車渦輪增壓中的技術(shù)?;袔в须妱訖C(jī)帶動圓柱
4、內(nèi)渦輪扇葉旋轉(zhuǎn),產(chǎn)生低壓,抽取底座旁的空氣。后基座內(nèi)空氣經(jīng)過渦輪增壓器壓縮,使空氣內(nèi)能增加,同時(shí)增加進(jìn)氣量。風(fēng)在霧沫夾帶和負(fù)壓在這兩個(gè)物理現(xiàn)象的作用下,各種氣流疊加,空氣,或者說無葉風(fēng)扇的風(fēng)量,被顯著放大了,達(dá)到渦輪風(fēng)扇本身抽取量的15倍。由圓環(huán)邊緣內(nèi)部隱藏的一個(gè)葉輪把空氣以圓形軌跡噴出,最終形成一股不間斷的冷空氣流。本實(shí)驗(yàn)主要功能是溫度控制風(fēng)速,濕度控制加濕器。首先對溫度進(jìn)行采集,并根據(jù)環(huán)境溫度實(shí)現(xiàn)調(diào)節(jié)風(fēng)速智能化的控制。若對此采用單片機(jī)來實(shí)現(xiàn),不僅具有控制方便,簡單,靈活性大等特點(diǎn),而且還可以大幅提高被控量的技術(shù)指標(biāo)。采用單片機(jī)作為控制器,利用溫度傳感器DS18B20作為溫度采集元件,并根據(jù)
5、采集到的溫度,通過一個(gè)達(dá)林頓反向驅(qū)動器ULN2803驅(qū)動風(fēng)扇電機(jī)。根據(jù)檢測到的溫度與系統(tǒng)設(shè)定的溫度的比較實(shí)現(xiàn)風(fēng)扇電機(jī)的自動啟動和停止,并能根溫度的變化自動改變風(fēng)扇電機(jī)的轉(zhuǎn)速,同時(shí)用LED八段數(shù)碼管顯示檢測到的溫度與設(shè)定的溫度。其次是濕度的檢測,也采用單片機(jī)控制。用DHT11濕度傳感器作為濕度采集原件,并根據(jù)采集數(shù)據(jù)與設(shè)定值作比較,低于設(shè)定值時(shí)啟動加濕器。3、 項(xiàng)目的實(shí)施過程1、 電路部分系統(tǒng)整體設(shè)計(jì)系統(tǒng)構(gòu)成框圖。如圖1所示。溫濕度顯示 溫濕度傳感器單片機(jī)AT89C52獨(dú)立鍵盤PWM驅(qū)動電路直流電機(jī)驅(qū)動模塊加濕器 圖1 系統(tǒng)構(gòu)成框圖電路采用完全分開形式,避免兩電路產(chǎn)生干擾,出現(xiàn)供電不足和不穩(wěn)定現(xiàn)
6、象。用戶可根據(jù)需要開啟所需功能,省電、節(jié)能更人性化。2、電路實(shí)現(xiàn)原理本設(shè)計(jì)的溫度部分實(shí)現(xiàn)原理:利用溫度傳感器DS18B20檢測環(huán)境溫度并直接輸出數(shù)字溫度信號給單片機(jī)AT89C52進(jìn)行處理,在LED數(shù)碼管上顯示當(dāng)前環(huán)境溫度值以及預(yù)設(shè)溫度值。其中預(yù)設(shè)溫度值只能為整數(shù)形式,檢測到的當(dāng)前環(huán)境溫度也為整數(shù)。同時(shí)采用PWM脈寬調(diào)制方式來改變直流風(fēng)扇電機(jī)的轉(zhuǎn)速。并通過兩個(gè)按鍵改變預(yù)設(shè)溫度值,一個(gè)提高預(yù)設(shè)溫度,另一個(gè)降低預(yù)設(shè)溫度值。濕度部分實(shí)現(xiàn)原理:傳感器模塊使用的是DHT11數(shù)字溫濕度傳感器。通過DHT11檢測出當(dāng)前環(huán)境下的濕度,將所測數(shù)據(jù)交給AT89C52單片機(jī)進(jìn)行分析和處理。其中,為了顯示穩(wěn)定,本系統(tǒng)每
7、間隔1秒采集一次數(shù)據(jù)送入單片機(jī)。閾值設(shè)置模塊通過三個(gè)按鍵來實(shí)現(xiàn)閾值設(shè)置功能的。使得在不同環(huán)境下設(shè)置閾值提供了極大的方便,不需要每次都在程序里改動然后再燒錄,省去了復(fù)雜的過程。3、溫度部分系統(tǒng)硬件設(shè)計(jì)3.1 獨(dú)立鍵盤連接電路鍵盤包括2個(gè)獨(dú)立按鍵S2和S3,一端與單片機(jī)的P1.3和P1.4口相連,另一端接地,當(dāng)按下任一鍵時(shí),P1口讀取低電平有效。系統(tǒng)上電后,進(jìn)入鍵盤掃描子程序,以查詢的方式確定各按鍵,完成溫度初值的設(shè)定。其中按鍵S1為加按鍵,每按下一次,系統(tǒng)對最初設(shè)定值加一,按鍵S2為減按鍵,每按下一次,系統(tǒng)對初設(shè)定值進(jìn)行減一計(jì)算。3.2 數(shù)碼管顯示電路本設(shè)計(jì)制作中選用4位共陽極數(shù)碼管作為顯示模塊
8、,其中前2位數(shù)碼用于顯示溫度傳感器實(shí)時(shí)檢測采集到的溫度,顯示范圍為099攝氏度;后2位數(shù)碼管用于顯示系統(tǒng)設(shè)置的溫度,顯示范圍為099攝氏度。本設(shè)計(jì)采用數(shù)碼管動態(tài)顯示,P0口輸出段碼。P2.0,P2.1,P2.4,P2.5輸出位選信號。3.3 溫度采集電路DS18B20數(shù)字溫度傳感器通過其內(nèi)部計(jì)數(shù)時(shí)鐘周期來作用,實(shí)現(xiàn)了特有的溫度測量功能。低溫系數(shù)振蕩器輸出的時(shí)鐘信號通過由高溫系數(shù)振蕩器產(chǎn)生的門周期而被計(jì)數(shù),計(jì)數(shù)器預(yù)先置有與-55相對應(yīng)的一個(gè)基權(quán)值。如果計(jì)數(shù)器計(jì)數(shù)到0時(shí),高溫度系數(shù)振蕩周期還未結(jié)束,則表示測量的溫度值高于-55,被預(yù)置在-55的溫度寄存器中的值就增加1,然后這個(gè)過程不斷重復(fù),直到高
9、溫度系數(shù)振蕩周期結(jié)束為止。此時(shí)溫度寄存器中的值即為被測溫度值,這個(gè)值以16位二進(jìn)制形式存放在存儲器中,通過主機(jī)發(fā)送存儲器讀命令可讀出此溫度值,讀取時(shí)低位在前,高位在后,依次進(jìn)行。由于溫度振蕩器的拋物線特性的影響,其內(nèi)用斜率累加器進(jìn)行補(bǔ)償。DS18B20在使用時(shí),一般都采用單片機(jī)來實(shí)現(xiàn)數(shù)據(jù)采集。只須將DS18B20信號線與單片機(jī)1位I/O線相連,且單片機(jī)的1位I/O線可掛接多個(gè)DS18B20,就可實(shí)現(xiàn)單點(diǎn)或多點(diǎn)溫度檢測。在本如圖2所示。圖2溫度采集和驅(qū)動電路3.4 風(fēng)扇電機(jī)驅(qū)動與調(diào)速電路本設(shè)計(jì)中由單片機(jī)的I/O口輸出PWM脈沖,通過一個(gè)達(dá)林頓反向驅(qū)動器ULN2803驅(qū)動5V直流無刷風(fēng)扇電機(jī)以及實(shí)
10、現(xiàn)風(fēng)扇電機(jī)速度的調(diào)節(jié)。鍵盤控制設(shè)置溫度,通過軟件向單片機(jī)輸入相應(yīng)控制指令,由單片機(jī)通過P1.7口輸出與轉(zhuǎn)速相應(yīng)的PWM脈沖,經(jīng)過ULN2803驅(qū)動風(fēng)扇直流電機(jī)控制電路,實(shí)現(xiàn)電機(jī)轉(zhuǎn)速與啟停的自動控制。當(dāng)環(huán)境溫度升高時(shí),直流電機(jī)的轉(zhuǎn)速會相應(yīng)按照設(shè)定的等級有所提高;當(dāng)環(huán)境溫度下降時(shí),電機(jī)的轉(zhuǎn)速會相應(yīng)的下降;當(dāng)環(huán)境溫度低于設(shè)置溫度時(shí),電機(jī)停止轉(zhuǎn)動,而環(huán)境溫度又高于預(yù)設(shè)溫度時(shí),電機(jī)重新啟動。風(fēng)扇電機(jī)的一端接5V電源,另一端接ULN2803的OUT7引腳,ULN2803的IN7引腳與單片機(jī)的P3.1引腳相連,通過控制單片機(jī)的P3.1引腳輸出PWM信號,由此控制風(fēng)扇直流電機(jī)的速度與啟停。如圖2所示。4、 濕
11、度部分系統(tǒng)硬件設(shè)計(jì)4.1 濕度采集電路 DHT11傳感器連接單片機(jī)相對比較簡單。單片機(jī)的P0.0口用來發(fā)收串行數(shù)據(jù),即數(shù)據(jù)口。連接傳感器的Pin2(單總線,串行數(shù)據(jù))。由于測量范圍電路小于20米,加一個(gè)5K的上拉電阻,因此在傳感器的Pin2口與電源之間連接一個(gè)5K電阻。而傳感器的電源端口Pin1和Pin4分別接單片機(jī)的VDD和GND端。傳感器的第三腳懸浮放置。DHT11傳感器原件的電路連接圖如下圖3所示。 圖3 DHT11電路連接圖4.2 閾值設(shè)置電路如圖4,從上到下依次設(shè)為K1、K2、K3、K4四個(gè)按鍵,其連接單片機(jī)引腳分別是P1.0-P1.3四個(gè)引腳。根據(jù)該模塊使得閾值設(shè)置分兩個(gè)模式,分別
12、是濕度顯示模式、濕度設(shè)置模式。K1為設(shè)置鍵,按一次為濕度設(shè)置模式;K4為退出設(shè)置。K2和K3只有在濕度設(shè)置模式下才有效,分別為閾值增加和閾值減小。閾值設(shè)置模塊是后來加進(jìn)來的部分,設(shè)置非常人性化,一般人都可以操作,而不用每次設(shè)置閾值都到程序里邊去設(shè)置。圖4 閾值設(shè)置模塊原理圖4.3數(shù)碼管顯示電路本設(shè)計(jì)制作中選用4位共陰極數(shù)碼管作為顯示模塊,其中前2位數(shù)碼用于顯示濕度傳感器實(shí)時(shí)檢測采集到的濕度,測量范圍為20RH-80RH;后2位數(shù)碼管用于顯示濕度單位RH。本設(shè)計(jì)采用數(shù)碼管動態(tài)顯示,P0口輸出段碼,P2.4-P2.7各經(jīng)過一PNP型三極管輸出位選信號。4.4 加濕器驅(qū)動電路當(dāng)環(huán)境濕度低于設(shè)置濕度時(shí)
13、,加濕器開始工作,而環(huán)境濕度高于預(yù)設(shè)濕度時(shí),加濕器停止工作。加濕器的一端接5V電源,另一端接ULN2803的OUT7引腳,ULN2803的IN7引腳與單片機(jī)的P2.1引腳相連,通過控制單片機(jī)的P2.1引腳輸出的高低電平,由此控制加濕器的啟停。驅(qū)動電路如圖2所示。圖5 加濕器驅(qū)動電路5、系統(tǒng)軟件設(shè)計(jì)5.1溫度部分軟件設(shè)計(jì)溫度程序設(shè)計(jì)部分主要包括主程序、DS18B20初始化函數(shù)、DS18B20溫度轉(zhuǎn)換函數(shù)、溫度讀取函數(shù)、鍵盤掃描函數(shù)、數(shù)碼管顯示函數(shù)、溫度處理函數(shù)以及風(fēng)扇電機(jī)控制函數(shù)。主程序流程圖如圖6。開始調(diào)用溫度轉(zhuǎn)換程序 溫度顯示掃描鍵盤設(shè)定溫度duddu度N溫度 > 設(shè)定值YN溫度>
14、;設(shè)定值+3YP3.1=0P3.1產(chǎn)生方波信號P3.1=1風(fēng)扇關(guān)閉風(fēng)扇低速轉(zhuǎn)動風(fēng)扇高速轉(zhuǎn)動延時(shí) 圖6溫度主程序流程圖程序初始化時(shí)將DS18B20的溫度設(shè)定初值設(shè)為22,讀取當(dāng)前溫度值并將段碼送入P0口,由數(shù)碼管動態(tài)顯示。然后掃描鍵盤判斷有無按鍵按下,將改變的設(shè)定值送入定義的變量中存儲,比較當(dāng)前值與設(shè)定值。若當(dāng)前值小于設(shè)定值,P3.1=0風(fēng)扇將不啟動或停止轉(zhuǎn)動,若大于設(shè)定值則繼續(xù)判斷是否大于設(shè)定值+3。若為是,P3.1=1則風(fēng)扇高速轉(zhuǎn)動,若為否,P3.1輸出方波信號,使風(fēng)扇轉(zhuǎn)速降低。經(jīng)過延時(shí)后循環(huán)上述步驟。5.2濕度部分軟件設(shè)計(jì)濕度程序設(shè)計(jì)部分主要包括主程序、DHT11初始化函數(shù)、DHT11濕度
15、轉(zhuǎn)換函數(shù)、濕度讀取函數(shù)、鍵盤掃描函數(shù)、數(shù)碼管顯示函數(shù)、濕度處理函數(shù)以及加濕器控制函數(shù)。主程序流程圖如圖7。開始調(diào)用濕度轉(zhuǎn)換程序 濕度顯示 掃描鍵盤設(shè)定濕度duddu度N濕度 > 設(shè)定值YP2.0=1 P2.1=0P2.0=0 P2.1=1加濕器啟動加濕器停止延時(shí) 圖7 濕度主程序流程圖程序初始化時(shí)將DDHT11的濕度度設(shè)定初值設(shè)為30RH,讀取當(dāng)前濕度值并將段碼送入P0口,由數(shù)碼管動態(tài)顯示。然后掃描鍵盤判斷有無按鍵按下,將改變的設(shè)定值送入定義的變量中存儲,比較當(dāng)前值與設(shè)定值。若當(dāng)前值小于設(shè)定值,P2.0=1加濕器將停止;若大于設(shè)定值,P2.1=1加濕器啟動。經(jīng)過延時(shí)后循環(huán)上述步驟。4、
16、項(xiàng)目的預(yù)期成果及最終成果預(yù)期成果是做成實(shí)物模型。作品成果展示見圖8。圖8作品成果展示5、 項(xiàng)目組成員的收獲及體會本設(shè)計(jì)已基本完成題目中的各項(xiàng)功能。從確定題目到立項(xiàng)再到實(shí)施之間已經(jīng)快一年了,最大的體會是:仿真和實(shí)物真的有很大的差別。同樣的程序仿真時(shí)能用但是實(shí)物板上卻不能用,后來分析到仿真是有欠缺的,只能作為我們研究電路的一個(gè)參考罷了。在設(shè)計(jì)的研究過程中,用到了Keil、Altium Designer和Proteus等軟件,通過對這些專業(yè)知識的學(xué)習(xí),提高了自己的知識水平,而在課題的設(shè)計(jì)過程中,我們都加強(qiáng)了自己的動手能力,并且將專業(yè)知識用到實(shí)踐上,讓我們對這些軟件更加熟悉。在后期實(shí)施過程中查找資料,
17、理論學(xué)習(xí),實(shí)驗(yàn)編程調(diào)試,這一切都使我們的理論知識和動手能力有了很大的提高。了解了單片機(jī)的硬件結(jié)構(gòu)和軟件編程方法,對單片機(jī)的工作方式有了很大的認(rèn)知。同時(shí),對一些外圍設(shè)備比如傳感器、數(shù)碼管、鍵盤、加濕器等有了一定的了解!大學(xué)生創(chuàng)新實(shí)驗(yàn)競賽是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn)實(shí)際為題、提出實(shí)際問題、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對學(xué)生實(shí)際學(xué)習(xí)能力、動手能力的具體訓(xùn)練和考察過程。盡管本次創(chuàng)新實(shí)驗(yàn)設(shè)計(jì)結(jié)束了,但我們的學(xué)習(xí)仍沒有結(jié)束,只有不斷學(xué)習(xí),用知識充實(shí)自己的頭腦,才能在未來社會有一席之地,才能為社會的發(fā)展做出應(yīng)有的貢獻(xiàn),一句話:學(xué)無止境。參考文獻(xiàn)1 何立民.單片機(jī)應(yīng)用技術(shù)選編.北京:北京
18、航空航天大學(xué)出版社,1997,102 張家定,林幅嚴(yán),崔宏月.基于MCS-51單片機(jī)的直流小電機(jī)PWM調(diào)速設(shè)計(jì)J.中國科技論文在線,2007.3 蔡美琴, 張雅民.51 單片機(jī)系統(tǒng)及其應(yīng)用 M.北京: 高等教育出版社,1992.4 李彩云,胡洪波.PWM 技術(shù)在直流電機(jī)調(diào)速中的應(yīng)用J.南昌高專學(xué)報(bào),2008.5 金發(fā)慶等編. 傳感器技術(shù)與應(yīng)用.北京機(jī)械工業(yè)出版社,20026 譚浩強(qiáng). C語言程序設(shè)計(jì) (第四版) 附件1:源程序溫度檢測源程序#include <reg52.h> #define uchar unsigned char#define uint unsigned ints
19、bit DQ=P17;sbit key1=P13;sbit key2=P14;sbit dianji=P31;float ff;uint y3;uchar shi,ge,xiaoshu,sheding=22,gaonum,dinum;uchar code dispcode= /段碼0xc0,0xf9,0xa4,0xb0, 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e; uchar code tablel= /帶小數(shù)點(diǎn)的段碼0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x9
20、0;uchar dispbitcode= /位選0xfe,0xfd,0xfb,0xf7, 0xef,0xdf,0xbf,0x7f; uchar dispbuf8=0,0,0,0,0,0,0,0; void Delay(uint num)/ 延時(shí)函數(shù)while( -num );void digitalshow(uchar a4,uchar a3,uchar a1,uchar a0)dispbuf0=a0; dispbuf1=a1;dispbuf3=a3;dispbuf4=a4;P2=0xff;P0=dispcodedispbuf0;P2=dispbitcode5;Delay(1); P2=0xf
21、f;P0=dispcodedispbuf1;P2=dispbitcode4;Delay(1);P2=0xff;P0=tableldispbuf3;P2=dispbitcode1;Delay(1);P2=0xff;P0=dispcodedispbuf4;P2=dispbitcode0;Delay(1);void dmsec(uint count) uint i;/ 1ms延時(shí)while(count-) for(i=0;i<125;i+)void tmreset(void) DQ=0;Delay(90);/ 精確延時(shí) 大于 480usDQ=1;Delay(4);/ 90,4 可以小范圍變化v
22、oid tmpre(void) while(DQ);while(DQ);Delay(4); bit tmrbit(void) uint i;bit dat;DQ=0;i+; / i+;大概1usDQ=1;i+;i+; dat=DQ;Delay(8); return(dat);uchar tmrbyte(void) /讀一個(gè)比特 uchar i,j,dat;dat=0;for(i=1;i<=8;i+) j=tmrbit();dat=(j<<7)|(dat>>1);return(dat);void tmwbyte(uchar dat) /寫一個(gè)比特 uint i;uc
23、har j;bit testb;for(j=1;j<=8;j+) testb=dat&0x01;dat=dat>>1;/ 從低位開始if(testb) / Write 1DQ=0; / 先拉低 i+;i+;/ >1us DQ=1;Delay(4); else / Write 0DQ=0; Delay(4); DQ=1;i+;i+; / 再拉高 void tmstart(void) /ds1820開始轉(zhuǎn)換 dmsec(1); tmreset(); tmpre(); dmsec(1); tmwbyte(0xcc); / skip rom tmwbyte(0x44);
24、 / 轉(zhuǎn)換uchar tmrtemp(void) /讀取溫度 uchar a,b;tmreset();tmpre();dmsec(1);tmwbyte(0xcc); / skip romtmwbyte(0xbe);/ 轉(zhuǎn)換a=tmrbyte(); / LSB低8位b=tmrbyte();/ MSB高8位y3=b;y3<<=4;a>>=4;y3=y3|a;return(y3);void keyscan(void)if(key1=0)dmsec(5);if(key1=0)sheding+;if(sheding=100)sheding=20;while(!key1);else
25、 if(key2=0)dmsec(5);if(key2=0)sheding-;if(sheding=0)sheding=20;while(!key2);void deal(uint tmp) /溫度處理if(tmp<=sheding)gaonum=0;dinum=4;else if(tmp>sheding)&&(tmp<=(sheding+3)gaonum=3;dinum=1;elsegaonum=4;dinum=0;void dianjik() /電機(jī)控制 uchar q,i; for(q=0;q<dinum;q+) dianji=0; digital
26、show(shi,ge,sheding/10,sheding%10); for(i=255;i>0;i-) digitalshow(shi,ge,sheding/10,sheding%10); for(q=0;q<gaonum;q+) dianji=1; digitalshow(shi,ge,sheding/10,sheding%10); for(i=255;i>0;i-) digitalshow(shi,ge,sheding/10,sheding%10); void main(void) uint last;dianji=0;tmstart();dmsec(450);/ 初
27、始化ds18b20while(1)tmstart();/ ds1820開始轉(zhuǎn)換dmsec(2); last=tmrtemp();/ 讀取溫度shi=last/10;ge=last%10;keyscan();dmsec(2); deal(last);dianjik(); 濕度檢測源程序/*Main.c*#include <reg52.h> #include "DHT11.H" #define uchar unsigned char #define uint unsigned int sbit w1 = P24; /數(shù)碼管位選端引腳定義sbit w2 = P25;s
28、bit w3 = P26;sbit w4 = P27;sbit LED1 = P20; /指示LED引腳定義sbit LED2 = P21; /指示LED引腳定義sbit K1 = P10; /按鍵定義sbit K2 = P11;sbit K3 = P12; sbit K4 = P13;extern uchar Humi_Value; /讀取的濕度值uchar Count =0; /濕度值顯示時(shí)間控制變量uchar Set_Value=30; /設(shè)置下限值uchar Table=0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7,0xcf,0xc
29、e;void Delay_1ms(unsigned int i) unsigned int x,j;for(j=0;j<i;j+)for(x=0;x<123;x+);void Humi_Display(void) /濕度顯示函數(shù)P0=TableHumi_Value/10;w1=0;Delay_1ms(6);w1=1;P0=TableHumi_Value%10;w2=0;Delay_1ms(6);w2=1;P0=Table10;w3=0;Delay_1ms(6);w3=1;P0=Table11;w4=0;Delay_1ms(6);w4=1;/設(shè)置下限值相關(guān)函數(shù)void Set_Dis
30、play(void) /設(shè)置顯示函數(shù)P0=TableSet_Value/10;w1=0;Delay_1ms(6);w1=1;P0=TableSet_Value%10;w2=0;Delay_1ms(6);w2=1;P0=Table10;w3=0;Delay_1ms(6);w3=1;P0=Table11;w4=0;Delay_1ms(6);w4=1;void Set_Value1(void) /設(shè)置主函數(shù)if(K1=0) /設(shè)置按鍵按下Delay_1ms(4);if(K1=0)while(!K1); /等待按鍵松開EA=0; /關(guān)閉總中斷while(1)Set_Display();if(K2=0)
31、 /設(shè)置加Delay_1ms(4);if(K2=0)while(!K2);if(Set_Value<90)Set_Value+;elseSet_Value=20;if(K3=0) /設(shè)置減Delay_1ms(4);if(K3=0)while(!K3);if(Set_Value>20)Set_Value-;elseSet_Value=90;if(K4=0) /退出設(shè)置Delay_1ms(4);if(K4=0)while(!K4);EA=1; /打開總中斷break;void Tim0_Init(void)/定時(shí)器0初始化函數(shù)TMOD = 0x11;/設(shè)置定時(shí)器0和定時(shí)器1為16位定時(shí)
32、器TH0 = (65536-50000)/256; /定時(shí)器0初值為50msTL0 = (65536-50000)%256;TH1 = (65536-10000)/256; /定時(shí)器1初值為10msTL1 = (65536-10000)%256;ET0 = 1; /打開定時(shí)器0中斷TR0 = 1; /啟動定時(shí)器0ET1 = 1; /打開定時(shí)器1中斷TR1 = 1; /啟動定時(shí)器1EA = 1; /打開總中斷void Compare(void) /比較當(dāng)前值與設(shè)置值if(Humi_Value>=Set_Value)LED1=1;LED2=0;elseLED1=0;LED2=1;void m
33、ain(void)Tim0_Init();while(1) Compare();void Tim0_Isr(void) interrupt 1TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;Count+;if(Count=20) /1s讀取一次濕度值Count=0;Get_DHT11_Value();void Tim1_Isr(void) interrupt 3TH1 = (65536-10000)/256; /10ms掃描一次數(shù)碼管TL1 = (65536-10000)%256;Humi_Display();Set_Value1();/*dht11.c*#include <reg52.h>#include "DHT11.H"sbit DHT11_D=P32;unsigned char Temp_Value,Humi_Value;unsigned char DHT11_Con;void delay10ms(void) /誤差 0us unsigned char a,b,c; for(c=5;c>0;c-) for(b=4;b>0;b-) for(a=248;a>0;a-);void delay10us(void) /誤差 0
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合作承諾意向書(13篇)
- 醫(yī)院支援采集核酸個(gè)人工作總結(jié)(8篇)
- 股票配售協(xié)議三篇
- 2025田地承包合同范例
- 吡咯類香料行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報(bào)告
- 證券經(jīng)營機(jī)構(gòu)行業(yè)市場發(fā)展現(xiàn)狀及趨勢與投資分析研究報(bào)告
- 2025工程項(xiàng)目合同
- 2025房屋建筑承包合同
- 2025園林景觀工程施工合同
- 液壓拉力器課程設(shè)計(jì)
- 抖音快手短視頻創(chuàng)業(yè)項(xiàng)目融資商業(yè)策劃書
- 滬教版英語八年級上冊知識點(diǎn)歸納匯總
- 裝飾裝修工程售后服務(wù)具體措施
- 軟件設(shè)計(jì)說明書通用模板
- 酒店治安安全培訓(xùn)
- 糖皮質(zhì)激素類藥物臨床應(yīng)用指導(dǎo)原則(2023年)
- 我的家鄉(xiāng)-東營
- 世界的海陸分布、世界的地形復(fù)習(xí)提綱
- SMT電子物料損耗率標(biāo)準(zhǔn) 貼片物料損耗標(biāo)準(zhǔn)
- NFPA-2010 固定式氣溶膠滅火系統(tǒng)標(biāo)準(zhǔn)(譯文)
- 釣魚郵件專項(xiàng)安全意識隨堂測試
評論
0/150
提交評論