完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 田雨软件客服 于 2012-12-15 17:12 编辑
/*预处理命令*/ #include #define uchar unsigned char #define uint unsigned int /* 函数申明 -----------------------------------------------*/ void delay(uint z); void gundong(); /* 变量定义 -----------------------------------------------*/ ***it relay=P0^1; //定义P0^1位为电机1的控制位 ***it relay2=P0^0;//定义P0^0位为电机2的控制位 ***it hongwai=P3^0; //定义红外接口 ***it k1=P1^1; //定义按键1 ***it k2=P1^2; ***it D2=P1^0; //定义红外感应指示灯 /* ******************************************************************************** ** 函数名称 : main(void) ** 函数功能 : 主函数 ******************************************************************************** */ void main(void) { relay=1; relay2=0; while(1) { gundong(); } } /* ******************************************************************************** ** 函数名称 : delay(uint z) ** 函数功能 : 延时函数 ******************************************************************************** */ void delay(uint z) //-----------------主延时函数1毫秒 { uint x,y; for(x=z;x>0;x--) for(y=100;y>0;y--); } void gundong() { if (hongwai==1 ) { relay=1; D2=1; relay2=0; } //未感应到红外开启旋转电机 if (hongwai==0 ) //感应到红外后电机关闭 { relay=0; D2=0; relay2=1; delay(2000); relay2=0; } } 当感应到红外后 电机1停止,电机2开启 2秒后电机2停止, 但是这个程序当电机2开启后延时2秒后并没有停止而是电机2一直在转!怎么办? |
|
相关推荐
3个回答
|
|
问题出在这里:
relay=0; D2=0; relay2=1; delay(2000); relay2=0; 当感应到红外后,电机1转-->电机2转-->延时2秒-->电机2停(这里只停了几个机器周期,人眼看不到) ......当下一次测周期到来时重新开始 电机1转-->电机2转-->延时2秒-->电机2停 当检测到红外时,电机2的运行规律是:运行2秒钟,停几个机器周期(约为几微秒),运行2秒钟,停几个机器周期(约为几微秒)...... 因为停的时间太短,人看不到。 |
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
364 浏览 0 评论
356 浏览 0 评论
嵌入式学习-搭建自己的ubuntu系统之ubuntu网络设置
526 浏览 0 评论
龙芯中科胡伟武:3B6600 八核桌面 CPU 性能将达到英特尔中高端酷睿 12~13 代水平
574 浏览 0 评论
树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!
542 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10689 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 06:21 , Processed in 0.746482 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号