stc单片机串口调试的小程序,但是在串口调试助手里,显示接收不到数据,希望大虾们帮忙解决下,下面是程序

ORG 0000H
LJMP MAIN
ORG 1000H
MAIN: MOV P1,#0FFH
MOV P2,#0FFH
MOV TMOD,#20H ;设置波特率为9600,串口发送方式为1
MOV TH1,#0FBH
MOV TL1,#0FBH
MOV PCON,#00H
MOV SCON,#58H
SETB TR1
SETB EA ;开中断
SETB ES
SEND: MOV A,#0FFH
MOV SBUF,A
JBC TI,SEND
END

你先看看串口线有没问题:

将串口的2、3脚两根针短接,用键盘在串口调试输入字符,如果串口调试接收区能够显示输入的字符,说明串口工作正常
等我再看看程序

我觉得这儿有问题 JBC TI,SEND
JBC在T1为0的时候,会顺序执行,然后就end了 ,这里我觉得应该改为等待发送结束的指令

JNB T1, $追问

我试试···

追答

完事记得采纳我

追问

还是不对,并且我把单片机上的p3.0和p3.1短接后,发现串口调试助手的发送的数据和收到的数据部一样,而且我发送的是一个数据,为何串口调试助手一直在接收单片发来的数据(数据很多)!并且,当我把板子上的电源关掉后,串口线不短接,串口调试助手发送数据,仍然可以收到数据,电源打开就不行了!求解!

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-06
大哥,啥年代啦,还用汇编。我汇编看不太懂,你调用send了吗。你如果要C语言的,我能给你写个
第2个回答  2011-08-08
用十六进制发送追问

这发的就是十六进制呀?

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

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

在用串口调试助手时为什么不能接收数据?
1、可能是串口调试助手的各个选项以及通信协议(波特率等)设置不合适,需要重新更改,以确保PC机可以正确采样。2、可能是输入波形不正确 3、可能物理连接不正确;   4、单片机不能正常工作;5、可能是通信参数不正确;6、单片机的BAUD因子没有调整好,因为PC的BAUD比较准,单片机不太准...

在用串口调试助手时为什么不能接收数据
如果与下位机连接的话,依据通信协议,发送数据,下位机会返回应答数据。或者下位机本身就处在循环发送数据状态。另一可能,即使未与下位机联通,串口的2与3脚短接,也会有此现象出现。

串口调试助手收不到数据
你的程序完全不必这样写,把发送和接收都放在串口中断函数中,在中断函数中先做个判断,TI和RI分别做处理。用串口调试助手调试的时候要选择16进制显示。另外,你的这段程序是可以实现返回接收的数据的,只是在调试的时候要注意发送和接收的数据的是不是都是16进制或者是ASCII码。

在用串口调试助手时为什么不能接收数据?
首先,物理连接正确;其次,单片机正常工作;再次,通信参数正确;最后,串口助手是否有问题,可以备用几个互相印证,格西烽火串口助手、SSCOM等都不错。

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

单片机串口通信,发送了无法收到数据(新手求教 )
尤其只是做实验的前提下。如果使用串口调试助手调试,检查一下波特是否设置为4800,数据格式是否为8-N-1,即无校验位,8位数据和1位停止位。看看调试助手是否勾选了自动清除功能。同时可以查看Rx和Tx计数,如果这两个数字都不是0,证明串口收发正常,只是数据没被隐藏了。另外需要检查串口电缆是否损坏。

串口调试助手发送和接收数据乱码
1、线路连接问题,检查线路,看看是否有错。2、干扰问题,是否有干扰源?增强接地。3、串口配置,检查一下,有时候波特率过高会导致这样的情况。

串口调试助手发数据单片机接收不对
串口中断函数中应避免有使用串口发送的语句SBUF=xx,这样容易产生嵌套中断,或者使程序发生错误,我想可能是中断函数的问题导致你接收错误

相似回答
大家正在搜