资料介绍
//遥控解码子程序,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();
}
- 抢答器multutsim12程序源代码下载 18次下载
- 0.96寸带字库的OLED显示应用程序源代码下载 41次下载
- 通过Verilog在SRAM读写程序源代码 7次下载
- LCD芯片T6963C的操作程序源代码下载 47次下载
- LCD芯片T6963C的操作程序源代码下载 65次下载
- 无线遥控频率计C语言源代码下载 37次下载
- matlab应用程序及源代码下载 35次下载
- HPEC应用子程序线程推测并行性实验分析 8次下载
- h264编码解码源代码 34次下载
- s7-200模拟量处理子程序 11次下载
- 红外遥控器解码程序详情 195次下载
- ESAM接口函数源代码
- 国标AVS解码软件源代码
- ARM MP3解码源代码 1.0 (C语
- 东芝芯片概述
- hex可以转成源代码么 169次阅读
- 嵌入式程序基于源代码仿真调试 904次阅读
- Python证件照制作小程序源代码 3134次阅读
- PLC创建库文件与带参数子程序功能该如何使用 3514次阅读
- 带参数子程序的参数传递过程 2421次阅读
- 使用AT89S51单片机制作红外遥控器的资料和源代码详细说明 5860次阅读
- C语言的源代码文件和目标文件与可执行文件的详细介绍 8302次阅读
- 基于51单片机的红外线遥控器解码程序设计 3440次阅读
- Linux操作的防火墙软件应用程序定义和配置设置及底层源代码 4945次阅读
- 51单片机中断服务子程序的设计 7260次阅读
- SMART常用的运动控制子程序的应用详解 1.2w次阅读
- C51读写AT24C04源代码及AT24C04测试程序 1.6w次阅读
- 点阵液晶显示模块字符通用子程序 1291次阅读
- LCD驱动的移植及其GUI仿真如何进行,LCD数模转换现实原理及其源代码 1579次阅读
- 单片机做红外遥控解码器 2432次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多