IR Remote Control Receiver Problem

Status
Not open for further replies.

g_shyam1682

Full Member level 4
Joined
Jan 11, 2010
Messages
204
Helped
53
Reputation
106
Reaction score
43
Trophy points
1,308
Location
Udaipur-Rajshan-India
Activity points
2,538
Hello friend

I have one IR Remote and TSOP1738 Receiver
I found that my remote transmit 32 to 34 pulse for any one key press

I have tried to decode that pulse, but i am not success
I have used AT89c2051 controller and Program write in C language

Anybody have any hint or idea or C language code
Please give me

Thanks in Advance

Ghanshyam
 

This programme is used for NEC IR decode.
Wish you good luck!
void NEC_decode_interrupt(void) interrupt IE0_VECTOR using 2
{

EX0 = 0;
ES = 0;
ET0 = 0;
TR0 = 0;
IR_Time_High = TH0;
IR_Time_Low = TL0;

IR_Time_Val = ((uint16)IR_Time_High)<<8|((uint16)IR_Time_Low);



IR_FallEdge_Cnt++;
if((IR_Time_Val < 0x3a2d)&&(IR_Time_Val > 0x3605)) {
IR_HeadRevd_Flag = 1;
//IR_Decode_Staute = Decoding;
IR_FallEdge_Cnt = 0;
}
else
{
if(IR_HeadRevd_Flag == 0)
{
IR_ReCode_Flag = 1;
}
}
if(IR_HeadRevd_Flag == 1) {
if(IR_FallEdge_Cnt <= 32)
{
if((IR_Time_Val > 0x800))
{
IR_Decode_Val <<= 1;
IR_Decode_Val |= 0x00000001;
}
else
{
IR_Decode_Val <<= 1;
IR_Decode_Val &= 0xfffffffe;
}

if(IR_FallEdge_Cnt == 32) {
IrFrame = (IRFRAME*)(&IR_Decode_Val);
if((IrFrame->add1|IrFrame->add2 == 0xff)&&(IrFrame->cmd1|IrFrame->cmd2 == 0xff))
{

TI = 0;
SBUF = 0xA5;
while(!TI);

TI = 0;
SBUF = IrFrame->add1;
while(!TI);
TI = 0;
SBUF = IrFrame->add2;
while(!TI);
TI = 0;
SBUF = IrFrame->cmd1;
while(!TI);
TI = 0;
SBUF = IrFrame->cmd2;
while(!TI);

TI = 0;
SBUF = 0x01;
while(!TI);

TI = 0;
SBUF = 0x5A;
while(!TI);

IR_HeadRevd_Flag = 0;

IR_FallEdge_Cnt = 0;

IR_Decode_Staute = Over;

Key_Statue = Down;
}
}
}
}

TH0 = 0x00;
TL0 = 0x00;
TR0 = 1;
EX0 = 1;
}
 
Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…