找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机串口自发自收程序有问题,有没有大佬帮解决

查看数: 2209 | 评论数: 9 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-11-14 22:26

正文摘要:

#include<reg51.h>                                         &nb ...

回复

ID:161164 发表于 2022-11-15 09:56
ExploreX 发表于 2022-11-15 09:38
谢谢各位大佬,我这可能是proteus的问题,在我自己电脑上就不好使,在别人电脑上就行,挺奇怪的

是版本问题
从别人的电脑上寻找MCS8051.dll
复制到你的电脑的相同位置就可以了(旧MSC8051.dll先改名)
ID:1051991 发表于 2022-11-15 09:38
谢谢各位大佬,我这可能是proteus的问题,在我自己电脑上就不好使,在别人电脑上就行,挺奇怪的
ID:123289 发表于 2022-11-15 09:21
发送:SBUF=数字后,发送就开始了,一切由硬件完成,发完之后,硬件会产生一个中断标记TI,并引发下一个中断。
你要做的是,待发送中断,中断后,先清除TI。再发送下一个字节,就可以退出了,不用DELAY,也不用再做其它事。
接收:也同样,过程是由硬件完成的,串入组装好一个字节后,硬件会产生一个中断标记RI,并引发一个中断。
你要做的是,待接收中断,中断后,先清除RI,将SBUF中的数据,收藏到某个地方,就可以退出了,不用DELAY,也不用再做其它事。


ID:1051991 发表于 2022-11-15 09:10

还是不行啊,运行proteus 只能显示88,他好像没发送数据一样
ID:1051991 发表于 2022-11-15 09:07
还是不行啊,proteus运行之后 只能显示88
ID:1051991 发表于 2022-11-15 09:01
wpppmlah 发表于 2022-11-15 06:49
检查:
while(TI==0) ;   //等待数据发送完

什么意思?我不太会
ID:161164 发表于 2022-11-15 08:59

ID:68189 发表于 2022-11-15 06:49
检查:
while(TI==0) ;   //等待数据发送完   

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表