void init()
{
IE=0;
temp_address=0x00;
temp_function=0x00;
}
void init_uant()
{
PCON&=0X3F;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;
SCON=0X50;
TR1=1;
flag_uant=0;
flag_txd=1;
ES=1;
EA=1;
}
void uant(void) interrupt 4
{
if(RI==1)
{
RI=0;
temp_address=SBUF;
if(temp_address==address) flag_uant=2;
else
{ flag_uant=1;
}
}
if(TI==1)
{
TI=0;
flag_txd=1;
}
}
void main()
{
char i;
init();
init_uant();
while(1)
{
if(flag_uant==2)
{
i=0;
while(error[i]!='\0')
{
flag_txd=0;
SBUF=error[i];
while(flag_txd==0);
i++;
}
}
}
}
void init()
{
IE=0;
temp_address=0x00;
temp_function=0x00;
}
void init_uant()
{
PCON&=0X3F;
TMOD=0X20;
TH1=0XFD;
TL1=0XFD;
SCON=0X50;
TR1=1;
flag_uant=0;
flag_txd=1;
ES=1;
EA=1;
}
void serial(void) interrupt 4 using 1
{
if(RI==1)
{
ACC=SBUF;
temp_address=ACC;
if(temp_address==address) flag_uant=2;
else
{
flag_uant=1;
}
RI=0;
}
if(TI==1)
{
TI=0;
flag_txd=1;
}
}
void main()
{
char i;
init();
init_uant();
while(1)
{
if(flag_uant==2)
{
i=0;
while(error[i]!='\0')
{
flag_txd=0;
SBUF=error[i];
while(flag_txd==0);
i++;
}
}
}
}