f410的奇怪问题,百思不得其解!!!

[复制链接]
 楼主| yanfengren 发表于 2012-8-24 23:36 | 显示全部楼层 |阅读模式
c8051f410单片机,keil c51 c语言编写了一个简单的代码,调试的时候发现程序执行的顺序不是按照编写的顺序走了,看了一下编译后的汇编,确实不是原来的顺序,程序跳转的入口根本就不对。
while(1)
{
   ch=0x10;
   while(ch<=0x14)
   {
    ADC0MX=ch; //通道选择p2.0
   
    switch (ch)
    {
     case 0x10: //浊度
   
      SBUF0='Z';
      while(!TI0);
      TI0=0;
     
         SBUF0='D';
      while(!TI0);
      TI0=0;
      readadc();
     break;
     case 0x11:  //电导率
      SBUF0='D';
      while(!TI0);
      TI0=0;
         SBUF0='D';
      while(!TI0);
      TI0=0;
     
      readadc();
     break;
         
     case 0x12: //温度
      SBUF0='W';
      while(!TI0);
      TI0=0;
         SBUF0='D';
      while(!TI0);
      TI0=0;
     
      readadc();
     break;
     case 0x13:  //PH值
      SBUF0='P';
      while(!TI0);
      TI0=0;
         SBUF0='H';
      while(!TI0);
      TI0=0;
      readadc();
     break;
   
     case 0x14:  //溶解氧
      SBUF0='R';
      while(!TI0);
      TI0=0;
         SBUF0='J';
      while(!TI0);
      TI0=0; //每次执行完分支语句都跳转到这里!
      readadc();
       break;
     default:
    _nop_();
      break;
    }
      
     ch++;
     }

   }
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

151

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部

62

主题

151

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部