如何用串口调试助手发送数据给单片机并使LED灯亮

用C51写个程序,通过电脑用串口调试助手向单片机发送数据然后流水灯显示,比如我用串口调试助手发1,对应的流水灯一个灯亮。流水灯用的P2口,低电平有效#include<... 用C51写个程序,通过电脑用串口调试助手向单片机发送数据然后流水灯显示,比如我用串口调试助手发1,对应的流水灯一个灯亮。流水灯用的P2口,低电平有效#include<reg52.h>unsigned int buf[10];unsigned int n;void chuankou(){ SCON=0x50; PCON=0x00; TMOD=0x20; TH1=0xFD; TL1=TH1; EA=1; TR1=1;}void serial_int(void) interrupt 4{  if(RI)   {    RI = 0;    switch(SBUF)    {      case 1:        P2 = 0xfe;      break;      case 2:        P2 = 0xfd;      break;      case 3:        P2 = 0xfc;      break;      case 4:        P2 = 0xfb;      break;      case 5:        P2 = 0xfa;      break;      case 6:        P2 = 0xf9;      break;    }   }  if(TI)    TI = 0;  return;}void main(){ chuankou(); while(!RI) buf[n]=SBUF; RI=0; ES=1; while(1);    }求人看看 还缺少什么 和错误在哪 展开
 我来答
47okey
2011-12-23 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5900
采纳率:75%
帮助的人:2396万
展开全部
基本没错。就是第一次发送没反应,第二次时才开始反应。应该是开串口中断放后面的原因。
就是buf[n]=SBUF;//这条不知什么用 。
还有,ES=1放在串口初始化中。
迪凯特科技(北京)有限公司
2023-07-28 广告
单片机串口通信数据丢失的原因可能如下:1. 按键通过串口发送对应命令,第一次按按键串口发送的指令正确且能把数据正确的显示出来,在第二次按按键串口发送的指令出现丢失的状况,可能是因为串口通信的波特率设置不正确。2. 如果单片机和外部设备的波特... 点击进入详情页
本回答由迪凯特科技(北京)有限公司提供
曾妙之D42a4
推荐于2018-04-12
知道答主
回答量:63
采纳率:100%
帮助的人:27.2万
展开全部
缺少串口中断ES,发送时SBUF=0x**;
接受时 P2=SBUF
感觉是
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式