proteus仿真虚拟终端接收不到数据

2019-07-17 19:33发布

QQ截图20170310222337.jpg     QQ截图20170310222608.jpg
****************************************************************************************
为什么我的程序实物测试过可以,在仿真里面就不行呢?
程序实现的理想功能是接受到一个x,然后就发回 I get x,实际测试可以
但是仿真的时候只是发回 I get ,并没有发回我发出的字符,这是什么原因呢?求大神指点?郭天祥教程里的一个程序
*******************************************************************************
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar flag,a,i;
uchar code table[]="I get ";
void init()
{
  TMOD=0x20;
  TH1=0Xfd;
  TL1=0xfd;
  TR1=1;
  REN=1;
  SM0=0;
  SM1=1;
  EA=1;
  ES=1;
}


void main()
{
   init();

   while(1)
   {
      if(flag==1)
           {
             ES=0;
                 
                 for(i=0;i<6;i++)
                  {
                   SBUF=a ;
                   while(!ti);
                   TI=0;
                   SBUF=table;
                   while(!TI);
                   TI=0;
                  }
                  SBUF=a;
                  while(!TI);
                  TI=0;
                  ES=1;
                  flag=0;
           }
   }
}
void ser()interrupt 4
{
  RI=0;
  a=SBUF;
    flag=1;
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。