51单片机双机通信

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include

/*******************************************************************/ unsigned char string[]={"hello ChengDu college!\n"};

unsigned char temp;

/*******************************************************************/ void Init_URAT(void)

{

TMOD |= 0x20; //定时器1定时方式2,初值自动重装

TH1 = 0xfd; //波特率9600bps @ 11,0592M

TL1 = 0xfd;

EA=1;

ES=1;

SCON = 0x50; //串口方式1,允许接收

TR1 = 1; //启动定时器

}

/*******************************************************************/ void send_string(unsigned char str[])

{

unsigned char i;

for(i=0;str[i]!='\0';i++)

{

SBUF = str[i]; //输出字符

while(TI==0); //等价while(TI==0);

TI=0; //清TI

}

}

/*******************************************************************/ void main()

{

P2=0XFE; //选通1位LED

P0=0xFF; //开机LED不显示

Init_URAT(); //串口初始化设置

send_string(string); //发送字符串

while(1); //等待接收中断

}

void URAT_ISR() interrupt 4

{

if(RI==1)

{

temp=SBUF;

P0=temp;

SBUF = temp; //输出字符

while(TI==0); //等价while(TI==0);

TI=0; //清TI

RI=0;

}

}

/*******************************************************************/

相关文档
最新文档