LC7461遥控解码子程序源代码 - 免费下载

单片机编程资源 文件大小:2 K

📋 资源详细信息

文件格式
RAR
所属分类
上传用户
上传时间
文件大小
2 K
所需积分
2 积分
推荐指数
⭐⭐⭐⭐⭐ (5/5)

💡 温馨提示:本资源由用户 刘艳芳 上传分享,仅供学习交流使用。如有侵权,请联系我们删除。

资源简介

//遥控解码子程序,LC7461,用户码为11C
//external interrupt0
void isr_4()
{

 unsigned char r_count;//定义解码的个数
 unsigned long use_data=0;//定义16位的用户码,只用到13位
 unsigned long use_code=0;//定义16位的用户反码,只用到13位
 unsigned long data=0;//定义16位数据码,包括8位数据码和反码
 unsigned char data_h=0;//数据反码
 unsigned char data_l=0;//数据码
 _clrwdt();
// _delay(7000);//7461解码,延时7000
// _delay(7000);//7461解码,延时7000
//_delay(7000);//7461解码,延时7000
 if(remote==1)
  goto error;
 while(remote==0);//wait to high
 //_delay(9744);
count_delay=0;
 while(count_delay<143);
 if(remote==1)
  goto error;
     /////用户码解码use_data//////////add//////////////////////////
     for(r_count=13;r_count>0;r_count--)
  {
  while(remote==0);//wait to high
  count_delay=0;
     while(count_delay<24);//_delay(1680);
  _c=remote;
  if(_c==1)
   {
   _lrrc(&use_data);
   count_delay=0;
         while(count_delay<32);//_delay(2200);//wait to low
   }
  else
   _lrrc(&use_data);
  }
  _nop();
 //if(remote==1)
  //_delay(1680);//wait to low while(remote==1);//wait to low
     _nop();
     ////////用户码解码finish/////////add/////////add////////
     /////用户码反码解码use_code//////////add//////////////////////////
     for(r_count=13;r_count>0;r_count--)
  {
  while(remote==0);//wait to high
  count_delay=0;
         while(count_delay<24);//_delay(1680);
  _c=remote;
  if(_c==1)
   {
   _lrrc(&use_code);
   count_delay=0;
         while(count_delay<32);//_delay(2200);//wait to low
   }
  else
   _lrrc(&use_code);
  }
 _nop();
 //if(remote==1)
 // _delay(1680);//wait to low while(remote==1);//wait to low
     _nop();
     ////////用户码反码解码finish/////////add/////////add////////
     ////数据码解码开始////data_l为用户码,data_h为数据码反码////////////
 for(r_count=16;r_count>0;r_count--)
  {
  while(remote==0);//wait to high
  count_delay=0;
         while(count_delay<24);//_delay(1680);
  _c=remote;
  if(_c==1)
   {
   _lrrc(&data);
   count_delay=0;
         while(count_delay<32);//_delay(2200);//wait to low
   }
  else
   _lrrc(&data);
  }
 ////数据码解码结束////////////////////////////////////////////////
 data_l=data;
 data_h=data>>8;
 ///用户码//////
 use_data>>=3;
 use_code>>=3;
 use_code=~use_code;
 ////////
 ////如果用户码等与0x11c并且数据码和数据反码都校验一致,解码成功
 //if((~data_h==data_l)&&use_data==0x11c)//使用用户码
 //跳过用户码
 if(~data_h==data_l)//如果数据码和数据反码(取反后)相等,解码正确
  {
  _nop();
  r_data=data_l;//r_data为解出的最终数据码
  }
 //否则解码不成功
 _nop();
 _nop();
error:  //r_data=nocode;
 _nop();
    _nop();
 _nop();
}

源码文件列表

📂 共 1 个源码文件 点击文件名可在线查看源代码

1 📃
lc7461解码.txt
大小: 2.86 KB
查看源码
💡
温馨提示:点击文件名或"查看源码"按钮可在线浏览源代码,支持语法高亮显示。

立即下载此资源

提示:下载后请用压缩软件解压,推荐使用 WinRAR 或 7-Zip

资源说明

📥 下载说明

  • 下载需消耗 2积分
  • 24小时内重复下载不扣分
  • 支持断点续传
  • 资源永久有效

📦 使用说明

  • 下载后用解压软件解压
  • 推荐 WinRAR 或 7-Zip
  • 如有密码请查看说明
  • 解压后即可使用

🎁 积分获取

  • 上传资源获得积分
  • 每日签到免费领取
  • 邀请好友注册奖励
  • 查看详情 →

相关标签

点击标签查看更多相关资源:

相关资源推荐