lc7461红外遥控器和解码程序
//遥控解码子程序,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_delay0;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_delay0;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_delay0;r_count--)
{
while(remote==0);//wait to high
count_delay=0;
while(count_delay8;
///用户码//////
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();
}
384X系列电流型PWM控制器的特点及设计注意事项
ATM地址注册/ATM的虚连接
小米MIUI全球月活用户突破5亿
安全教育中VR安全体验馆的详细介绍及其优势
都是实力派代表,九代雅阁与迈腾哪个好
LC7461红外遥控器和解码程序
电子元器件CAD模型的新标准
关于手持式气象站产品的详细描述
BOM价格清单:新iPad成本仅为售价一半?
创建新的开源浏览器非常困难
辊压机轴头磨损如何修复
Arm 生态系统为物联网奠定信任根基
怎样解决医院传统安防存问题
黑科技时代下的智能家居魔镜,它将带来哪些便利
USB供电、915 MHz ISM无线电频段、具有过温管理功能的1W功率放大器
聚焦 | 两度收购“流产”,凯恩股份败走锂电“样本”
一文了解多个段的相关程序
三星手机在2020年的出货量有望突破4000万部
X-ray智能点料机在家电制造中的优势有哪些?
三星液晶拼接屏系统方案怎么选?