本科畢業(yè)設(shè)計(jì)智能風(fēng)扇控制器設(shè)計(jì)正文_第1頁
本科畢業(yè)設(shè)計(jì)智能風(fēng)扇控制器設(shè)計(jì)正文_第2頁
本科畢業(yè)設(shè)計(jì)智能風(fēng)扇控制器設(shè)計(jì)正文_第3頁
本科畢業(yè)設(shè)計(jì)智能風(fēng)扇控制器設(shè)計(jì)正文_第4頁
本科畢業(yè)設(shè)計(jì)智能風(fēng)扇控制器設(shè)計(jì)正文_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

..智能風(fēng)扇控制器設(shè)計(jì)前言隨著人們生活水平及科技水平的不斷提高,現(xiàn)在家用電器在款式、功能等方面日益求精,并朝著健康、安全、多功能、節(jié)能等方向發(fā)展。過去的電器不斷的顯露出其不足之處。電風(fēng)扇曾一度被認(rèn)為將是空調(diào)產(chǎn)品沖擊下的淘汰品,其實(shí)并非如此。家用電風(fēng)扇并沒有隨著空調(diào)的普及而淡出市場(chǎng),其主要原因:一是風(fēng)扇和空調(diào)的降溫效果不同——空調(diào)有強(qiáng)大的制冷功能,可以快速有效地降低環(huán)境溫度,但電風(fēng)扇的風(fēng)更溫和,更加適合老人兒童和體質(zhì)較弱的人使用;二是電風(fēng)扇有價(jià)格優(yōu)勢(shì),價(jià)格低廉而且相對(duì)省電,安裝和使用都非常簡(jiǎn)單。盡管電風(fēng)扇有其市場(chǎng)優(yōu)勢(shì),但傳統(tǒng)電風(fēng)扇還是有許多地方應(yīng)當(dāng)進(jìn)行改良的?,F(xiàn)在大部分電風(fēng)扇只有手動(dòng)調(diào)速,加上一個(gè)定時(shí)器,其功能比較單一,最突出的缺點(diǎn)是它不能根據(jù)溫度的變化適時(shí)調(diào)節(jié)風(fēng)力大小,對(duì)于夜間溫差大的地區(qū),人們?cè)谙囊故褂秒婏L(fēng)扇時(shí)可能遇到這樣的問題:當(dāng)凌晨降溫的時(shí)候電風(fēng)扇依然在工作,可是人們因?yàn)槭焖鵁o法察覺,既浪費(fèi)電資源又容易引起感冒,傳統(tǒng)的機(jī)械定時(shí)器雖然能夠控制電風(fēng)扇在工作一定后關(guān)閉,但定時(shí)范圍有限,且無法對(duì)溫度變化靈活處理。如果能使電風(fēng)扇處于兩種不同的工作模式,模式一能對(duì)風(fēng)扇實(shí)現(xiàn)手動(dòng)控制,進(jìn)行定時(shí)設(shè)置和檔位調(diào)節(jié),模式二具有對(duì)環(huán)境進(jìn)行檢測(cè)的功能,根據(jù)實(shí)時(shí)環(huán)境溫度進(jìn)行風(fēng)速自動(dòng)調(diào)節(jié)和當(dāng)房間里面沒有人時(shí)能自動(dòng)的關(guān)閉電風(fēng)扇,使風(fēng)扇處于待機(jī)狀態(tài),當(dāng)有人進(jìn)入時(shí)自動(dòng)開啟并啟動(dòng)定時(shí)器控制,這樣一來就避免了上述的不足。本次設(shè)計(jì)就是圍繞這些方面對(duì)現(xiàn)有電風(fēng)扇進(jìn)行改進(jìn)。1方案設(shè)計(jì)與論證本設(shè)計(jì)能對(duì)風(fēng)扇實(shí)現(xiàn)手動(dòng)控制,進(jìn)行定時(shí)設(shè)置和檔位調(diào)節(jié),同時(shí)具有對(duì)環(huán)境進(jìn)行檢測(cè)的功能,根據(jù)實(shí)時(shí)環(huán)境溫度進(jìn)行風(fēng)速自動(dòng)調(diào)節(jié)和當(dāng)房間里面沒有人時(shí)能自動(dòng)的關(guān)閉電風(fēng)扇,使風(fēng)扇處于待機(jī)狀態(tài),當(dāng)有人進(jìn)入時(shí)自動(dòng)開啟并啟動(dòng)定時(shí)器控制。1.1遙控設(shè)計(jì)方案與論證1.1.1超聲波遙控方案超聲波傳感器是運(yùn)用超聲波的特質(zhì)發(fā)明出來的一種傳感器。超聲波的振動(dòng)頻率高于聲波,是通過換能晶片在電壓的激勵(lì)下出現(xiàn)振動(dòng)而產(chǎn)生的,其有波長(zhǎng)短、頻率高、方向性好、繞射現(xiàn)象小、可以成為射線定向傳播等特點(diǎn)[4]。超聲波遙控器由超聲波發(fā)射和接收兩個(gè)部分組成。超聲波發(fā)射器電路由一塊超聲波振蕩發(fā)射專用模塊NYKO和超聲波發(fā)射換能器BT兩部分組成。振蕩發(fā)射模塊發(fā)射產(chǎn)生振蕩頻率為40KHz脈沖,然后通過發(fā)射換能器BT將NYKO的輸出的40KHz的振蕩脈沖轉(zhuǎn)換成40KHz的超聲波,向空中發(fā)射出去。超聲波接收電路則是將接收到的信號(hào)經(jīng)過放大器放大給控制器處理。它的優(yōu)點(diǎn)是比較耐臟污,可以在較差的環(huán)境中使用,缺點(diǎn)是精度較低,且成本較高[4]。超聲波遙控原理框圖如圖1.1.1-1所示。超聲波接收器超聲波接收器控制器鎖相環(huán)檢波電路放大電路放大電路超聲波發(fā)射器圖1.1.1-1超聲波遙控原理框圖1.1.2紅外遙控方案紅外線遙控就是指通過紅外線來發(fā)出控制信號(hào),完成對(duì)控制目標(biāo)的遠(yuǎn)距離控制目的。具體的來講,就是通過發(fā)射器產(chǎn)生紅外線指令信息,然后通過接收器把信息接收下來并且對(duì)信號(hào)進(jìn)行分析處理,最后達(dá)到對(duì)控目標(biāo)的各種功能的遠(yuǎn)距離控制[4]。紅外遙控系統(tǒng)分為發(fā)射和接收兩部分。接收電路的紅外接收管是一種光敏二極管,使用時(shí)要給紅外接收二極管加反向偏壓,它才能正常工作而獲得高的靈敏度。由于紅外發(fā)光二極管的發(fā)射功率較小,紅外接收二極管收到的信號(hào)較弱,所以接收端就要增加高增益放大電路。紅外線一體化接收頭是集紅外接收、放大、濾波和比較器輸出等的模塊,性能穩(wěn)定、可靠。紅外遙控的優(yōu)點(diǎn)是便宜,易制,安全,缺點(diǎn)是精度低,距離近,方向性差[4]。紅外遙控原理圖如圖1.1.2-1所示。圖1.1.2-1紅外遙控原理圖1.1.3無線遙控方案無線遙控系統(tǒng)由無線發(fā)射電路和無線接收電路組成。發(fā)射部分主要由按鍵編址電路、編碼電路和發(fā)射模塊組成。PT2262作為編碼器,當(dāng)按下按鍵時(shí),設(shè)定的地址碼和數(shù)據(jù)碼從17引腳串行輸出,經(jīng)無線發(fā)射元件IRED發(fā)出信號(hào)。通過電阻ROSC凋節(jié)發(fā)射頻率,適當(dāng)提高PT2262工作電壓<2.6V~15V>,以增大發(fā)射距離。其中A0~A12可設(shè)置為高電平、低電平、懸空三種狀態(tài),因此可以發(fā)送531441種編碼組合,完全滿足設(shè)計(jì)需求[4]。無線發(fā)射原理圖如圖1.1.3-1所示。圖1.1.3-1無線發(fā)射原理圖接收部分由解碼電路和接收模塊組成。常用的編碼芯片和解碼芯片為PT2262和PT2272。發(fā)射電路主要由315MHz無線數(shù)據(jù)發(fā)射模塊和編碼芯片PT2262組成。無線接收原理圖如圖1.1.3-2所示。圖1.1.3-2無線接收原理圖綜合以上方案,超聲波的優(yōu)點(diǎn)是比較耐臟污,可以在較差的環(huán)境中使用,缺點(diǎn)是精度較低,且成本較高;紅外的優(yōu)點(diǎn)是便宜,易制,安全,缺點(diǎn)是精度低,距離近,方向性差;無線電的優(yōu)點(diǎn)是頻譜廣,傳播距離遠(yuǎn),缺點(diǎn)是抗干擾性能較差,結(jié)合目前擁有的實(shí)驗(yàn)設(shè)施,我們本次設(shè)計(jì)采用了方案二作為遙控方案。1.2溫度采集方案設(shè)計(jì)與論證1.2.1方案一可以使用熱敏電阻之類的器件利用起感溫效應(yīng),在將隨被測(cè)溫度變化的電壓或者電流采集過來,使用A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理在顯示電路上,就可以將被測(cè)溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩。1.2.2方案二進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這就是非常容易想到的,所以就可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易的直接讀取被測(cè)溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。從以上兩種方案,就可以很容易的看出來采用方案二電路比較簡(jiǎn)單軟件設(shè)計(jì)也非常容易。所以本設(shè)計(jì)就使用了方案二。1.3顯示方案設(shè)計(jì)與論證1.3.1LCD顯示方案1602液晶就是字符型的液晶,他是用來專門顯示數(shù)字、字母、符號(hào)的液晶模塊。他含有很多5X7或5X11等點(diǎn)陣字符位來構(gòu)成的。每一個(gè)點(diǎn)陣字符位都能顯現(xiàn)出字符。每一位中間都有一個(gè)點(diǎn)距的空格。每行中間也用空格用來起字符間距、行間距的用途。由于上述原因他就不能顯示圖形,而且顯示效果也非常不好[1]。1.3.2LED顯示方案LED數(shù)碼管里面有八只發(fā)光二極管,分別記作a、b、c、d、e、f、g、dp,其中dp為小數(shù)點(diǎn)。每一只發(fā)光二極管都有一根電極接到外部引腳上,而另外一直引腳連接在一起同樣的外部引腳上。常見的LED數(shù)碼管有兩種,分為共陰極和共陽極。共陰極:當(dāng)數(shù)碼管里面的發(fā)光二極管的陰極接在一起作為公共引腳,在正常使用時(shí)該引腳接低電平,當(dāng)對(duì)應(yīng)引腳輸入高電平時(shí)發(fā)光二極管點(diǎn)亮。共陽極:當(dāng)數(shù)碼管里面的發(fā)光二極管的陽極接在一起作為公共引腳,在正常使用時(shí)該引腳接高電平,當(dāng)對(duì)應(yīng)引腳輸入低電平時(shí)發(fā)光二極管點(diǎn)亮。動(dòng)態(tài)顯示的結(jié)果和靜態(tài)顯示是相同的,就能省下非常多的I/O端口,并且功率消耗更加小。綜上所述,本設(shè)計(jì)采用的就是LED顯示方案。2主要器件簡(jiǎn)介2.1AT89S52單片機(jī)簡(jiǎn)介ATS89S52是Atmel這個(gè)公司發(fā)明出來的一種功率消耗、性能非常高的CMOS8位微型控制器??梢杂?K的能狗編程的一種存儲(chǔ)器。其功能非常多,其中他有8位的CPU和在系統(tǒng)可編程FLASH;他的內(nèi)部有時(shí)鐘振蕩器;具有8KB的內(nèi)部程序存儲(chǔ)器;還有256字節(jié)的內(nèi)部數(shù)據(jù)RAM;具有32個(gè)能夠編程的I/O;中斷向量源具有8個(gè);還有三個(gè)16位的計(jì)數(shù)器、定時(shí)器;同時(shí)他還有含有三極加密程序的存儲(chǔ)器和全雙工YART串行通道。2.1.1復(fù)位電路單片機(jī)的外部復(fù)位電路有上位電路和按鍵手動(dòng)復(fù)位兩種。我們采用的的是按鍵手動(dòng)復(fù)位。當(dāng)復(fù)位按鍵按下后,復(fù)位端與+5V電源接通,電容迅速放電,使RST引腳為高電平;當(dāng)復(fù)位鍵彈起后,+5V電源通過10K歐姆電阻對(duì)22UF電容重新充電,RST引腳端出現(xiàn)復(fù)位正脈沖,其持續(xù)時(shí)間取決于電路時(shí)間常數(shù)[2]。2.1.2時(shí)鐘電路AT89S52的時(shí)鐘有內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式兩種。我們采用的是內(nèi)部時(shí)鐘方式,此方式是利用芯片內(nèi)部的振蕩器,然后在引腳XTAL1和XTAL2兩端接晶體振蕩器,就夠成了自激的振蕩器,發(fā)出的脈沖直接送入內(nèi)部時(shí)鐘電路[3]。2.2LED數(shù)碼管簡(jiǎn)介2.2.1數(shù)碼管顯示器的結(jié)構(gòu)LED數(shù)碼管里面有八只發(fā)光二極管,分別記作a、b、c、d、e、f、g、dp,其中dp為小數(shù)點(diǎn)。每一只發(fā)光二極管都有一根電極接到外部引腳上,而另外一直引腳連接在一起同樣的外部引腳上。常見的LED數(shù)碼管有兩種,分為共陰極和共陽極。共陰極:當(dāng)數(shù)碼管里面的發(fā)光二極管的陰極接在一起作為公共引腳,在正常使用時(shí)該引腳接低電平,當(dāng)對(duì)應(yīng)引腳輸入高電平時(shí)發(fā)光二極管點(diǎn)亮。共陽極:當(dāng)數(shù)碼管里面的發(fā)光二極管的陽極接在一起作為公共引腳,在正常使用時(shí)該引腳接高電平,當(dāng)對(duì)應(yīng)引腳輸入低電平時(shí)發(fā)光二極管點(diǎn)亮。LED數(shù)碼管引腳圖如圖2.2.1-1所示。圖2.2.1-1LED數(shù)碼管引腳圖2.2.2數(shù)碼管動(dòng)態(tài)顯示單片機(jī)中應(yīng)用得非常多的一種顯示方式就是數(shù)碼管動(dòng)態(tài)顯示,動(dòng)態(tài)驅(qū)動(dòng)是把每個(gè)數(shù)碼管的8個(gè)顯示筆劃"a、b、c、d、e、f、g、dp"的同名端連接在一起,還要幫所有的數(shù)碼管的公共極COM加上位選通控制電路,位選通是被每個(gè)單獨(dú)的I/O線調(diào)節(jié),當(dāng)單片機(jī)輸出字形碼的時(shí)猴,每個(gè)數(shù)碼管都收到了相同的一個(gè)字形碼,但是到底是那個(gè)數(shù)碼管會(huì)顯現(xiàn)出字形,是由單片機(jī)對(duì)位選通COM端電路的調(diào)節(jié),因此只要把必須要顯示的數(shù)碼管的選通控制開啟,此位就會(huì)顯現(xiàn)出字形,而沒有被選通的數(shù)碼管就不會(huì)發(fā)光。通過分時(shí)輪流來調(diào)節(jié)每一個(gè)數(shù)碼管的的COM端,就會(huì)使每一個(gè)數(shù)碼管輪流受控發(fā)光,這就是動(dòng)態(tài)驅(qū)動(dòng)。在輪流顯示過程中,每個(gè)數(shù)碼管的發(fā)光時(shí)間為1~2ms,由于人的視覺暫留效果和發(fā)光二極管的余輝效應(yīng),就算事實(shí)上每個(gè)數(shù)碼管都不是同時(shí)發(fā)光,但只要掃描的速度夠快,就能給人一種一組穩(wěn)定的顯示數(shù)據(jù)的印象,不會(huì)出現(xiàn)閃爍感,動(dòng)態(tài)顯示的結(jié)果和靜態(tài)顯示是相同的,就能省下非常多的I/O端口,并且功率消耗更加小。2.2.3數(shù)碼管靜態(tài)顯示靜態(tài)顯示就是用單片機(jī)I/O口輸出固定的數(shù)值,一般用來顯示固定的數(shù)值,或長(zhǎng)時(shí)間不變化的一位數(shù)值,這種顯示方式在硬件結(jié)構(gòu)上比較簡(jiǎn)單,而且需要程序處理也相對(duì)較少。其缺點(diǎn)在于顯示的內(nèi)容單一,往往不能滿足要求,我們用的多是動(dòng)態(tài)顯示。LED數(shù)碼管段碼對(duì)照?qǐng)D如表2.2.3-1所示。表2.2.3-1LED數(shù)碼管段碼對(duì)照?qǐng)D類型段碼012345678共陰極0X3F0X060X5B0X4F0X6D0X660X7D0X070X7F共陽極0XC00XF90XA40XB00X920X990X820XF80X802.2.4紅外熱釋電檢測(cè)電路紅外熱釋電檢測(cè)電路是由熱釋電紅外傳感器和傳感信號(hào)處理集成電路BISS0001配以少量外接元器件組成。BISS0001是一款具有較高性能的傳感信號(hào)處理集成電路芯片,BISS0001內(nèi)部結(jié)構(gòu)圖如圖2.2.4-1所示。BISS0001內(nèi)部結(jié)構(gòu)圖2.3DS18B20簡(jiǎn)介低溫度系數(shù)晶振的振蕩頻率基本不受溫度的影響,就可以用來發(fā)出不變頻率的脈沖信號(hào)傳輸?shù)綔p法計(jì)數(shù)器1,震蕩頻率受溫度影響就比較大的晶振就是高溫度系數(shù)晶振,其發(fā)出的信號(hào)就可以用于減法計(jì)數(shù)器2的脈沖輸入,每當(dāng)計(jì)數(shù)門開啟的時(shí)候時(shí),DS18B20就會(huì)對(duì)低溫系數(shù)振蕩器發(fā)出的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),然后就能實(shí)現(xiàn)對(duì)溫度的測(cè)量。高溫度系數(shù)振蕩器決定了計(jì)數(shù)門的開啟時(shí)間,每次測(cè)量前,首先將-55℃所對(duì)應(yīng)的基數(shù)每一個(gè)都放倒減法計(jì)數(shù)器1和溫度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55℃所對(duì)應(yīng)的一個(gè)基數(shù)值。減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停止溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測(cè)溫度。圖2中的斜率累加器用于調(diào)節(jié)和改正檢測(cè)溫度途中的非線性,他的輸出用來改正減法計(jì)數(shù)器的預(yù)置值,如果計(jì)數(shù)門還沒有關(guān)閉就會(huì)重復(fù)以上步驟,直到溫度寄存器的數(shù)值與被測(cè)溫度值相同[5]。由于DS18B20的單線通信方法是分時(shí)來完成的,他有苛刻的時(shí)隙概念,因此讀寫時(shí)序很重要。系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。DS18B20操作協(xié)議流程圖如圖2.3-1所示。圖2.3-1DS18B20操作協(xié)議流程圖3系統(tǒng)硬件設(shè)計(jì)3.1系統(tǒng)總體框圖智能風(fēng)扇主要由控制模塊、溫度采集模塊、紅外熱釋電檢測(cè)模塊、顯示模塊四部分組成??刂颇K由按鍵控制和紅外控制組成,主要用于選擇執(zhí)行不同的功能;溫度采集模塊主要用于環(huán)境溫度采集,實(shí)現(xiàn)風(fēng)扇的自動(dòng)控制功能;紅外熱釋電檢測(cè)模塊主要用于紅外檢測(cè),觸發(fā)中斷,從而對(duì)風(fēng)扇進(jìn)行自動(dòng)開啟和定時(shí)設(shè)置;顯示模塊主要實(shí)現(xiàn)溫度顯示和定時(shí)時(shí)間設(shè)置。系統(tǒng)設(shè)計(jì)框圖如圖3.1-1所示。系統(tǒng)時(shí)鐘系統(tǒng)時(shí)鐘待機(jī)控制電機(jī)控制按鍵控制模塊中央控制器顯示模塊狀態(tài)指示燈紅外遙控接受模塊溫度采集紅外熱釋檢測(cè)模塊圖3.1-1系統(tǒng)設(shè)計(jì)框圖3.2模塊電路設(shè)計(jì)3.2.1電源電路在電子電路中,基本上都要用到電壓穩(wěn)定的直流電源供給電能。小功率穩(wěn)壓電源是由電源變壓器、整流電路、濾波電路和穩(wěn)壓電路等幾個(gè)部分組成。穩(wěn)壓電源組成框圖如圖3.2.1-1所示。電源變壓器電源變壓器穩(wěn)壓電路濾波電路整流電路+u1—+u2—+U3—-+u3—+u0—圖3.2.1-1穩(wěn)壓電源組成框圖本次設(shè)計(jì)中需要12V直流電源和5V直流電源,電源變壓器是把220V的交流電變成所要用到的電壓值,最后再由整流電路把交流電壓轉(zhuǎn)換成脈動(dòng)的直流電壓。但是因?yàn)檫@個(gè)時(shí)候的脈動(dòng)直流電壓還有非常大的紋波,必須通過C5和C6構(gòu)成的濾波電路進(jìn)行濾除,才能通過以上步驟得到平穩(wěn)的直流電壓。但是隨著電網(wǎng)電壓的波動(dòng)〔一般有±10%左右的波動(dòng)、負(fù)載和溫度的變化電壓也會(huì)有不同變化。所以在整流、濾波電路之后,還需要通過穩(wěn)壓電路來穩(wěn)定電壓。穩(wěn)壓電路的作用是當(dāng)電網(wǎng)電壓波動(dòng)、負(fù)載和溫度變化時(shí),維持輸出電壓穩(wěn)定。穩(wěn)壓電源電路圖如圖3.2.1-2和3.2.1-3所示。圖3.2.1-2電源電路圖1圖3.2.1-3電源電路圖23.2.2按鍵控制電路本設(shè)計(jì)按鍵控制模式采用獨(dú)立按鍵作為控制輸入,P1.4、P1.5、P1.6、P1.7做為獨(dú)立按鍵輸入管腳,先將所接的I/O口分別定義為定時(shí)設(shè)置、按鍵加、按鍵減、確認(rèn)鍵。當(dāng)沒有按鍵按下時(shí),輸入端值都是1,一旦有鍵按下,則輸入端的線會(huì)被拉低,輸入端值變?yōu)?。為防止按鍵意外按下和按鍵抖動(dòng)的情況,我們采用軟件消抖的方法,當(dāng)按鍵輸入端變?yōu)?時(shí),軟件延時(shí)一定時(shí)間,再次對(duì)輸入管腳進(jìn)行讀值,如果按鍵任然保持低電平,則視為按鍵確實(shí)已經(jīng)按下,單片機(jī)執(zhí)行相應(yīng)的按鍵功能。獨(dú)立按鍵電路圖如圖3.2.2-1所示。圖3.2.2-1獨(dú)立按鍵電路圖3.2.3紅外遙控電路紅外遙控電路由發(fā)送和接收兩個(gè)組成部分。紅外遙控的發(fā)射芯片用到的是PPM編碼方式,當(dāng)按下發(fā)射器按鍵后,會(huì)發(fā)出一組108ms的編碼脈沖。遙控編碼脈沖由前導(dǎo)碼、16位地址碼〔8位地址碼、8位地址碼的反碼和16位操作碼〔8位操作碼、8位操作碼的反碼組成。經(jīng)由過程檢驗(yàn)用戶碼,各個(gè)遙控器只能支配一個(gè)設(shè)備動(dòng)作,這樣一來就不會(huì)出現(xiàn)多個(gè)設(shè)備之間的互相干涉。編碼過后還必須有編碼的反碼,可以用來檢測(cè)編碼接收的正誤,杜絕誤操作,加強(qiáng)了系統(tǒng)的可靠性。前導(dǎo)碼是一個(gè)遙控碼的起始部分,由一個(gè)9ms的高電平<起始碼>和一個(gè)4.5ms的低電平<結(jié)果碼>組成,作為接受數(shù)據(jù)的準(zhǔn)備脈沖。發(fā)射數(shù)據(jù)時(shí),發(fā)射碼"0"用發(fā)射38khz的紅外線0.56ms,停止發(fā)射0.565ms表示,發(fā)射碼"1"用發(fā)射38khz的紅外線0.56ms,停止發(fā)射1.69ms表示。當(dāng)一體化接收頭收到38kHz紅外信號(hào)時(shí),輸出端輸出低電平,否則為高電平。所以一體化接收頭輸出的波形是與發(fā)射波形是反向的。編碼脈沖組成圖如圖3.2.3-1所示:圖3.2.3-1編碼脈沖組成圖本次設(shè)計(jì)發(fā)送端用到的是紅外萬能遙控器,經(jīng)由紅外發(fā)射管發(fā)射出紅外信號(hào),紅外接收電路完成對(duì)紅外信號(hào)的攝取、放大、檢波、整形,并解碼出遙控編碼脈沖。為了消除干擾,此次設(shè)計(jì)采用的是物廉價(jià)美且可靠性高的一體化紅外接收頭HS0038〔其收受紅外信號(hào)頻率為38KHZ,周期約26μs>來收受紅外信號(hào),它能同時(shí)對(duì)信號(hào)進(jìn)行放大、檢波、整形,并將得到的TTL電平的編碼信號(hào)傳送到單片機(jī),單片機(jī)采用外部中斷INT0管腳和紅外接收頭的信號(hào)線相連,中斷方式為邊沿觸發(fā)方式。計(jì)算中斷的間隔時(shí)間,來區(qū)分前導(dǎo)碼、二進(jìn)制的"1"、"0"碼,并將操作碼提取出來,根據(jù)預(yù)先設(shè)計(jì)好的程序執(zhí)行相應(yīng)的功能。紅外遙控接收電路圖如圖3.2.3-2所示。圖3.2.3-2紅外遙控接收電路圖3.2.4紅外熱釋電檢測(cè)電路人體產(chǎn)生的紅外線中心波長(zhǎng)為9~10um,而探測(cè)器件的波長(zhǎng)范圍在0.2~20um范圍內(nèi)幾乎穩(wěn)定不變。在傳感器上方設(shè)置了一個(gè)裝有濾光鏡片的窗口,可以通過這個(gè)窗口的光的波長(zhǎng)范圍為7~10um,剛好可以用來進(jìn)行人體紅外輻射的探測(cè),并且把其波長(zhǎng)范圍外的紅外線吸收掉,通過以上方法就可以變成一種專門用來探測(cè)人體輻射的紅外線傳感器。第一,根據(jù)實(shí)際需要把運(yùn)算放大器OP1組成傳感信號(hào)預(yù)處理電路,把信號(hào)放大。然后交給運(yùn)算放大器OP2進(jìn)行第二級(jí)放大,并且把直流電位提高到VM<≈0.5VDD>后,再將輸出信號(hào)V2發(fā)送由比較器COP1和COP2構(gòu)成的雙向鑒幅器,檢測(cè)出有效觸發(fā)信號(hào)Vs。因?yàn)閂H≈0.7VDD、VL≈0.3VDD,所以當(dāng)VDD=5V時(shí),可有效減少±1V的噪聲擾亂,提高該系統(tǒng)的性能穩(wěn)定。COP3是一個(gè)條件比較器。當(dāng)輸入電壓Vc<VR<≈0.2VDD>時(shí),COP3的輸出為低電平并且封住了與門U2,截?cái)嗔擞|發(fā)信號(hào)Vs向下級(jí)的傳送;當(dāng)Vc>VR時(shí),COP3的輸出就為高電平,并處于延時(shí)周期。當(dāng)A端接"0"電平時(shí),在Tx這段時(shí)間內(nèi)不管V2怎么變化都會(huì)直接忽略,直到Tx這段時(shí)間結(jié)束,這就是人們常提到的不可重復(fù)觸發(fā)工作方式。當(dāng)Tx時(shí)間結(jié)束時(shí),Vo就會(huì)下跳到低電平,并且啟動(dòng)封鎖時(shí)間定時(shí)器進(jìn)入封鎖周期Ti。在Ti這段時(shí)間里,不管V2怎么變化都不會(huì)使Vo變?yōu)橛行顟B(tài)〔高電平,這樣就可以有效控制在負(fù)載切換過程中產(chǎn)生的各種干擾。紅外熱釋電檢測(cè)電路中,R2為可調(diào)電阻,用來調(diào)節(jié)VC的大小。BISS0001第1管腳接+5V,使芯片處于可重復(fù)觸發(fā)工作方式。輸出延遲時(shí)間Tx由外部的R2和C7的大小調(diào)整,觸發(fā)封鎖時(shí)間Ti由外部的R4和C6的大小調(diào)整,R2/R4可以用470歐姆,C6/C7可以選0.1UF。電路工作時(shí),運(yùn)算放大器OP1將從14腳輸入的熱釋電紅外傳感器信號(hào)作第一級(jí)放大,然后由C3耦合給運(yùn)算放大器OP2進(jìn)行第二級(jí)放大,再經(jīng)由電壓比較器COP1和COP2組成的雙向鑒幅器處理后,檢出有效觸發(fā)信號(hào)Vs去啟動(dòng)延遲時(shí)間定時(shí)器,輸出信號(hào)Vo為高電平,再經(jīng)由三極管構(gòu)成的反向器與單片機(jī)P3.3引腳相連,觸發(fā)外中斷1,進(jìn)入相應(yīng)的中斷服務(wù)程序,從而實(shí)現(xiàn)風(fēng)扇的自動(dòng)定時(shí)控制。紅外熱釋電檢測(cè)電路如圖3.2.4-1所示。圖3.2.4-1紅外熱釋電檢測(cè)電路3.2.5電機(jī)控制電路本次設(shè)計(jì)中電機(jī)控制電路由PC817、NPN三極管、繼電器和相關(guān)電子元件組成,電機(jī)轉(zhuǎn)速由PWM控制,電機(jī)一端接地,當(dāng)PWM輸入為高電平時(shí)電機(jī)開始轉(zhuǎn)動(dòng),其轉(zhuǎn)動(dòng)頻率由PWM占空比決定。電路中PC817的1、4引腳接高電平,當(dāng)單片機(jī)引腳P12輸入高電平時(shí),PC817不導(dǎo)通,NPN三極管Q1基極輸入低電平,三極管截止,繼電器常閉觸點(diǎn)閉合,繼電器電磁線圈未接通,電機(jī)停轉(zhuǎn);當(dāng)單片機(jī)引腳P12輸入低電平時(shí),PC817導(dǎo)通,NPN三極管Q1基極輸入高電平,三極管導(dǎo)通,繼電器常閉觸點(diǎn)斷開,常開觸點(diǎn)閉合,繼電器電磁線圈接通,電機(jī)得電在PWM控制下轉(zhuǎn)動(dòng)。電機(jī)控制電路如圖3.2.5-1所示。圖3.2.5-1電機(jī)控制電路圖3.2.6待機(jī)控制電路本次設(shè)計(jì)中待機(jī)控制電路由NPN三極管、繼電器、待機(jī)狀態(tài)指示燈和相關(guān)電子元件組成。繼電器控制電壓為直流穩(wěn)壓電源電路輸出的12V電壓,該電壓用于向電機(jī)提供工作電源。NPN三極管Q3集電極接VCC,其發(fā)射極接NPN三極管Q4的基極,當(dāng)單片機(jī)引腳P1.0引腳經(jīng)限流電阻輸出低電平時(shí),NPN三極管Q3基極輸入低電平,此時(shí)三極管Q3截止,Q4也截止,繼電器常閉觸點(diǎn)閉合,繼電器電磁線圈未接通,系統(tǒng)正常工作;當(dāng)單片機(jī)引腳P1.0輸出高電平時(shí),NPN三極管Q3基極輸入高電平,此時(shí)Q3導(dǎo)通,Q4也接著導(dǎo)通,繼電器電磁線圈接通,繼電器常閉觸點(diǎn)斷開,常開觸點(diǎn)閉合,電機(jī)控制電源VCCK端接地,系統(tǒng)進(jìn)入待機(jī)狀態(tài),待機(jī)狀態(tài)指示燈亮起,風(fēng)扇停止轉(zhuǎn)動(dòng)。待機(jī)控制電路圖如圖3.2.6-1所示。圖3.2.6-1待機(jī)控制電路圖3.2.7數(shù)碼管顯示電路本次設(shè)計(jì)中數(shù)碼管顯示電路由數(shù)碼顯示管、PNP三極管和相關(guān)電子元件組成,用于實(shí)現(xiàn)實(shí)時(shí)溫度顯示和定時(shí)時(shí)間顯示,與LCD液晶顯示器相比較,它具有使用簡(jiǎn)單、價(jià)格便宜的優(yōu)點(diǎn)。電路設(shè)計(jì)中單片機(jī)P0.0、P0.1、P0.2、P0.3四個(gè)引腳作為位選端控制引腳,經(jīng)限流電阻接PNP的基極,PNP的集電極與數(shù)碼管的COM端相連、發(fā)射極均接高電平,以此控制每位數(shù)碼管的分時(shí)顯示,實(shí)現(xiàn)動(dòng)態(tài)掃描顯示。數(shù)碼管顯示電路圖如圖3.2.7-1所示。圖3.2.7-1數(shù)碼管顯示電路圖3.2.8狀態(tài)指示燈電路本次設(shè)計(jì)中狀態(tài)指示燈電路用于指示風(fēng)扇工作狀態(tài),即指示出風(fēng)扇處于低速,中速,高速中某一狀態(tài),電路設(shè)計(jì)中P3.0用于低速狀態(tài)指示燈控制,P3.1用于中速狀態(tài)指示燈控制,P3.7用于高速狀態(tài)指示燈控制。當(dāng)系統(tǒng)處于自動(dòng)控制狀態(tài)下時(shí),單片機(jī)根據(jù)實(shí)時(shí)溫度控制輸出不同的PWM控制電機(jī)轉(zhuǎn)速,同時(shí)對(duì)應(yīng)的單片機(jī)管腳輸出高電平,LED燈亮起,當(dāng)系統(tǒng)處于待機(jī)狀態(tài)時(shí),所有指示燈均熄滅。狀態(tài)指示燈電路圖如圖3.2.8-1所示。圖3.2.8-1狀態(tài)指示燈電路圖3.2.9報(bào)警確認(rèn)電路本次設(shè)計(jì)中報(bào)警電路PNP三極管、蜂鳴器和相關(guān)電子元件組成,用于確認(rèn)單片機(jī)對(duì)紅外遙控信號(hào)的成功接收。設(shè)計(jì)中單片機(jī)P1.3引腳作為控制管腳,當(dāng)沒有遙控按鍵按下時(shí),單片機(jī)P1.3引腳輸出高電平,蜂鳴器不響,報(bào)警電路不工作;當(dāng)有按鍵按下時(shí),單片機(jī)接收紅外遙控信號(hào),同時(shí)使單片機(jī)P1.3引腳輸出低電平,蜂鳴器響起,報(bào)警電路開始工作,當(dāng)按鍵松開后,即完成一次紅外按鍵控制后,報(bào)警電路又處于關(guān)閉狀態(tài)。報(bào)警電路圖圖如圖3.2.9-1所示。圖3.2.9-1報(bào)警確認(rèn)電路圖4系統(tǒng)軟件設(shè)計(jì)4.1主程序設(shè)計(jì)流程在硬件構(gòu)建了智能風(fēng)扇控制系統(tǒng)的基本功能之后,軟件所需實(shí)現(xiàn)的功能主要是針對(duì)系統(tǒng)功能的實(shí)現(xiàn)及數(shù)據(jù)的處理和應(yīng)用。系統(tǒng)軟件需要實(shí)現(xiàn)信號(hào)采集、信號(hào)控制、信號(hào)處理等功能。本設(shè)計(jì)以單片機(jī)AT89S52作為主控制器,整個(gè)系統(tǒng)軟件設(shè)計(jì)采用C語言編輯實(shí)現(xiàn)。主程序是單片機(jī)程序的主體,整個(gè)單片機(jī)系統(tǒng)軟件的功能實(shí)現(xiàn)都是在其中完成的。主程序主要包括手動(dòng)控制程序、自動(dòng)控制程序兩部分。程序開始首先對(duì)進(jìn)入初始化模塊,接著判斷工作標(biāo)志位done1的數(shù)值,默認(rèn)done1等于0,當(dāng)done1等于1時(shí),說明有手動(dòng)控制按鍵按下,程序執(zhí)行手動(dòng)控制程序;當(dāng)done1等于0時(shí),說明沒有手動(dòng)控制按鍵按下,程序執(zhí)行自動(dòng)控制模式,執(zhí)行相應(yīng)的功能模塊,從而實(shí)現(xiàn)系統(tǒng)的功能。主程序流程圖如圖4.1-1所示。圖4.1-1主程序流程圖4.2手動(dòng)控制程序設(shè)計(jì)流程手動(dòng)控制模塊程序主要由手動(dòng)按鍵控制和紅外遙控兩部分組成,當(dāng)系統(tǒng)開始執(zhí)行手動(dòng)控制程序時(shí),首先判斷紅外接收完成標(biāo)志irok的值,當(dāng)irok的值為1時(shí),表示存在紅外遙控按鍵,系統(tǒng)自動(dòng)進(jìn)入紅外遙控控制模塊;當(dāng)紅外接收完成標(biāo)志irok的值為0時(shí),表示不存在紅外遙控按鍵,系統(tǒng)自動(dòng)進(jìn)入手動(dòng)按鍵控制模塊,接著開始對(duì)設(shè)置模式標(biāo)志位set_flag進(jìn)行讀值判斷,它的默認(rèn)值為0,即實(shí)現(xiàn)實(shí)時(shí)溫度的采集顯示;當(dāng)模式標(biāo)志位set_flag的值為1時(shí),系統(tǒng)進(jìn)入定時(shí)設(shè)置模式,數(shù)碼管顯示定時(shí)時(shí)間,利用手動(dòng)按鍵可實(shí)現(xiàn)定時(shí)時(shí)間的加減控制,定時(shí)時(shí)間設(shè)置完成確認(rèn)后,定時(shí)器2開始工作,系統(tǒng)進(jìn)入待機(jī)模塊,設(shè)計(jì)中待機(jī)標(biāo)志位sleep_flag默認(rèn)為0,此時(shí)電機(jī)正常得電,根據(jù)輸入信號(hào)正常工作,當(dāng)即定時(shí)時(shí)間減計(jì)數(shù)到0時(shí),待機(jī)標(biāo)志位sleep_flag變?yōu)?,此時(shí)系統(tǒng)進(jìn)入待機(jī)狀態(tài),軟件控制單片機(jī)輸出相應(yīng)的控制信號(hào),結(jié)合外部設(shè)計(jì)電路,使電機(jī)停轉(zhuǎn),待機(jī)指示燈亮起。手動(dòng)控制流程圖如圖4.2-1所示。圖4.2-1手動(dòng)控制流程圖4.3自動(dòng)控制程序設(shè)計(jì)流程自動(dòng)控制模塊程序主要由溫度控制、紅外熱釋電檢測(cè)和紅外遙控三部分組成。當(dāng)系統(tǒng)開始執(zhí)行自動(dòng)控制程序時(shí),首先判斷紅外接收完成標(biāo)志irok的值,當(dāng)irok的值為1時(shí),表示存在紅外遙控按鍵,系統(tǒng)自動(dòng)進(jìn)入紅外遙控控制模塊;當(dāng)紅外接收完成標(biāo)志irok的值為0時(shí),表示不存在紅外遙控按鍵,系統(tǒng)進(jìn)入自控制模塊,接著開啟外中斷1,用于處理紅外熱釋電檢測(cè)信號(hào)。當(dāng)檢測(cè)到紅外信號(hào)時(shí),由紅外熱釋電檢測(cè)電路產(chǎn)生輸入信號(hào),利用晶體三極管構(gòu)成簡(jiǎn)易反向器,觸發(fā)單片機(jī)外中斷1,此時(shí)系統(tǒng)自動(dòng)進(jìn)入定時(shí)30分鐘,啟動(dòng)定時(shí)器2,接著進(jìn)入待機(jī)模塊,設(shè)計(jì)中待機(jī)標(biāo)志位sleep_flag默認(rèn)為0,此時(shí)電機(jī)正常得電,根據(jù)輸入信號(hào)正常工作,當(dāng)即定時(shí)時(shí)間減計(jì)數(shù)到0時(shí),待機(jī)標(biāo)志位sleep_flag變?yōu)?,此時(shí)系統(tǒng)進(jìn)入待機(jī)狀態(tài),軟件控制單片機(jī)輸出相應(yīng)的控制信號(hào),結(jié)合外部設(shè)計(jì)電路,使電電機(jī)機(jī)停轉(zhuǎn),待機(jī)指示燈亮起。當(dāng)沒有檢測(cè)到紅外信號(hào),系統(tǒng)根據(jù)當(dāng)前環(huán)境的溫度自動(dòng)實(shí)現(xiàn)轉(zhuǎn)速的調(diào)節(jié),從而實(shí)現(xiàn)自動(dòng)轉(zhuǎn)速控制。自動(dòng)控制流程圖如圖4.3-1所示。圖4.3-1自動(dòng)控制流程圖4.4溫度采集程序設(shè)計(jì)流程DS18B20單線通信功能是分時(shí)完成的,他有嚴(yán)格的時(shí)隙概念,它要求有嚴(yán)格的時(shí)序來保證數(shù)據(jù)的完整性,其操作協(xié)議過程為初始化DS18B20〔發(fā)復(fù)位脈沖、發(fā)送ROM功能命令、發(fā)存儲(chǔ)器操作命令、處理數(shù)據(jù)。DS18B20單數(shù)據(jù)線DQ上,存在復(fù)位脈沖、應(yīng)答脈沖、寫"0"、寫"1"、讀"0"和讀"1"幾種信號(hào)類型。其中除了應(yīng)答脈沖之外,均由單片機(jī)產(chǎn)生。溫度采集程序流程圖如圖4.4-1所示。開始初始化DS18B20開始初始化DS18B20有無應(yīng)答脈沖發(fā)起SKIPROM命令發(fā)起CONVERTT命令等待溫度轉(zhuǎn)換初始化DS18B20有無應(yīng)答脈沖發(fā)起SKIPROM命令發(fā)起READCHPAD命令結(jié)束讀取溫度值否是是否圖4.4-1溫度采集程序流程圖5設(shè)計(jì)總結(jié)當(dāng)開始設(shè)計(jì)選題時(shí),我依然感覺有點(diǎn)茫然,慢慢的進(jìn)入狀態(tài),再到對(duì)思路逐漸的清晰,從開始確定題目,到軟件設(shè)計(jì)、硬件電路設(shè)計(jì)和電路板的制作,設(shè)計(jì)報(bào)告的寫作,多少個(gè)挑燈夜戰(zhàn)的場(chǎng)景,整個(gè)過程難以用語言來表達(dá)。題目確定下來,我便立刻著手資料的收集工作中,當(dāng)時(shí)面對(duì)浩瀚的書海真是有些茫然,不知如何下手。在老師的指導(dǎo)及同學(xué)的幫助下,我終于對(duì)自己的工作方向和方法有了初步掌握。資料搜集基本完成后,我開始了軟件設(shè)計(jì)工作,在接近一周的時(shí)間里基本完成了系統(tǒng)功能的軟件設(shè)計(jì)和仿真,接著我又開始結(jié)合軟件設(shè)計(jì)和仿真內(nèi)容開始了系統(tǒng)電路板的PCB繪制,在接近一周的時(shí)間里完成了此次設(shè)計(jì)的三部分電路模塊的電路板繪制,但在制板和元器件的獲取方面遇到了困難,使得我不得不暫緩此部分的設(shè)計(jì)工作。接著我利用空余時(shí)間開始著手本次設(shè)計(jì)報(bào)告的寫作,在寫作過程中遇到困難我及時(shí)查閱資料和與同學(xué)溝通,借鑒實(shí)驗(yàn)室電路板相關(guān)資料,請(qǐng)教老師,在大家的幫助下,困難一個(gè)一個(gè)解決掉,報(bào)告的基本框架也慢慢成型,接著開始對(duì)報(bào)告格式進(jìn)行設(shè)置,以符合本次設(shè)計(jì)中對(duì)格式的要求。當(dāng)我終于完成了所有打字、繪圖、排版、校對(duì)的任務(wù)后整個(gè)人都很累,但同時(shí)看著電腦熒屏上的設(shè)計(jì)稿件我的心里還是很高興的,這次設(shè)計(jì)是我一次再學(xué)習(xí),再提高的過程,在設(shè)計(jì)中我充分地運(yùn)用了大學(xué)期間所學(xué)到的知識(shí)。本設(shè)計(jì)最終實(shí)現(xiàn)了電風(fēng)扇的手動(dòng)控制、自動(dòng)控制。手動(dòng)控制中定時(shí)設(shè)置可在10到99分鐘連續(xù)可調(diào),定時(shí)紅外線遙控實(shí)現(xiàn)模式切換和檔位的調(diào)整,自動(dòng)控制中可根據(jù)實(shí)時(shí)溫度變化自動(dòng)調(diào)整,紅外熱釋電檢測(cè)用于產(chǎn)生中斷信號(hào),中斷使系統(tǒng)自動(dòng)開始定時(shí)30分鐘,定時(shí)器定時(shí)結(jié)束后,如果沒有中斷信號(hào)輸入,系統(tǒng)自動(dòng)進(jìn)入待機(jī)狀態(tài)。本次設(shè)計(jì)的存在不足之處就是紅外熱釋電檢測(cè)檢測(cè)抗干擾方面不夠好,需要提高。我不會(huì)忘記這難忘的一段時(shí)間,本次設(shè)計(jì)給了我難忘的回憶。設(shè)計(jì)中曾有那么多難忘的時(shí)刻:每次找到需要資料,親手用PROTEL99SE設(shè)計(jì)完成電路圖,完成軟硬件的調(diào)試,為了報(bào)告熬夜……這段旅程看似荊棘密布,實(shí)則蘊(yùn)藏著無盡的寶藏,在今后的日子里,我仍然要不斷地充實(shí)自己,爭(zhēng)取在所學(xué)領(lǐng)域有所作為。附錄1:主板電路圖附錄2:主板電路PCB圖附錄3:紅外熱釋電檢測(cè)PCB電路圖附錄4:數(shù)碼管顯示電路PCB圖附錄5:系統(tǒng)自動(dòng)模式工作仿真圖附錄6:系統(tǒng)定時(shí)工作仿真圖附錄7:系統(tǒng)待機(jī)狀態(tài)仿真圖附錄8:部分程序代碼#include<reg51.h>#defineuintunsignedint#defineucharunsignedcharsbitbeep=P2^1; //蜂鳴器口sbitIR=P3^2;//紅外接口標(biāo)志ucharZKB; //占空比uchardone_ir=1; //紅外接收標(biāo)志位、且剛開機(jī)設(shè)置為手動(dòng)模式/******************************************************************//*****延時(shí)子程序*****/voiddelay<uintnum>{while<--num>;}voidDelay_1ms<void>//用于電機(jī)延時(shí)控制PWM{unsignedchara,b,c;for<c=1;c>0;c-->for<b=142;b>0;b-->for<a=2;a>0;a-->;}/******************************************************************//*變量聲明*//******************************************************************/unsignedcharirtime;//紅外用全局變量bitirpro_ok,irok;sbitPWM_A=P1^2; //pwm輸出unsignedcharIRcord[4];//處理后的紅外碼,分別是客戶碼,客戶碼,數(shù)據(jù)碼,數(shù)據(jù)碼反碼unsignedcharirdata[33];//33個(gè)高低電平的時(shí)間數(shù)據(jù)/******************************************************************//*函數(shù)聲明*//******************************************************************/voidIr_work<void>;voidIrcordpro<void>;voidShowString<unsignedchar*ptr>;/******************************************************************//*定時(shí)器0中斷服務(wù)函數(shù)*//******************************************************************/voidtim0_isr<void>interrupt1using1//定時(shí)器0中斷服務(wù)函數(shù){irtime++;//256us//用于計(jì)數(shù)2個(gè)下降沿之間的時(shí)間}/******************************************************************//*外部中斷0函數(shù)*//******************************************************************/voidex0_isr<void>interrupt0using0//外部中斷0服務(wù)函數(shù){ staticunsignedchari;//接收紅外信號(hào)處理 staticbitstartflag;//是否開始處理標(biāo)志位 if<startflag> { if<irtime<63&&irtime>=33>//引導(dǎo)碼TC9012的頭碼,9ms+4.5ms i=0; irdata[i]=irtime;//存儲(chǔ)每個(gè)電平的持續(xù)時(shí)間,用于以后判斷是0還是1 irtime=0; i++; if<i==33> { irok=1; i=0; } } else {irtime=0;startflag=1;}}/******************************************************************//*定時(shí)器0初始化*//******************************************************************/voidTIM0init<void>//定時(shí)器0初始化{ TMOD=0x02;//定時(shí)器0工作方式2,TH0是重裝值,TL0是初值 TH0=0x00;//8位自動(dòng)重載值 TL0=0x00;//初始化值 ET0=1;//開中斷 TR0=1;}/******************************************************************//*外部中斷初始化*//******************************************************************/voidEX0init<void>{ IT0=1;//指定外部中斷0下降沿觸發(fā),INT0<P3.2> EX0=1;//使能外部中斷 EA=1;//開總中斷}/******************************************************************//*紅外解碼函數(shù)處理*//******************************************************************/voidIrcordpro<void>//紅外碼值處理函數(shù) //irok=1{unsignedchari,j,k;unsignedcharcord,value;k=1;for<i=0;i<4;i++>//處理4個(gè)字節(jié){for<j=1;j<=8;j++>//處理1個(gè)字節(jié)8位{cord=irdata[k];if<cord>7>//0.256*7=1.79ms,大于此為高電平,這個(gè)和晶振有絕對(duì)關(guān)系,這里使用12M計(jì)算,此值可以有一定誤差 {value=value|0x80; }else //低電平 {value=value; }if<j<8> { value=value>>1; }k++;}IRcord[i]=value; //4個(gè)字節(jié)的數(shù)據(jù)value=0;}irpro_ok=1;//處理完畢標(biāo)志位置1}/******************************************************************//*紅

溫馨提示

  • 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論