简单的串口通信程序为什么没有反应

2019-03-24 17:59发布

用JTAG烧录hex文件,显示已成功烧录

程序如下:


#include<reg51.h>

#define uchar unsigned char

void delay(void)

{

unsigned char h,i,j,k;

for(h=5;h>0;h--)

for(i=4;i>0;i--)

for(j=116;j>0;j--)

for(k=214;k>0;k--)         ;

}

void serial_init()

{

EA=1;

TMOD=0x20;           //定时器1--方式2

TL1=0xfd;

TH1=0xfd;            //11.0592MHZ晶振,波特率为9600

SCON=0x50;           //串口方式1

PCON=0x00;            //SMOD=0;

TR1=1;               //启动定时

}

void send_one_char(unsigned char cht)

{

SBUF=cht;

while(TI==0);

TI=0;

delay();

}

main()

{

serial_init();

while(1)

{

send_one_char('B');

}

}


程序的意思就是单片机向PC发送BBB。。。

但我用串口助手一直没有接受到数据,只是发送什么,比如31,就接受回来什么。。。。

如下图所示:

1.PNG

求教各位这是为什么啊?

PS: 2.PNG 觉得这些设置应该没问题


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。