51单片机串行通信C语言程序

发布时间:2020-07-30 07:18:21

//程序功能,首先在电脑上发一个数据给单片机,单片机收到后

//在把这个数据发送给电脑

#include

unsigned char a,flag;

void main()

{

TMOD=0X20;//设置定时器1为工作方式2

TH1=0xfd;//9600波特率

TL1=0xfd;

TR1=1; //启动定时器1

SM0=0;

SM1=1;//设置为方式1

REN=1;//接收使能

EA=1;//打开总中断

ES=1; //打开串口中断

while(1)

{

if(flag==1)

{

ES=0;//给电脑发送数据,发送的时候不能让其中断,关闭中断,

flag=0; //0否则一直往电脑上发

SBUF= a;

while(!TI) //等待数据发送结束

TI=0; //产生中断后要软件清0

ES=1;//打开串口中断

}

}

}

void serial() interrupt 4

{

a=SBUF;

P1=a;

RI=0; //软件清0,可以退出中断

flag=1;

}

51单片机串行通信C语言程序

相关推荐