微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 简单的51串口通讯(通过判断中断标志位实现)

简单的51串口通讯(通过判断中断标志位实现)

时间:11-26 来源:互联网 点击:
#include

unsigned int flag=0,i=0,b,a[5]={0,1,2,3,4};

void delay()
{
unsigned char i,j;
for(i=0;i<100;i++)
for(j=0;j<100;j++);
}
void main()
{

TMOD=0x20;//设置定时器1为工作方式2
TH1=0xfd;
TL1=0xfd;
TR1=1;
SCON=0x52;
PCON&=0x7f;
TI=0;
//EA=1;
//ES=1;
while(1)
{
for(i=0;i<5;i++)
{
while(!RI);
{

a[i]=SBUF;

RI=0;

flag=1;


}
}
delay();
if(flag==1)

{
//ES=0;

flag=0;


for(i=0;i<5;i++)
{SBUF=a[i];

delay();
while(!TI);
TI=0; }
//SBUF=2;//28;
//while(!TI);
//TI=0;
//SBUF=3;//28;
//while(!TI);
//TI=0;
//ES=1;
}
}
}

//void ser() interrupt 4
//{
//RI=0;
//P1=SBUF;
//a=SBUF;
//flag=1;
//}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top