搜索
bottom↓
123
返回列表 发新帖
楼主: ivws

最精间的PT2262解码程序与大家共享

  [复制链接]

出0入0汤圆

发表于 2011-5-13 11:42:03 | 显示全部楼层
学习了!

出0入0汤圆

发表于 2011-5-13 11:47:40 | 显示全部楼层
不错的贴子,一定要顶!!

出0入0汤圆

发表于 2011-5-14 11:46:12 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-15 20:13:29 | 显示全部楼层
用ICCAVR6.31编译出错编不了
!E 发射端为PT226.c(91): operands of = have illegal types `array 3 of unsigned char' and `unsigned long'
!E 发射端为PT226.c(91): lvalue required
!E 发射端为PT226.c(111): operands of = have illegal types `unsigned

出0入0汤圆

发表于 2011-5-15 21:06:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-16 11:39:41 | 显示全部楼层
Mark

出0入0汤圆

发表于 2011-6-8 15:13:46 | 显示全部楼层
PT2262软件解码

出0入0汤圆

发表于 2011-7-5 17:25:14 | 显示全部楼层
正要用 顶!!!!

出0入0汤圆

发表于 2011-7-6 16:57:12 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-7-6 18:52:17 | 显示全部楼层
好贴,过段时间,做个玩玩!先MARK

出0入0汤圆

发表于 2011-7-6 21:19:23 | 显示全部楼层
这个要马瑞卡一下

出0入0汤圆

发表于 2011-7-7 11:58:44 | 显示全部楼层
我写的2262程序比这个精简得多,外部中断加定时。代码很少,效率很高。明天传程序上来

出0入0汤圆

发表于 2011-7-7 12:19:35 | 显示全部楼层
做个记号

出0入0汤圆

发表于 2011-7-7 12:31:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-10 15:48:50 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-29 16:11:17 | 显示全部楼层
回复【27楼】hanlin  韩林
-----------------------------------------------------------------------
兄台,你说直接把模块接到MAX232然后连到电脑,能细说下吗?
如果接受是PT2272的话,那是并行的数据,这接口
不解,万能细说.....

出0入0汤圆

发表于 2011-8-2 09:59:19 | 显示全部楼层
回复【215楼】Helloeveryon  
-----------------------------------------------------------------------

楼主,小弟最近在看PT2262的datasheet,在datasheet里面有一处疑问:
出现在第七页:

"OSCILLATOR   
The Oscillator Frequency for the IR Type of Operation is twice the carrier frequency. Thus, the  
oscillator frequency should be kept at 76 KHz.  A 430K ~ 560KΩ oscillator resistor between OSC 1 and  
OSC 2 pins is recommended. It should be noted that the carrier is a 50% duty cycle frequency. "
为什么振荡频率为载波频率的两倍,如果是射频模式那个振荡模式也要符合这条件吗?
(datasheet里面说:OSC1、OSC2两端的电阻决定振荡频率)
所以推荐红外发射的时候的电阻为430K-560K,可是我接了1M的电阻也会发出40K的信号(我用我51开发板板上的只接受40K红外载波的接收头,发现接收头输出端出现低电平,这应该可以说明有40K的载波发出吧)

这个是datasheet的链接:
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4922602&bbs_page_no=1&search_mode=3&search_text=Helloeveryon&bbs_id=9999

出0入0汤圆

发表于 2011-8-2 11:12:46 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-3 16:12:26 | 显示全部楼层

出0入0汤圆

发表于 2011-8-3 16:16:19 | 显示全部楼层
做一个试下

出0入0汤圆

发表于 2011-8-19 19:05:59 | 显示全部楼层
留作参考

出0入0汤圆

发表于 2011-8-19 19:18:22 | 显示全部楼层
果然很短

出0入0汤圆

发表于 2011-8-19 21:35:10 | 显示全部楼层
技能

出0入0汤圆

发表于 2011-8-19 21:47:13 | 显示全部楼层
哦看看。

出0入0汤圆

发表于 2011-8-19 23:37:08 | 显示全部楼层
支持先

出0入0汤圆

发表于 2011-8-20 00:24:22 | 显示全部楼层
支持先

出0入0汤圆

发表于 2011-8-22 09:33:11 | 显示全部楼层
无线收发都有,33M晶振,MPU 78E58
//===========================无线接收信号检测================================
//-------------------------外部中断1------------------------------
void int_ext1(void) interrupt 2
   {
      if (TWlReceive)
        {
           if (TR1&(Mode_T1==2))
                  {
                         TL1=0x00;   Mode_T1=1;    TH1=0xfc; // TH1=0xfe;
                  } //注释中的TH值可用于接收守财神系列产品信息,否则只接收夜狼系列
                    //如果已开始接收并且定时器1正在2mS定时方式,重新设置定时器1为300uS定时
           EX1=0;   //关闭外部中断1
         }
      if (!TWlReceive)
         {
              TL1=0x00;    Mode_T1=3;  ReInTimer=0; TH1=0xd8;  TR1=1;//TH1=0xec;
         }     //定时10mS
                    //如果没有开始接收,则打开无线接收线程
   }
//------------------------外部中断1结束-----------------------------

//--------------------------定时中断1--------------------------
void int_time_300uS(void) interrupt 3   using 2
   {
    if(TWlSend)          //发送无线信号
     {
      if(ReOutTimer==25)
        {  TWlSend=0;   TR1=0; }
      if(ReOutTimer==24)
       {
        if(Re_SendH)
         {
          Rmodel_Out=1; Re_SendH=0;  Re_SendL=1;
          TH1=0xfe; TL1=0xc0;
         }
        else
         {
          Rmodel_Out=0; Re_SendH=1;  Re_SendL=0;
          TH1=0xc8; TL1=0x00;
          ReOutTimer++;
         }
       }    // end   if(ReOutTimer==25)
      if(ReOutTimer<24)
       {
        if(Re_SendH)
         {
          Rmodel_Out=1; Re_SendH=0;  Re_SendL=1;
          if(ReIHead1) { TH1=0xfe; TL1=0xc0; }  else  { TH1=0xfa; TL1=0xf6; }
         }
        else
         {
          Rmodel_Out=0; Re_SendH=1;  Re_SendL=0;
          if(ReIHead1) { TH1=0xfa; TL1=0xf6; }  else  { TH1=0xfe; TL1=0xc0; }
          R1.Re_InBufC[0]>>=1;  ReITail1=ReIHead2;  R1.Re_InBufC[1]>>=1; ReITail2=ReIHead3;
          R1.Re_InBufC[2]>>=1;
          ReOutTimer++;
         }
       }    // end   if(ReOutTimer<24)
     }
    else                 //接收无线信号
     {
     if(Mode_T1==3)
                       { TWlReceive=1;  }
     if (TWlReceive)
      {
       if(Mode_T1==1)
          {
             ReInputB=Rmodel_In;
             R1.Re_InBufC[0]>>=1;  ReITail1=ReIHead2;  R1.Re_InBufC[1]>>=1; ReITail2=ReIHead3;
             R1.Re_InBufC[2]>>=1;  ReITail3=ReIHead4;  R1.Re_InBufC[3]>>=1; ReITail4=ReInputB;
             ReInTimer++;
          }              //如果由300uS定时进入,则读入无线接收数据,读入数据计数器加1
       if(Mode_T1==2)
          {  if (ReInTimer==25)
               {
                 Re_RecOver=1;
                 ReInputB=ReITail2;
                 R1.Re_InBufC[1]<<=1;  ReIHead2=ReITail1;
                 R1.Re_InBufC[0]=R1.Re_InBufC[1];  ReITail2=ReInputB; ReInputB=ReITail3;
                 R1.Re_InBufC[2]<<=1;  ReIHead3=ReITail2;
                 R1.Re_InBufC[1]=R1.Re_InBufC[2];  ReITail3=ReInputB;
                 R1.Re_InBufC[3]<<=1;  ReIHead4=ReITail3;    R1.Re_InBufC[2]=R1.Re_InBufC[3];
                 Re_InBuf1[0].Re_InBufL=R1.Re_InBufL;
                }
              TWlReceive=0;   TR1=0;
           }            //如果由10mS定时进入,判断是否接收完毕,如是则保存并处理数据,否则丢弃数据
       Mode_T1=2;   TL1=0x00;   EX1=1;    TH1=0xd8;  // TH1=0xec;    //如果在无线接收线程中,则置定时器1为10mS定时
      }
     }
   }
//------------------------定时中断1结束-----------------------------------------

出0入0汤圆

发表于 2011-8-22 16:00:33 | 显示全部楼层
不错的贴子,一定要顶!!

出0入0汤圆

发表于 2011-8-22 18:15:27 | 显示全部楼层

出0入0汤圆

发表于 2011-9-5 10:27:42 | 显示全部楼层
Mark。

出0入0汤圆

发表于 2011-9-5 10:57:35 | 显示全部楼层
如果用PCA的话,会不会更加方便?

出0入0汤圆

发表于 2011-9-5 11:14:00 | 显示全部楼层
想用来搞个远距离的遥控。

出0入0汤圆

发表于 2011-9-10 17:04:47 | 显示全部楼层
牛!不知道远距离有没有影响?

出0入0汤圆

发表于 2011-9-10 17:58:48 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-10 21:22:28 | 显示全部楼层
做个记号,再仔细看

出0入0汤圆

发表于 2011-10-21 15:04:50 | 显示全部楼层
楼主,可否把你用PIC做的无线接收模块的电路图和程序发过来呢,我正学习这块单片机呢,想做着试试,不用于任何商业,感激涕零啊!!!我邮箱是631093283@qq.com,非常感谢啊!

出0入0汤圆

发表于 2011-11-16 20:53:07 | 显示全部楼层
学习了。。。

出0入0汤圆

发表于 2011-11-23 00:56:46 | 显示全部楼层
标记一下!好好学习!!

出0入0汤圆

发表于 2011-11-23 08:45:04 | 显示全部楼层
PT2262解码程序 mark

出0入0汤圆

发表于 2011-11-29 11:01:30 | 显示全部楼层
mark!!!

出0入0汤圆

发表于 2011-11-29 11:49:53 | 显示全部楼层
收藏

出0入0汤圆

发表于 2011-12-2 14:17:17 | 显示全部楼层
回复【14楼】ivws 点点滴滴
    接收模块在无信号状态下是收到很多杂波,如果用中断的话。mcu反而经常被中断,无法正常处理其它事情。如果是红外接收模块的话就可以,原为红外接收模块在无信号的状态下是高电平。可以多加液晶屏或其它模块,因为解程序是在限定的时间内如果没有正常(合适的电平)的脉冲出现,就会返回。在mcu外理其它任务后,调用解码程序就可以。我用pic单片机解码已经做出量产的产品,从没出现误码。
-----------------------------------------------------------------------

我完全同意楼主的说法,或许我中断用得太少了。

出0入0汤圆

发表于 2011-12-2 23:46:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-12-3 08:34:44 | 显示全部楼层
mark!!!

出0入0汤圆

发表于 2012-1-25 00:03:00 | 显示全部楼层
mark!!!

出0入0汤圆

发表于 2012-1-26 22:06:50 | 显示全部楼层
收藏,慢慢研究

出0入0汤圆

发表于 2012-2-4 09:34:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-3-2 20:58:05 | 显示全部楼层
收藏,慢慢研究

出0入0汤圆

发表于 2012-3-3 00:51:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-3-3 00:52:30 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-3-3 08:40:03 | 显示全部楼层
做个记号,再仔细看

出0入0汤圆

发表于 2012-5-8 19:19:54 | 显示全部楼层
好东西,学习!

出0入0汤圆

发表于 2012-5-15 17:11:06 | 显示全部楼层
顶了,先记号一下,正要用呢

出0入0汤圆

发表于 2012-7-13 23:02:55 | 显示全部楼层
这么好的贴 一定要顶。最近也在研究无线。

出0入0汤圆

发表于 2012-7-13 23:26:37 | 显示全部楼层
楼主给力,有助于社会的和谐

出0入0汤圆

发表于 2012-7-21 16:07:16 | 显示全部楼层

出0入0汤圆

发表于 2012-7-26 18:49:31 | 显示全部楼层
硬件解码不能区分按键长短

出0入0汤圆

发表于 2012-8-2 13:27:03 | 显示全部楼层
先mark一下,自己写写试试,用STM32不能直接把这个用上啊

出0入0汤圆

发表于 2012-12-2 14:30:15 来自手机 | 显示全部楼层
做个记号,

出0入0汤圆

发表于 2012-12-3 12:29:51 | 显示全部楼层
not bad !!!!

出0入0汤圆

发表于 2013-3-27 15:43:59 | 显示全部楼层
mark,以后拿来看看

出0入0汤圆

发表于 2013-3-28 07:26:52 来自手机 | 显示全部楼层
这个很有用啊呵呵

出0入0汤圆

发表于 2013-4-13 00:28:12 | 显示全部楼层
不好意思用手机看着看着不小心点到了  踩 反对    楼主别介意啊!

出0入0汤圆

发表于 2013-4-13 10:36:24 | 显示全部楼层
多谢楼主分享

出0入0汤圆

发表于 2013-4-23 15:03:08 | 显示全部楼层

出0入0汤圆

发表于 2013-5-15 10:23:41 | 显示全部楼层
收藏!!!!

出0入0汤圆

发表于 2013-8-3 13:52:00 | 显示全部楼层
hanlin 发表于 2008-5-5 00:51
我晕,看样楼主还是个用汇编比较习惯的人.

今天刚好搞这东西.

如何用串口实现传送接收的呢,用PC的串口TX直接发送,接收后有串口RX再传回PC,数据是错误的

出0入0汤圆

发表于 2013-11-5 13:29:34 | 显示全部楼层
谢谢,但是,加上同步头检测会不会好些

出0入0汤圆

发表于 2013-11-5 14:16:42 | 显示全部楼层
不错,mark

出0入0汤圆

发表于 2013-11-21 14:26:14 | 显示全部楼层
收藏,记号

出0入0汤圆

发表于 2014-3-19 18:32:41 | 显示全部楼层
14年了 还可以顶吗 哈哈 参考下用STM8解码 谢谢楼主

出0入0汤圆

发表于 2014-3-19 18:52:25 | 显示全部楼层
cool            

出0入0汤圆

发表于 2014-3-19 19:43:06 | 显示全部楼层
学习一下mark

出0入0汤圆

发表于 2014-3-22 17:53:39 | 显示全部楼层
学习一下。

出0入0汤圆

发表于 2014-6-5 22:14:08 | 显示全部楼层
ivws 发表于 2009-9-7 09:38
to

【97楼】 kanprin

一段代码示波器怎么测量的,稍微详细一点,或者说你怎么用示波器具体测量。谢谢。

出0入0汤圆

发表于 2014-6-5 22:43:47 | 显示全部楼层
标记,最精简的PT2262解码程序

出0入0汤圆

发表于 2014-7-3 20:56:05 | 显示全部楼层
mark                    

出0入0汤圆

发表于 2014-7-4 15:10:07 | 显示全部楼层
学习了

出0入213汤圆

发表于 2014-11-28 10:37:13 | 显示全部楼层
感谢楼主分享。

出0入0汤圆

发表于 2014-11-28 10:51:01 | 显示全部楼层
只做到这个功能成本比用2272高吧

出0入0汤圆

发表于 2014-11-28 12:19:28 | 显示全部楼层
谢谢楼主,我正在考虑这个,现在终于找到了

出0入0汤圆

发表于 2014-11-28 12:36:19 | 显示全部楼层

出0入0汤圆

发表于 2014-11-28 13:35:26 | 显示全部楼层
以前用过PT2262-IR和PT2272-L4 ,,,为什么要用单片机解码呢,,,可不可以用PT2272解码后给单片机信号...

出0入0汤圆

发表于 2014-11-28 15:23:01 | 显示全部楼层
楼主瞬间高大上

出0入0汤圆

发表于 2014-11-28 17:07:35 | 显示全部楼层
测量脉冲宽度的话。。自己感觉还是使用自身的功能比较好。            

出0入0汤圆

发表于 2017-5-16 09:51:09 | 显示全部楼层
这个不错,资源占用少。

出0入0汤圆

发表于 2018-3-23 14:16:23 | 显示全部楼层
收藏了,慢慢学习

出0入0汤圆

发表于 2018-5-1 22:14:19 | 显示全部楼层
学习一下,现在在研究中

出0入0汤圆

发表于 2018-5-25 14:46:54 | 显示全部楼层
收藏了,慢慢学习!!!!!!!!!

出0入0汤圆

发表于 2018-5-25 15:08:19 | 显示全部楼层
非常巧妙的做法,厉害

出0入0汤圆

发表于 2018-5-25 17:00:16 | 显示全部楼层
其实你不用定时器肯定更耗时,只是你没有对方法,采用定时采样I/O口你试试

出100入101汤圆

发表于 2020-8-21 14:09:16 | 显示全部楼层
不错,收藏
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 21:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表