#include // 包含51单片机寄存器定义的头文件
#define uchar unsigned char
#define uint unsigned int
uchar k=0; //以k做为判断是否接收到数据的依据
uchar c; //记录接收到多少个字节的数据
uchar receive[12]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
void delay1ms(uint i)
{
unsigned char j;
while(i--)
{for(j=0;j<114;j++) //基准延时程序
{;}
}
}
void send_char(unsigned char txd) // 传送一个字符
{
SBUF = txd;
while(!ti); // 等特数据传送
TI = 0; // 清除数据传送标志
}
void fasong(){ //发送数组receive[];
uchar i;
for(i=0;i
send_char(receive);
}
}
void panduan_k(){ //判断k,若为0,说明开始接收数据
if(k!=0){
delay1ms(1); //延迟1ms,等待把数据接收完
k=0;
fasong();
}
}
main()
{
uchar i;
uchar j=0;
uchar receive[12]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
SCON= 0x40; //串口方式1
PCON=0; //SMOD=0
REN=1; //允许接收
TMOD= 0x20; //定时器1定时方式2
TH1= 0xfd; //11.0592M 9600波特率
TL1= 0xfd;
TR1= 1; //启动定时器
while(1)
{ panduan_k();
}
}
void ser()interrupt 4
{ if(RI==1){
RI=0;
receive[k++]=SBUF; //存数据到接收缓存
c=k;
}
}
怎么无论是发什么数据,电脑串口都没有接收到任何的单片机的回复呢?