51单片机与PC进行串口通信,可以烧写,但是不能通信?

单片机是使用STC89C51的,接线应该没问题,使用MAX232CPE转换电平,通过串口RS232通信,周围的电容选择0.1UF,0.33UF都试过,都出现下列现象,用10UF的就连现象都没有了。
程序是将PC发送给单片机的数据返回给PC,这个程序在开发板上试过,可以实现。所以只能是硬件的问题。
现象就是,我使用STC_ISP软件进行烧写,可以成功,但是用串口调试助手发送数据时,该软件下面的状态栏中的"RX:"会增加,就是有数据发过来,但是在上面的接收面板上没有任何东西。
单片机也能正常工作,曾经编了一个闪烁LED的程序,可以在这个硬件上实现,但是PC通过串口控制LED就不行。
当我把波特率调大,会返回“-”,这个和在开发板使用的结果一样。
唯一不同就是接收的数据不显示出来,同样的芯片在开发板上一切正常,所以就只能是我的硬件有问题,接法应该没错,参照了网上书上的内容。有的地方说电容用1UF,有的用10UF一样好用,我用10UF的上面的现象都没有了,现在用的是0.1UF的。是不是电容一定要1UF的才好用?请各位高手指教,谢谢!

首先,别乱试MAX232周围的那四个电容,根据MAX232的数据说明书里规定这四个电容必须是1uF的,并且最好是带极性的电解电容(耐压至少16V以上)。
既然能进行ISP在线编程烧写程序进去,那说明硬件是没有问题。你的程序在开发板上实现过,但能确认开发板的串口电路和你现在用的ISP电路是一样的么?
还有,计算机上的串口接收软件也没设置好也收不到数据的!
如果怀疑是串口硬件电路的问题,可以做这样的实验,就是让把单片机拔出来,MAX232留着,PC上的串口发送数据,然后把原本接单片机TXD和RXD的两个数据引脚短路,看看PC上的接收软件是否能接收到直接发送并返回的数据,如果能成功,则证明串口硬件电路没问题。
串口通讯有的时候要求很多,你先实验一下能不能单片机只给PC发送数据。然后再试把数据从PC发下去,让单片机返回数据。
还有问题可以发百度HI的信息给我。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答