power line rx code
/*
* Project name:
Power line modem
* Copyright
(c) Researchdesignlab.com
* Description:
* Test configuration:
MCU: AT89S52
Dev.Board: 8051
Oscillator: 11.0592 MHz
Software: Keil uVision3
*/
#include <reg51.H>
sbit RELAY=P1^0; // intiz RELAY pin
unsigned char SCI_ReceiveByte( void );
void msdelay(int);
void main(){
unsigned char rec;
TMOD=0X20;
TH1=0XFD; // serial intiz
SCON=0X50;
TR1=1;
RELAY=0;
while(1)
{
rec=SCI_ReceiveByte(); //wait to recive the data from power line modem
if(rec=='1')
{
RELAY=1;
msdelay(100);
}
if(rec=='2')
{
RELAY=0;
msdelay(100);
}
}
}
void msdelay(int itime)
{ //function to generate time delay
unsigned int i,j;
for (i=0;i<itime;i++)
for (j=0;j<300;j++);
}
unsigned char SCI_ReceiveByte( void )
{
unsigned char byte;
while(RI!=1);
byte = SBUF;
RI=0;
return byte;
}