紅外發(fā)射單片機(jī)(原理與設(shè)計(jì)程序)_第1頁(yè)
紅外發(fā)射單片機(jī)(原理與設(shè)計(jì)程序)_第2頁(yè)
紅外發(fā)射單片機(jī)(原理與設(shè)計(jì)程序)_第3頁(yè)
紅外發(fā)射單片機(jī)(原理與設(shè)計(jì)程序)_第4頁(yè)
紅外發(fā)射單片機(jī)(原理與設(shè)計(jì)程序)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

word文檔可自由復(fù)制編輯用AT89S51單片機(jī)制作紅外電視遙控器一般紅外電視遙控器的輸出都是用編碼后串行數(shù)據(jù)對(duì)38~40kHz的方波進(jìn)行脈沖幅度調(diào)制而產(chǎn)生的。

當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:

采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”。

上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38kHz的載頻進(jìn)行二次調(diào)制,然后再通過(guò)紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。一般電視遙控器的遙控編碼是連續(xù)的32位二進(jìn)制碼組,其中前16位為用戶識(shí)別碼,能區(qū)別不同的紅外遙控設(shè)備,防止不同機(jī)種遙控碼互相干擾。后16位為8位的操作碼和8位的操作反碼,用于核對(duì)數(shù)據(jù)是否接收準(zhǔn)確。

根據(jù)紅外編碼的格式,發(fā)送數(shù)據(jù)前需要先發(fā)送9ms的起始碼和4.5ms的結(jié)果碼。

遙控串行數(shù)據(jù)編碼波形如下圖所示:接收方一般使用TL0038一體化紅外線接收器進(jìn)行接收解碼,當(dāng)TL0038接收到38kHz紅外信號(hào)時(shí),輸出端輸出低電平,否則為高電平。所以紅外遙控器發(fā)送紅外信號(hào)時(shí),參考上面遙控串行數(shù)據(jù)編碼波形圖,在低電平處發(fā)送38kHz紅外信號(hào),高電平處則不發(fā)送紅外信號(hào)。單片機(jī)紅外電視遙控器電路圖如下:

C51程序代碼:#include<reg52.h>staticbitOP;

//紅外發(fā)射管的亮滅

staticunsignedintcount;

//延時(shí)計(jì)數(shù)器

staticunsignedintendcount;//終止延時(shí)計(jì)數(shù)

staticunsignedcharflag;

//紅外發(fā)送標(biāo)志

sbitP3_2=P3^2; //紅外發(fā)送端chariraddr1;

//十六位地址的第一個(gè)字節(jié)

chariraddr2;

//十六位地址的第二個(gè)字節(jié)voidSendIRdata(charp_irdata);

voiddelay();voidmain(void)

{

count=0;

flag=0;

OP=0;

P3_2=0;

EA=1;//允許CPU中斷

TMOD=0x11;//設(shè)定時(shí)器0和1為16位模式1

ET0=1;//定時(shí)器0中斷允許

TH0=0xFF;

TL0=0xE6;//設(shè)定時(shí)值0為38K也就是每隔26us中斷一次

TR0=1;//開始計(jì)數(shù)

iraddr1=3;

iraddr2=252;

do{

delay();

SendIRdata(12);

}while(1);

}//定時(shí)器0中斷處理

voidtimeint(void)interrupt1

{

TH0=0xFF;

TL0=0xE6;//設(shè)定時(shí)值為38K也就是每隔26us中斷一次

count++;

if(flag==1)

{

OP=~OP;

}

else

{

OP=0;

}

P3_2=OP;

}

voidSendIRdata(charp_irdata)

{

inti;

charirdata=p_irdata;

//發(fā)送9ms的起始碼

endcount=223;

flag=1;

count=0;

do{}while(count<endcount);

//發(fā)送4.5ms的結(jié)果碼

endcount=117

flag=0;

count=0;

do{}while(count<endcount);

//發(fā)送十六位地址的前八位

irdata=iraddr1;

for(i=0;i<8;i++)

{

//先發(fā)送0.56ms的38KHZ紅外波(即編碼中0.56ms的低電平)

endcount=10;

flag=1;

count=0;

do{}while(count<endcount);//停止發(fā)送紅外信號(hào)(即編碼中的高電平)

if(irdata-(irdata/2)*2)

//判斷二進(jìn)制數(shù)個(gè)位為1還是0

{

endcount=41;

//1為寬的高電平

}

else

{

endcount=15;

//0為窄的高電平

}

flag=0;

count=0;

do{}while(count<endcount);

irdata=irdata>>1;

}

//發(fā)送十六位地址的后八位

irdata=iraddr2;

for(i=0;i<8;i++)

{

endcount=10;

flag=1;

count=0;

do{}while(count<endcount);

if(irdata-(irdata/2)*2)

{

endcount=41;

}

else

{

endcount=15;

}

flag=0;

count=0;

do{}while(count<endcount);

irdata=irdata>>1;

}

//發(fā)送八位數(shù)據(jù)

irdata=p_irdata;

for(i=0;i<8;i++)

{

endcount=10;

flag=1;

count=0;

do{}while(count<endcount);

if(irdata-(irdata/2)*2)

{

endcount=41;

}

else

{

endcount=15;

}

flag=0;

count=0;

do{}while(count<endcount);

irdata=irdata>>1;

}

//發(fā)送八位數(shù)據(jù)的反碼

irdata=~p_irdata;

for(i=0;i<8;i++)

{

endcount=10;

flag=1;

count=0;

do{}while(count<endcount);

if(irdata-(irdata/2)*2)

{

endcount=41;

}

else

{

endcount=15;

}

flag=0;

count=0;

do{}while(count<endcount);

irdata=irdata>>1;

}

endcount=10;

flag=1;

count=0;

do{}while(count<endcount);

flag=0;

}voiddelay()

{

inti,j;

for(i=0;i<400;i++)

{

for(j=0;j<100;j++)

{

}

}

}制作的實(shí)物如下圖所示:

1、引言紅外通信是目前比較常用的一種無(wú)線數(shù)據(jù)傳輸手段,其具有無(wú)污染、信息傳輸穩(wěn)定、信息安全性高以及安裝使用方便等優(yōu)點(diǎn),并且可以在很多場(chǎng)合應(yīng)用,如家電產(chǎn)品,工業(yè)控制、娛樂(lè)設(shè)施等領(lǐng)域。紅外通信是利用950nm近紅外波段的紅外線作為傳遞信息的載體,通過(guò)紅外光在空中的傳播來(lái)傳遞信息,由紅外發(fā)射器和接收器實(shí)現(xiàn)。發(fā)射端將二進(jìn)制數(shù)字信號(hào)調(diào)制成某一頻率的脈沖序列,經(jīng)電光轉(zhuǎn)換電路,驅(qū)動(dòng)紅外發(fā)射管以光脈沖的形式發(fā)送到空中。接收端將接收到的光脈沖轉(zhuǎn)換成電信號(hào),再經(jīng)解調(diào)和譯碼后恢復(fù)出原二進(jìn)制數(shù)字信號(hào)。本文設(shè)計(jì)了一種基于單片機(jī)PIC18F248的主從式紅外通信系統(tǒng),主要設(shè)計(jì)了紅外接口電路以及主機(jī)和從機(jī)通信軟件流程。2、系統(tǒng)硬件電路設(shè)計(jì)在主從式紅外通信系統(tǒng)中,主機(jī)及從機(jī)的紅外發(fā)射電路相同,紅外線的載波頻率都為38KHz,在同一時(shí)間內(nèi),可以是主機(jī)發(fā)射,從機(jī)接收;或者從機(jī)發(fā)射,主機(jī)接收。2.1紅外發(fā)射電路設(shè)計(jì)紅外發(fā)射器電路主要由單片機(jī),驅(qū)動(dòng)管Q1和Q2、紅外發(fā)射管D1等組成,電路如下:紅外發(fā)射器工作原理為:?jiǎn)纹瑱C(jī)通過(guò)I/O端口控制整個(gè)發(fā)射過(guò)程。其中,紅外載波信號(hào)采用頻率為38KHz的方波,由PIC18F248的*模塊的PWM功能實(shí)現(xiàn),并由*1端口傳輸?shù)饺龢O管T2的基極。待發(fā)送到數(shù)據(jù)由單片機(jī)的TX端口以串行方式送出并驅(qū)動(dòng)三極管Q1,當(dāng)TX為“0”時(shí)使Q1管導(dǎo)通,通過(guò)Q2管采用脈寬調(diào)制(PWM)方式調(diào)制成38KHz的載波信號(hào),并由紅外發(fā)射管D1以光脈沖的形式向外發(fā)送。當(dāng)TX為“1”時(shí)使Q1管截止,Q2管也截止,連接Q1和Q2的兩個(gè)上拉電阻R1和R3把三極管的基極拉成高電平,分別保證兩個(gè)三極管可靠截止,紅外發(fā)射管D1不發(fā)射紅外光。因此通過(guò)待發(fā)送數(shù)據(jù)的“0”或“1”就可控制調(diào)制后兩個(gè)脈沖串之間的時(shí)間間隔,即調(diào)制PWM的占空比。比如若傳送數(shù)據(jù)的波特率為1200bps,則每個(gè)數(shù)位“0”就對(duì)應(yīng)32個(gè)載波脈沖調(diào)制信號(hào)。紅外發(fā)射管D1采用TSAL6200紅外發(fā)射二極管,其實(shí)現(xiàn)將電信號(hào)轉(zhuǎn)變成一定頻率的紅外光信號(hào),它發(fā)射一種時(shí)斷時(shí)續(xù)的高頻紅外脈沖信號(hào),由于脈沖串時(shí)間長(zhǎng)度是恒定的,根據(jù)脈

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論