protues仿真,模拟串口与单片机怎么接。是不是rxd-rxd txd-txd。

如果用串口助手接收仿真单片机发送的字符'a',程序如何整。chara='2';voiddelay(intx){inty;for(;x>0;x--)for(y=110;y>... 如果用串口助手接收仿真单片机发送的字符'a',程序如何整。
char a='2';
void delay(int x)
{
int y;
for(;x>0;x--)
for(y=110;y>0;y--)
{
;
}
}

void main()
{
TMOD=0X20;
SCON=0X50;
TH1=0XFD;
TL1=0XFD;
PCON=0X80;
TR1=1;
EA=1;
ES=0;
SBUF=a;
while(1)
{
while(TI)
{
TI=0;
delay(800);
SBUF=a;
}
}
}

仿真结果是TXD有波形,当时串口助手接收区无显示。 波特率9600,虚拟串口连接
就是说 单片机能接收到,但是发送的数据, 串口助手无法接收,C#程序也无法接收。
展开
 我来答
LYJUNNAN
2011-09-12
知道答主
回答量:10
采纳率:0%
帮助的人:15.1万
展开全部
程序里查询中断那个while语句括号里应该是非TI,即while(!TI){}
追问
当TI为1时,清零,再发送....
追答
你设置的PCON寄存器,SMOD为1,波特率增加一倍,你将波特率调整为19.2k试试
FM网络
2011-09-09 · TA获得超过825个赞
知道小有建树答主
回答量:1130
采纳率:0%
帮助的人:991万
展开全部
不是rxd-rxd txd-txd, 是rxd--txd.
更多追问追答
追问
使用的是protues中的COMPIM。网上说COMPIM连接是RXD-RXD,不需要交叉
追答
不需要交叉,也是有的。

单片机能接收到,即表示串口助手发送正常,但是发送的数据, 串口助手无法接收,因此异常的是单片机发送。所以你要看RXD是否有波形,有则是串口助手故障,否则是单片机未发送。

请注意:通常要给单片机发送 回车信号后,才会真正发送数据的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-09-09
展开全部
rxd-txd
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yaomeizhixia
2011-09-09
知道答主
回答量:18
采纳率:0%
帮助的人:10.5万
展开全部
rxd--txd
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式