墨逸、 发表于 2014-5-15 01:04:58

求教,程序、硬件都没改变,本来测试可用的程序执行结...

求教,程序、硬件都没改变,本来测试可用的程序执行结果不一样了

#include <AT89x51.H>
#include <intrins.h>
      #include "main.h"
      #include "ceju.h"
      unsigned char Statusflag=1;//×Ü״̬±ê־λ

void zuozhuan()
{zuo0      =      1;zuo1      =      0;you0      =      0;you1      =      1;}
void youzhuan()
{zuo0 = 0;zuo1 = 1;you0      = 1;you1      =      0;}
void qianjin()
{zuo0= 0;zuo1= 1;you0      =      0;you1      =      1;}
void tingche()
{zuo0      =      0;zuo1      =      0;you0      = 0;you1      =      0;}


/*******************Ñ­Ïß***********************/
void xunxian()
{
                qianjin();
                if((a==0)&&(b==0))
                        {
                        qianjin();
                        }
                if((a==0)&&(b==1))
                        {
                        youzhuan();
                        }
               
                if((a==1)&&(b==0))
                        {
                        zuozhuan();
                        }
}

void delayhaomiao(unsigned int ms)      //@11.0592MHz
{
      unsigned char i, j;
while(--ms)
      {
      _nop_();
      i = 2;
      j = 199;
      do
                {
                while (--j);
                } while (--i);
      }
}


void main()
{   
    ceju_test();//²â¾àº¯Êý³õʼ»¯
    qianjin();
                while(Statusflag==1)
                {
               xunxian();
               ceju();
               if(S<=100)
               Statusflag=2;
                }
                while(Statusflag==2)
                {
               zuozhuan();
               delayhaomiao(1700);         //´ËʱÊý¾Ý¹©±àÒ룬ʵ¼ÊÐèÒªÐë¸ù¾ÝС³µÇé¿ö¸ü¸Ä
               qianjin();
               delayhaomiao(3000);         //´ËʱÊý¾Ý¹©±àÒ룬ʵ¼ÊÐèÒªÐë¸ù¾ÝС³µÇé¿ö¸ü¸Ä
               youzhuan();
               delayhaomiao(1700);         //´ËʱÊý¾Ý¹©±àÒ룬ʵ¼ÊÐèÒªÐë¸ù¾ÝС³µÇé¿ö¸ü¸Ä
               qianjin();
               Statusflag=1;
                }
}
我做的是个小车,要求功能有循线,超声波避障,循光入库,语音播报,我本来写的循线和超声波避障已经是测试可用了的,然后我就把源程序复制了一份,然后开始写循光,结果总是错误,检查硬件没有问题,就下载了个开始写的循线和超声波避障,结果不能被正确执行,期间也换了一块单片机试过,也是一样的效果,下载单独的循线是可以正常执行的,表示从没遇到过这种情况,求教啊

下附程序,是循线和超声波避障

ypengfei 发表于 2014-5-15 07:57:53

为什么不画流程图,这样你的逻辑是否有问题就一目了然了。

devcang 发表于 2014-5-15 08:32:24

中文全看不着了。

既然和硬件有关,那除了确认这段程序,还是先逐个排查硬件

cmheia 发表于 2014-5-15 08:50:05

{:sweat:}不要在keil内外交叉使用ctrl+c/v

墨逸、 发表于 2014-5-15 13:55:33

ypengfei 发表于 2014-5-15 07:57
为什么不画流程图,这样你的逻辑是否有问题就一目了然了。

这个就是流程图,用流程图软件生成的,跟我的算法一样

墨逸、 发表于 2014-5-15 13:56:56

ypengfei 发表于 2014-5-15 07:57
为什么不画流程图,这样你的逻辑是否有问题就一目了然了。

按照我用拼音来命名的函数,就完全没必要看中文了,另。。。硬件刚刚检查过,也是没有问题的

ypengfei 发表于 2014-5-15 14:08:59

墨逸、 发表于 2014-5-15 13:56
按照我用拼音来命名的函数,就完全没必要看中文了,另。。。硬件刚刚检查过,也是没有问题的 ...

晶振不一样??

墨逸、 发表于 2014-5-15 17:47:45

ypengfei 发表于 2014-5-15 14:08
晶振不一样??

硬件是没有动过的

墨逸、 发表于 2014-5-15 18:02:18

devcang 发表于 2014-5-15 08:32
中文全看不着了。

既然和硬件有关,那除了确认这段程序,还是先逐个排查硬件 ...

按照我用拼音来命名的函数,就完全没必要看中文了,另。。。硬件刚刚检查过,也是没有问题的
页: [1]
查看完整版本: 求教,程序、硬件都没改变,本来测试可用的程序执行结...