题目:比特率2400发送,单片机收数据后加上一序号发给计算机超过255归零
#include<reg52.h>
#define uchar unsigned char
uchar flag,a,i;
void main()
{
REN=1;
SM0=0;
SM1=1;
TMOD=0x20; //定时器1方式2
TH1=0xf4; //波特率2400
TL1=0xf4; //波特率2400
TR1=1;
EA=1;
ES=1;
while(1)
{
if(flag==1)
{
ES=0;
flag=0;
SBUF=i;//发送第一次
i++;
if(i==255)
i=0;
while(!TI);
TI=0; //发送中断标志
SBUF=a;//发送第二次
while(!TI);
TI=0; //发送中断标志
ES=1;
}
}
}
void ser() interrupt 4 //4代表串口
{
RI=0;
// P1=SBUF;//小灯接收
a=SBUF;//接收
flag=1;
}
第一次发送
第二次发送
第255次发送