完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
源代码
#include ***it PWM1=P0^0; ***it PWM2=P0^1; ***it IN1=P0^2; ***it IN2=P0^3; ***it IN3=P0^4; ***it IN4=P0^5; ***it RP1=P2^0;//左边寻迹 ***it RP3=P2^1; //右边 int count1,count2;//用于中断函数计数 void delay(int z) { int x,y; for(x=z;x>0;x--) for(y=124;y>0;y--); } void forward1()//电机1前进 { IN1=0; IN2=1; } void forward2() { IN3=0; IN4=1; } void back1()//电机1后退 { IN1=1; IN2=0; } void back2() { IN3=1; IN4=0; } void speed(int cnt1,int sd1,int cnt2,int sd2) { if(cnt1 PWM1=1; else PWM1=0; if(cnt2 else PWM2=0; } void turn(int cnt1,int sd1,int cnt2,int sd2) { forward1(); forward2(); speed(cnt1,sd1,cnt2,sd2); } void back(int cnt1,int sd1,int cnt2,int sd2) { back1(); back2(); speed(cnt1,sd1,cnt2,sd2); } void main() { TMOD=0X01; EA=1; TH0=(65536-10000)/256; TL0=(65536-10000)%256; ET0=1; TR0=1; turn(count1,30,count2,35); //2 有 1左 delay(350); while(1) { if(RP1==0&&RP3==1) turn(count1,60,count2,0); if(RP1==1&&RP3==1) back(count1,20,count2,25); if(RP1==1&&RP3==0) turn(count1,0,count2,10); if(RP1==0&&RP3==0) turn(count1,30,count2,35); } } void time()interrupt 1 { TH0=(65536-1000)/256; TL0=(65536-1000)%256; count1++; count2++; if(count1>=100) count1=0; if(count2>=100) count2=0; } |
|
相关推荐
5 个讨论
|
|
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
757 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
728 浏览 0 评论
826 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1459 浏览 0 评论
1208 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12059 浏览 31 评论
/7
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 09:53 , Processed in 1.163178 second(s), Total 43, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4969