

#include <AT89x55.h> 
#include <intrins.h> 
void Simple_Delay_N_Fifty(int); 
void Simple_Delay_Fifty_Milliseconds(void); 
void initComm(void); 
void SendComChar(unsigned char); 

sbit zoneOnOff = P2^7; 
int temp, temp2; 
unsigned char chrRec; 


void main(void) 
{ 
unsigned char c; 
//--------------------------- 
// These two statements will initialize the time for Delay's 
TMOD |= 0x01; 
ET0 = 0; 
//--------------------------- 
Simple_Delay_N_Fifty(20); 
initComm(); 
c = 20; 
temp2 = 0; 

	while(1) 
	{ 
		zoneOnOff = 0; 
		Simple_Delay_N_Fifty(20); 
		zoneOnOff = 1; 
		Simple_Delay_N_Fifty(20); 

		//HERE NOW THE PROGRAM IS WORKING FIND 
		//BUT IF I UNCOMMENT THE FOLLOWING 
		//Statement the program stops working 


		//SendComChar(1); 
		c++; 
	} 
} 


void Simple_Delay_N_Fifty(int n) 
{ 
	for(temp=0;temp<n;temp++) 
	{ 
		Simple_Delay_Fifty_Milliseconds(); 
	} 
} 


void Simple_Delay_Fifty_Milliseconds() 
{ 

	TR0 = 0; 
	TH0 = 0x4B; 
	TL0 = 0xFD; 
	TF0 = 0; 
	TR0 = 1; 
	while(TF0 == 0); 
	TR0 = 0; 
} 


void initComm(void) 
{ 
	//----------- 	
	//TMOD = 0x21; 
	TMOD |= 0x21; 
	TH1 = 0xe6; 
	TCON = 0x00; 

	SCON = 0x50; 
	ET0 = 0; 
	TR1 = 1; 
	//---------- 
} 


void SendComChar(unsigned char c) 
{ 
	temp = c; 
}


