舵机
来源:互联网 发布:美国 制造业回归 知乎 编辑:程序博客网 时间:2024/05/01 07:23
首先是一些关于舵机的介绍
舵机控制原理 http://blog.csdn.net/ljb825802164/article/deta
本次使用的舵机是MG995和MG90S,个人认为这两个舵机还是没什么区别的,MG995的功率比较大,MG90S功率比较小,以下有一个关于MG995的使用文章http://www.ndiy.cn/thread
在网上看到的程序总感觉太难读,在这里贴一下自己的程序
主控用的51单片机。。然后用简单的延时函数实现的
#include<reg52.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char .//sbit jia=P3^4;//sbit jian=P3^7;sbit PWM=P0^0; //使用P0^0是使用了10K的排阻进行上拉//uint count;//uint jd;void Timer0_Init(void);void Delay1ms();void Delay1500us();//1.5msvoid Delay100us();//0.1msvoid Delay2500us();//2.5ms//void anjian();void main(){// count=0;// jd=1; Timer0_Init(); while(1) { // anjian(); }}void Timer0_Init(void)//20毫秒@11.0592MHz{ //AUXR &= 0x7F;//定时器时钟12T模式TMOD = 0x01;//设置定时器模式TL0 = 0xff; //设置定时初值TH0 = 0xB7; //设置定时初值//TF0 = 0; //清除TF0标志TR0 = 1; //定时器0开始计时ET0=1;EA=1;}void tm0_isr() interrupt 1{ TL0 = 0xff;//设置定时初值TH0 = 0xB7;//设置定时初值//if(count<jd)PWM=1;//Delay1ms(); //延时1ms right 90°Delay1500us(); //延时1.5ms right 45°//Delay1500us(); Delay100us();Delay100us(); //延时1.7ms 0°//Delay1500us(); Delay100us();Delay100us();Delay100us();//延时1.8ms left45° //Delay2500us(); //延时2.5msleft 90°PWM=0;}void Delay1ms()//@11.0592MHz{unsigned char i, j;_nop_();i = 2;j = 199;do{while (--j);} while (--i);}void Delay1500us()//@11.0592MHz{unsigned char i, j;i = 3;j = 173;do{while (--j);} while (--i);}void Delay100us()//@11.0592MHz{unsigned char i;_nop_();i = 43;while (--i);}void Delay2500us()//@11.0592MHz{unsigned char i, j;i = 5;j = 120;do{while (--j);} while (--i);}//void anjian()//{// P3=0xff;// if(jia==0)// {// Delay10ms();// if(jia==0)// {// jd++,count=0;// if(jd==6)jd=5;// while(!jia);// Delay10ms();// while(!jia);// }// }////// if(jian==0)// {// Delay10ms();// if(jian==0)// {// jd--,count=0;// if(jd==0)jd=1;// while(!jian);// Delay10ms();// while(!jian);// }// }//}
阅读全文
0 0
- 舵机
- 舵机
- 舵机控制
- 舵机应用
- 舵机控制
- 舵机详解
- 舵机控制
- 舵机arduino
- 舵机控制
- 可控舵机
- [51]舵机
- 舵机控制
- 舵机S3010
- 浅谈数字舵机与模拟舵机区别
- Arduino 摇杆控制 舵机
- 伺服舵机控制程序
- 舵机知识扫盲
- 舵机打表生成器
- Android横竖屏切换及其生命周期
- js日期初始化总结:new Date()参数设置
- volatile无法保证i++原子性的解决方案
- Oracle之分析函数应用- 连续值判断
- Spring Boot:(二)核心讲解
- 舵机
- [设计]代理模式
- 剑指offer---左旋转字符串
- spring-DI环境搭建
- 51nod 1052 最大m子段和 DP
- 基于matlab的图像处理-RGB色彩提取方法
- 飞狐教育java学习【第一天】知识点
- The connection to adb is down, and a severe error has occured.
- 197. Rising Temperature(Lettcode)