1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
函数如下
#include #define uint unsigned int #define uchar unsigned char ***it zuo1=P1^3; ***it zuo2=P1^4; ***it you1=P1^6; ***it you2=P1^5; ***it qian1=P1^7; ***it qian2=P3^1; ***it cesudu=P3^2; ***it L1=P1^0; //左 ***it L2=P1^1; //右 uint time; uchar flag,circle; void delay_50us(uint t) { uchar j; for(;t>0;t--) for(j=19;j>0;j--); } void delay_50ms(uint t) { uint j; for(;t>0;t--) for(j=6245;j>0;j--); } void go(uint t) { for(time=0;time L1=1; L2=0; delay_50us(26); L1=0; L2=1; delay_50us(34); L2=0; delay_50us(400); } } void back(uint t) { for(time=0;time L1=1; L2=0; delay_50us(34); L1=0; L2=1; delay_50us(26); L2=0; delay_50us(400); } } void left(uint t,uint sd) { for(time=0;time L1=1; delay_50us(30-sd); L1=0; L2=1; delay_50us(30-sd); L2=0; delay_50us(400); } } void left1(uint t) { for(time=0;time L1=1; delay_50us(28); L1=0; L2=1; delay_50us(34); L2=0; delay_50us(400); } } void left2(uint t) { for(time=0;time L1=1; delay_50us(29); L1=0; L2=1; delay_50us(34); L2=0; delay_50us(400); } } void right(uint t,uint sd) { for(time=0;time L1=1; delay_50us(30+sd); L1=0; L2=1; delay_50us(30+sd); L2=0; delay_50us(400); } } void right1(uint t) { for(time=0;time L1=1; delay_50us(26); L1=0; L2=1; delay_50us(32); L2=0; delay_50us(400); } } void right2(uint t) { for(time=0;time L1=1; delay_50us(26); L1=0; L2=1; delay_50us(31); L2=0; delay_50us(400); } } void stop(uint t) { for(time=0;time L1=1; L2=0; delay_50us(30); L1=0; L2=1; delay_50us(30); L2=0; delay_50us(400); } } void xunji0() //循内迹 { if(qian1==0) { if((zuo1==1)&&(zuo2==1)) //若左边两个都检测到黑线,则直走 go(5); else if((zuo1==1)&&(zuo2==0)) //若左边第一个检测到黑线,第二个没有检测到黑线,则左边加速,右侧减速 right1(5); else if((zuo1==0)&&(zuo2==1)) //若左边第一个没有检测到黑线,第二个检测到黑线 left2(5); else if((zuo1==0)&&(zuo2==0)) //若左边两个都没有检测到黑线 left1(5); } else if(qian1==1) right2(20); } void jishu() { flag=0; if(qian2==1) { delay_50us(20); if(qian2==1) { flag++; while(flag<4) xunji0(); while(4<=flag&&flag<=8) stop(10); while(flag==9) { flag=0; xunji0(); } } } } void main() { jishu(); } 不知道为什么,jishu()这个函数里,当4<=flag&&flag<=8时,不执行我设定的 stop |
|
相关推荐
4个回答
|
|
这个判断语句没看懂
|
|
|
|
|
|
|
|
|
|
|
|
所以flag就执行一次就完啦
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
386 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1670 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1123 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1005 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1229 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12018 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 13:48 , Processed in 0.653143 second(s), Total 78, Slave 61 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号