求教,程序、硬件都没改变,本来测试可用的程序执行结果不一样了
- #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;
- }
- }
复制代码
我做的是个小车,要求功能有循线,超声波避障,循光入库,语音播报,我本来写的循线和超声波避障已经是测试可用了的,然后我就把源程序复制了一份,然后开始写循光,结果总是错误,检查硬件没有问题,就下载了个开始写的循线和超声波避障,结果不能被正确执行,期间也换了一块单片机试过,也是一样的效果,下载单独的循线是可以正常执行的,表示从没遇到过这种情况,求教啊
下附程序,是循线和超声波避障
这个就是流程图,用流程图软件生成的,跟我的算法一样
一周热门 更多>