基于單片機(jī)的紅外遙控接收電路_第1頁
基于單片機(jī)的紅外遙控接收電路_第2頁
基于單片機(jī)的紅外遙控接收電路_第3頁
基于單片機(jī)的紅外遙控接收電路_第4頁
基于單片機(jī)的紅外遙控接收電路_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 引言近年來隨著計(jì)算機(jī)在社會(huì)各領(lǐng)域的滲透,單片機(jī)的應(yīng)用正在不斷地走向深入,同時(shí)也帶動(dòng)傳統(tǒng)的控制、檢測(cè)等工作日益更新。傳統(tǒng)的遙控器大多采用無線電遙控技術(shù),隨著科技的進(jìn)步,紅外線遙控技術(shù)的進(jìn)一步成熟,紅外遙控也逐步成為了一種被廣泛應(yīng)用的通信和遙控手段。為了方便實(shí)用,傳統(tǒng)的家庭電器逐漸采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等有害環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。紅外遙控的特點(diǎn)是不影響周邊環(huán)境、不干擾其它電器設(shè)備。由于其無法穿透墻壁,故不同房間的家用電器可使用通用的遙控器而不會(huì)產(chǎn)生相互干擾;電路調(diào)試簡(jiǎn)單,只要按給定電路連接無誤,一般不需任何調(diào)試即可投入工作

2、;編解碼容易,可進(jìn)行多路遙控。紅外遙控雖然被廣泛應(yīng)用,但各產(chǎn)商的遙控器不能相互兼容。當(dāng)今市場(chǎng)上的紅外線遙控裝置一般采用專用的遙控編碼及解碼集成電路,但編程靈活性較低,且產(chǎn)品多相互綁定,不能復(fù)用,故應(yīng)用范圍有限。而本文采用單片機(jī)進(jìn)行遙控系統(tǒng)的應(yīng)用設(shè)計(jì),遙控裝置將同時(shí)具有編程靈活、控制范圍廣、體積小、功耗低、功能強(qiáng)、成本低、可靠性高等特點(diǎn),因此采用單片機(jī)的紅外遙控技術(shù)具有廣闊的發(fā)展前景。2 概述2.1 基于單片機(jī)的紅外遙控系統(tǒng)概述當(dāng)今社會(huì)科學(xué)技術(shù)的發(fā)展與日俱增,人們生活水平也是日益提高,為了減少人們的工作量,所以對(duì)各種家用電器、電子器件的非人工控制的要求越來越高,針對(duì)這種情況,設(shè)計(jì)出一種集成度比較

3、高的控制體系是必然的。現(xiàn)代科技的飛速發(fā)展在許多危險(xiǎn)、不可近場(chǎng)合也對(duì)遠(yuǎn)程控制提出了越來越高的要求。單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件:CPU、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。單片機(jī)的集成度很高,它體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化、使用方便等突出特點(diǎn),尤其耗電少,又可使供電電源體積小、質(zhì)量輕。所以特別適用于“電腦型產(chǎn)品”,它的應(yīng)用已深入到工

4、業(yè)、農(nóng)業(yè)、國(guó)防、科研、教育以及日常生活用品(家電、玩具)等各種領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒有單片機(jī)的蹤跡。單片機(jī)特別適合把它做到產(chǎn)品的內(nèi)部,取代部分老式機(jī)械、電子零件或元器件??墒巩a(chǎn)品縮小體積,增強(qiáng)功能,實(shí)現(xiàn)不同程度的智能化。紅外線是一種光線,具有普通光的性質(zhì),可以以光速直線傳播,強(qiáng)度可調(diào),可以通過光學(xué)透鏡聚焦,可以被不透明物體遮擋等等。特別制造的半導(dǎo)體發(fā)光二極管,可以發(fā)出特定波長(zhǎng)(通常是近紅外)的紅外線,通過控制二極管的電流可以很方便的改變紅外線的強(qiáng)度,以達(dá)到調(diào)制的目的,因此,在現(xiàn)代電子工程應(yīng)用中,紅外線常常被用做近距離視線范圍內(nèi)的通訊載波。使用紅外線做信號(hào)載波的優(yōu)點(diǎn)很多:成本低、傳播范圍和

5、方向可以控制、不產(chǎn)生電磁輻射干擾,也不受干擾等等。因此被廣泛地應(yīng)用在各種技術(shù)領(lǐng)域中。由于紅外線為不可見光,因此對(duì)環(huán)境影響很小,再由紅外光波動(dòng)波長(zhǎng)遠(yuǎn)小于無線電波的波長(zhǎng),所以紅外線遙控不會(huì)影響其他家用電器,也不會(huì)影響臨近的無線電設(shè)備。最典型的應(yīng)用就是家電遙控器。紅外線遙控不具有像無線電遙控那樣穿過障礙物去控制被控對(duì)象的能力,所以,在設(shè)計(jì)家用電器的紅外線遙控器時(shí),不必要像無線電遙控器那樣,每套(發(fā)射器和接收器)要有不同的遙控頻率或編碼(否則,就會(huì)隔墻控制或干擾鄰居的家用電器)。同類產(chǎn)品的紅外線遙控器,也可以有相同的遙控頻率或編碼,而不會(huì)出現(xiàn)遙控信號(hào)“串門”的情況。這對(duì)于大批量生產(chǎn)以及在家用電器上普及

6、紅外線遙控提供了極大的方面。本設(shè)計(jì)主要研究并設(shè)計(jì)一個(gè)基于單片機(jī)的紅外發(fā)射及接收系統(tǒng),實(shí)現(xiàn)對(duì)四路開關(guān)的隔離控制并對(duì)工作狀態(tài)設(shè)備計(jì)數(shù)??刂葡到y(tǒng)主要是由 MCS-51 系列單片機(jī)、電源電路、紅外發(fā)射電路、紅外接收電路、LED 顯示電路等部分組成,單片機(jī)編碼發(fā)射遙控信號(hào)經(jīng)紅外接收處理傳送給單片機(jī),單片機(jī)根據(jù)不同的信息碼控制四路 LED 發(fā)光二極管各個(gè)狀態(tài),并完成相應(yīng)的狀態(tài)指示(如圖 1)。按鍵編碼和調(diào)制紅外發(fā)射紅外接收解碼并響應(yīng)紅外遙控紅外接收?qǐng)D 1 紅外線遙控系統(tǒng)框圖2.2 本設(shè)計(jì)方案思路本設(shè)計(jì)主控芯片采用目前比較通用的MCS-51系列單片機(jī)。此類單片機(jī)的運(yùn)算能力強(qiáng),軟件編程靈活,自由度大,市場(chǎng)上比

7、較多見,價(jià)格便宜且技術(shù)比較成熟容易實(shí)現(xiàn)。紅外傳輸利用載波對(duì)信號(hào)進(jìn)行調(diào)制從而減少信號(hào)傳輸過程中的光波干擾,提高數(shù)據(jù)傳輸效率。由單片機(jī)AT89S51定時(shí)器 T0 產(chǎn)生周期性的 26.3 的矩形脈沖,即每隔13us,定時(shí)器 T0 產(chǎn)生中斷輸出一個(gè)相反的信號(hào)使輸出端產(chǎn)生周期的 38KHz 脈沖信號(hào)。再由單片機(jī)將鍵盤信息及系統(tǒng)識(shí)別碼等數(shù)據(jù)調(diào)制在紅外載波上經(jīng)紅外發(fā)射頭發(fā)射出去。接收方由紅外一體化接收頭實(shí)現(xiàn)對(duì)接收信號(hào)的放大解調(diào)并還原為數(shù)據(jù)流,經(jīng)由單片機(jī)解碼后對(duì)相關(guān)IO口進(jìn)行操作(如圖 1)。2.3 主要技術(shù)指標(biāo) (1)遙控距離4到6m(2)遙控路數(shù)為4路,即可對(duì)4個(gè)受控設(shè)備同時(shí)進(jìn)行開關(guān)控制;(3)工作頻率為

8、 38KHz,即紅外發(fā)射和接收的載頻為 38KHz;(4)接收端可顯示受控狀態(tài)。3 總體設(shè)計(jì)紅外遙控系統(tǒng)是集中集光、電于一體的系統(tǒng)。其工作原理是用戶按鍵信號(hào)經(jīng)單片機(jī)編碼處理后轉(zhuǎn)化為脈沖信號(hào),經(jīng)由紅外發(fā)射頭發(fā)送出去;接收端由紅外一體化接收頭實(shí)現(xiàn)對(duì)接收信號(hào)的放大解調(diào)并還原為數(shù)據(jù)流,經(jīng)由單片機(jī)解碼后對(duì)相關(guān)IO口進(jìn)行操作,從而完成整個(gè)遙控操作。整個(gè)系統(tǒng)主要是由電源電路、紅外發(fā)射電路、紅外接收電路、LED 顯示電路等部分組成。系統(tǒng)硬件由以下幾部分組成:紅外數(shù)據(jù)發(fā)射電路,鍵盤采用普通按鍵鍵盤,按鍵統(tǒng)一接在單片機(jī)P0口。整體設(shè)計(jì)思路為:根據(jù)掃描到不同的按鍵值對(duì)發(fā)射脈沖編碼賦值后 AT89S51 將按照數(shù)據(jù)處

9、理要求從 P3.5 輸出控制脈沖與 T0 產(chǎn)生的 8KHz 的載波(周期是 26us)進(jìn)行調(diào)制,經(jīng) NPN 三極管對(duì)信號(hào)放大驅(qū)動(dòng)紅外發(fā)光管將控制信號(hào)發(fā)送出去。紅外數(shù)據(jù)接收則是采用 HS38B 一體化紅外接收頭,內(nèi)部集成紅外接收、數(shù)據(jù)采集、解碼的功能,只要在接收端 INT0 檢測(cè)頭信號(hào)低電平的到來,就可完成對(duì)整個(gè)串行的信號(hào)進(jìn)行分析得出當(dāng)前控制指令的功能。然后根據(jù)所得的指令去操作相應(yīng)的用電器件工作,如圖 2所示。紅外發(fā)射管編碼單片機(jī)遙控按鍵紅外傳輸執(zhí)行部分紅外一體化接收頭解碼單片機(jī)圖2 系統(tǒng)總體結(jié)構(gòu)框圖3.1 紅外遙控發(fā)射部分紅外遙控發(fā)射部分系統(tǒng)框圖見圖 3。發(fā)送端采用單片機(jī)的定時(shí)中斷功能,由定時(shí)

10、器 T0 產(chǎn)生周期為 26us 的矩形脈沖,即每隔13us定時(shí)器 T0 產(chǎn)生中斷輸出一個(gè)相反的信號(hào)使單片機(jī)輸出端產(chǎn)生周期為38KHz的脈沖信號(hào)。脈沖圖如圖 4所示。系統(tǒng)通過直連單片機(jī)的按鍵獲取用戶遙控信息,經(jīng)按鍵掃描確認(rèn),然后交由單片機(jī)對(duì)將要發(fā)射數(shù)據(jù)進(jìn)行整理,將待發(fā)送的二進(jìn)制信號(hào)編碼調(diào)制在38kHz脈沖基波上,生成脈沖發(fā)射信號(hào),最后通過紅外發(fā)射管發(fā)射紅外信號(hào)。按鍵部分單片機(jī)89S51編碼紅外發(fā)射電源5V驅(qū)動(dòng)圖 3 紅外遙控發(fā)射電路框圖圖4 38KHz 載波信號(hào)3.2 紅外遙控接收部分5V紅外接收單片機(jī)89S51解碼設(shè)備數(shù)顯示受控設(shè)備電源9V紅外遙控接收電路框圖見圖 5。紅外接收端普遍采用價(jià)格便

11、宜,性能可靠的一體化紅外接收頭(HS38B , 它接收紅外信號(hào)頻率為38KHz ,周期約26s)。它能同時(shí)對(duì)信號(hào)進(jìn)行放大、檢波、整形,得到TTL 電平的編碼信號(hào)。紅外接收頭收到信號(hào)后單片機(jī)立即產(chǎn)生中斷,開始接收紅外信號(hào)。接收到的信號(hào)經(jīng)單片機(jī)解碼得到用戶遙控信息并轉(zhuǎn)至IO口執(zhí)行,同時(shí)單片機(jī)還完成對(duì)處于工作狀態(tài)的設(shè)備進(jìn)行計(jì)數(shù)并顯示。光電隔離圖 5 紅外遙控接收電路框圖3.3 紅外編碼標(biāo)準(zhǔn)本設(shè)計(jì)中采用不同的脈寬寬度來實(shí)現(xiàn)二進(jìn)制信號(hào)的編碼,編碼由發(fā)送單片機(jī)來完成。以間隔0.56ms、脈寬為0.565ms、周期為1.125ms的組合表示二進(jìn)制的“1”;以間隔1.685ms、脈寬為0.565ms、周期為2

12、.25ms的組合表示二進(jìn)制的“0”,其波形如圖6所示。Bit“0”Bit“1”1.685ms0.56ms1.125ms2.25ms圖 6 二進(jìn)制信號(hào)“1”和“0”的編碼遙控編碼脈沖信號(hào)由引導(dǎo)碼、識(shí)別碼、識(shí)別反碼、控制碼、控制反碼信號(hào)組成。引導(dǎo)碼也叫起始碼,由寬度為5ms的高電平和寬度為3ms的低電平組成,用來標(biāo)志遙控編碼脈沖信號(hào)的開始。如圖7所示。3ms 低電平5ms 高電平圖 7 信號(hào)引導(dǎo)碼圖識(shí)別碼也叫系統(tǒng)碼,它用來指示遙控系統(tǒng)的種類,以區(qū)別其它遙控系統(tǒng),防止各遙控系統(tǒng)的誤動(dòng)作??刂拼a也叫功能碼,它代表了相應(yīng)的控制功能,接收機(jī)可根據(jù)功能碼的數(shù)值完成各種功能操作。識(shí)別反碼與控制反碼分別是識(shí)別碼

13、與控制碼的反碼,反碼的加入是為了能在接收端校對(duì)傳輸過程中數(shù)據(jù)是否產(chǎn)生差錯(cuò)。脈沖位置表示的“0”和“1”組成的 32 位二進(jìn)制碼前 16 位控制指令,控制不同的紅外遙控設(shè)備。而不同的紅外家用電器又有不同的脈沖調(diào)控方式,后 16位分別是 8 位的控制碼和 8 位的控制反碼。串行數(shù)據(jù)碼時(shí)序圖如8所示。圖 8 串行數(shù)據(jù)碼時(shí)序圖3.3.1 二進(jìn)制信號(hào)的調(diào)制二進(jìn)制信號(hào)的調(diào)制仍由發(fā)送單片機(jī)來完成,如圖9所示,A是二進(jìn)制信號(hào)的編碼波形,B 是頻率為38KHz (周期為26s) 的連續(xù)脈沖,C 是經(jīng)調(diào)制后的間斷脈沖串(相當(dāng)于C = A B) ,用于紅外發(fā)射二極管發(fā)送的波形。圖9中,待發(fā)送的二進(jìn)制數(shù)據(jù)為101。圖

14、中脈沖個(gè)數(shù)僅為示意非真實(shí)情況。圖9二進(jìn)制信號(hào)的調(diào)制二進(jìn)制信號(hào)的解調(diào)由一體化紅外接收頭HS38B來完成,它把接收到的紅外信號(hào)(圖10中波形D ,也是圖9中波形C) 經(jīng)內(nèi)部處理并解調(diào)復(fù)原,在輸出腳輸出圖10中波形E (正好是對(duì)圖9中波形A 的取反) ,HS38B的解調(diào)可理解為:在輸入有脈沖串時(shí),輸出端輸出低電平,否則輸出高電平??芍苯优c單片機(jī)串行輸入口及外中斷相聯(lián),以實(shí)現(xiàn)隨時(shí)接收遙控信號(hào)并產(chǎn)生中斷,然后由單片機(jī)對(duì)編碼還原。圖10 紅外接收頭接收及輸出波形3.3.2二進(jìn)制信號(hào)的解調(diào)二進(jìn)制信號(hào)的解碼由接收單片機(jī)來完成,它把紅外接收頭送來的二進(jìn)制編碼波形通過解碼,還原出發(fā)送端發(fā)送的數(shù)據(jù)。如圖10 ,把波

15、形E解碼還原成原始二進(jìn)制數(shù)據(jù)信息101。4軟件設(shè)計(jì)4.1 總體方案基于單片機(jī)的紅外遙控電路系統(tǒng)設(shè)計(jì)中編碼解碼部分全部由單片機(jī)實(shí)現(xiàn)。即本設(shè)計(jì)為軟件編解碼。因此軟件設(shè)計(jì)也是設(shè)計(jì)的一大重點(diǎn)。編碼標(biāo)準(zhǔn)章節(jié) 3.3 紅外編碼標(biāo)準(zhǔn)已詳細(xì)介紹。這里將具體講述編解碼的軟件實(shí)現(xiàn)過程。MCS-51單片機(jī)通常使用匯編語言和C語言來進(jìn)行軟件開發(fā)。匯編語言是一種簡(jiǎn)單易掌握、效率較高的開發(fā)語言。其程序結(jié)構(gòu)簡(jiǎn)單,執(zhí)行速度快,實(shí)時(shí)性好,程序易優(yōu)化,編譯后占用存儲(chǔ)空間校少,是簡(jiǎn)單的單片機(jī)應(yīng)用系統(tǒng)開發(fā)中最常用的程序設(shè)計(jì)語言。本設(shè)計(jì)采用匯編語言進(jìn)行編程,編譯器采用Keil VisionV4.00a,該編譯器是51系列單片機(jī)程序設(shè)計(jì)

16、的常用工具,既可用匯編,也支持C語言編譯。同時(shí)具有完善的調(diào)試功能。4.2 編碼發(fā)射程序設(shè)計(jì)紅外發(fā)射程序任務(wù)要采集用戶的按鍵信息,生成控制碼及控制反碼連同預(yù)設(shè)的系統(tǒng)識(shí)別碼和識(shí)別碼反碼共同組成四個(gè)八位的二進(jìn)制數(shù)據(jù)流,然后通過單片機(jī)的中斷系統(tǒng)將以引導(dǎo)碼開頭的數(shù)據(jù)流以脈沖形式發(fā)送出去。具體編碼方法本文章節(jié)3.3已有介紹。圖 26為紅外發(fā)射主程序流程圖四個(gè)八位二進(jìn)制數(shù)據(jù)調(diào)用四次數(shù)據(jù)發(fā)送子程序,最后以結(jié)束碼1結(jié)尾。表示本次數(shù)據(jù)發(fā)送完畢。圖 26 紅外遙控發(fā)射主程序流程圖圖 27為紅外發(fā)送子程序的流程圖。它每被調(diào)用一次便將累加器中的八位二進(jìn)制數(shù)據(jù)發(fā)送出去。程序從高位開始依次發(fā)送累加器中的二進(jìn)制數(shù)據(jù)。為0則先

17、發(fā)送1.68ms的低電平,為1則先發(fā)送0.56ms的低電平。然后打開中斷,利用八位自動(dòng)重裝初值定時(shí)器使T0口為產(chǎn)生周期26ms的脈沖,脈沖持續(xù)時(shí)間為0.56ms。脈沖發(fā)送完畢,關(guān)中斷。直至八位數(shù)據(jù)發(fā)送完,本次發(fā)射子程序退出。圖 27 紅外發(fā)射子程序流程圖中斷服務(wù)程序:INTT1: CPL P3.5 ;38kHZ紅外線遙控信號(hào)產(chǎn)生RETI ;中斷返回發(fā)送子程序:OUT04: ;循環(huán)發(fā)射累加器中各數(shù)據(jù)位MOVR1,#08HOUT:RLCAACALLSENDDJNZR1,OUT ;八位數(shù)據(jù)發(fā)送完畢退出RETSEND: CLR TR1 ;關(guān)定時(shí)器T1 CLR ET1 ;關(guān)T1中斷 CLR P3.5 ;

18、關(guān)脈沖輸出JCSEND1 MOV R3,#08H ;發(fā)射0碼SEND0: MOVR4,#69H ;0碼低電平DJNZR4,$DJNZR3,SEND0 AJMP SIG ;轉(zhuǎn)脈沖發(fā)送信號(hào)SEND1: MOVR3,#02H ;1碼低電平SEND10:MOVR4,#8CHDJNZR4,$DJNZR3,SEND10SIG: SETB ET1 ;開T1中斷 SETB TR1 ;開啟定時(shí)器T1 MOV R3,#08CH ;發(fā)脈沖DJNZR3,$ CLR TR1 ;關(guān)定時(shí)器T1 CLR ET1 ;關(guān)T1中斷 CLR P3.5 ;關(guān)脈沖輸出RET具體發(fā)送程序見附錄 3。4.4 紅外遙控接收程序設(shè)計(jì)紅外遙控接收

19、程序主要任務(wù)是將紅外接收頭發(fā)出的信號(hào)還原為二進(jìn)制編碼。因紅外接收頭輸出的信號(hào)是對(duì)輸入信號(hào)的求反。因此其接收到的引導(dǎo)碼為5ms低電平和3ms的高電平,低電平引發(fā)接收端單片機(jī)中斷。單片機(jī)在收到中斷信號(hào)后對(duì)低電平時(shí)間進(jìn)行計(jì)數(shù),超過4ms才認(rèn)定引導(dǎo)碼有效。利用延時(shí)跳過3ms的高電平,單片機(jī)才開始接收數(shù)據(jù)。圖 28 單片機(jī)對(duì)接收頭輸出信號(hào)的判定紅外接收頭輸出的信號(hào)為一列方波如圖28。如何將其還原為二進(jìn)制中的1和0是軟件設(shè)計(jì)的關(guān)鍵。從編碼標(biāo)準(zhǔn)得知信號(hào)的1和0信號(hào)占空比不同。即接收頭對(duì)信號(hào)反相后碼1和0的高電平時(shí)間長(zhǎng)度不同。由0碼和1碼的高低電平寬度可設(shè)定程序延時(shí)0.8ms后對(duì)信號(hào)的電平取樣。若為低電平即為

20、原碼的1,高電平為原碼0。由上所述可知,紅外遙控系統(tǒng)接收部分的主程序流程圖如圖29所示。程序首先初始化端口并開中斷,隨后單片機(jī)即對(duì)處于工作狀態(tài)的設(shè)備計(jì)數(shù),等待中斷。引導(dǎo)碼識(shí)別正確后單片機(jī)調(diào)用四次讀碼子程序,分別接收四個(gè)八位數(shù)據(jù),并對(duì)碼值進(jìn)行校驗(yàn),不符則跳出中斷。當(dāng)接收到結(jié)束碼1后,單片機(jī)開始對(duì)控制碼進(jìn)行響應(yīng),對(duì)相關(guān)IO口置位,之后返回LED數(shù)碼管顯示程序。圖29 紅外遙控接收主程序 紅外遙控接收部分讀碼子程序利用碼1和0的電平特性對(duì)接收頭輸出的信號(hào)進(jìn)行解碼。以八位二進(jìn)制碼為一個(gè)循環(huán)。在高電平到達(dá)后0.8ms對(duì)P3.1口電平采樣,取反后即為二進(jìn)制原碼,將其逐位保存到累加器中。電平采樣后軟件延時(shí)等

21、待下一個(gè)高電平的出現(xiàn)。等八位數(shù)據(jù)全部讀取完畢退出子程序。圖 30 紅外遙控接收部分讀碼子程序中斷接收并判斷引導(dǎo)碼:INTEX0: MOV 35H,A;采用中斷接收保護(hù)現(xiàn)場(chǎng) MOV 20H,C CLR EX0 ;關(guān)外中斷 JNB P3.1,READ ;P3.1口為低電平轉(zhuǎn)READ 為高電平退出OUT: SETB EX0 ;開中斷(系干擾) MOV A,38H ;恢復(fù)現(xiàn)場(chǎng) MOV C,20H RETI ;退出中斷READ: CLR A ;清A 讀取引導(dǎo)碼 MOV DPH,A ;清DPTR MOV DPL,A HEAD: JB P3.1,HEAD01 ;P3.5變高電平轉(zhuǎn)HARD01 INC DPT

22、R ;用DPTR對(duì)低電平計(jì)數(shù) MOV R1,#04HDJNZ R1,$ AJMP HEAD ;轉(zhuǎn)HARD循環(huán)(循環(huán)周期為16微秒)HEAD01: MOV A,DPH ;DPTR高8位放入A JZ OUT ;為0(脈寬小于16*255=4毫秒)退出 MOVR1,#0AH;3ms空隙讀碼子程序:READ01: MOVCODENUM,#08H;讀取數(shù)據(jù)碼8位CLRA ;清ALJMP READ02READ02:CLRCMOVR1,#02H ;延時(shí)0.8msREAD03:MOVR2,#0C8HDJNZ R2,$DJNZ R1,READ03MOVC,P3.1 ;取碼CPLC ;還原碼值RLCA ;移位賦值

23、JB P3.1,$JNBP3.1,$DJNZ CODENUM,READ02 RET具體接收程序見附錄 4。5總結(jié)由于目前的遙控裝置大多對(duì)某一設(shè)備進(jìn)行單獨(dú)控制,而在本設(shè)計(jì)中的紅外遙控電路設(shè)計(jì)了多個(gè)控制按鍵,可以對(duì)不同的設(shè)備,也可以對(duì)同一設(shè)備的多個(gè)功能進(jìn)行控制。系統(tǒng)可通過設(shè)定發(fā)射及接收程序中的識(shí)別碼及識(shí)別反碼達(dá)到不同遙控器間相互區(qū)分,對(duì)識(shí)別碼、識(shí)別反碼、控制碼和控制碼反碼的判定一方面消除了非遙控信號(hào)的紅外干擾,另一方面降低了誤操作發(fā)生的幾率。經(jīng)過測(cè)試,設(shè)計(jì)結(jié)果完全達(dá)到課題任務(wù)要求。但是本電路也有不完善的地方, 由于作者時(shí)間、水平和經(jīng)驗(yàn)有限,在信號(hào)的發(fā)射、編碼、抗干擾及功耗控制等方面仍有不足之處,有

24、改進(jìn)的余地。例如設(shè)計(jì)中可通過增加紅外線發(fā)射功率進(jìn)而增加遙控距離,改進(jìn)信號(hào)編碼方式以提高數(shù)據(jù)的傳輸速度,使用小型單片機(jī)以降低功耗等。另外在系統(tǒng)的調(diào)試方面,由于時(shí)間和設(shè)備的原因,只進(jìn)行了短距離的調(diào)試,更多參數(shù)有待進(jìn)一步的調(diào)試。在設(shè)計(jì)過程中,通過大量的查閱資料,認(rèn)真研究教材,對(duì)單片機(jī)有了更為深刻的理解,在編寫軟件時(shí),須仔細(xì)的分析硬件電路及所要達(dá)到的功能,然后設(shè)計(jì)程序流程,編寫代碼。整個(gè)過程培養(yǎng)了我的耐性和刻苦鉆研的精神。這次畢業(yè)設(shè)計(jì)對(duì)于我來說,既是一次機(jī)遇,又是一次挑戰(zhàn)。通過這次的畢業(yè)設(shè)計(jì),我學(xué)到了很多東西。通過自己的實(shí)踐,增強(qiáng)了動(dòng)手能力,掌握了系統(tǒng)的分析解決問題的方法。通過實(shí)際工程設(shè)計(jì)也使我了解到

25、書本知識(shí)和實(shí)際應(yīng)用的差別。在實(shí)際應(yīng)用中遇到很多的問題,這都需要我對(duì)問題進(jìn)行具體的分析,并一步一步地去解決它。參考文獻(xiàn)1趙巍,馮娜.單片機(jī)基礎(chǔ)及應(yīng)用M.北京:清華大學(xué)出版社.2009:94-103.2高慧芳.單片機(jī)原理及系統(tǒng)設(shè)計(jì)M.杭州:杭州電子科技大學(xué).2008:124-174.3聶詩良, 李磊民.采用單片機(jī)發(fā)送并接收紅外遙控信號(hào)的方法J. 信息技術(shù),2004,28(2):21-96.4施新華.利用單片機(jī)實(shí)現(xiàn)的紅外遙控技術(shù)J.上海電機(jī)學(xué)院學(xué)報(bào).2006,9(3):69-71.5周潤(rùn)景,張麗娜,丁莉.基于PROTEUS的電路及單片機(jī)設(shè)計(jì)與仿真M.北京:北京航空航天大學(xué)出版社,2010.6吳金戌,

26、沈慶陽,郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用M.第1版,清華大學(xué)出版社,2002.7胡偉.單片機(jī)C程序設(shè)計(jì)及應(yīng)用實(shí)例M.人民郵電出版社,2003.7.8實(shí)用電子元器件手冊(cè).上??茖W(xué)技術(shù)出版社M.1998.2.9趙亮,侯國(guó)銳.單片機(jī)C語言編程與實(shí)例M,第一版.人民郵電出版社,2003.9.10K. Mandai, K. Miyauchi, M. Sugimoto,Y. Natsume and K. Ookubo. AN ADVANCED INFRARED REMOTE CONTROL SENSORJ. IEEE,1990.6,36(3). 11 Michael A. Miller. Data and

27、 Network CommunicationsM.第一版,科學(xué)出版社,2002.12徐向民.Altium Designer 快速入門M.北京:北京航空航天大學(xué)出版社,2008.13楊恢先,王子菡,楊穗,陶霞.一種基于單片機(jī)的紅外遙控軟件解碼方法J.自動(dòng)化與儀器儀表.2004,(2):16-32.附錄 1基于單片機(jī)的紅外遙控系統(tǒng)發(fā)射及電源部分電路:附錄 2基于單片機(jī)的紅外遙控系統(tǒng)接收部分電路:附錄 3紅外遙控系統(tǒng)發(fā)射部分源程序: ORG 0000H ;程序執(zhí)行開始地址AJMP START ;跳至START執(zhí)行 ORG 001BH ;定時(shí)器T1中斷入口地址LJMP INTT1 ;跳至INTT1中斷

28、服務(wù)程序ORG 0030HPCODE EQU 30H ;識(shí)別碼OPPCODE EQU 31H ;識(shí)別碼反碼BUT EQU 32H ;按鍵碼OPPBUT EQU 33H ;按鍵反碼START: MOV SP,#70H ;設(shè)堆?;窞?0H CLR P3.5 ;關(guān)遙控輸出 MOV IE,#00H ;關(guān)所有中斷 MOV IP,#01H ;設(shè)優(yōu)先級(jí) MOV TMOD,#22H;8位自動(dòng)重裝初值模式 MOV TH1,#0F3H;定時(shí)為13微秒初值 MOV TL1,#0F3H SETB EA ;開總中斷允許 MOV PCODE,#0ABH;識(shí)別碼賦值 MOV OPPCODE,#54H;識(shí)別碼反碼賦值 MO

29、V P2,#0FFHJIAN: MOVR1,#0EAH ;延時(shí)130MSWAIT:MOVR2,#0C8H DJNZR2,$DJNZR1,WAIT MOV A,P2 CJNE A,#0FFH,JIAN1 ;鍵盤尋址 LJMP JIAN JIAN1: CJNE A,#07FH,JIAN2 LJMP MN0 JIAN2: CJNE A,#0BFH,JIAN3 LJMP MN1JIAN3: CJNE A,#0DFH,JIAN4 LJMP MN2JIAN4: CJNE A,#0EFH,JIAN5 LJMP MN3JIAN5: CJNE A,#0F7H,JIAN6 LJMP MN4JIAN6: CJNE

30、A,#0FBH,NN LJMP MN5NN: LJMP JIANmn0: MOV BUT,#10H MOV OPPBUT,#0EFH LCALL REMOTE ;轉(zhuǎn)發(fā)送程序 ajmp nnmn1: MOV BUT,#20H MOV OPPBUT,#0DFH LCALL REMOTE ;轉(zhuǎn)發(fā)送程序 ajmp nnmn2: MOV BUT,#30H MOV OPPBUT,#0CFH LCALL REMOTE ;轉(zhuǎn)發(fā)送程序 ajmp nnmn3: MOV BUT,#40H MOV OPPBUT,#0BFH LCALL REMOTE ;轉(zhuǎn)發(fā)送程序 ajmp nnmn4: MOV BUT,#50H MO

31、V OPPBUT,#0AFH LCALL REMOTE ;轉(zhuǎn)發(fā)送程序 ajmp nnmn5: MOV BUT,#60H MOV OPPBUT,#9FH LCALL REMOTE ;轉(zhuǎn)發(fā)送程序 ajmp nn;*;* 編 碼 發(fā) 射 程 序 *;*REMOTE:SETB ET1 ;開T1中斷 SETB TR1 ;開啟定時(shí)器T1 MOV R1,#06H ;原數(shù)值#09HOUT01: MOV R2,#0C8H ;發(fā)5ms引導(dǎo)碼DJNZR2,$DJNZR1,OUT01 CLR TR1 ;關(guān)定時(shí)器T1 CLR ET1 ;關(guān)T1中斷 CLR P3.5 ;關(guān)脈沖輸出 MOVR1,#0AH ;3ms空隙OUT

32、02:MOVR2,#96HDJNZR2,$DJNZR1,OUT02OUT03: ;發(fā)射數(shù)據(jù)流MOVA,PCODEACALLOUT04 ;調(diào)用發(fā)送子程序MOVA,OPPCODEACALLOUT04 ;調(diào)用發(fā)送子程序MOVA,BUTACALLOUT04 ;調(diào)用發(fā)送子程序MOVA,OPPBUTACALLOUT04 ;調(diào)用發(fā)送子程序SETB C ;發(fā)送結(jié)束碼1ACALLSEND ;調(diào)用發(fā)送子程序MOVR1,#0EAH ;延時(shí)130MSOUTWAIT:MOVR2,#0C8H DJNZR2,$DJNZR1,OUTWAITRET;*;* 發(fā) 射 子 程 序 *;*OUT04: ;循環(huán)發(fā)射各數(shù)據(jù)位MOVR1,

33、#08HOUT:RLCAACALLSEND DJNZR1,OUTRETSEND: CLR TR1 ;關(guān)定時(shí)器T1 CLR ET1 ;關(guān)T1中斷 CLR P3.5 ;關(guān)脈沖輸出JCSEND1 MOVR3,#08H ;發(fā)射0碼SEND0: MOVR4,#69H ;0碼低電平DJNZR4,$DJNZR3,SEND0 AJMP SIG ;轉(zhuǎn)脈沖發(fā)送信號(hào)SEND1: MOVR3,#02H ;1碼低電平SEND10:MOVR4,#8CHDJNZR4,$DJNZR3,SEND10SIG: SETB ET1 ;開T1中斷 SETB TR1 ;開啟定時(shí)器T1 MOVR3,#08CH ;發(fā)射脈沖DJNZR3,$

34、CLR TR1 ;關(guān)定時(shí)器T1 CLR ET1 ;關(guān)T1中斷 CLR P3.5 ;關(guān)脈沖輸出RET;*;* T1中斷服務(wù)程序 *;*INTT1: CPL P3.5 ;40kHZ紅外線遙控信號(hào)產(chǎn)生 RETI ;中斷返回 END ;程序結(jié)束 附錄 4紅外遙控系統(tǒng)接收部分源程序 ORG 0000H LJMP STARTORG 0003H LJMP INTEX0 ORG 0030HPCODE EQU 30H ;識(shí)別碼OPPCODE EQU 31H ;識(shí)別碼反碼BUT EQU 32H ;按鍵碼OPPBUT EQU 33H ;按鍵反碼CODENUM EQU 34H ;接收碼數(shù)START: MOV SP,#

35、70H MOV IE,#00H ;關(guān)所有中斷 SETB EX0 ;開外中斷 SETB EA ;總中斷允許 MOV PCODE,#0ABH;識(shí)別碼初值 MOV OPPCODE,#54H;識(shí)別碼反碼初值MAIN: MOVR3,#0FFH DJNZ R3,$ ;持續(xù)510微秒 MOV R5,#08H MOV R6,P2 MOV R7,#08HXUN: CLR C ;對(duì)工作狀態(tài)設(shè)備計(jì)數(shù) MOV A,R6 RLC A MOV R6,A MOV A,R5 SUBB A,#00H MOV R5,A DJNZ R7,XUN MOV A,R5 MOV P1,A ;送LED顯示 LJMP MAIN ;轉(zhuǎn)MAIN循環(huán)NOP ;PC值出錯(cuò)處理LJMPSTART ;出錯(cuò)時(shí)重新初始化;*; 遙控接收程序;*INTEX0: MOV 35H,A ;采用中斷接收保護(hù)現(xiàn)場(chǎng) MOV 20H,C CLR EX0 ;關(guān)外中斷 JNB P3.1,READ ;P3.1口為低電平轉(zhuǎn)READ 為高電平退出OUT: SETB EX0 ;開中斷(系干擾) MOV A,38H ;恢復(fù)現(xiàn)場(chǎng) MOV C,20H RETI ;退出中斷READ: CLR A ;清A 讀取引導(dǎo)碼 MOV DPH,A ;清DPTR MOV DPL,A HEAD: JB P3.1,HE

溫馨提示

  • 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. 人人文庫網(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)論