51单片机控制舵机电路图,舵机,红外对管接法,程序

51单片机 和 舵机怎么连线_百度知道
51单片机 和 舵机怎么连线
我有更好的答案
舵机一般有3条线,分别是电源正、电源负、信号线。电源正极线一般为红色或橙色,连接+5V(单片机电源正)【有的舵机为6V供电】电源负极线一般为黑色,连接GND(单片机电源负)信号线连接单片机任意IO口即可(程序设置该IO口输出方波)。
采纳率:87%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。51单片机控制舵机C程序 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
51单片机控制舵机C程序
16:34:22  
分享资料,希望对大家有帮助。
16:34 上传
点击文件名下载附件
下载积分: 积分 -1 分
16.79 KB, 下载次数: 1026, 下载积分: 积分 -1 分
16:54:46  
感谢楼主,,先收藏了。以后应该能用的上。哈哈
18:23:03  
很好的帖子!mark!!!!!!!!!!!!
22:05:10  
学习一下&&谢谢楼主的无私分享
22:09:39  
学习一下&&谢谢楼主的无私分享
10:21:45  
很好的东西,顶顶顶!
高级工程师
10:57:51  
不错的资料,谢谢分享》》》》》》》
17:17:08  
下来看看学习。。。。。。
10:08:29  
感谢楼主,,先收藏了。以后应该能用的上。哈哈
11:14:51  
XGGSKLFM;DKH;DXDFYHFJ
等待验证会员
12:50:29  
顶一个!!!!!
17:42:31  
最近想学这方面的知识~
08:10:49  
多谢楼主分享!!!!!
等待验证会员
09:14:03  
学习& && && && && && && && && && && && && && && && && &
20:51:49  
多谢分享。。。。。。。。。。。。。
等待验证会员
23:50:06  
感谢分享哦
14:36:01  
学习一下&&谢谢楼主的无私分享
04:48:20  
不错,看看
10:55:33  
先下下来看看,不知道是否有用
等待验证会员
16:04:35  
学习了&&挺好的资料&&谢谢分享啊
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司51单片机控制舵机程序
仅提供参考 51单片机控制机器人数字舵机的示例程序。程序比较简单,但演示了控制的方法。作为入门级的学习,还是可以参考的。
51单片机控制舵机程序下载
下载资料需要,并消耗一定积分。
下载此资料的人还喜欢:
技术交流、我要发言! 发表评论可获取积分! 请遵守相关规定。
本周热点资料
电子资料热门词
上传者其它资料
单片机下载排行后使用快捷导航没有帐号?
请完成以下验证码
查看: 6258|回复: 4
求助!!!急!!!51单片机控制两个舵机程序O(∩_∩)O~
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
& & 用C51单片机,分别产生两路可独立调节占空比的PWM信号来控制两个舵机,现在单个舵机已经可以按键控制,我想通过上位机通过串口发指令给单片机,单片机识别指令后分别控制两个舵机,调了几天都没办法,现求助各位高手了,先谢谢了。。。。。。O(∩_∩)O~
在线时间3 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
串口驱动问题,楼主再检查一下你的硬件连接和驱动。
在线时间10 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
应该不是串口的问题,我串口通信写程序验证过了,就是把串口程序和舵机程序整合就不行了
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
协议没有定义好吧,在协议中通过命令控制不同的舵机。
看看你串口使用的定时器和舵机的有没有冲突!
在线时间0 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
一粒金砂(中级), 积分 10, 距离下一级还需 190 积分
不知道楼主解决问题了没呢?我现在也遇到同样的问题,如果楼主已经解决了,跪求楼主发我一份资料,邮箱:
EEWORLD 官方微信
Powered by舵机的控制程序 51单片机写的
我的图书馆
舵机的控制程序 51单片机写的
舵机的控制程序 51单片机写的
主题帖子黑币
//请根据自己马达的控制 来改变程序
#include&reg52.h&
#include&math.h&
#include&intrins.h&
#define uchar unsigned char
#define uint unsigned int
uchar Buffer =0;& && &//从串口接收的数据
uint URTAReceivedCount=0,n=1;
uchar data Tempdatatable[5],CommandDatatable[5];//数据包
uchar serVal[2];
//uint pwm[]={82,82,}; //初始90度,(实际是1382.4,取整得1382)
//uchar pwm_flag=0;
uint code ms0_5Con=461; //0.5ms计数 (实际是460.8,取整得461)
uint code ms2_5Con=2304; //2.5ms计数
bit key_stime_
void Delay_1ms(uint i)//1ms延时
uchar x,j;
for(x=0;x&=148;x++);
void Send_Data(uchar type,uchar cmd,uchar dat)
& &uchar data Buffer[5];//构建数据包
& &uchar *p;
& &uint Send_Count=0;
& &Buffer[0]=0XFF;
& &Buffer[1]=
& &Buffer[2]=
& &Buffer[3]=
& &Buffer[4]=0XFF;& &&&
&&while(1)
& && &if(*p==0XFF)
& && && &Send_Count++;&&//0XFF标志统计位
& && &SBUF = *p;&&//发送
& && &while(!TI)&&//如果发送完毕,硬件会置位TI,等待发送完毕
& && && &&&{
& && && && & _nop_();
& && && &&&}
& && &p++;
& && &TI = 0;
& && &if(Send_Count == 2)&&//当统计到两次出现0XFF,则认为一个数据包发送完毕,跳出循环
& && && &TI = 0;
& && &&&}&&
void Com_Int(void) interrupt 4
ES=0; //关串口中断
RI=0; //软件清除接收中断
temp=SBUF;
&&if(temp==0XFF && URTAReceivedCount&3)
& && & Tempdatatable[0]==0XFF;&&//包头
& && & URTAReceivedCount++;
& && & Tempdatatable[n]=
& && & n++;
& && & if(URTAReceivedCount==0&&n==2)
& && & n=1;
&&if(URTAReceivedCount==2)//包尾
& && & Tempdatatable[0]=0XFF;
& && & Tempdatatable[4]=0XFF;
& && & n=1;
& && & URTAReceivedCount=0;&&//组包完毕
& && & temp=" ";
& && &// Send_Data(Tempdatatable[1],Tempdatatable[2],Tempdatatable[3]);&&//发送组成的数据包回去
&&CommandDatatable[0]=Tempdatatable[0];
&&CommandDatatable[1]=Tempdatatable[1];
&&CommandDatatable[2]=Tempdatatable[2];
&&CommandDatatable[3]=Tempdatatable[3];
&&CommandDatatable[4]=Tempdatatable[4];
&&ES=1;//开串口中断
void Com_Init(void)
& &&&TMOD = 0x21;
& &&&PCON = 0x00;
& &&&SCON = 0x50;& &
& &&&TH1 = 0xFd;& & //设置波特率 9600
& &&&TL1 = 0xFd;
& &&&TR1 = 1;&&//启动定时器1
& &&&ES = 1;&&//开串口中断
& &&&EA = 1;&&//开总中断
& &&&IT0=0;
& &&&EX0=1;
void main()
& & Delay_1ms(200);
& & Com_Init();//串口初始化
& & Timer0Init();//舵机PWM中断初始化& &
&&while(1)
& &if(CommandDatatable[0]==0XFF && CommandDatatable[4]==0XFF)
& && && &&&switch (CommandDatatable[1])& && &//根据键值不同,执行不同的内容
& && && && & {
& && && && &&&case 0X00:&&//类型位0X00,表明是控制数据包,进入控制数据case
& && && && && && &switch(CommandDatatable[2])&&//根据数据位的值来进行选择执行不同的动作
& && && && && && && && && &{
& && && && && && && && && &&&case 0X00:Moto_Stop();
& && && && && && && && && &&&case 0X01:Moto_Forward();
& && && && && && && && && &&&case 0X02:Moto_Backward();
& && && && && && && && && &&&case 0X03:Moto_TurnLeft();
& && && && && && && && && &&&case 0X04:Moto_TurnRight();
& && && && && && && && && &&&case 0X05:Moto_ForLeft();
& && && && && && && && && &&&case 0X06:Moto_ForRight();
& && && && && && && && && &&&case 0X07:Moto_BackLeft();
& && && && && && && && && &&&case 0X08:Moto_BackRight();
& && && && && && && && && &&&default :&&
& && && && && && && && && &}
& && && && && && && && &
& && && && && && && && & default :&&
& && && && &}
[转]&[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢

我要回帖

更多关于 单片机控制舵机的程序 的文章

 

随机推荐