新人请教51单片机串口问题

牛奶里的跳蚤 2014-02-09 01:49:32
我的代码跟郭天祥书上的代码一样,但是我用串口调试助手的时候输入一个数字然后点发送一点反应都没有 电脑没有接受到任何东西。 请问这是什么原因? 我的板子是普中的HC6800 代码如下:

#include<reg51.h>
unsigned char flag=0,a,i;
unsigned char code table[]="I get ";
void init();
void main()
{
init();
while(1)
{
if(flag==1)
{
ES=0;
for(i=0;i<6;i++)
{
SBUF=table[i];
while(!TI);
TI=0;
}
SBUF=a;
while(!TI);
TI=0;
ES=1;
flag=0;

}
}
}

void init()
{
TMOD=0x20;
TH1=0xfd;
TL1=0xfd;
TR1=1;
REN=1;
SM0=0;
SM1=1;
EA=1;
ES=1;
}

void ser()interrupt 4
{
RI=0;
a=SBUF;
flag=1;
}
...全文
180 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
粒坨-康 2014-02-14
  • 打赏
  • 举报
回复
引用 7 楼 u012388912 的回复:
[quote=引用 5 楼 pk124729136 的回复:] 你这个当然没反应啦,你从PC机上发送信数据,单片机没有任何例如点亮LED的处理。你当然看不到反应。
是会显示乱码 几个乱七八糟的字[/quote] void ser()interrupt 4 { if (RI) { RI=0; a=SBUF; flag=1; } } 你把接收代码改成这样。原来的代码不科学因为单片机可能没能接收完PC机发送的数据,你就给PC机发送数据这样就会造成显示乱码。
牛奶里的跳蚤 2014-02-13
  • 打赏
  • 举报
回复
引用 5 楼 pk124729136 的回复:
你这个当然没反应啦,你从PC机上发送信数据,单片机没有任何例如点亮LED的处理。你当然看不到反应。
是会显示乱码 几个乱七八糟的字
牛奶里的跳蚤 2014-02-13
  • 打赏
  • 举报
回复
引用 5 楼 pk124729136 的回复:
你这个当然没反应啦,你从PC机上发送信数据,单片机没有任何例如点亮LED的处理。你当然看不到反应。
PC机发送数据后,单片机会发送给电脑I get x 显示在串口调试的窗口啊。 代码的意思是这样的。。可是没有显示在窗口
粒坨-康 2014-02-13
  • 打赏
  • 举报
回复
你这个当然没反应啦,你从PC机上发送信数据,单片机没有任何例如点亮LED的处理。你当然看不到反应。
色郎中 2014-02-10
  • 打赏
  • 举报
回复
查查晶振是否启动 查查中断 波特率 连线是否OK
Falcon7x 2014-02-10
  • 打赏
  • 举报
回复
你得看手册。
  • 打赏
  • 举报
回复
串口调试助手的参数调整一下,比如波特率什么的
vc8fans 2014-02-09
  • 打赏
  • 举报
回复
检查串口你的串口是USB转的吗?驱动好没有?,

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧