找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1817|回复: 2
打印 上一主题 下一主题
收起左侧

有人可以帮我注释一下这红外工作函数吗?不太懂

[复制链接]
跳转到指定楼层
楼主
ID:174394 发表于 2017-4-24 12:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #define Imax 14000    //此处为晶振为11.0592时的取值,
  2. #define Imin 8000    //如用其它频率的晶振时,
  3. unsigned char Im[4]={0x00,0x00,0x00,0x00};
  4. unsigned long m,Tc;
  5. void intersvr1(void) interrupt 2                 //红外工作函数
  6. {
  7. TR0=1;
  8. Tc=TH0*256+TL0;//提取中断时间间隔时长
  9. TH0=0;
  10. TL0=0;         //定时中断重新置零
  11. if((Tc>Imin)&&(Tc<Imax))
  12. {
  13.         m=0;
  14.         f=1;

  15.         return;
  16. }       //找到启始码
  17. if(f==1)
  18. {
  19.     if(Tc>Inum1&&Tc<Inum3)
  20.     {
  21.            Im[m/8]=Im[m/8]>>1|0x80; m++;
  22.     }
  23.     if(Tc>Inum2&&Tc<Inum1)
  24.     {
  25.       Im[m/8]=Im[m/8]>>1; m++; //取码
  26.            }
  27.            if(m==32)
  28.     {
  29.       m=0;  
  30.       f=0;
  31.        
  32.       if(Im[2]==~Im[3])
  33.       {
  34.            IrOK=1;
  35.                           TR0=0;
  36.            }
  37.       else
  38.           {
  39.            IrOK=0;   //取码完成后判断读码是否正确

  40.            }
  41.     }
  42.                //准备读下一码
  43. }


  44. }
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2017-4-25 11:49 | 只看该作者
如果你知道遥控器是如何编码,再看此程序就好了。
回复

使用道具 举报

板凳
ID:174394 发表于 2017-4-25 14:09 | 只看该作者
yzwzfyz 发表于 2017-4-25 11:49
如果你知道遥控器是如何编码,再看此程序就好了。

OK  我看看吧  谢谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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