求教,在我的程序、硬件都没改变的情况下,本来测试可.....

2020-01-23 14:43发布

求教,在我的程序、硬件都没改变的情况下,本来测试可用的程序执行起来效果却不一样了呢

我做的是个小车,要求功能有循线,超声波避障,循光入库,语音播报,我本来写的循线和超声波避障已经是测试可用了的,然后我就把源程序复制了一份,然后开始写循光,结果总是错误,检查硬件没有问题,就下载了个开始写的循线和超声波避障,结果不能被正确执行,期间也换了一块单片机试过,也是一样的效果,下载单独的循线是可以正常执行的,表示从没遇到过这种情况,求教啊

下附程序,是循线和超声波避障
  1. #include <AT89x51.H>
  2. #include <intrins.h>
  3.         #include "main.h"
  4.         #include "ceju.h"
  5.         unsigned char Statusflag=1;  //×Ü״̬±ê־λ

  6. void zuozhuan()
  7. {zuo0        =        1;zuo1        =        0;you0        =        0;you1        =        1;}
  8. void youzhuan()
  9. {zuo0 = 0;zuo1 = 1;you0        = 1;you1        =        0;}
  10. void qianjin()
  11. {zuo0  = 0;zuo1  = 1;you0        =        0;you1        =        1;}  
  12. void tingche()
  13. {zuo0        =        0;zuo1        =        0;you0        = 0;you1        =        0;}


  14. /*******************Ñ­Ïß***********************/
  15. void xunxian()
  16. {
  17.                 qianjin();
  18.                 if((a==0)&&(b==0))
  19.                         {
  20.                         qianjin();
  21.                         }
  22.                 if((a==0)&&(b==1))
  23.                         {
  24.                         youzhuan();
  25.                         }
  26.                
  27.                 if((a==1)&&(b==0))
  28.                         {
  29.                         zuozhuan();
  30.                         }
  31. }

  32. void delayhaomiao(unsigned int ms)        //@11.0592MHz
  33. {
  34.         unsigned char i, j;
  35.   while(--ms)
  36.         {
  37.         _nop_();
  38.         i = 2;
  39.         j = 199;
  40.         do
  41.                 {
  42.                 while (--j);
  43.                 } while (--i);
  44.         }
  45. }


  46. void main()
  47. {   
  48.     ceju_test();  //²â¾àº¯Êý³õʼ»¯
  49.     qianjin();
  50.                 while(Statusflag==1)
  51.                 {
  52.                  xunxian();
  53.                  ceju();
  54.                  if(S<=100)
  55.                  Statusflag=2;
  56.                 }
  57.                 while(Statusflag==2)
  58.                 {
  59.                  zuozhuan();
  60.                  delayhaomiao(1700);           //´ËʱÊý¾Ý¹©±àÒ룬ʵ¼ÊÐèÒªÐë¸ù¾ÝС³µÇé¿ö¸ü¸Ä
  61.                  qianjin();
  62.                  delayhaomiao(3000);           //´ËʱÊý¾Ý¹©±àÒ룬ʵ¼ÊÐèÒªÐë¸ù¾ÝС³µÇé¿ö¸ü¸Ä
  63.                  youzhuan();
  64.                  delayhaomiao(1700);           //´ËʱÊý¾Ý¹©±àÒ룬ʵ¼ÊÐèÒªÐë¸ù¾ÝС³µÇé¿ö¸ü¸Ä
  65.                  qianjin();
  66.                  Statusflag=1;
  67.                 }
  68. }
复制代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。