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

下載本文檔

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

文檔簡介

1、用AT89S51單片機(jī)制作紅外電視遙控器一般紅外電視遙控器的輸出都是用編碼后串行數(shù)據(jù)對3840kHz的方波進(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)制,然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射。一般電視遙控器的遙控編碼是連續(xù)的32位二進(jìn)制碼組,其中前16位為用

2、戶識別碼,能區(qū)別不同的紅外遙控設(shè)備,防止不同機(jī)種遙控碼互相干擾。后16位為8位的操作碼和8位的操作反碼,用于核對數(shù)據(jù)是否接收準(zhǔn)確。根據(jù)紅外編碼的格式,發(fā)送數(shù)據(jù)前需要先發(fā)送9ms的起始碼和4.5ms的結(jié)果碼。遙控串行數(shù)據(jù)編碼波形如下圖所示:接收方一般使用TL0038一體化紅外線接收器進(jìn)行接收解碼,當(dāng)TL0038接收到38kHz紅外信號時,輸出端輸出低電平,否則為高電平。所以紅外遙控器發(fā)送紅外信號時,參考上面遙控串行數(shù)據(jù)編碼波形圖,在低電平處發(fā)送38kHz紅外信號,高電平處則不發(fā)送紅外信號。單片機(jī)紅外電視遙控器電路圖如下: C51程序代碼:#include <AT89X51.h&g

3、t; static bit OP;        /紅外發(fā)射管的亮滅static unsigned int count;       /延時計(jì)數(shù)器static unsigned int endcount; /終止延時計(jì)數(shù)static unsigned char flag;      /紅外發(fā)送標(biāo)志char iraddr1;  /十六位地址的第一個字節(jié)char iraddr2;  /十六位地址的第二

4、個字節(jié)void SendIRdata(char p_irdata);void delay();void main(void)   count = 0;  flag = 0;  OP = 0;  P3_4 = 0;  EA = 1; /允許CPU中斷   TMOD = 0x11; /設(shè)定時器0和1為16位模式1   ET0 = 1; /定時器0中斷允許   TH0 = 0xFF;   TL0 = 0xE6; /設(shè)定時值0為38K 也就是每隔26us中斷一次    TR0 = 1

5、;/開始計(jì)數(shù)  iraddr1=3;  iraddr2=252;  do      delay();      SendIRdata(12);  while(1); /定時器0中斷處理 void timeint(void) interrupt 1   TH0=0xFF;   TL0=0xE6; /設(shè)定時值為38K 也就是每隔26us中斷一次  count+;  if (flag=1)   

6、0;  OP=OP;    else      OP = 0;    P3_4 = OP; void SendIRdata(char p_irdata)  int i;  char irdata=p_irdata;  /發(fā)送9ms的起始碼  endcount=223;  flag=1;  count=0;  dowhile(count<endcount);  /發(fā)送4.5ms的結(jié)果碼  endcount=117

7、  flag=0;  count=0;  dowhile(count<endcount);  /發(fā)送十六位地址的前八位  irdata=iraddr1;  for(i=0;i<8;i+)       /先發(fā)送0.56ms的38KHZ紅外波(即編碼中0.56ms的低電平)     endcount=10;     flag=1;     count=0;  

8、   dowhile(count<endcount);/停止發(fā)送紅外信號(即編碼中的高電平)     if(irdata-(irdata/2)*2)  /判斷二進(jìn)制數(shù)個位為1還是0            endcount=41;  /1為寬的高電平         else          endco

9、unt=15;   /0為窄的高電平         flag=0;    count=0;    dowhile(count<endcount);    irdata=irdata>>1;    /發(fā)送十六位地址的后八位  irdata=iraddr2;  for(i=0;i<8;i+)       e

10、ndcount=10;     flag=1;     count=0;     dowhile(count<endcount);     if(irdata-(irdata/2)*2)             endcount=41;          else

11、            endcount=15;          flag=0;     count=0;     dowhile(count<endcount);     irdata=irdata>>1;    /發(fā)送八位數(shù)據(jù)  irdata=p_irdata;  for(i

12、=0;i<8;i+)       endcount=10;     flag=1;     count=0;     dowhile(count<endcount);     if(irdata-(irdata/2)*2)              endc

13、ount=41;          else            endcount=15;          flag=0;     count=0;     dowhile(count<endcount);     ir

14、data=irdata>>1;    /發(fā)送八位數(shù)據(jù)的反碼  irdata=p_irdata;  for(i=0;i<8;i+)       endcount=10;     flag=1;     count=0;     dowhile(count<endcount);     if(irdata-(irdata/2)*

15、2)              endcount=41;          else            endcount=15;          flag=0;     count=0;

16、0;    dowhile(count<endcount);     irdata=irdata>>1;    endcount=10;  flag=1;  count=0;  dowhile(count<endcount);  flag=0;void delay()  int i,j;  for(i=0;i<400;i+)      for(j=0;j<100

17、;j+)          制作的實(shí)物如下圖所示:  1、引言紅外通信是目前比較常用的一種無線數(shù)據(jù)傳輸手段,其具有無污染、信息傳輸穩(wěn)定、信息安全性高以及安裝使用方便等優(yōu)點(diǎn),并且可以在很多場合應(yīng)用,如家電產(chǎn)品,工業(yè)控制、娛樂設(shè)施等領(lǐng)域。紅外通信是利用950nm近紅外波段的紅外線作為傳遞信息的載體,通過紅外光在空中的傳播來傳遞信息,由紅外發(fā)射器和接收器實(shí)現(xiàn)。發(fā)射端將二進(jìn)制數(shù)字信號調(diào)制成某一頻率的脈沖序列,經(jīng)電光轉(zhuǎn)換電路,驅(qū)動紅外發(fā)射管發(fā)射管 發(fā)射管也稱振蕩管,是一種產(chǎn)生或放大高頻功率的靜電控制電子管。一直以來發(fā)射管是電

18、視及音頻系統(tǒng)中用作末級功放的原件,如今因其優(yōu)良的性能和所在的米波頻段,應(yīng)用范圍不斷得到擴(kuò)展。 全文以光脈沖的形式發(fā)送到空中。接收端將接收到的光脈沖轉(zhuǎn)換成電信號,再經(jīng)解調(diào)和譯碼后恢復(fù)出原二進(jìn)制數(shù)字信號。本文設(shè)計(jì)了一種基于單片機(jī)單片機(jī) 單片機(jī)是單片微型計(jì)算機(jī)(Single-Chip Microcomputer)的簡稱,是一種將中央處理器CPU隨機(jī)存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計(jì)時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)采用超大規(guī)模集成電路技術(shù)集成到一塊硅片上構(gòu)成的微型計(jì)算機(jī)系統(tǒng)。 全文PIC18F248的主從式紅外通信系

19、統(tǒng),主要設(shè)計(jì)了紅外接口電路以及主機(jī)和從機(jī)通信軟件流程。 2、系統(tǒng)硬件電路設(shè)計(jì)在主從式紅外通信系統(tǒng)中,主機(jī)及從機(jī)的紅外發(fā)射電路相同,紅外線的載波頻率都為38KHz,在同一時間內(nèi),可以是主機(jī)發(fā)射,從機(jī)接收;或者從機(jī)發(fā)射,主機(jī)接收。2.1 紅外發(fā)射電路設(shè)計(jì)紅外發(fā)射器電路主要由單片機(jī),驅(qū)動管Q1和Q2、紅外發(fā)射管紅外發(fā)射管 紅外發(fā)射管就是發(fā)射紅外線的二極管,主要用于紅外控制系統(tǒng)的發(fā)射源。波長有940nm和850nm兩種,材料都是GaAlAs,工作電流一般在50mA,發(fā)射信號經(jīng)頻率調(diào)制后一般接收距離可超過10米,無干擾時可超過30米。 全文D1等組成,電路如下: 紅外發(fā)射器工作原理為:單片機(jī)通過I/O端

20、口控制整個發(fā)射過程。其中,紅外載波信號采用頻率為38KHz的方波,由PIC18F248的*模塊的PWM功能實(shí)現(xiàn),并由*1端口傳輸?shù)饺龢O管三極管 三極管是一種半導(dǎo)體電子器件,有3個引腳,晶體三極管分別為集電極(c),基極(b),發(fā)射極(e),電子三極管分別為屏極、柵極、陰極。能夠把微弱信號放大成輻值較大的電信號,也稱雙極型晶體管,晶體三極管。 全文T2的基極。待發(fā)送到數(shù)據(jù)由單片機(jī)的TX端口以串行方式送出并驅(qū)動三極管Q1,當(dāng)TX為“0”時使Q1管導(dǎo)通,通過Q2管采用脈寬調(diào)制(PWM)方式調(diào)制成38KHz的載波信號,并由紅外發(fā)射管D1以光脈沖的形式向外發(fā)送。當(dāng)TX為“1”時使Q1管截止,Q2管也截止,連接Q1和Q2的兩個上拉電阻電阻 電阻,物質(zhì)對電流的阻礙作用就叫該物質(zhì)的電阻。電阻小的

溫馨提示

  • 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

提交評論