打印
[485通信]

两个单片机RS232通讯问题

[复制链接]
2886|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
王栋春|  楼主 | 2023-3-31 22:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
初学PROTUES,做了个两个单片机通讯的模拟,有些问题,请大帮帮忙,谢谢啊!

//发送程序,通过SBUF口发送 0X56
#include <reg51.h>
main()
{
TMOD= 0x20;
SM0=0;
SM1=1;
REN=1;
PCON=0;
TH1 =0XFD;
TL1 =0XFD;
TR1=1;
SBUF=0X56;
}

//接受程序,P1口接受SBUF数据
#include <reg51.h>
main()
{
TMOD= 0x20;
SM0=0;
SM1=1;
REN=1;
PCON=0;
TH1 =0XFD;
TL1 =0XFD;
TR1=1;
while(1)
{
P1=SBUF;while(!RI);RI=0;
}
}

问题1: 这个程序有没有什么错误啊?为什么接受单片机P1口的值一直在晃动。
问题2: 我看书上写发送还要加一条程序,就在SBUF赋值后面, P1=SBUF;while(!TI);TI=0;但如果加上这条程序就无法显示了。
问题3:SBUF的数据加上,是不是就一直存在了?需要while(1)循环码?
问题4:如果做一个电脑与单片机通讯,应该如何改进呢?图片找不到了,记得就是两个单片机P3.0/RXD与P3.1/TXD相互连接,波特率为9600.晶振11.0592)






使用特权

评论回复

相关帖子

沙发
王栋春|  楼主 | 2023-3-31 22:51 | 只看该作者
问题代网友咨询,这方面知识不了解呀。

使用特权

评论回复
板凳
wuzhenchuang| | 2023-10-20 11:04 | 只看该作者
特殊功能寄存器要写点备注是干什么的,这样可以逐渐查清楚。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3301

主题

23724

帖子

70

粉丝