51单片机仿真时用串口调试软件,串口软件不显示字符

做51单片机普通IO口模拟串口通信,用KEIL和PROTUES联合仿真,在PROTUES用虚拟终端可以正常显示,可是用串口高度软件时,串口接收显示的都是相应的十六进制数,不勾上“十六进制显示”则只有指针跳,不显示任何数,这是为什么?(波特率9600,晶振11.0592M)
代码如下:
sbit TX=P3^4;
sbit RX=P3^5;
uchar code info[]={"123"};

void init()
{
TMOD=0x02;
TH0=0xA0;
TL0=0xA0;
TR0=1;
TF0=0;
}
void wait_TF0()
{
while(!TF0);
TF0=0;
}
void write_byte(uchar input)
{
uchar i=8;
TR0=1;
TX=(bit)0;
wait_TF0();
while(i--)
{
TX=(bit)(input&0x01);
wait_TF0();
input=input>>1;
}
TX=(bit)1;
wait_TF0();
TR0=0;
}
void Sendata()
{
uint i;
for(i=0;i<sizeof(info);i++)//外层循环,遍历数组
write_byte(info[i]);
}
void main()
{
init();
while(1)
Sendata();

}

没有勾选“十六进制显示”

勾上“十立进制显示后”

第1个回答  2014-12-28

如果需要

可以发给我看看

我做单片机设计的

追问

就是上面这些代码了

追答

如果需要定做设计可以丘上说
我id

本回答被网友采纳

串口调试助手窗口不显示内容
没有接收到数据。1、如果串口调试助手HEX和字符模式的窗口没有显示内容,那么说明串口没有接收到数据,单片机程序和数据线两个方面分别检查一下。2、试试不同的串口助手或者不同版本,有时候是你串口助手自身可能出现了问题。先把USB转TTL模块的RX和TX短接,自测一下,全屏到处看一下设置部分,有无可疑...

51单片机串口连接到电脑上计算机无法显示com端口如何解决(51单片机接收...
1:先去下一个通用的串口调试软件代替你的vb程序,用你原来单片机的程序给计算机发数据,这样如果串口调试软件接收到的数据是正确,说明你的vb程序问题。2:如果上述方法接收的还是错误数据,则建议把单片机串口工作方式改成方式三,波特率和其他的不用变。再然串口调试软件接收数据看看。另外:“PCON=0x00...

两个51单片机通信用杜邦线连接正常,用蓝牙通信串口调试助手显示乱码...
检查一下你的晶振是否为11.0592MHz这种频率(或者是这个数的倍数),这样的频率分频出来的波特率才是标准的波特率,否则会有误差导致数据接收不正确。你用两块单片机对着发,只要晶振频率一样,是没问题的。但是蓝牙模块应该是标准波特率。

我用的51单片机,想要使用串口发送数据,可是我用串口助手调试的时候发现...
串口发送数据子程序和串口初始化子程序有错。TR1=1; 才启动T1控制波特率。你采用查询方式发送,串口就不要开中断,ES=1; 应删掉。修改后的程序如下。

为什么我51串口通信时在串口调试助手里看到的是乱码 求指点 这是我的...
乱码的话,一般情况是波特率不正确导致的。确认你单片机的波特率和上位机接收的波特率是一样的。上层软件的波特率设置为9600就应该可以了。

51单片机与计算机串口通信无法读出数据?
答:1 判断你的硬件有没有问题;方法是 用跳线讲串口的pin2 和pin3短接,用串口调试助手发送数据看调试助手能不 能自己收到,能就说明是单片机程序有问题 2 你检查你的波特率是生成程序是否正确, 中断和主程序用 1楼给你程序,我看了 没问题。这样就可以实现串口通信了 ...

做单片机仿真时,为什么串口调试助手接收区收不到数据?
这个问题很明显,你需要下载一个虚拟串口软件 ,在软件里把“仿真软件里的COM3”和你串口调试助手的COM4连接起来!类似实际2台计算机通信用物理串口线连接一个道理!

stc单片机串口调试的小程序,但是在串口调试助手里,显示接收不到数据...
你先看看串口线有没问题:将串口的2、3脚两根针短接,用键盘在串口调试输入字符,如果串口调试接收区能够显示输入的字符,说明串口工作正常 等我再看看程序 我觉得这儿有问题 JBC TI,SEND JBC在T1为0的时候,会顺序执行,然后就end了 ,这里我觉得应该改为等待发送结束的指令 JNB T1,...

怎么用51单片机向串口调试助手发送字符串?有程序解释更好啊,求解~
ASCII码在单片机中也是用16进制来表示的,只是解码后显示的是字符,你要是随便发一个字符,串口调试助手选择字符显示接收就可以显示一个字符出来(可能我们不认识这个字符)。发送一个字符串就是不停的发送直到发送完毕,51单片机有自己的串行发送端口P3.0和P3.1端口,但是它是一个字节一个字节发送的,...

为什么一打开串口调试助手,单片机的程序就停了?
线接错了,接收、发送和地线三根线有两根错了。也可能是你直接把单片机的TTL电平USRAT口直接与PC的RS232直接连接了,没有使用232芯片。

相似回答