
#include<reg51.h>
#include<serial.h>//sets the baud rate and initilizes the controller serial port.
#include<generic.h>//this has the delays, although this has no use in this program

char recieved_0= 0x00;
char recieved_1= 0x00;
char recieved_2= 0x00;
char recieved_3= 0x00;
char recieved_4= 0x00;
char rr = 0x00;


int in = 0 ;
void serial_interrupt() interrupt 4
{
	if(TI)
		{
		rr = 0x00;//resetting the summing variable
		TI = 0;
		}	
	if(RI)
		{
		RI = 0;
		if(recieved_0 == 0)
		   recieved_0 = SBUF;//first character
		else if(recieved_1 == 0)
		   recieved_1 = SBUF;//second character
		else if(recieved_2 == 0)
		   recieved_2 = SBUF;//third character
		else if(recieved_3 == 0)
		   recieved_3 = SBUF;//fourth character
		else if(recieved_4 == 0)
		   recieved_4 = SBUF;//fifth character
		}
}

void main()
{
initialize_serial();
SBUF = 0xAA;
usec_wait(20);
while(1)
{
if(recieved_4 != 0)//this conditio will be true if the fourth character has some vlue in it
  {
  rr = recieved_0+recieved_1+recieved_2+recieved_3+recieved_4;
  recieved_0= 0x00;//reseting this varable bac to zero
  recieved_1= 0x00;//reseting this varable bac to zero
  recieved_2= 0x00;//reseting this varable bac to zero
  recieved_3= 0x00;//reseting this varable bac to zero
  recieved_4= 0x00;//reseting this varable bac to zero
  SBUF = rr;//sending out the result
  }
}
}