请大侠帮忙看看这个程序错在哪里????没反应 串口的 51

2019-07-15 14:14发布

void uart_init()
{
  TMOD=0X20;    //定时器1
  SCON=0X50;    //串口1
  PCON=0X00;    //不分屏
  TH1 =0XFD;    //253
  TL1 =0XFD;     //253
  ti  =0;         //发送状态清零
  RI  =0;         //接受状态清零
  TR1 =1;       //开定时器1
  EA  =1;       //开总中断
  ES  =1;       //开串口中断1
}
void uartes() interrupt 4
{
  if(RI)
  {
   RI=0;                 //标志清零  
   recevi=SBUF;   
   stat=1;
  }
  if(TI)
  {
   TI=0;
   busy=1;
  }
}   
void main()
{
  uart_init();
  while(1)
  {
  if((busy==1)&&(stat=1))
  {
   SBUF=recevi;
   busy=0;
   stat=0;
  }

  }
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
szzmjs
1楼-- · 2019-07-15 16:44
if((busy==1)&&(stat=1))应该为 if((busy==1)&&(stat==1)) 最佳答案
铭日
2楼-- · 2019-07-15 21:59
 精彩回答 2  元偷偷看……
寒758264068
3楼-- · 2019-07-16 03:08
铭日 发表于 2016-4-26 19:39
RX TX口换着插一下,是不是接错了。

不是,,,,,晶振11.0592
铭日
4楼-- · 2019-07-16 06:32
寒758264068 发表于 2016-4-26 20:12
不是,,,,,晶振11.0592

弄个示波器一看就知道了,最方便了
寒758264068
5楼-- · 2019-07-16 08:43
铭日 发表于 2016-4-26 20:16
弄个示波器一看就知道了,最方便了

不用示波器查,就看着程序有没有觉得不对的地方??
寒758264068
6楼-- · 2019-07-16 11:08
szzmjs 发表于 2016-4-26 20:36
if((busy==1)&&(stat=1))应该为 if((busy==1)&&(stat==1))

认真。谢谢了。。

一周热门 更多>