![《單片機(jī)原理及接口技術(shù)》課程設(shè)計(jì)基于單片機(jī)電風(fēng)扇智能控制系統(tǒng)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/10/34d1bfe9-e46c-4a15-8244-294b2cbdfc22/34d1bfe9-e46c-4a15-8244-294b2cbdfc221.gif)
![《單片機(jī)原理及接口技術(shù)》課程設(shè)計(jì)基于單片機(jī)電風(fēng)扇智能控制系統(tǒng)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/10/34d1bfe9-e46c-4a15-8244-294b2cbdfc22/34d1bfe9-e46c-4a15-8244-294b2cbdfc222.gif)
![《單片機(jī)原理及接口技術(shù)》課程設(shè)計(jì)基于單片機(jī)電風(fēng)扇智能控制系統(tǒng)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/10/34d1bfe9-e46c-4a15-8244-294b2cbdfc22/34d1bfe9-e46c-4a15-8244-294b2cbdfc223.gif)
![《單片機(jī)原理及接口技術(shù)》課程設(shè)計(jì)基于單片機(jī)電風(fēng)扇智能控制系統(tǒng)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/10/34d1bfe9-e46c-4a15-8244-294b2cbdfc22/34d1bfe9-e46c-4a15-8244-294b2cbdfc224.gif)
![《單片機(jī)原理及接口技術(shù)》課程設(shè)計(jì)基于單片機(jī)電風(fēng)扇智能控制系統(tǒng)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/10/34d1bfe9-e46c-4a15-8244-294b2cbdfc22/34d1bfe9-e46c-4a15-8244-294b2cbdfc225.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、智能電風(fēng)扇的設(shè)計(jì)學(xué) 院 專業(yè)班級(jí) 學(xué)生姓名 指導(dǎo)教師 引 言隨著人們生活水平及科技水平的不斷提高,現(xiàn)在家用電器在款式、功能等方面日益求精,并朝著健康、安全、多功能、節(jié)能等方向發(fā)展。過去的電器不斷的顯露出其不足之處。電風(fēng)扇作為家用電器的一種,同樣存在類似的問題。現(xiàn)在電風(fēng)扇的現(xiàn)狀:大部分只有手動(dòng)調(diào)速,再加上一個(gè)定時(shí)器,功能單一。存在的隱患或不足:比如說人們常常離開后忘記關(guān)閉電風(fēng)扇,浪費(fèi)電且不說還容易引發(fā)火災(zāi),長(zhǎng)時(shí)間工作還容易損壞電器。再比如說前半夜溫度高電風(fēng)扇調(diào)的風(fēng)速較高,但到了后半夜氣溫下降,風(fēng)速不會(huì)隨著氣溫變化,容易著涼。之所以會(huì)產(chǎn)生這些隱患的根本原因是:缺乏對(duì)環(huán)境的檢測(cè)。如果能使電風(fēng)扇具有對(duì)
2、環(huán)境進(jìn)行檢測(cè)的功能,當(dāng)房間里面沒有人時(shí)能自動(dòng)的關(guān)閉電風(fēng)扇;當(dāng)溫度下降時(shí)能自動(dòng)的減小風(fēng)速甚至關(guān)閉風(fēng)扇,這樣一來就避免了上述的不足。本次設(shè)計(jì)就是圍繞這兩點(diǎn)對(duì)現(xiàn)有電風(fēng)扇進(jìn)行改進(jìn)。ii1.總體方案設(shè)計(jì)及功能描述本設(shè)計(jì)是以at89c51單片機(jī)控制中心,主要通過提取熱釋電紅外傳感器感應(yīng)到的人體紅外線信息和溫度傳感器ds18b20得到的溫度以及內(nèi)部定時(shí)器設(shè)定時(shí)間長(zhǎng)短來控制電風(fēng)扇的開關(guān)及轉(zhuǎn)速的變化。功能描述:電風(fēng)扇工作在四種狀態(tài):手動(dòng)調(diào)速狀態(tài)、自動(dòng)調(diào)速狀態(tài)、定時(shí)狀態(tài)、停止?fàn)顟B(tài)。手動(dòng)狀態(tài)時(shí)可以手動(dòng)調(diào)節(jié)速度;自動(dòng)狀態(tài)時(shí)通過溫度高低自動(dòng)調(diào)節(jié)速度,如果出現(xiàn)手動(dòng)現(xiàn)象則變?yōu)槭謩?dòng)狀態(tài);定時(shí)狀態(tài)時(shí)可以調(diào)節(jié)定時(shí)時(shí)間,并設(shè)定是否
3、啟動(dòng)定時(shí),之后可以手動(dòng)退出,也可以在不操作6秒后自動(dòng)退出進(jìn)入手動(dòng)狀態(tài);停止?fàn)顟B(tài)時(shí)可以被喚醒并進(jìn)入自動(dòng)狀態(tài)。當(dāng)沒有檢測(cè)到人體存在超過3分鐘或定時(shí)完畢時(shí)進(jìn)入停止?fàn)顟B(tài)。在數(shù)碼管顯示方面,當(dāng)沒有定時(shí)時(shí),只顯示氣溫,當(dāng)定時(shí)啟動(dòng)時(shí)氣溫和定時(shí)剩余時(shí)間以3秒的速度交替顯示。系統(tǒng)方框圖如下圖所示,主要包括:輸入、控制、輸出三大部分8個(gè)功能模塊。鍵盤輸入熱釋電紅外傳感器溫度傳感器(ds18b20)at89c51數(shù)碼管發(fā)光二極管蜂鳴器繼電器圖1-1系統(tǒng)方框圖2.功能模塊硬件簡(jiǎn)介與實(shí)現(xiàn)2.1鍵盤輸入電路由于設(shè)計(jì)中用到的按鍵數(shù)目不多,所以可以直接用at89c51的通用io端口且選用at89c51的p1口(內(nèi)部有上拉電阻
4、)作為鍵盤接口。對(duì)于按鍵只需一端接地另一端接p1口即可。見下圖(2-1):圖 2-12.2熱釋電紅外傳感器模塊2.2.1熱釋電紅外線傳感器原理簡(jiǎn)介人體輻射的紅外線中心波長(zhǎng)為 910um,而探測(cè)元件的波長(zhǎng)靈敏度在 0.220um 范圍內(nèi)幾乎穩(wěn)定不變。在傳感器頂端開設(shè)了一個(gè)裝有濾光鏡片的窗口,這個(gè)濾光片可通過光的波長(zhǎng)范圍為 710um,正好適合于人體紅外輻射的探測(cè),而對(duì)其它波長(zhǎng)的紅外線由濾光片予以吸收,這樣便形成了一種專門用作探測(cè)人體輻射的紅外線傳感器。 實(shí)質(zhì)上熱釋電傳感器是對(duì)溫度敏感的傳感器。它由陶瓷氧化物或壓電晶體元件組成,在元件兩個(gè)表面做成電極,如圖2所示。在環(huán)境溫度有t的變化時(shí),由于有熱釋
5、電效應(yīng),在兩個(gè)電極上會(huì)產(chǎn)生電荷q,即在兩電極之間產(chǎn)生一微弱的電壓v。2.2.2熱釋電紅外線傳感器應(yīng)用熱釋電紅外線傳感器有三個(gè)端口,如圖2-2所示:一個(gè)接電源、一個(gè)接地、一個(gè)信號(hào)端口,當(dāng)有人進(jìn)入其檢測(cè)區(qū)域時(shí),信號(hào)端口便產(chǎn)生一個(gè)電平跳變,并維持?jǐn)?shù)秒鐘,我們就是利用這個(gè)跳變來判斷是否有人在這個(gè)檢測(cè)區(qū)域。圖2-22.3溫度傳感器2.3.1溫度傳感器ds18b20簡(jiǎn)介新型數(shù)字溫度傳感器ds18b20具有體積更小、精度更高、適用電壓更寬、采用一線總線,在實(shí)際應(yīng)用中取得了良好的測(cè)溫效果。ds18b20的主要特性:(1)獨(dú)特的單線接口方式,ds18b20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與ds1
6、8b20的雙向通訊。(2)測(cè)溫溫范圍55125(3)最高分辨率為0.0625。2.3.2 ds18b20的一般操作過程(1)、初始化;(2)、跳過rom(命令:cch);(3)、溫度變換(命令:44h);(4)、讀暫存存儲(chǔ)器(命令:beh);注:每次讀取溫度都要經(jīng)過上面四個(gè)過程。2.3.3 ds18b20的溫度存儲(chǔ)方式即溫度計(jì)算 ds18b20是用12位存儲(chǔ)溫度,最高位為符號(hào)位,下圖為它的溫度存儲(chǔ)方式:232221202-12-22-32-4lsbytebit7bit6bit5bit4bit3bit2bit1bit0sssss262524msbytebit15bit14bit13bit12bi
7、t11bit10bit9bit8表2-1 ds18b20溫度存儲(chǔ)地址分配這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在ds18b20的兩個(gè)8比特的ram中,二進(jìn)制中的前面5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)到的數(shù)值需要取反加1再乘于0.0625即可得到實(shí)際溫度。2.4數(shù)碼管顯示電路2.4 174ls164簡(jiǎn)介移位寄存器是一類應(yīng)用很廣的時(shí)序邏輯電路,在時(shí)鐘脈沖的作用下,低位寄存器的數(shù)碼送給高位寄存器,作為高位寄存器的次態(tài)輸出。 在時(shí)鐘脈沖的作用下,高位寄存器的數(shù)碼送給低位寄存器,作為低位寄存器的次態(tài)輸出;移位寄
8、存器:除具寄存器的功能外,所存儲(chǔ)的數(shù)碼在時(shí)鐘脈沖的作用下還可以移位。74ls164是八位串入并出移位寄存器,其工作電壓范圍4.755.25v,大于2v的高電平輸入、小于0.8v的低電平輸入,clock最高響應(yīng)頻率為25mhz,八位并行輸出可以直接驅(qū)動(dòng)八段數(shù)碼管。74ls164的引腳圖及功能圖如下所示:1312111098oh123456 ba7gnd14vccohogofoaobocodclockclearoeserial inputsoutputsoutputsinputsoutputsclearclocka bqaqbqhlhhhhxlxxhlxlqa0hlllqb0qanqanqanlq
9、h0qgnqgnqgn圖2-3 74ls164的引腳圖及功能圖2.4.2共陰極八段數(shù)碼管簡(jiǎn)介共陰極八段數(shù)碼管是將八段發(fā)光二極管封裝在一起且二極管的陰極連在一起,原理圖如下圖所示,公共端接低電平,其它八個(gè)端口高電平點(diǎn)亮相應(yīng)的二極管,低電平相反。圖2-42.4.3顯示電路設(shè)計(jì)此顯示電路采用兩位靜態(tài)數(shù)碼管顯示,用八位串入并出移位寄存器74ls164作為驅(qū)動(dòng)電路,采用共陰極八段數(shù)碼管原理圖示意圖如下:數(shù)碼管74ls164數(shù)碼管74ls164dataclock圖 2-5從圖中可以看出控制線只有兩條:1、數(shù)據(jù)線;2、移位脈沖線。它只占用很少的io口。2.5發(fā)光二極管電路發(fā)光二極管簡(jiǎn)稱為led,它是半導(dǎo)體二
10、極管的一種。發(fā)光二極管的反向擊穿電壓約5伏。它的正向伏安特性曲線很陡,使用時(shí)必須串聯(lián)限流電阻以控制通過管子的電流。限流電阻r可用下式計(jì)算:r(euf)if式中e為電源電壓,uf為led的正向壓降,if為led的一般工作電流。發(fā)光二極管的兩根引線中較長(zhǎng)的一根為正極,應(yīng)按電源正極。與小白熾燈泡和氖燈相比,發(fā)光二極管的特點(diǎn)是:工作電壓很低(有的僅一點(diǎn)幾伏);工作電流很?。ㄓ械膬H零點(diǎn)幾毫安即可發(fā)光);抗沖擊和抗震性能好,可靠性高,壽命長(zhǎng);通過調(diào)制通過的電流強(qiáng)弱可以方便地調(diào)制發(fā)光的強(qiáng)弱。由于有這些特點(diǎn),發(fā)光二極管在一些光電控制設(shè)備中用作光源,在許多電子設(shè)備中用作信號(hào)顯示器。由于at89c51的p0口是開
11、漏輸出,所以此電路可以設(shè)計(jì)位如下簡(jiǎn)單形式:圖2-62.6蜂鳴器電路蜂鳴器工作原理簡(jiǎn)介:當(dāng)控制端口通以不同頻率及不同占空比的信號(hào)時(shí)蜂鳴器將發(fā)出不同強(qiáng)度及不同頻率的聲音。由于其具有比傳統(tǒng)的喇叭體積小,價(jià)格低等優(yōu)點(diǎn),所以此次提示音電路選用蜂鳴器。具體電路見下圖:圖2-72.7繼電器控制電路2.7.1繼電器簡(jiǎn)介繼電器是一種電子控制器件,它具有控制系統(tǒng)(又稱輸入回路)和被控制系統(tǒng)(又稱輸出回路),通常應(yīng)用于自動(dòng)控制電路中,它實(shí)際上是用較小的電流去控制較大電流的一種“自動(dòng)開關(guān)”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。它有幾個(gè)重要指標(biāo):1、額定工作電壓:正常工作時(shí)線圈所需要的電壓。2、直流電阻:
12、繼電器中線圈的直流電阻。3、吸合電流:繼電器能夠產(chǎn)生吸合動(dòng)作的最小電流。4、釋放電流:繼電器產(chǎn)生釋放動(dòng)作的最大電流。5、觸點(diǎn)切換電壓和電流:繼電器允許加載的電壓和電流。2.7.2繼電器驅(qū)動(dòng)電路設(shè)計(jì)及工作原理簡(jiǎn)介采用晶閘管也可以用于小電流控制大電流電路,但是其控制電路比較復(fù)雜,而采用繼電器其控制電路就比較簡(jiǎn)單,且具有電氣隔離作用。雖然其響應(yīng)速度沒有晶閘管快但在低頻情況下采用繼電器控制電路較為方便。其電路圖如下所示:圖2-8電路工作原理簡(jiǎn)介:當(dāng)控制端口為低電平時(shí),三極管導(dǎo)通繼電器吸合,常閉觸電斷開,常開觸點(diǎn)閉合。當(dāng)控制端口為高電平時(shí)三極管關(guān)斷,繼電器線圈通過二極管放電并斷開,常閉、常開觸電復(fù)位。3
13、.軟件設(shè)計(jì)與實(shí)現(xiàn)3.1整體設(shè)計(jì)思路介紹軟件設(shè)計(jì)整體思路:主程序部分進(jìn)行一些初始化以及溫度的讀??;外部中斷0進(jìn)行紅外線感應(yīng)延時(shí)時(shí)間的重新加載;定時(shí)器0進(jìn)行鍵盤的掃描及相關(guān)操作;定時(shí)器1進(jìn)行顯示、溫控速度、以及相關(guān)需要延時(shí)(如倒計(jì)時(shí)等等)的操作。在顯示方面,進(jìn)行了一些改善-要顯示的值有變化才進(jìn)行重新刷新,否則不刷新。這樣就大大提高了效率及最終的顯示效果(不會(huì)出現(xiàn)不該亮的部分還有亮的現(xiàn)象)。3.2主要部分流程圖如下:3.2.1主程序流程圖主程序開始初始化內(nèi)部資源讀取一個(gè)正確溫度并選擇速度啟動(dòng)時(shí)間和溫度顯示拉高五個(gè)按鍵啟動(dòng)定時(shí)器讀取溫度圖 3-13.2.2外部中斷流程圖外部中斷開始退出外部中斷紅外線感
14、應(yīng)延時(shí)重新初始化圖 3-23.2.3定時(shí)器0中斷流程圖定時(shí)器0開始退出定時(shí)器定時(shí)器重新初始化鍵盤消抖定時(shí)狀態(tài)n定時(shí)狀態(tài)鍵盤操作手動(dòng)狀態(tài)鍵盤操作自動(dòng)狀態(tài)鍵盤操作停止?fàn)顟B(tài)鍵盤操作yyyy手動(dòng)狀態(tài)n自動(dòng)狀態(tài)n停止?fàn)顟B(tài)圖 3-33.2.4定時(shí)器1中斷流程圖定時(shí)器1開始退出定時(shí)器定時(shí)器1重新初始化鍵盤消抖定時(shí)狀態(tài)手動(dòng)狀態(tài)自動(dòng)狀態(tài)停止?fàn)顟B(tài)nnn顯示時(shí)間如果有定時(shí)則時(shí)間和溫度交替顯示,沒有則只顯示溫度yyyy如果有定時(shí)則定時(shí)倒計(jì)時(shí),計(jì)時(shí)結(jié)束關(guān)閉電風(fēng)扇進(jìn)入定時(shí)狀態(tài)不動(dòng)超過一定時(shí)間自動(dòng)退回手動(dòng)狀態(tài)如果有定時(shí)則時(shí)間和溫度交替顯示,沒有則只顯示溫度顯示時(shí)間圖 3-4結(jié)束語早在單片機(jī)原理及接口技術(shù)這門課還未結(jié)束的時(shí)候
15、,陸仲達(dá)老師就給我們布置了基于51單片機(jī)的課程設(shè)計(jì)。我從最初的茫然,到慢慢的進(jìn)入狀態(tài),再到對(duì)思路逐漸的清晰,整個(gè)寫作過程難以用語言來表達(dá)。關(guān)于51的應(yīng)用設(shè)計(jì),從上課開始我就不滿足于那些諸如電子鐘、交通燈控制等司空見慣的設(shè)計(jì),我希望能把主題定位得更新穎、更具挑戰(zhàn)性,正好夏天也到了,于是把題目定為:智能電風(fēng)扇的設(shè)計(jì)。題目確定下來,我便立刻著手資料的收集工作中,當(dāng)時(shí)面對(duì)浩瀚的書海真是有些茫然,不知如何下手。在導(dǎo)老師的指導(dǎo)及同學(xué)的幫助下,我終于對(duì)自己的工作方向和方法有了初步掌握。資料已經(jīng)查找完畢,我開始著手論文的寫作。在寫作過程中遇到困難我就及時(shí)和導(dǎo)師聯(lián)系,并和同學(xué)互相交流,請(qǐng)教專業(yè)課老師。在大家的幫
16、助下,困難一個(gè)一個(gè)解決掉,論文也慢慢成型。當(dāng)我終于完成了所有打字、繪圖、排版、校對(duì)的任務(wù)后整個(gè)人都很累,但同時(shí)看著電腦熒屏上的課程設(shè)計(jì)稿件我的心里是甜的,我覺得這一切都值了。這次課程設(shè)計(jì)論文的制作過程是我的一次再學(xué)習(xí),再提高的過程。在論文中我充分地運(yùn)用了大學(xué)期間所學(xué)到的知識(shí)。本設(shè)計(jì)最終實(shí)現(xiàn)了電風(fēng)扇的手動(dòng)調(diào)速、溫控自動(dòng)調(diào)速、定時(shí)、溫度顯示、人體檢測(cè)等預(yù)期功能,其中定時(shí)在1到99分鐘連續(xù)可調(diào),人體檢測(cè)范圍角度120度、距離6米,人體檢測(cè)延時(shí)時(shí)間3分鐘,定時(shí)器自動(dòng)退出時(shí)間6秒。存在不足之處就是人體檢測(cè)抗干擾方面不夠好,需要提高。我不會(huì)忘記這難忘的半個(gè)月的時(shí)間。課程設(shè)計(jì)論文的制作給了我難忘的回憶。在我
17、徜徉書海查找資料的日子里,面對(duì)無數(shù)書本的羅列,最難忘的是每次找到資料時(shí)的激動(dòng)和興奮;親手用protel 99 se設(shè)計(jì)電路圖的時(shí)間里,記憶最深的是每一步小小思路實(shí)現(xiàn)時(shí)那幸福的心情;為了論文我曾趕稿到深夜,但看著親手打出的一字一句,心里滿滿的只有喜悅毫無疲憊。這段旅程看似荊棘密布,實(shí)則蘊(yùn)藏著無盡的寶藏。在今后的日子里,我仍然要不斷地充實(shí)自己,爭(zhēng)取在所學(xué)領(lǐng)域有所作為。在這次課程設(shè)計(jì)中也使我們的同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對(duì)我們更好的理解知識(shí),所以在這里非常感謝幫助我的同學(xué)。在此更要感謝我的指導(dǎo)老師和專業(yè)老師,是你們的細(xì)心指導(dǎo)和關(guān)懷,使我能夠順利的
18、完成課程設(shè)計(jì)。附錄:程序清單/*touwenjian.h*/typedef unsigned char byte; typedef unsigned int word;/以下管腳配置/ds18b20部分sbit dq =p34; /顯示部分sbit db=p20;sbit cp=p21;/發(fā)光顯示部分sbit led_dingshi=p00;sbit led_shoudong =p01;sbit led_zidong=p02;sbit led_kuai =p03;sbit led_zhong =p04;sbit led_man =p05;/鍵盤定義部分#define wujian 0x3fsb
19、it key1=p10 ; /狀態(tài)轉(zhuǎn)換 /啟動(dòng)sbit key2=p11 ; /+10 / 1sbit key3=p12 ; /-10/ 2sbit key4=p13 ; / 3sbit key5=p14 ; / 0確定/繼電器控制部分sbit jdq1=p24; /0表示開通,1表示關(guān)斷sbit jdq2=p25;sbit jdq3=p26;/蜂鳴器部分sbit call=p27; /低電平鳴叫/* ds18b20.c*/#include #includetouwenjian.h/* 延時(shí)子程序*/extern void delay(word useconds) for(;useconds0
20、;useconds-); /* 復(fù)位子程序 */static byte ow_reset(void) byte presence;ea=0; dq = 0; / pull dq line low delay(45); / leave it low for 480us /551usdq = 1; / allow line to return high delay(4);/ wait for presence /61uspresence = dq; / get presence signal delay(40); / wait for end of timeslot /491usea=1;retu
21、rn(presence); / presence signal returned / 0=presence, 1 = no part /* 從 1-wire 總線上讀取一個(gè)字節(jié)子程序*/ static byte read_byte(void) byte i; byte value = 0;ea=0; for (i=8;i0;i-) value=1; dq = 0; / pull dq low to start timeslot dq = 1; / then return high unsigned char i; for(i=0;i0; i-) / writes byte, one bit a
22、t a time dq = 0; / pull dq low to start timeslotdq=0; dq = val&0x01; /6usdelay(5);/ hold value for remainder of timeslot /74usdq = 1; val=val1; ea=1; delay(5); /*讀取溫度 */ word read_temperature(void) union byte c2; word x; temp; ow_reset(); write_byte(0xcc); / skip rom write_byte(0xbe); / read scratch
23、 pad temp.c1=read_byte(); temp.c0=read_byte(); ow_reset(); write_byte(0xcc); /skip rom write_byte(0x44); / start conversion return temp.x; /*求解溫度*/extern byte real_tem(void) word wen; wen=read_temperature(); return(wen4)&0x00ff);/* main.c*/#include #includetouwenjian.h/數(shù)據(jù)區(qū)#define time_default 41byte
24、 dingshi_time=time_default;/存放定時(shí)時(shí)間bit flag_dingshi=0; /0表示沒有定時(shí)word dingshi_jishu3=1000;/1000*60=1分鐘/bit flag_dingshi_delay=0;/1表示有byte dingshi_delay=100;/#define hwx_delay_const 3 /人體感應(yīng)延時(shí)時(shí)間byte hwx_delay=hwx_delay_const;/用于保存紅外線觸發(fā)延長(zhǎng)時(shí)間word hwx_jishu1=0;/byte wendu=0;/用于存放溫度值/#define low_wen 18#define
25、 mid_wen 20#define hig_wen 24#define vhi_wen 28/byte time_stor=100; /存儲(chǔ)主觀時(shí)間/觸發(fā)顯示byte wendu_stor=low_wen;/存儲(chǔ)主觀溫度/觸發(fā)顯示/enum station0zidong,dingshi,shoudong,weakstate;/函數(shù)說明區(qū)extern byte real_tem(void );extern void delay(word useconds);void mingjiao(void);void display(byte input,bit kkl);void auto_speed(
26、void);void weak_default(void);/*主程序*/void main()/定時(shí)器0用于鍵盤掃描tmod=0x01|tmod;/定時(shí)器0的1方式th0=0xd8;tl0=0xf0; /定時(shí)器0初始化10ms掃描一次/定時(shí)器1用于顯示tmod=0x10|tmod;/定時(shí)器1的1方式th1=0x15;tl1=0xa0; /定時(shí)器1初始化60ms中斷一次/外部中斷tcon=tcon|0x01;/外部中斷0都下降沿觸發(fā)/以下為開啟部分ip=0x01; /兩個(gè)定時(shí)器同等優(yōu)先級(jí)ie=0x8b; /開啟定時(shí)器0,1,外部中斷0中斷/while(real_tem()=85);auto_s
27、peed();led_zidong=0; /剛開始為自動(dòng)方式 p1=p1|0x7c; /拉高五個(gè)鍵盤 wendu_stor=100; /兩個(gè)不可能值/用于啟動(dòng)顯示time_stor=100; /兩個(gè)不可能值/用于啟動(dòng)顯示/tr0=1; /開啟定時(shí)器0tr1=1;while(1) wendu=real_tem(); /* 定時(shí)器0中斷服務(wù)子程序 功能:進(jìn)行鍵盤處理 說明:鍵盤輸入為p1.0到p1.4*/ void time0(void) interrupt 1 byte jianpan; th0=0xd8;tl0=0xf0; jianpan = p1 & wujian; if(jianpan !
28、= wujian) /如果還有鍵盤值提取鍵盤值 delay(500);/延時(shí)消抖 jianpan = p1 & wujian; if(jianpan=wujian)goto time_out; switch(state) case dingshi: if(key1=0)/狀態(tài)轉(zhuǎn)換時(shí)做些相應(yīng)的處理 state=shoudong;led_shoudong=0;flag_dingshi_delay=0;dingshi_delay=100;time_stor=100;wendu_stor=100;/觸發(fā)mingjiao();while(key1=0); else if(key2=0)/加分 if(di
29、ngshi_time10)dingshi_time-=10;dingshi_delay=100;/mingjiao();while(key3=0); else if(key4=0)/定時(shí)與否 flag_dingshi=flag_dingshi;if(flag_dingshi=1)led_dingshi=0;else led_dingshi=1;dingshi_jishu3=1000;dingshi_delay=100;/mingjiao();while(key4=0); else if(key5=0) weak_default();mingjiao();while(key5=0); break
30、;case shoudong:if(key1=0) /狀態(tài)轉(zhuǎn)換時(shí)做些相應(yīng)的處理 state=zidong;auto_speed();led_shoudong=1;led_zidong=0;mingjiao();while(key1=0); else if(key2=0)/快1 jdq2=1;jdq3=1;jdq1=0;/關(guān)斷其它led_zhong=led_man=1;led_kuai=0;mingjiao();while(key2=0); else if(key3=0)/中2 jdq1=1;jdq3=1;jdq2=0;/關(guān)斷其它led_kuai=led_man=1;led_zhong=0;mi
31、ngjiao();while(key3=0); else if(key4=0)/慢3 jdq1=1;jdq2=1;jdq3=0;/關(guān)斷其它led_zhong=led_kuai=1;led_man=0;mingjiao();while(key4=0); else if(key5=0)/停4 weak_default();mingjiao();while(key5=0); break;case zidong: if(key1=0) /狀態(tài)轉(zhuǎn)換時(shí)做些相應(yīng)的處理 state=dingshi;led_zidong=1;flag_dingshi_delay=1;dingshi_delay=100;/開始延
32、時(shí)time_stor=100;/mingjiao();while(key1=0); else if(key2=0)/快1 jdq2=1;jdq3=1;jdq1=0;/關(guān)斷其它led_zhong=led_man=1;led_kuai=0;state=shoudong;led_zidong=1;led_shoudong=0;mingjiao();while(key2=0); else if(key3=0)/中2 jdq1=1;jdq3=1;jdq2=0;/關(guān)斷其它led_kuai=led_man=1;led_zhong=0;state=shoudong;led_zidong=1;led_shoud
33、ong=0;mingjiao();while(key3=0); else if(key4=0)/慢3 jdq1=1;jdq2=1;jdq3=0;/關(guān)斷其它led_zhong=led_kuai=1;led_man=0;state=shoudong;led_zidong=1;led_shoudong=0;mingjiao();while(key4=0); else if(key5=0)/停4 weak_default();mingjiao();while(key5=0); break; case weak: if(key1=0) state=zidong;led_zidong=0;wendu_st
34、or=100;/兩個(gè)不可能值time_stor=100;/兩個(gè)不可能值auto_speed();mingjiao();while(key1=0); break; time_out: ;/*定時(shí)器1中斷服務(wù)子程序功能: 用于定時(shí) 0.060s*/void timer1(void) interrupt 3 th1=0x15;tl1=0xa0;/紅外線到記時(shí)ex0=0;if(hwx_jishu10)dingshi_jishu3-; else dingshi_jishu3=1000; if(dingshi_time1)dingshi_time-; elseweak_default(); /5秒延時(shí)if
35、(flag_dingshi_delay=1) if(dingshi_delay1)dingshi_delay-;else state=shoudong;flag_dingshi_delay=0;dingshi_delay=100; led_shoudong=0; time_stor=100;wendu_stor=100; / mingjiao();/顯示和溫控switch(state) case dingshi:/在定時(shí)的時(shí)候只顯示時(shí)間if(time_stor!=dingshi_time)display(dingshi_time,1);time_stor=dingshi_time;/break
36、; case shoudong: case zidong:/是否有定時(shí),有則交替顯示溫度和時(shí)間,沒有則只顯示溫度if(flag_dingshi!=0)/ static byte jiaoti_jishu2=0; static bit flag_jiaoti=0; if(jiaoti_jishu249)jiaoti_jishu2+; else flag_jiaoti=flag_jiaoti;jiaoti_jishu2=0; if(flag_jiaoti!=0) if(time_stor!=dingshi_time) display(dingshi_time,1);time_stor=dingsh
37、i_time;wendu_stor=100;/顯示時(shí)間 else if(wendu_stor!=wendu) display(wendu,0);wendu_stor=wendu;time_stor=100;/顯示溫度 else if(wendu_stor!=wendu)display(wendu,0);wendu_stor=wendu;/ 顯示溫度 /溫度控制速度if(state=zidong)switch(wendu) case low_wen:jdq1=1;jdq2=1;jdq3=1; led_zhong=led_man=led_kuai=1;/ting zhibreak; case mid_wen:jdq1=1;jdq2=1;jdq3=0; led_zhong=led_kuai=1;led_man=0;/manbreak; case hig_wen:jdq1=1;jdq3=1;jdq2=0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版部編歷史七年級(jí)上冊(cè)《第19課 北魏政治和北方民族大交融》聽課評(píng)課記錄
- 湘教版數(shù)學(xué)八年級(jí)上冊(cè)1.5《分式方程的應(yīng)用》聽評(píng)課記錄2
- 八年級(jí)數(shù)學(xué)下冊(cè)23.3事件的概率1聽評(píng)課記錄滬教版五四制
- 人教版地理八年級(jí)下冊(cè)6.3《世界上最大的黃土堆積區(qū)-黃土高原》聽課評(píng)課記錄1
- 蘇科版數(shù)學(xué)八年級(jí)上冊(cè)聽評(píng)課記錄《5-1物體位置的確定》
- 用功合同范本(2篇)
- 環(huán)境友好原材料采購(gòu)合同(2篇)
- 人教版五年級(jí)下冊(cè)數(shù)學(xué)《第2單元因數(shù)與倍數(shù) 第1課時(shí) 因數(shù)和倍數(shù)(1)》聽評(píng)課記錄
- 聽評(píng)課記錄2年級(jí)
- 統(tǒng)編教材部編人教版道德與法治九年級(jí)下冊(cè)《3.2 與世界深度互動(dòng)》聽課評(píng)課記錄
- 二零二五年度大型自動(dòng)化設(shè)備買賣合同模板2篇
- 2024版金礦居間合同協(xié)議書
- 江西省部分學(xué)校2024-2025學(xué)年高三上學(xué)期1月期末英語試題(含解析無聽力音頻有聽力原文)
- GA/T 2145-2024法庭科學(xué)涉火案件物證檢驗(yàn)實(shí)驗(yàn)室建設(shè)技術(shù)規(guī)范
- 2025內(nèi)蒙古匯能煤化工限公司招聘300人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年中國(guó)融通資產(chǎn)管理集團(tuán)限公司春季招聘(511人)高頻重點(diǎn)提升(共500題)附帶答案詳解
- 寵物護(hù)理行業(yè)客戶回訪制度構(gòu)建
- 電廠檢修管理
- 《SPIN銷售法課件》課件
- 機(jī)動(dòng)車屬性鑒定申請(qǐng)書
- 2024年中考語文試題分類匯編:非連續(xù)性文本閱讀(學(xué)生版)
評(píng)論
0/150
提交評(píng)論