为啥这个程序上位机不能显示返回值 i

2019-07-15 23:06发布

为啥这个程序上位机不能显示返回值 i 这是为什么 大神们
#include <reg51.h>

unsigned char flag,a;
int i;

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

while(1)
        {
                if(flag==1)
                {       
                        ES=0;
                        flag=0;
                        SBUF=i;
                        while(!ti);
                        TI=0;
                        SBUF=a;
                        while(!TI);
                        TI=0;
                        ES=1;                       
                }
        }
}

void inti () interrupt 4
{
        RI=0;
        a=SBUF;
        P0=SBUF;
        i=0;
        i++;
        if(i==256)
                i=0;
        flag=1;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
tangkii
2019-07-16 20:02
  1. #include <reg51.h>

  2. unsigned char flag,a;
  3. int i;

  4. void main ()
  5. {
  6.         TMOD=0x20;
  7.         TH1=0xfd;
  8.         TL1=0xfd;
  9.         TR1=1;
  10.         REN=1;
  11.         SM0=0;
  12.         SM1=1;
  13.         EA=1;
  14.         ES=1;

  15. while(1)
  16.         {
  17.                 if(flag==1)
  18.                 {        
  19.                         ES=0;
  20.                         flag=0;
  21.                                                SBUF=i; //这个做什么的?
  22.                         while(!TI);
  23.                         TI=0;
  24.                         SBUF=a;
  25.                         while(!TI);
  26.                         TI=0;
  27.                         ES=1;                        
  28.                 }
  29.         }
  30. }

  31. void inti () interrupt 4
  32. {
  33.         RI=0;
  34.         a=SBUF;
  35.         P0=SBUF;
  36.         i=0;
  37.         i++;
  38.         if(i==256)
  39.                 i=0;//i循环意义何在?
  40.         flag=1;
  41. }
复制代码

一周热门 更多>