完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本人小白 我的智能小车弄这程序动不了求大神指点(蓝牙控制带舵机小车)
#include #include #define uchar unsigned char #define uint unsigned int char Buffer[4] = {0}; //从串口接收的数据 uint i; ***it Left_Positive=P1^0; //左电机 ***it Left_Negative=P1^2; //左电机 ***it Right_Positive=P1^3; //右电机 ***it Right_Negative=P1^4; //右电机 ***it pwm=P0^3; //舵机控制线 uchar count=0; uint pwm_value=1500; void Delay_1ms(uint i) { uchar x,j; for(j=0;j for(x=0;x<=148;x++); } void InitTimer(void) { TMOD=0x11;//开定时器0,1 TH0=-20000/256;//定时20MS,20MS为一个周期 TL0=-20000%256; TH1=-1500/256;//定时1.5MS,这时舵机处于0度 TL1=-1500%256; EA=1;//开总断 TR0=1;//开定时器0 ET0=1; TR1=1;//开定时器1 ET1=1; } void timer0(void) interrupt 1//定时器0中断函数 { pwm=1; //控制舵机 TH0=-20000/256; TL0=-20000%256; TR1=1; count++; } void timer1(void) interrupt 3//定时器1中断函数 //控制舵机 { pwm=0; TH1=-pwm_value/256; TL1=-pwm_value%256; TR1=0; } void Com_int(void) interrupt 4 //蓝牙串口 { EA = 0; if(RI == 1) { if(SBUF==65) { Buffer[0] = 3; } if(SBUF==68) { Buffer[0] = 4; } if(SBUF==83) { Buffer[0] = 2; // S } if(SBUF==87) { Buffer[0] = 1; // W } if(SBUF==69) { Buffer[0] = 0; // E } RI = 0; } EA = 1; } void qianjin() { pwm_value=1500; //小车前进 Right_Negative=0; Left_Positive=0; Left_Negative=1; Right_Positive=1; } void houtui() //小车后退 { pwm_value=1500; Left_Positive=0; Right_Positive=0; Right_Negative=1; Left_Negative=1; } void tingche() { pwm_value=1500; Left_Positive=0; Right_Positive=0; //小车停车 Right_Negative=0; Left_Negative=0; } void zuozhuan() { pwm_value=1650; //小车左转 Left_Negative=0; Right_Positive=0; Right_Negative=1; Left_Positive=1; } void youzhuan() //小车右转 { pwm_value=1250; Right_Negative=0; Left_Negative=0; Left_Positive=1; Right_Positive=1; } void main() { Delay_1ms(100); InitTimer(); pwm_value=1500; while(1)//循环结构,选择函数控制小车的状态 { switch(Buffer[0]) { case 0: tingche(); break; case 1: qianjin(); break; case 2: houtui(); break; case 3: zuozhuan(); break; case 4: youzhuan(); break; default:break; } } } |
|
相关推荐
3个回答
|
|
程序写错了,小车能跑才怪,
|
|
|
|
自己一步步慢慢调试,看有什么问题,寄存器的值对不对,断点了跑
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1519 浏览 1 评论
3376 浏览 1 评论
8155 浏览 0 评论
1972 浏览 0 评论
VL53L5CX #高达 8x8 多区域测距和 63°对角线宽视场 飞行时间多区域测距传感器
17365 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-29 06:31 , Processed in 0.430472 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号