打印

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

[复制链接]
1659|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝