power line tx code
/*
* Project name:
DIMMER
* Copyright
(c) Researchdesignlab.com
* Description:
* Test configuration:
MCU: AT89S52
Dev.Board: 8051
Oscillator: 11.0592 MHz
Software: Keil uVision3
*/
#include <reg51.H>
sbit PIR=P1^0; // intiz PIR sensor pin
void transmit_byte(unsigned char );
void msdelay(int);
void main(){
TMOD=0X20;
TH1=0XFD; // serail intiz
SCON=0X50;
TR1=1;
while(1)
{
if(PIR==1) //if PIR sensor is activated
{
transmit_byte('1'); //transmit '1' to power line modem
msdelay(500); // wait for 500ms
}
else
{
transmit_byte('2'); //transmit '2' to power line modem
msdelay(500); // wait for 500ms
}
}
}
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++);
}
void transmit_byte(unsigned char byte)
{
SBUF=byte;
while(!TI); //transimt the serial data
TI=0;
}