#include<reg52.h>
unsigned char flag,a;
void inter();
void main()
{
inter();
while(1)
{
if(flag==1)
{
ES=0; //关闭中断
flag=0;
SBUF=a;
while(TI==1)
TI=0;
ES=1;
}
}
}
void ser() interrupt 4 //中断方式
{
RI=0;
P0=SBUF;
a=SBUF;
flag=1;
}
void inter()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1; //启动t1
REN=1; //允许串行接收
SM0=0; //设定串行工作方式
SM1=1;
EA=1;
ES=1;
}
这是我写的一个串口的程序,有点问题一直找不出来。这是实现单片机和pc的数据传送,但是用串口调试助手的时候,向单片机发送命令,单片机可以收到,但是在串口调试助手的接受区,收不到单片机发回来的命令。请高手解答 |