完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
大家看看我的C程序!!
为什么小车在跑的时候,不会转弯, ???? #include #define uchar unsigned char #define uint unsigned int unsigned char zkb1=0 ; //**左边电机的占空比**// unsigned char zkb2=0 ; //**右边电机的占空比**// unsigned char t=0; //**定时器中断计数器**// ***it RSEN1=P1^0; // 右光对管1 ***it RSEN2=P1^1; //右光对管2 ***it LSEN1=P1^2; //左光对管1 ***it LSEN2=P1^3; //左光对管2 ***it IN1=P2^0; ***it IN2=P2^1; ***it IN3=P2^2; ***it IN4=P2^3; ***it ENA=P2^4; ***it ENB=P2^5; //**********初始化定时器,中断***********// void init() { TMOD=0x01; TH0=(65536-100)/256; TL0=(65536-100)%256; EA=1; ET0=1; TR0=1; } //***********中断函数+脉宽调制***********// void timer0() interrupt 1 { if(t ENA=1; else ENA=0; if(t ENB=1; else ENB=0; t++; if(t>=100) {t=0;} } //******************直行******************// void qianjin() { zkb1=30; zkb2=30; } //***************左转函数1***************// void turn_left1() { zkb1=0; zkb2=50; } //***************左转函数2***************// void turn_left2() { zkb1=0; zkb2=60; } //***************右转函数1***************// void turn_right1() { zkb1=50; zkb2=0; } //***************右转函数2***************// void turn_right2() { zkb1=60; zkb2=0; } //***************循迹函数*****************// void xunji() { uchar flag; if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1)) { flag=0; }//*******直行*******// else if((RSEN1==0)&&(RSEN2==1)&&(LSEN1==1)&&(LSEN2==1)) { flag=1;} //***右转1***// else if((RSEN1==0)&&(RSEN2==0)&&(LSEN1==1)&&(LSEN2==1)) { flag=2;} //***右转2***// else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==1)) { flag=3; }//***左转1***// else if((RSEN1==1)&&(RSEN2==1)&&(LSEN1==0)&&(LSEN2==0)) { flag=4; }//***左转2***// switch (flag) { case 0:qianjin(); break; case 1:turn_right1(); break; case 2:turn_right2(); break; case 3:turn_left1(); break; case 4:turn_left2(); break; default: break; } } //****************主程序****************// void main() { init(); zkb1=30; zkb2=30; IN1=1; //******给电机加电启动******// IN2=0; IN3=1; IN4=0; ENA=1; ENB=1; while(1) { xunji(); //*********寻迹**********// } } 求助啊~~~~ |
|
相关推荐
15个回答
|
|
你确定你的光对管正确工作了么
|
|
|
|
|
|
|
|
确定占空比调节对电机有效么?
|
|
|
|
转弯的时候你没定时啊,,假如转弯的时候执行转弯1ms,你根本看不出来,并且在1ms内可能只专1度的弯 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
我用的是定时中断啊 |
|
|
|
|
|
|
|
我说的是你那个定时是用于pwm输出。 必须要有一个定时是独立于pwm之外的。 |
|
|
|
|
|
|
|
好像有点问题
|
|
|
|
转弯定时没搞好吧。要一边调一边改才可以发现问题。
|
|
|
|
我都看不懂啊!!
|
|
|
|
lz搞定了没有?这个不是你自己写的吧,在一个文档里面的
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
644 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1819 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
1262 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
1136 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1357 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12024 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 06:04 , Processed in 1.154111 second(s), Total 97, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号