紅外遙控器信號接收和顯示的設(shè)計資料_第1頁
紅外遙控器信號接收和顯示的設(shè)計資料_第2頁
紅外遙控器信號接收和顯示的設(shè)計資料_第3頁
紅外遙控器信號接收和顯示的設(shè)計資料_第4頁
紅外遙控器信號接收和顯示的設(shè)計資料_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 題目:紅外遙控收發(fā)系統(tǒng)的設(shè)計與實(shí)現(xiàn) 紅外遙控收發(fā)系統(tǒng)的設(shè)計與實(shí)現(xiàn)摘要:該紅外遙控收發(fā)系統(tǒng)的設(shè)計與實(shí)現(xiàn)電路以BA5104紅外發(fā)射、一體化紅外接收器、單片機(jī)和為核心技術(shù),具體由單片機(jī)最小系統(tǒng)、單片機(jī)與PC機(jī)間的通信模塊、紅外接收模塊、數(shù)碼管顯示模塊組成。在本系統(tǒng)的設(shè)計中,利用紅外接收器接收BA5104遙控發(fā)出的控制信號,并通過軟件編程將接收信號存儲、處理、比較,并將數(shù)據(jù)處理送至數(shù)碼管顯示模塊。總之,通過對電路的設(shè)計和實(shí)際調(diào)試,可以實(shí)現(xiàn)紅外遙控器信號的接收與顯示功能。根據(jù)比較接收信號的不同,在數(shù)碼管顯示電路及流水燈電路上顯示相應(yīng)的按鍵數(shù)字,并可實(shí)現(xiàn)單片機(jī)及PC機(jī)之間的通信功能,使得控制信號能在PC

2、機(jī)上顯示。設(shè)計任務(wù)結(jié)合BA5104發(fā)射、單片機(jī)最小電路和紅外線接收接口電路共同設(shè)計一個基于單片機(jī)的紅外遙控信號發(fā)射接收與轉(zhuǎn)發(fā)系統(tǒng),使用數(shù)碼管顯示信號的接收結(jié)果。一、 系統(tǒng)方案方案:此方案中,采用BA5104發(fā)射作為控制信號發(fā)出裝置,一體化紅外接收裝置接收到遙控器發(fā)出的紅外線控制信號,然后把這個信號轉(zhuǎn)換成電信號,傳到單片機(jī)中,利用單片機(jī)對這個信號進(jìn)行解碼,解碼完成后查表確定是按鍵數(shù)值信號或控制音量、頻道等信號,啟動子程序,進(jìn)行相應(yīng)的顯示數(shù)字等功能。然后查詢,重復(fù)上述流程。設(shè)計原理圖如圖1所示。方案設(shè)計原理圖1采用方案的具體思路如下:BA5104為控制信號的發(fā)出裝置,用一體化紅外接收裝置HS003

3、8接收遙控器發(fā)出的紅外線控制信號,并與單片機(jī)相連實(shí)現(xiàn)數(shù)據(jù)傳輸,將信號解碼成二進(jìn)制編碼,并按位進(jìn)行存儲,通過單片機(jī)編程將接收到的數(shù)字編碼在數(shù)碼管上顯示出來,編程比較中接收到的信號在原本顯示數(shù)值上加1或減1的功能。1、 確定總體系統(tǒng)框圖如下:總體系統(tǒng)框圖2二 系統(tǒng)各單元電路的設(shè)計(1)基于BA5104的發(fā)射電路圖 發(fā)射原理圖3(2)一體化紅外接收電路一體化的紅外接收裝置將遙控信號的接收、放大、檢波、整形集于一身,并且輸出可以讓單片機(jī)識別的TTL 信號,這樣大大簡化了接收電路的復(fù)雜程度和電路的設(shè)計工作,方便使用。在本系統(tǒng)中我們采用紅外一體化接收頭HS0038。HS0038 黑色環(huán)氧樹脂封裝,不受日光

4、、熒光燈等光源干擾,內(nèi)附磁屏蔽,功耗低,靈敏度高。在用小功率發(fā)射管發(fā)射信號情況下,其接收距離可達(dá)35 m。它能與TTL、COMS 電路兼容。HS0038 為直立側(cè)面收光型。它接收紅外信號頻率為38 kHz,周期約26 s,同時能對信號進(jìn)行放大、檢波、整形,得到TTL 電平的編碼信號。三個管腳分別是地、5 V 電源、解調(diào)信號輸出端。解調(diào)信號輸出端與單片機(jī)相連。 一體化接收原理圖4 (3)單片機(jī)最小系統(tǒng)單片機(jī)的主要功能是負(fù)責(zé)整個系統(tǒng)的控制及數(shù)據(jù)的存儲和處理,因此在設(shè)計本系統(tǒng)時選用STC89C51。其中,系統(tǒng)的時鐘電路設(shè)計是采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。引腳XTAL1和XTAL2分別是振

5、蕩器的高增益反相放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個自激振蕩器。外接晶體諧振器以及電容C和C構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。 單片機(jī)最小系統(tǒng)電路圖5(4)通信模塊的設(shè)計通信模塊選用 MAX232芯片。MAX232是MAXIM公司專門為PC視RS-232標(biāo)準(zhǔn)串口設(shè)計的電平轉(zhuǎn)換電路。該芯片與TTLCOMS電平兼容,片內(nèi)有2個發(fā)送器,2個接收器,且使用+5 V單電源供電,使用非常方便。現(xiàn)從MAX232芯片中兩路發(fā)送接收中任選一路作為接口,其發(fā)送接收的引腳一一對應(yīng)。本系統(tǒng)中使T2in 接單片機(jī)的發(fā)送端TXD,同時R2out 接單片機(jī)的RXD端 ,1、3

6、腳和4、5腳接104瓷片電容,其接口電路如圖5所示。圖5、通信模塊電路圖(5)數(shù)碼管顯示電路設(shè)計數(shù)碼管顯示電路采用8個LED燈將接收碼顯示,具體電路如圖。 圖7、數(shù)碼管顯示電路電路圖三 程序設(shè)計/*關(guān)于BA5104紅外編碼51單片機(jī)解碼程序*/*2013-12-11*/*MCU-STC89C52*/*晶振12MHZ*/*一體化接收頭接收數(shù)據(jù)與發(fā)射數(shù)據(jù)相反,在電路中加一反相器*/#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit IR_Data =P21;/ 定義一體化接收頭數(shù)據(jù)位uint

7、 IR3;/用于裝取一次接受的多幀數(shù)據(jù)uchar K_Data;/裝取正確鍵值uint mscount;void init() IR_Data=1; /釋放數(shù)據(jù)線 TMOD=0x10; /設(shè)置定時器1 TH1=(65536-100)/256; /裝初值 TL1=(65536-100)%256; / ET1=1;/開定時器1中斷 EA=1;/開總中斷 mscount=0;void delay_0_1ms(uint endcount) TR1=1; /開定時器1,開始計時 while(mscount<endcount);/計時到endcount退出while循環(huán) TR1=0; /關(guān)計數(shù)器 m

8、scount=0; /mscount歸0void time1() interrupt 3 using 3 TH1=(65536-100)/256; /0.1ms產(chǎn)生一次中斷,mscount加一 TL1=(65536-100)%256; / 用定時寫延時函數(shù),時間較準(zhǔn)確且易控制 mscount+;uchar IR_Receive_data() uint date;uchar i,j,k;for(k=0;k<32;k+) delay_0_1ms(10); if(IR_Data=1) /若在32ms內(nèi)出現(xiàn)高電平則認(rèn)為是干擾視為無效信號,退出 k=32; break; else if(k=31)

9、 /若低電平持續(xù)了32ms while(IR_Data=0);/等待低電平持續(xù)完 for(i=0;i<3;i+) /對一幀數(shù)據(jù)讀三次進(jìn)行比較確保準(zhǔn)確性 for(j=1;j<=12;j+)/讀取12位數(shù)據(jù) while(IR_Data=0);/等待上升沿 delay_0_1ms(8); /0值高電平時間為0.4ms,1值高電平時間為 1.2ms,取中間值0.8ms, if(IR_Data=1) /若0.8ms后仍為高電平則認(rèn)為接收到為1 delay_0_1ms(8); /等待一位數(shù)據(jù)傳輸完畢 date=date|0x8000; /使數(shù)據(jù)最高位為1 if(j<12) /在12位數(shù)據(jù)

10、未接收完時 date=date>>1; /將數(shù)據(jù)向右移一位(每次接收數(shù)據(jù)最高位) else /若0.8ms后為低電平,則認(rèn)為接收的為0; delay_0_1ms(8); /等待一位數(shù)據(jù)傳輸完畢 if(j<12) / date=date>>1; /右移一位最高位自動補(bǔ)0 delay_0_1ms(64); /跳過4位間隔位IRi=date>>4; /取數(shù)據(jù)低12為 date=0; if(IR0=IR1) && (IR0=IR2) && (IR1=IR2) / K_Data=(IR0%256)&0x7f;/取低7位鍵值

11、 return (K_Data);void main() uchar i,a; init(); while(1) i=IR_Receive_data();switch(i) case 0x01: a=1;break; /得到的a值即可認(rèn)為是鍵碼值,后面 case 0x02: a=2;break; /可以根據(jù)a的值進(jìn)行其他操作。 case 0x04: a=3;break; / case 0x08: a=4;break; / case 0x10: a=5;break; case 0x20: a=6;break; case 0x43: a=7;break; case 0x46: a=8;break; default : break; 參考文獻(xiàn)1. 龔運(yùn)新 單片機(jī)C語言開發(fā)技術(shù) 北京-清華大學(xué)出版社 20062.

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論