基于51單片機的自學(xué)習(xí)型遙控器設(shè)計與實現(xiàn)_第1頁
基于51單片機的自學(xué)習(xí)型遙控器設(shè)計與實現(xiàn)_第2頁
基于51單片機的自學(xué)習(xí)型遙控器設(shè)計與實現(xiàn)_第3頁
基于51單片機的自學(xué)習(xí)型遙控器設(shè)計與實現(xiàn)_第4頁
基于51單片機的自學(xué)習(xí)型遙控器設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、優(yōu)秀論文,值得下載!基于51單片機的自學(xué)習(xí)型遙控器設(shè)計與實現(xiàn)摘 要紅外線遙控是目前最廣泛使用的一種遙控和通信遙控方式,并且其具有體積小、結(jié)構(gòu)簡單、功能強、功耗低、成本低等優(yōu)點,因此大規(guī)模應(yīng)用于空調(diào)機、彩電、錄像機、cd設(shè)備,并且在工業(yè)控制中也廣泛使用。在人們生活中對家電的需要日益增加的時候,促使使用紅外遙控器的機會也越來越多。但是因為紅外遙控器不同產(chǎn)品編碼格式的不同,不能用同一個遙控器控制,給人們生活帶來諸多不便,在這我就是設(shè)計了一款自學(xué)習(xí)型的遙控器。目前在國內(nèi)大多數(shù)學(xué)習(xí)型遙控器為了達到學(xué)習(xí)目的都是采用拷貝遙控器紅外波形,其實現(xiàn)起來方便,方法也較簡單,。缺點是采用專用遙控集成的芯片,造成成本高

2、,設(shè)計復(fù)雜的缺陷,為了使其集成度高遙控器的紅外信號采用的是紅外線遙控發(fā)射芯片,以致價格昂貴。本畢業(yè)設(shè)計是以at89c51單片機為核心的學(xué)習(xí)型遙控器,其原理是紅外一體化接收頭輸出信號,通過測量并原樣地記錄其輸出碼形,其次將其碼型保存在eeprom中,最后利用單片機的定時器中斷產(chǎn)生38 千赫茲的載波信號,使軟件代替硬件,節(jié)約了許多資源。目前在市場上遙控器大部分的編碼方式都是nec,所以該學(xué)習(xí)型紅外遙控器能成功地學(xué)習(xí)各種紅外遙控設(shè)備的nec編碼方式,并通過38千赫茲載波發(fā)送學(xué)習(xí)到的碼型信號。實現(xiàn)了對該類編碼方式的紅外遙控的學(xué)習(xí),從而可以學(xué)習(xí)各種遙控器nec的編碼方式。 其優(yōu)點硬件電路簡單,軟件功能完

3、善,性價比較高等特點,具有一定的使用和參考價值。關(guān)鍵詞:at89c51;學(xué)習(xí)型遙控器;紅外遙控器;編碼方式abstract infrared remote control is currently the most widely used a remote control and communication control method, and it has small volume, simple structure, strong function, low power consumption, low cost advantages, so large-scale applicatio

4、n in air conditioning equipment, tv, vcr, cd, and are widely used in industrial control. an increasing need for home appliance of in peoples life, prompted the use of infrared remote control is also more and more opportunity. but because the infrared remote control encoding format of the different p

5、roducts is different, cant use the same remote control, give peoples life bring inconvenience, in this i was designed a learning remote control.at present at home most of the learning remote control copy in order to achieve learning goals are using remote control infrared wave, its implementation us

6、er-friendly, the method is simple,. defect is using special remote control integrated chip, resulting in high cost and complex design defects, in order to make its high level of integration of the remote control infrared signal which is infrared remote control transmitting chip, so that the price ex

7、pensive.this graduation design is based on at89c51 single-chip microcomputer as the core of the learning remote control, its principle is the integration of infrared sensor output signal, through the measurement and the same form to record the output code, followed by the block type stored in the ee

8、prom ,the use of single-chip timer interrupt to produce 38000 hz carrier signal, the software instead of hardware, save a lot of resources. currently on the market most of the encoding nec remote control, so the learning infrared remote controller can successfully study all kinds of infrared remote

9、control equipment of nec encoding, and through the 38000 hz carrier send the study to the type of signal. implements the learning of this kind of coding method of infrared remote control, which can learn all kinds of remote control nec encoding.its advantage hardware circuit is simple, software func

10、tion is perfect, high cost performance characteristics, has certain use and reference value.key words: at89c51, a learning remote control, infrared remote control, the encoding style目 錄摘 要iabstractii 1 緒 論11.1 學(xué)習(xí)型遙控器的介紹11.2 紅外通信技術(shù)概述1 2學(xué)習(xí)型遙控器的工作原理4 3系統(tǒng)硬件電路設(shè)計43.1鍵盤電路的設(shè)計53.2紅外接收電路63.3紅外發(fā)射電路63.4存儲電路73.5

11、 學(xué)習(xí)與發(fā)射之間的切換電路74 系統(tǒng)軟件設(shè)計84.1鍵盤掃描程序84.2 紅外解碼程序94.3 at2402存儲程序144.3.1 i2c總線技術(shù)原理及其工作特點144.3.2 at2402存儲程序164.4 紅外編碼程序174.4.1讀取eeprom數(shù)據(jù)到單片機ram中174.4.1紅外編碼發(fā)射程序184.5 學(xué)習(xí)與發(fā)射的切換程序19 5 結(jié)論20致 謝20參考文獻21附錄a23附錄b23附錄c241 緒 論1.1 學(xué)習(xí)型遙控器的介紹 無線工控類產(chǎn)品學(xué)習(xí)型遙控器、拷貝型遙控器,學(xué)習(xí)型遙控器具有學(xué)習(xí)功能,可以與學(xué)習(xí)型控制器自動對碼,直接使用,不需要編碼。省去了配制遙控器的麻煩,買回去自動對碼后

12、就可以直接使用。 學(xué)習(xí)型遙控器也具有拷貝功能,可以拷貝任意一款固定碼遙控器,學(xué)習(xí)型遙控器就相當(dāng)于鑰匙坯子,可以刻出任意形狀的鑰匙。只要將學(xué)習(xí)型遙控器出廠碼清除,然后拷貝原遙控器。新配的遙控器就具有原遙控器的所有功能。 學(xué)習(xí)型紅外遙控,可以分為兩類:以固定碼格式學(xué)習(xí)的遙控器和波形拷貝方式學(xué)習(xí)的遙控器。前者,需要收集不同種類的各種遙控器信號,然后進行識別比較,最后再記錄。但是,要實現(xiàn)幾乎所有的紅外線遙控器的成功復(fù)制就太難了。因為,紅外線遙控器的紅外編碼格式變化太多。不過這種學(xué)習(xí)型遙控器它對硬件的要求相對來說比較簡單,處理器工作時的頻率可以不高,存儲容量也較小,它的缺點就是對其他不同編碼的遙控器無效

13、。這種遙控器主要是把發(fā)出的信號全部進行復(fù)制,而不管遙控器的nec編碼格式是什么,存儲在eeprom等存儲器中。當(dāng)發(fā)射時,僅需將eeprom儲存器中記錄的波形長度還原成原始信號(即最初發(fā)出的信號)即可。這種學(xué)習(xí)型的遙控器對微處理器的主頻要求較高,并且對ram的要求有點大,但是優(yōu)點是其對不同種類的紅外遙控器都可以進行學(xué)習(xí)。常用的紅外遙控系統(tǒng)分發(fā)射和接收兩個部分。 發(fā)射部分的主要元件為紅外發(fā)光二極管。因為其內(nèi)部材料不同于普通發(fā)光二極管,所以在其兩端施加一定電壓時,它就會發(fā)出紅外線。 目前使用最多的的紅外發(fā)光二極管其發(fā)出940nm左右的紅外線波長,除了顏色不同外其外形與普通發(fā)光二極管相同,。 接收部分

14、的主要元件為紅外接收二極管,一般有方形和圓形兩種。在實際應(yīng)用中要給該二極管加反向偏壓,它才能正常工作。同時為了讓靈敏度比較高,在電路中應(yīng)用時是反向運用。 對于發(fā)射功率來說通常都較?。?00mw左右),因此必須要添加高增益的放大電路才能解決紅外線接收二極管接收到的信號比較微弱這一問題,最近幾年都大多應(yīng)用成品的紅外線接收頭。 1.2紅外通信技術(shù)概述1.2.1紅外概述 從光學(xué)的角度而言,紅外是頻率低于紅色光的不可見光,的無線光譜的整個頻率中占有很小一個頻率段,波長為0.75100微秒之間,其中0.753微秒之間的紅外光稱為近紅外,330微秒之間的紅外光稱為中紅外,30100微秒之間的稱為遠紅外。紅外

15、光就其性質(zhì)而言很簡單,與普通光線的頻率特性沒有很大的區(qū)別,但是,由于任何有熱量的物體均有能量產(chǎn)生,所以紅外的利用非常廣泛,而且不可取代,能否檢測紅外、能測到多少紅外或者紅外檢測的技術(shù)是否可以應(yīng)用于任何自然的或想象的場合是紅外應(yīng)用技術(shù)的關(guān)鍵。 當(dāng)今紅外技術(shù)的一個重要分支是紅外通信技術(shù)的應(yīng)用,這個應(yīng)用的發(fā)展非常迅速,尤其是紅外通信應(yīng)用于計算機設(shè)備中,近幾年的發(fā)展已經(jīng)表現(xiàn)出其非常成熟的特性。1.2.2 選擇紅外遙控的原因 無線遙控方式可分為無線電波式、聲控式、超聲波式和紅外線式。由于無線電式容易對其它電視機和無線電通訊設(shè)備造成干擾,而且,系統(tǒng)本身的抗干擾性能也很差,誤動作多,所以未能大量使用。超聲波

16、式頻帶較窄,易受噪聲干擾,系統(tǒng)抗干擾能力差以及聲控式識別正確率低,難度大而未能大量采用。紅外遙控方式是以紅外線作為載體來傳送控制信息的,同時隨著電子技術(shù)的發(fā)展,單片機的出現(xiàn),催生了數(shù)字編碼方式的紅外遙控系統(tǒng)的快速發(fā)展。所以現(xiàn)在很多無線遙控方式都采用紅外遙控方式。1.2.3紅外的簡單發(fā)射接收原理 在發(fā)射端,輸入信號經(jīng)放大后送入紅外發(fā)射管發(fā)射,在接收端,接收管收到紅外信號后,由放大器放大處理后還原成信號,這就是紅外的簡單發(fā)射接收原理。2學(xué)習(xí)型遙控器的工作原理 自學(xué)習(xí)型遙控器的功能主要分為學(xué)習(xí)和發(fā)送兩個部分。在學(xué)習(xí)的過程中,自學(xué)習(xí)型遙控器接收電路接收到用戶想學(xué)習(xí)的遙控器所發(fā)送過來的紅外遙控信號。紅外

17、遙控信號被接收電路接收到以后,經(jīng)過先放大,后解調(diào)。最后讓微處理進行處理ttl 電平信號,處理以后,使其存儲到外部存儲器里去。當(dāng)紅外信號要發(fā)射時,根據(jù)鍵盤值(掃描矩陣式鍵盤電路來獲?。?從外部存儲器還原出與按鍵值相對應(yīng)的紅外線遙控編碼,并調(diào)制到38 khz的載波信號。紅外遙控載波頻率常用的為38khz,決定于發(fā)射端編碼芯片所使用的455khz晶振。對晶振進行整數(shù)分頻要在發(fā)射端進行,其分頻的系數(shù)一般是12,所以455khz1237.9 khz38khz。其他的一些遙控系統(tǒng)也有采用36khz、40khz、56khz等。當(dāng)紅外遙控器的某個按鍵按下時,發(fā)射出一組串行二進制遙控編碼脈沖,該脈沖調(diào)制在38k

18、hz的載波上,此時,紅外接收頭對其上波形進行解碼,當(dāng)有38khz的載波時,接收頭將其解碼為低電平,沒有38khz的載波時,將其解碼為高電平,如圖1所示。低電平高電平低電平高電平38khz載波低電平低電平高電平圖1 紅外遙控器發(fā)出的調(diào)制解調(diào)信號在遙控編碼中,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進制的“1”,其波形如圖2所示: 圖2 “0”“1”編碼方式解碼后的波形脈沖如圖3所示,該脈沖由引導(dǎo)碼、系統(tǒng)系統(tǒng)識別碼、功能碼、功能反碼以及與起始碼完全相同的結(jié)束碼組成,另外,在功能

19、反碼之后是一段23ms的高電平。9.12ms4.5ms26位系統(tǒng)碼8位數(shù)據(jù)碼與反碼.23ms高電平9.12ms4.5ms 圖3 nec遙控器的碼型上述圖3中“0”和“1”組成的42位二進制碼經(jīng)38khz的載頻進行二次調(diào)制以提高發(fā)射效率,達到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。通過區(qū)分這些碼長以及編碼便可設(shè)置不同的紅外遙控器。紅外接收器負責(zé)紅外信號的放大和接收并解調(diào)出ttl電信號送至微處理器進行處理,微處理器通過識別和比較接收來的紅外遙控nec編碼的不同便可執(zhí)行不同的遙控器功能。3系統(tǒng)硬件電路設(shè)計在該電路中,硬件設(shè)計比較簡單,主要有一下幾個部分:鍵盤電路,紅外接收電

20、路,發(fā)射電路,存儲電路,學(xué)習(xí)與發(fā)射之間的切換電路,其總體框圖如圖4所示:at89c51單片機鍵盤電路發(fā)射電路紅外接收電路存儲電路學(xué)習(xí)、發(fā)射切換電路 圖4 設(shè)計總體框圖3.1鍵盤電路的設(shè)計本設(shè)計中,利用單片機的p1口擴展外接一個4*4矩陣式的鍵盤電路。1) 為了減少i/o口的占用,一般將按鍵按矩陣形式排列,如圖5示:圖5 按鍵電路圖這種鍵盤,其垂直線和水平線在交叉處每條線都不直接連通,而是通過一個按鍵使原本斷路的地方加以連接。因此,p1口就可以構(gòu)成4*4=16個按鍵,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)

21、別越明顯,由此可見,這也是用矩陣法來做鍵盤最合理的地方。2) 識別矩陣式鍵盤有無按鍵的方法:檢測鍵盤上哪個鍵被按下,在這里介紹一種方法叫“行掃描法”。行掃描法又被稱之為逐列(或行)查詢掃描法,是一種最通用的識別按鍵的方法。第一步要檢查鍵盤中是否有鍵按閉合,將行線y0-y3全部置低電平,第二步就是檢測列線,依據(jù)其電平狀態(tài)只要其中有一列的電平是低電平,則說明該矩陣式鍵盤中有鍵被閉合,而且按下的那個鍵,在4根行線與低電平線相交叉的4個按鍵之中。如果所有的列線若都是高電平,那么鍵盤中沒有按鍵閉合;第三步再判斷按鍵所閉合的地方,在有鍵按下確認后,就可以進行具體的按鍵確定閉合的步驟。其步驟是:輪流使行線調(diào)

22、為低電平狀態(tài),也就是說在調(diào)某根行線是低電平狀態(tài)時,其它的列線必須是高電平狀態(tài)。在確認某根行向線,如果是低電平狀態(tài)后,再輪流檢測各列向線,觀察它的電平信號。如果有一列向線為低電平狀態(tài),那么調(diào)成低電平的行線與該列向線交叉處所在的地方有按鍵閉合。3.2紅外接收電路紅外接收電路的主體是紅外接收芯片,我們選擇的是tsop1238, 一體化紅外接收頭tsop1238作為輸入接至單片機的p3.2口,由于tsop1238反相作用,在無紅外信號時為高電平,一旦檢測到有紅外信號,起始輸入變成低電平。根據(jù)相應(yīng)程序?qū)⒕幋a存于單片機ram中。其紅外接收電路如圖6所示: 圖6 紅外接收電路3.3紅外發(fā)射電路 紅外發(fā)射電路

23、中,可以直接用三極管控制紅外發(fā)射管,如圖7所示: 圖7 紅外發(fā)射電路當(dāng)系統(tǒng)進入發(fā)射功能時,at89c51首先掃描矩陣鍵盤以識別相應(yīng)的按鍵,然后從eeprom中取出相應(yīng)鍵值的編碼,經(jīng)p2.5口輸出,通過9013三極管驅(qū)動紅外發(fā)射管發(fā)出紅外信號,完成相應(yīng)的控制。3.4存儲電路存儲電路采用的芯片是at24c04,它支持i2c總線編程。在學(xué)習(xí)是,首先掃描鍵盤電路,根據(jù)不同的按鍵將暫存在單片機ram中的數(shù)據(jù)送入到eeprom的相應(yīng)地址單元進行存儲;同樣在發(fā)射時,根據(jù)不同的按鍵值將相應(yīng)地址單元的數(shù)據(jù)取出,在繼續(xù)編碼發(fā)射,完成控制功能。其電路如圖8所示:圖8 存儲電路3.5學(xué)習(xí)與發(fā)射之間的切換電路在本設(shè)計中

24、,特別加了一個學(xué)習(xí)與發(fā)射之間的切換電路,便于在實際使用中更加方便,當(dāng)按下p2.7時進入學(xué)習(xí)狀態(tài),當(dāng)按下p2.6時進入發(fā)射狀態(tài),其電路如圖9所示:圖9 學(xué)習(xí)與發(fā)射間的切換電路4 系統(tǒng)軟件設(shè)計軟件設(shè)計對應(yīng)于電路的硬件,該設(shè)計的軟件程序主要包括以下幾個部分:鍵盤程序,紅外解碼程序,at24c02存儲程序,紅外編碼程序,以及學(xué)習(xí)與發(fā)射的切換程序。4.1 鍵盤掃描程序根據(jù)鍵盤掃描電路原理及硬件原理圖,我們可以寫出鍵盤掃描的程序,其程序流程圖如圖10所示。4.2 紅外解碼程序當(dāng)遙控器上任何一個鍵按下時間超過36ms時,都會發(fā)射一個信號,只是這個信號有可能是高電平或者是低電平信號,程序就是在這個信號后開始解

25、碼。紅外編碼的格式,程序應(yīng)該等待9ms的起始碼和4.5ms的結(jié)果碼完成后才能讀碼。于是解碼的程序流程圖如圖11所示。程序初始化p1=0f0hp1=0f0h?依次給列線置0判斷哪個鍵按下yn圖10 流程圖(鍵盤掃描程序)延時9.12+4.74ms等待高電平之后延時0.88ms將此時p3.2上數(shù)據(jù)賦給c,并移位至a進行保存繼續(xù)對后面的數(shù)據(jù)碼及其反碼進行解碼將解碼后的數(shù)據(jù)存入3435h中26位系統(tǒng)引導(dǎo)碼傳完?將此26位系統(tǒng)識別碼存入3033h中ny圖11 流程圖(解碼程序)4.3 at2402存儲程序當(dāng)將單片機ram單元內(nèi)容存儲到eepromat24c02中,運用到一種總線技術(shù),即i2c總線技術(shù),利

26、用該技術(shù),可以十分方便的進行數(shù)據(jù)的存儲和讀取,提高單片機的工作效率。下面簡單介紹i2c總線技術(shù)以及相關(guān)特點。4.3.1 i2c總線技術(shù)原理及其工作特點i2c(interintegrated circuit)總線是一種由philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。i2c總線產(chǎn)生于在80年代,最初為視頻和音頻設(shè)備開發(fā),如今主要在服務(wù)器管理中使用,其中包括單個組件狀態(tài)的通信。下面對其特點及應(yīng)用作相關(guān)介紹。1) i2c總線特點 i2c總線最主要的優(yōu)點是其簡單性和有效性。由于接口直接在組件之上,因此i2c總線占用的空間非常小,減少了電路板的空間和芯片管腳的數(shù)量,降低了互聯(lián)成本。

27、總線的長度可高達25英尺,并且能夠以10kbps的最大傳輸速率支持40個組件。i2c總線的另一個優(yōu)點是,它支持多主控(multimastering), 其中任何能夠進行發(fā)送和接收的設(shè)備都可以成為主總線。一個主控能夠控制信號的傳輸和時鐘頻率。當(dāng)然,在任何時間點上只能有一個主控。 2) i2c總線的基本工作原理 i2c總線是由數(shù)據(jù)線sda和時鐘scl構(gòu)成的串行總線,可發(fā)送和接收數(shù)據(jù)。在cpu與被控ic之間、ic與ic之間進行雙向傳送,最高傳送速率100kbps。各種被控制電路均并聯(lián)在這條總線上,但就像電話機一樣只有撥通各自的號碼才能工作,所以每個電路和模塊都有唯一的地址,在信息的傳輸過程中,i2c

28、總線上并接的每一模塊電路既是主控器(或被控器),又是發(fā)送器(或接收器),這取決于它所要完成的功能。cpu發(fā)出的控制信號分為地址碼和控制量兩部分,地址碼用來選址,即接通需要控制的電路,確定控制的種類;控制量決定該調(diào)整的類別及需要調(diào)整的量。這樣,各控制電路雖然掛在同一條總線上,卻彼此獨立,互不相關(guān)。 i2c總線在傳送數(shù)據(jù)過程中共有三種類型信號, 它們分別是:開始信號、結(jié)束信號和應(yīng)答信號。 開始信號:scl為高電平時, sda由高電平向低電平跳變,開始傳送數(shù)據(jù)。 結(jié)束信號:scl為高電平時, sda由低電平向高電平跳變,結(jié)束傳送數(shù)據(jù)。 應(yīng)答信號:接收數(shù)據(jù)的ic在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的ic

29、發(fā)出低電平信號,說明已經(jīng)收到信號。受控單元接受到cpu發(fā)出的信號,會發(fā)出應(yīng)答的信號給cpu。 3) 總線的操作 i2c有主/從兩個方向的通訊功能。接收器接收發(fā)出的數(shù)據(jù),發(fā)送器發(fā)送數(shù)據(jù)使其發(fā)送到到總線上,。從器件和主器件都可以工作于發(fā)送和接收狀態(tài)。 總線必須讓主器件控制,總線的傳輸方向由主器件產(chǎn)生串行時鐘(scl)控制,并產(chǎn)生停止或起始的條件。當(dāng)scl若是高電平狀態(tài)的時候,停止和起始條件是用sda的狀態(tài)改變來表示,只有在scl是低電平狀態(tài)的時候才能改變sda的信號狀態(tài)。參見圖12。 圖12 數(shù)據(jù)傳送順序(串行總線上的)3.1) 控制字節(jié) 控制字節(jié)的器件必須是在條件起始之后,其中的高四位作為識別符

30、之類的東西(不同類型的芯片有著不一樣的含義,但是存儲單元一般都應(yīng)該是1010),接著的低三位是片選,最后一低位是讀寫位,如果是0時是寫操作,反之為1時為讀操作。如圖13所示。圖13 控制字節(jié)配置3.2) 寫操作 寫操作分為頁面寫和字節(jié)寫兩種操作。對于頁面寫,如果芯片的一次裝載的字節(jié)不同,那么會有所不同。關(guān)于字節(jié)寫的地址、數(shù)據(jù)傳送的時序和應(yīng)答傳送的時序參見圖14。圖14 字節(jié)寫3.3) 讀操作 讀操作有三種基本操作:順序讀、當(dāng)前地址讀和隨機讀。圖15僅給出的是當(dāng)前地址讀的時序圖。應(yīng)當(dāng)關(guān)注的地方是:讀操作在第9個時鐘周期時,不是“不關(guān)心”。為了結(jié)束讀操作,主機必須在第9個時鐘周期內(nèi)保持sda為高電

31、平狀態(tài)、然后發(fā)出停止條件或者在第9個周期間發(fā)出停止條件。圖15 當(dāng)前地址讀4.3.2 at24co2存儲程序通過以上的介紹,我們就可以寫出相應(yīng)存儲電路的程序,程序主要流程圖如圖16所示: 根據(jù)鍵值進行數(shù)據(jù)傳送,并存入相應(yīng)單元程序初始化鍵盤掃描程序起始條件滿足?yn 圖16 存儲程序流程圖在此,附加上數(shù)據(jù)傳送單字節(jié)的程序,如下所示:/發(fā)送單字節(jié)子程序bits: mov r0,#08hloop: clr scl rlc a mov sda,c nop setb scl call delayi2c djnz r0,loop ;循環(huán)8次送8個bit clr scl; call delayi2c set

32、b sclrep: mov c,sda jc rep ;判應(yīng)答到否,未到則等待 clr scl ret4.4 紅外編碼程序調(diào)用按鍵掃描程序,根據(jù)按下的鍵盤值從eeprom中取出所存入的數(shù)據(jù),并且將其傳送到單片機的ram中,然后根據(jù)ram中的數(shù)據(jù)發(fā)出高低脈沖,即“0”,“1”的編碼方式,還原出解碼前的脈沖信號,并利用定時器t0在p2.5口產(chǎn)生38khz的方波,加載到編碼輸出口上,以便于發(fā)射。4.4.1 讀取eeprom數(shù)據(jù)到單片機ram中編碼首先要將學(xué)習(xí)時存儲的數(shù)據(jù)讀取到單片機片內(nèi)ram中,其程序流程圖如圖17所示:調(diào)用發(fā)射子程序?qū)⑵渲械臄?shù)據(jù)傳送到單片機的4045h單元根據(jù)鍵值從eeprom取出

33、地址及其里面的數(shù)據(jù)調(diào)用鍵盤掃描程序圖17 讀取eeprom程序流程圖由此,寫出讀eeprom的程序如下:/讀串行e2prom子程序i2cread:i2cread: mov r1,ramaddress setb scl setb sda clr sda ;發(fā)開始信號 mov a,#machinead ;送器件地址 call bits ;調(diào)發(fā)送單字節(jié)子程序 mov a,i2caddress ;送片內(nèi)字節(jié)地址 call bits setb scl setb sda clr sda ;再發(fā)開始信號 mov a, #machinead setb acc.0 ;發(fā)讀命令 call bits call bi

34、tr mov r1,a clr sda call delayi2c setb scl call delayi2c setb sda ;送停止信號 ret /接受單字節(jié)子程序:bitr: mov r0,#08hloop2: setb scl call delayi2c mov c,sda rlc a clr scl call delayi2c djnz r0,loop2 setok: call delayi2c setb scl call delayi2c clr scl call delayi2c setb sda ;應(yīng)答畢,sda置1 ret 4.4.2 紅外編碼發(fā)射程序當(dāng)eeprom的數(shù)據(jù)

35、傳入到單片機內(nèi)的ram中后,根據(jù)ram中的內(nèi)容,還原出紅外信號脈沖,其程序流程圖如圖18所示:進入發(fā)射狀態(tài)調(diào)用鍵盤掃描程序,根據(jù)鍵值從eeprom相應(yīng)單元取出數(shù)據(jù)將4043h中字節(jié)的前26位依次傳送到c先后發(fā)送9.12ms的低電平和4.5ms的高電平c=1?調(diào)用“1”碼發(fā)射波形調(diào)用“0”碼發(fā)射波形發(fā)射完畢,回到主程序26位傳送完?調(diào)用“0”碼發(fā)射波形調(diào)用“1”碼發(fā)射波形c=1?yn將44和45h中的數(shù)據(jù)依次傳送到c中ynny圖18 紅外編碼發(fā)射程序流程圖4.4.3 38khz方波程序在設(shè)計中,利用定時器0產(chǎn)生38khz的方波,以便提高發(fā)射效率,其程序如下:38khz:org 0000hljmp

36、 startorg 000bhljmp t0intorg 0040hstart:mov sp,#60h mov tmod,#00h mov th0,#0f7h mov tl0,#19h setb tr0 setb ea setb et0 sjmp $toint: mov th0,#0f7h mov tl0,#19h cpl p2.5 reti4.5 學(xué)習(xí)與發(fā)射的切換程序為方便遙控器的使用,特別加入了學(xué)習(xí)與發(fā)射的切換電路,以便能更好的運用,其程序流程圖如圖19所示:對應(yīng)程序如下:loop1:jb p2.7,sendlcall d088msjb p2.7,sendljmp studysend:jb

37、 p2.6,loop1lcall d088msjb p2.6,loop1ljmp mainsendp2.7按下?程序初始化進入學(xué)習(xí)子程序p2.6按下?進入發(fā)射子程序,發(fā)射完畢。nyny學(xué)習(xí)完畢? 圖19 學(xué)習(xí)與發(fā)射的切換程序流程圖結(jié)論這種自學(xué)習(xí)型紅外遙控器能對nec碼的信號進行學(xué)習(xí), 然后對這些數(shù)據(jù)識別以及存儲, 并能對紅外信號進行解碼和讀碼。能很好地控制智能家居,讓人們的生活變得更舒適和方便。其硬件電路很簡單,軟件功能也挺完善,性價比也高。缺點是紅外編碼nec是特定的,并不能對所有的遙控器進行控制,給人們的生活帶來諸多不便。致 謝 經(jīng)過兩個多月來的艱苦努力,我的畢業(yè)論文終于取得了階段性的進展

38、,雖然我們未能最后將此系統(tǒng)做為產(chǎn)品,但我們自覺已在這兩個多月之內(nèi)盡了自己的最大的努力,去鉆研這個系統(tǒng),我接觸了真正設(shè)計一個電子產(chǎn)品的全部過程,學(xué)到了很多實實在在的學(xué)問。經(jīng)歷不知從何入手的無助,不知程序為什么出錯的苦惱,初現(xiàn)光芒的竊喜還有最后攻破難關(guān)的歡呼?,F(xiàn)在回頭想想,真的是很有意義。在周妍老師的指導(dǎo)下一步步的完成了這個設(shè)計,在這里非常感謝周研老師的教導(dǎo),如果沒有她的幫助我現(xiàn)在估計還不知道從何入手這個設(shè)計,關(guān)于其中的很多內(nèi)容都是在周老師的資料幫助下才能夠完成。參考文獻1 李湘閩,唐宏,葛繼. 學(xué)習(xí)型紅外遙控器.紅外.2004,11(8):33362 梅麗鳳,王艷秋,張軍等.單片機原理及接口技術(shù)

39、.北京:清華大學(xué)出版社,北京交通大學(xué)出版社,2004. 243 戴峻峰,付麗輝. 多功能紅外線遙控器的設(shè)計. 傳感器世界.2002,8(12):16184 李洪明.漫談紅外遙控.電子世界.2000年01期總第244期.535 嚴后選,孫健國等. 無線紅外智能遙控器的設(shè)計. 測控技術(shù).2003.22(3):54566 蘇長贊.紅外線與超聲波遙控.北京:人民郵電出版社.1995.64687 李光飛,樓然苗,胡佳文等. 單片機課程設(shè)計實例指導(dǎo).北京:北京航空航天出版社.2004,1681708 蘇凱,劉國慶,陳國平等 .mcs-51系列單片機原理與設(shè)計.冶金工業(yè)出版9 張愛全.紅外線遙控的基本原理和

40、應(yīng)用范圍.山西電子技術(shù).2003 6(12).40-4110 楊恢先,王子菡,楊穗等. 一種基于單片機的紅外遙控軟件解碼方法. 自動化與儀器儀表.2004,22(2):161811 曲泊濤.微型計算機系統(tǒng)原理.大連:大連理工大學(xué)出版社1999,4244 12 楊光友,朱宏輝等.單片微型計算機原理及接口技術(shù).北京:中國水利水電出版社.2002,18819413 胡漢才.單片機原理及系統(tǒng)設(shè)計.北京:清華大學(xué)出版社.2002,25425814 于明鑫,馮文濤.mcs-51系列單片機存儲容量擴展的軟硬件設(shè)計.遼寧師專學(xué)報,2004.10,24:233515 楊緒東,劉行景,楊興瑤等.實用電子電路精選.

41、化學(xué)工業(yè)出版社. 2001,4. 129130 16 蔡睿研.紅外線遙控集成電路pt2243原理及應(yīng)用. 國外電子元器件. 2003.18(9):525417 曾哲昭. 紅外遙控電子密碼鎖應(yīng)用研究. 國外電子元器件. 2002.11(2):7818 裴彥純,陳志超.基于單片機系統(tǒng)的紅外遙控器應(yīng)用.現(xiàn)代電子技術(shù).2004,4(17),1517 19 劉光斌,劉冬,姚志成. 單片機系統(tǒng)實用抗干擾技術(shù). 北京:人民郵電出版社 2004, 13513820 丁元杰. 單片機原理及應(yīng)用. 北京:機械工業(yè)出版社. 2003, 717521 鮑曉宇,黃松嶺,劉國權(quán).pld器件在紅外遙控解碼中的應(yīng)用.電子技術(shù)

42、應(yīng)用.2000, 8(19).676922 童厚健,吳青,孫光明. 一種紅外遙控系統(tǒng)的硬件和軟件實現(xiàn). 自動化技術(shù)與應(yīng)用. 2004,6(14).141823 angelo martinez,eddie tunstel,mo jamshidi.fuzzy logic based collisionfor a mobile robot.robotica colume,1994,12,521-52724 johan borenstein,yonamkoren.histogramic in-motion mapping for mobile robot obstacle avoidance.ieee

43、 transactions on robotics and automation,2000,7:425 chang p.shhjs.anal chim.acta,1998,360(1-3):6126 doica adrian ,schreier,franz ,hess,michael,iterayively regularized gauss-newton method for atmospheric remote sensingj,computer physics communications,2002,148,21422627 carl j.weisman.the essential gu

44、ide to rf and wireless.publishing house of electronics industry.2003,6. 227229附錄a:硬件總原理圖附錄b: 硬件實物圖附錄c:源程序zhengma equ 34hfangma equ 35hmachinead equ 0a0h ;i2c總線器件地址i2caddress equ 20h ;將存入i2c總線的內(nèi)部地址單元ramaddress equ 21h ;預(yù)送i2c保存數(shù)據(jù)的ram地址sda equ p3.0 ; i2c總線的數(shù)據(jù)口scl equ p3.1 ; i2c總線的時鐘口org 0000hljmp selec

45、torg 0003hljmp t0inselect: jb p2.7,sendlcall d088msjb p2.7,sendljmp studysend:jb p2.6,loop1lcall d088msjb p2.6,selectljmp readstudy: mov r0,#30hsetb easetb et0setb ex0lcall d8sajmp $t0in:clr eamov r7,#10loop1:lcall d088msjb p3.2,exitdjnz r7,loop1jnb p3.2,$lcall d474msmov r1,#0mov r2,#4loop2:mov r3,#

46、8jnb p3.2,$lcall d088msloop3:inc r1mov a,r1clr csubb a,#26jnc l1mov c,p3.2jnc loop4lcall d1msloop4:pop accrlc apush accdjnz r3,loop3mov r0,ainc r0djnz r2,loop2mov r6,#2loop5:mov r3,#8loop6:jnb p3.2,$lcall d088msmov c,p3.2jnc loop7lcall d1msloop7:rlc adjnz r3,loop6mov zhengma,aloop8:mov r3,#8loop9:jn

47、b p3.2,$lcall d088msmov c,p3.2jnc loop10lcall d1msloop10:rlc adjnz r3,loop9mov fangma,amov a,35hcpl acjne a,34h,exitljmp storeexit:setb eaajmp $d8s: mov r4,#200d1:mov r5,#200d2: mov r6,#98 djnz r6,$ djnz r5,d2 djnz r4,d1 ret d088ms:mov r4,#20d3: mov r5,#20 djnz r5,$ djnz r4,d3 retd474ms:mov r4,#10d4

48、: mov r5,#235 djnz r5,$ djnz r4,d4 retd1ms: mov r4,#2d5: mov r5,#248 djnz r5,$ djnz r4,d5 retstore: mov machinead,#10100000b ajmp start ;程序開始 org 0030hstart: mov sp,#60h mov r0,#30hmain:lcall key jnz m2 mov r6,#6mov r2,#0m1:mov ramaddress,r0 inc r0mov i2caddress,r2 ;存入i2c中的地址call i2cwriteinc r2djnz r6,m1 ljmp

溫馨提示

  • 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

提交評論