打印

热切期待高手 - 红外解码

[复制链接]
1847|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
h292|  楼主 | 2010-7-6 15:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 h292 于 2010-7-6 16:21 编辑

大家好,向大家请教一下,关于红外解码,红外是HT6222,外部中断一,计时器0,晶振11.0592,为什么低电平和高电平的时间都在4050 - 4500之间?,这个好像计的是高电平时间4.5MS左右,低电平应该为9MS做右,为什么也在4050 - 4500之间?
谢谢了

下面是程序


#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint lowtime,hightime;
sbit IRIN=P3^3;
sbit led=P1^1;
  
void main()
{
IRIN=1;
led=1;
EA=1;//开总中断
IT1=1;//外部中断为下降沿触发
EX1=1;//开外部中断
ET0=1;//开T0中断
TMOD=0x01;//为工作方式1
TR0=0;//关闭定时器0
while(1);//等待

}
   void IR_IN(void) interrupt 2
  {
   EX1=0;//关外部中断1
   TH0=0;//高8位清0
   TL0=0;//低8位清0
   TR0=1;//开计时器0
   while(IRIN==0);//低电平一直计时,等待高电平
   TR0=0;//高电平出现,关闭计时器0
  lowtime=TH0*256+TL0;//计算低电平时间
   TH0=0;//高8位清0
   TL0=0;//低8位清0
   TR0=1;//开计时器0
   while(IRIN==1);//搞电平一直计时
   TR0=0;//关闭计时器0
   hightime=TH0*256+TL0;//计算高电平时间
       }

相关帖子

沙发
h292|  楼主 | 2010-7-6 16:45 | 只看该作者
哪位高手赐教一下

使用特权

评论回复
板凳
hxlwjn| | 2010-7-6 16:52 | 只看该作者
没看明白你这程序要做什么。hightime和lowtime保存的是最后一位的高低电平时间,如果用的是nec格式的红外编码,信号0的高低电平时间是一样的。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
h292 + 1
地板
hxlwjn| | 2010-7-6 16:54 | 只看该作者
高电平时间4.5MS左右,低电平应该为9MS ,这只是前导码。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
h292 + 1
5
h292|  楼主 | 2010-7-6 17:00 | 只看该作者
4# hxlwjn
对是前导嘛,但低电平没9MS左右,和高电平差不多,是为什么,谢谢了

使用特权

评论回复
6
h292|  楼主 | 2010-7-6 17:02 | 只看该作者
3# hxlwjn

这个是前导码,前导码中的低电平时间和高电平差不多 在 4050 - 4500之间,为为什么?谢谢了

使用特权

评论回复
7
土憋ㄘ`| | 2010-7-6 17:53 | 只看该作者
我怎么知道引导码是在:4050 - 4500这间

使用特权

评论回复
8
zhiyonghe| | 2010-7-7 12:47 | 只看该作者
谁说了红外的编码就一定要按你们上面说的什么:高电平时间4.5MS左右,低电平应该为9MS,除非你的红外发射信号是独立的发射芯片,那编码是固定的,你找那芯片资料人家会有详细的电平说明。
要不你最好自己测试你接受到的红外编码信号的编码。
我曾经用单片机做过的红外编码就没按什么引导码高电平时间4.5MS左右,低电平应该为9MS做……

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
h292 + 1
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://iirobot.taobao.com/ 我爱机器人群:117064297 提供机器人 智能车配件 传感器 直流电机

0

主题

247

帖子

1

粉丝