红外遥控程序解码无任何反应
最近网上修改的程序,但一直运行不了,很困惑,发上来求教各位老师指点迷津。/*********************************************
example program for 51 download board
@11.0592MHz
test HS0038
www.mcufan.com
红外遥控测试程序,在uv2的串行窗口1 显示接收到的红外编码
*********************************************/
#include <reg52.h>
#include <intrins.h>
sbit hwx=P3^2;
unsigned char hw_dm;
unsigned char hw_js=0;
bit hw_flag=0;
void delay100us(void)
{
unsigned char j;
j=44;
while(--j);
hw_js++;
}
void init(void)
{
EA=1;
EX0=1;
IT0=1;
TMOD=0X20;
SCON=0X50;
TH1=0XFA;
TL1=0XFA;
TR1=1;
}
void main(void)
{
unsigned char i;
init();
while(1)
{
if(hw_flag)
{
hw_flag=0;
for(i=0;i<=3;i++)
{
SBUF=hw_dm;
while(!TI);
TI=0;
}
}
}
}
void hw(void) interrupt 0
{
unsigned char k,h;
hw_js=0;
while(!hwx)
delay100us();
if(hw_js<80||hw_js>100)
return;
hw_js=0;
while(hwx)
delay100us();
if(hw_js>50)
return;
if(hw_js<40)
return;
for(k=0;k<4;k++)
{
for(h=0;h<8;h++)
{
while(!hwx)
hw_js=0;
while(hwx)
delay100us();
hw_dm>>=1;
if(hw_js>10)
hw_dm|=0x80;
}
}
hw_flag=1;
} 是否需要附上电路? 关键要看你的代码是针对哪一种遥控器手柄的。 程序是nec编码方式,现在是不知道问题出在哪里 找到NEC的红外线遥控时序对照一下就知道
https://wenku.baidu.com/view/14862fe1f78a6529657d5362.html?rec_flag=default&sxts=1530088491152
页:
[1]