51向PC机发送数,串口助手上显示不到接收数

2020-01-20 18:55发布

代码如下:
#include<reg51.h>

void main()
{
   TMOD=0x20;      定时器1工作方式2
   TH1=0xfd;
   TL1=0xfd;
   SCON=0x50;          //串口工作方式1,11.0592M晶体,波特率9600
   PCON=0x00;          //SMOD=0
   TR1=1;
   ES=0;                   //关闭串口中断
   ET1=0;                //关闭定时器1中断
   while(1)
  {
       SBUF=0x55;
       while(!TI)
       {
       }
        TI=0;
   }
程序功能是51通过串口不停向PC机发送0x55,但是串口调试助手上显示没有接收到任何数据,请问代码有问题吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
dlmaowf
1楼-- · 2020-01-20 22:40
硬件、接线正确么?
tombfw
2楼-- · 2020-01-21 03:30
dlmaowf 发表于 2015-4-7 19:41
硬件、接线正确么?

应该没问题 程序好像看不出什么错
老魏
3楼-- · 2020-01-21 04:30
51是TTL电平,不会直接接到串口吧?
tianyime
4楼-- · 2020-01-21 07:55
 精彩回答 2  元偷偷看……
tombfw
5楼-- · 2020-01-21 13:53
老魏 发表于 2015-4-8 08:28
51是TTL电平,不会直接接到串口吧?

51和232相连
老魏
6楼-- · 2020-01-21 16:00
rs232啊,这个肯定不会有反应的,单片机是TTL电平(可以看成0v代表0,5V(或3.3v)代表1),rs232是+12v是1 -12v是0.电平不一样啊!没法通讯的。买个USB转ttl的模块吧!好用不贵。玩单片机必备。或者搭建 rs232转ttl的电路。

一周热门 更多>