各位大神,小弟用proteus仿真单片机的串口通信单片机接收不了信号,请解救。

下面是proteus部分电路:本程序是用串口小助手发送“1”,仿真的虚拟终端SCMR接收不了信号“1”,发光二极管不亮。虚拟串口软件如下显示,com1是发送,com2是接... 下面是proteus部分电路:

本程序是用串口小助手发送“1”,仿真的虚拟终端SCMR接收不了信号“1”,发光二极管不亮。虚拟串口软件如下显示,com1是发送,com2是接收,好像是有接收到(下图左边)

程序如下:

#include<reg52.h>
void init();
void main()
{
init();
while(1)
{
while(!RI); //RI=1,判定为串口接收到了数据,RI要清零,
RI=0; //否则就会进入中断,如果没接收数据就一直在while循环
P1=SBUF; //如果介绍到数据就点亮发光二极管

}
}
void init()
{
TMOD=0x20; //设置T1工作方式为方式2
TH1=0xfd; //给定时器高位装初值
TL1=0xfd; //给定时器低位装初值
TR1=1; //开定时器
//以上是设置波特率
SM0=0; //设置串口通讯方式为方式1
SM1=1;
REN=1; //串口是否接收数据的开关
}
这个问题一直困扰着我,求解救
展开
 我来答
47okey
2012-05-09 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2384万
展开全部

程序没错。

虚拟串口设成com3和COM4试试。不知你的本本的物理串口是不是COM1了。

更多追问追答
追问
谢谢你的回答!我想问com不是随便设置的吗?笔记本有物理串口的?假设我的笔记本的物理串口是COM1,会造成什么影响。谢谢
追答
哦,刚试了,就算电脑有物理串口com1,你虚拟串口中设个虚拟的com1也可以通信的。
jianghe706
2012-05-07 · TA获得超过5145个赞
知道大有可为答主
回答量:2213
采纳率:77%
帮助的人:805万
展开全部
你光有虚拟串口还不够,还要用一个串口助手呀!
虚拟串口只提供一个串口,串口助手才能把相关的数据通过虚拟串口来发送或者接收!
更多追问追答
追问
谢谢你的回答,不过上面有说用虚拟助手
追答
那叫串口助手,不叫虚拟助手!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zimao6
2012-05-12
知道答主
回答量:34
采纳率:0%
帮助的人:20.9万
展开全部
如果单片机的晶振12,请改为11.0592
更多追问追答
追问
谢谢你的回答,是11.0592
追答
发送的2字节才接收了1字节啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dfgeoff
2012-05-07 · TA获得超过416个赞
知道小有建树答主
回答量:470
采纳率:50%
帮助的人:436万
展开全部
你的DSR和DCD都勾着呢,那样肯定通不了的。取消了。
更多追问追答
追问
谢谢你的回答,为什么DSR和DCD都勾着通不了?
追答
串口基本通信只需要TXD/RXD/GND三根线。其他的CTS/RTS, DSR/DCD, RING都是Modem通信协议时要用的,一般通信是不用的。如果加上了,要有相应的通信协议才能通信。

你去看看串口协议吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式