| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 670 人关注过本帖
标题:红外遥控发射的码值与实际测得的码值不相同
取消只看楼主 加入收藏
byx123
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2012-10-16
结帖率:0
收藏
已结贴  问题点数:20 回复次数:0 
红外遥控发射的码值与实际测得的码值不相同
红外遥控器是SAA3010的rc5飞利浦的
发的码值是110 00000 六位二进制码是键值码范围1-63
或是一位翻转111 00000六位二进制码是键值码范围1-63
红外发射是有红外发射接收到低电平无发射接收到高
其中的二进制1发送时是889US低889US高
其中的二进制0发送时是889US高889US低
例如我发6位码值是1fH或19H转成二进制是0001 1111或0001 1001
红外发射的码值是110 00000 011111或110 00000 011001若有翻转为码值是
                            111 00000 011111或111 00000 011001
我接收的是10 00000 存在table[0]里后6位我存在table[1]里
接收显示出来的总是7f 01就是不发射有时也经常显示这2个值
转成二进制码就该是0111 1111   0000 0001
存在table[0]中的是111 1111     存在table[1] 中的是00 0001
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit d33=P3^3;//红外电路放整流等处理后的红外信号输入端低电平为接收到有红外
sbit moto=P1^2;//振动
sbit led=P1^3;
uchar dd;
uchar shi,ge;
uchar shu=0;
uchar table1[]={0xc0,0xf9,0xa4,0xb0,
    0x99,0x92,0x82,0xf8,
    0x80,0x90,0x88,0x83,
    0xc6,0xa1,0x86,0x8e};
uchar table[]={0,0};
void delays()//1.3s
{
 uint c;
 for(c=0;c<32800;c++);
}
void aa()
{
 shi=table[0]/16;
 ge=table[0]%16;
 P2=table1[shi];
 P0=table1[ge];
 delays();
 shi=table[1]/16;
 ge=table[1]%16;
 P2=table1[shi];
 P0=table1[ge];
 delays();
 P2=0xff;
 P0=0xff;
 shi=0;
 ge=0;
 table[0]=0;
 table[1]=0;
 EX1=1;
}
void main()
{
 led=0;
 delays();
 moto=0;
 led=1;
 delays();
 moto=1;
 led=0;
 EA=1;
 IT1=1;
 TMOD=0x10;
 ET1=1;
 EX1=1;
 while(1);
}
void time1() interrupt 3
{
 TH1=(65536-1638)/256;//1.778ms
 TL1=(65536-1638)%256;
 shu++;
 if(shu<13)
 {
  if(shu<7)//这里取的是码值中10 00000这部分
  {
   dd=dd<<1;
   dd=dd|d33;
   if(shu==6)
   {table[0]=dd;}
  }
  else//这里取的是后6位的码值
  {
   dd=0;
   dd=dd<<1;
   dd=dd|d33;
   if(shu==12)
   {table[1]=dd;
   shu=0;
   TR1=0;
   aa();}
  }
 }
}
void int1() interrupt 2
{
 TH1=(65536-1228)/256;//机器周期0.9216  1个数周期1.085069
 TL1=(65536-1228)%256;//延时1.3335ms
 EX1=0;
 TR1=1;
}
搜索更多相关主题的帖子: 二进制 
2012-10-16 20:20
快速回复:红外遥控发射的码值与实际测得的码值不相同
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031612 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved