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

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

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

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

下附程序,是循线和超声波避障
#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;
                }
}

墨逸、 发表于 2014-5-15 00:16:09

好奇怪啊,为什么呐

albert_w 发表于 2014-5-15 09:20:14

奇怪了, 自己写的程序却不会自己调试。 软件没坏就是硬件问题,或者软件配置问题。
页: [1]
查看完整版本: 求教,在我的程序、硬件都没改变的情况下,本来测试可.....