[求助] 程序跳转

scorpius   2010-12-9 15:40 楼主

void send (uchar n)

{

    SBUF=n;

    while(!TI)   ;

   TI=0;

}

 

void main()

{

   SP=0x30;

   init_cpu();   //这个函数设置串口通讯

   while(1)

  {

     send(0x01);

     P1=0x01;

    send(0x02);

     P1=0x02;

    send(0x03);

     P1=0x03; 

    send(0x04);

     P1=0x04; 

    send(0x05);

     P1=0x05; 

  }

}

 

我进行软件仿真,为什么执行第一遍的时候,就是刚开始运行的时候,第一次调用send(0x01)时,会停留在while(!TI);处,当TI=1的时候,他就跳到P1=0x04处了。这是什么原因使它跳到那个地方。然后,继续往后运行,一切正常。

期待着高手的指导。

回复评论 (1)

是每次都跳到0x04那吗?

你可以在0x02处打断点,软件仿真,TI是要你自己手动拉高拉低的。看是否执行到0x02
点赞  2010-12-9 16:18
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复