紅外線通信是日前使用比較廣泛的一種通信手段。由十紅外線通信具有體積小、功耗低、功能強、成木低等特點,因一而,繼彩電、錄像機之后,在錄音機、音響設備、空調機以及玩具等其它小型電器裝置上一也紛紛采用紅外線通信技術。工業(yè)設備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線通信技術不僅完全可靠一而.目.能有效地隔離電氣干擾。而單片機是日前設計應用中用得比較廣泛的器件,它可以通過軟件編程來達到不同的效果,實現(xiàn)一各種一各樣不同的功能,具有.靈活性強、可靠性高,可擴展性好等優(yōu)點。
木文所要介紹的內容就是如何利用單片機,結合紅外線器件設計構達出一套簡易的車載紅外線通信系統(tǒng),以實現(xiàn)在中短距離內的紅外無線通信的功能。與一般通用的紅外遙控器不同的是它不是利用專用的編解碼芯片來實現(xiàn)發(fā)收端的編解碼,而是應用C51單片機,通過單片機的編、解碼程序來實現(xiàn)紅外信號的發(fā)收,從一而實現(xiàn)紅外遙控通信功能。此通信系統(tǒng)經(jīng)過一些必要的擴展,完全可以實現(xiàn)通用和各種專用紅外遙控器的功能。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (17.31 KB, 下載次數(shù): 77)
下載附件
2020-1-3 18:31 上傳
單片機源程序如下:
- #include <reg51.h>
- #include"wait.h"
- #define uchar unsigned char
- #define uint unsigned int
- sbit rev=P3^1;
- sbit baoj=P3^7;
- uchar aa=0,bb=0;
- uchar sz[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
- void display(uchar dz)
- {
- P2=dz;
- switch(dz)
- {
- case 0xf: P1=sz[0];
- break;
- case 0x1e: P1=sz[1];
- break;
- case 0x2d: P1=sz[2];
- break;
- case 0x3c: P1=sz[3];
- break;
- case 0x4b: P1=sz[4];
- break;
- case 0x5a: P1=sz[5];
- break;
- case 0x69: P1=sz[6];
- break;
- case 0x78: P1=sz[7];
- break;
- }
- }
- uchar read()
- {
- uchar dat=0,i=0,j=0;
- while(i<8)
- {
- while(rev==0);
- j++;
- wait_600();
- if(rev==1)
- {
- dat++;
- wait_900();
- }
- if(i<7)
- dat=dat<<1;
- i++;
- }
- i=0;
- return dat;
- }
- void recieve() interrupt 0
- {
- uchar dz;
- EX0=0;
- while(rev==1);
- dz=read();
- //display(dz);
- if(dz==0xb4)
- {
- baoj=0;
- dz=read();
- display(dz);
- EX0=1;
- baoj=1;
- }
- else
- {
- EX0=1;
- return;
- }
- }
- int main()
- {
- TMOD=0x11;//定時器0,1設置為方式1,16位定時器
- ET0=0;
- ET1=0;
- EA=1;
- EX0=1;
- baoj=1;
- while(1);
- return 0;
- }
復制代碼
51hei.png (2.76 KB, 下載次數(shù): 56)
下載附件
2020-1-3 18:31 上傳
所有資料51hei提供下載:
紅外光通信.rar
(75.51 KB, 下載次數(shù): 54)
2020-1-3 13:51 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|