資源簡介
里邊涉及到了按鍵,按下不同的鍵可以發出不同編碼的信號。用到的載波是用單片機產生的38k的方波。

代碼片段和文件信息
#include
#define?uint?unsigned?int
#define?uchar?unsigned?char
sbit?freq=P3^0;
sbit?P33=P3^3;
uchar?mend?countdatetempidate;???????
void?senddate(uchar);
uchar?getkey()
{
P1=0xfe;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case?0xee:idate=0xfe;senddate(idate);
break;
case?0xde:idate=0xfd;senddate(idate);
break;
case?0xbe:idate=0xfb;senddate(idate);
break;
case?0x7e:idate=0xf7;senddate(idate);
break;
}
temp=temp&0xf0;
}
}
P1=0xfd;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case?0xed:idate=0xef;senddate(idate);
break;
case?0xdd:idate=0xdf;senddate(idate);
break;
case?0xbd:idate=0xbf;senddate(idate);
break;
case?0x7d:idate=0x7f;senddate(idate);
break;
}
temp=temp&0xf0;
}
}
P1=0xfb;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case?0xeb:date=0xfe;senddate(idate);
break;
case?0xdb:date=0xfd;senddate(idate);
break;
case?0xbb:date=0xfb;senddate(idate);
break;
case?0x7b:date=0xf7;senddate(idate);
break;
}
temp=temp&0xf0;
}
}
P1=0xf7;
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P1;
switch(temp)
{
case?0xe7:date=0xef;senddate(idate);
break;
case?0xd7:date=0xdf;senddate(idate);
break;
case?0xb7:date=0xbf;senddate(idate);
break;
case?0x77:P3=0x7f;senddate(idate);
break;
}
temp=temp&0xf0;
}
}
return?idate;
}
?????????
void?main()
{?
????EA=1;
????ET0=1;
????TR0=1;
????TMOD=0x01;
????TH0=(65536-10)/256;
????TL0=(65536-10)%256;
//P11=1;
????
???/*?do
{? date=getkey();
senddate(date);
//date=~date;
}while(1);*/
while(1)
{
date=getkey();
//senddate(date);
}??
}
void?timer()?interrupt?1
{
????TH0=(65536-5)/256;
????TL0=(65536-5)%256;
m++;
//if(m==1){freq=~freq;m=0;}
freq=~freq;
}
void?senddate(uchar?date)
{
?uchar?adate=datei;
?for(i=0;i<8;i++)
?{
? end=10;
m=0;
P33=0;
while(m if(adate-(adate/2)*2)
{
end=10;
}
else?
{
end=55;
}
//count=0;
m=0;P33=1;
while(m adate=adate>>1;P33=~P33;
?}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????6551??2011-07-30?11:02??代碼\38khz的波
?????文件???????2575??2011-07-30?10:59??代碼\38khz的波.c
?????文件???????1229??2011-07-30?11:02??代碼\38khz的波.hex
?????文件?????????66??2011-07-30?11:02??代碼\38khz的波.lnp
?????文件???????8084??2011-07-30?11:02??代碼\38khz的波.LST
?????文件??????10721??2011-07-30?11:02??代碼\38khz的波.M51
?????文件???????6975??2011-07-30?11:02??代碼\38khz的波.OBJ
?????文件??????20806??2011-07-30?08:36??代碼\38khz的波.plg
?????文件??????55674??2011-07-29?21:35??代碼\38khz的波.uvopt
?????文件??????13419??2011-07-29?21:35??代碼\38khz的波.uvproj
?????文件??????????0??2011-07-29?10:34??代碼\38khz的波_uvproj.bak
?????文件???????6376??2009-05-07?14:37??代碼\STARTUP.A51
?????文件??????14048??2011-07-30?11:02??代碼\STARTUP.LST
?????文件????????758??2011-07-30?11:02??代碼\STARTUP.OBJ
?????文件??????94134??2011-07-30?10:46??代碼\紅外通信.DSN
?????目錄??????????0??2011-07-30?11:12??代碼
-----------?---------??----------?-----??----
???????????????241416????????????????????16
- 上一篇:貝葉斯網絡算法-中文
- 下一篇:廣東省各地級市邊界shp等文件_Arcgis
評論
共有 條評論