发 帖  
原厂入驻New
[问答]

Proteus仿真C52串口调试问题

805 C51单片机 proteus 串口
分享
cefca1a6e710f66a6a4753034af7870.png 336f45464034565bd434d64d1ded332.png

仿真进去都没发送就亮了 P1.7口一直显示低电平
程序调试感觉没有错误 串口调试助手发送个十六进制的01就不亮了然后发什么都没反应,虚拟串口也弄了,不知道怎么回事
程序
#include<reg52.h>
void main()
{
REN=1;
SM0=0;
SM1=1;
TR1=1;
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
while(1)
{
  if(RI==1)
  {
   RI=0;
   P1=SBUF;
  }
}
}

0
268a2fdc7cf7a829e69818b42dd80fc.png
6e7986fdf13f78a6a5c7090be6e0d8e.png
e60d60d5f5193806cf5ef660a59a814.png
dcb8d0436b7f07eecfb4985a02e72ee.png
cf403e76a00a46423abad4aa683989e.png
2020-3-2 01:56:46   评论 分享淘帖 邀请回答
4个回答
你试下这个附件的电路,能不能收到,不能收到就要排查程序,另外串口哪里要设置好具体看图片。
我之前自己搭的电路也不行,这个是在仿真300例里面改的。
希望对你有帮助
微信截图_20200302100026.png

s.zip

下载积分: 积分 -1 分

13.38 KB, 下载次数: 87, 下载积分: 积分 -1 分

2020-3-2 10:01:46 评论

举报

你好!
单片机不加载hex程序的情况下,运行试一下看看什么结果
2020-3-2 12:17:51 评论

举报

在进入while循环前,先将写一个:P1 = 0XFF;试试
2020-3-2 14:14:00 评论

举报

你初始化代码有问题,没有资料看吗?应该先设置定时器和串口模式,再开启定时器和中断,你把TR1=1;放到TL1=0xfd;下一行试一下。先看下串口通讯知识。
2020-3-3 08:53:41 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /8 下一条

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