基于51单片机的模拟舵机控制实验

一、实验原理
1、舵机转动的原理(如下图所示)
1.根据上图我们可以得知,要想控制舵机转动指定的角度,必须要让它在一定的周期(20ms)中,获得一定时间(分别是0.5ms、1ms、1.5ms、2ms、2.5sm)的高电平,具体对应关系,上图中已给出。
2.现在我们要做的就是生成一个周期为20ms的pwm波,通过设定一个比较值(最大为20ms),用来控制我们的高电平时间,进而控制舵机转动指定角度。
2、生成pwm波的原理
1.用定时来实现,设定一个初始值,使其溢出时间为500us,再设定一个计数值,控制pwm波的周期,该值最大为40(500us*40=20 000us),如此便设定了周期为20ms;计数值会一直和比较值做比较,这样就可以实现高电平时间的控制。
2.通过上述三个值的调节,就可以实现舵机不同角度的转动。
二、关键代码
/*定时器0初始化函数*/void timer0_init() { tmod &= 0xf0; //设置定时器模式 tmod |= 0x01; //设置定时器模式 tl0 = 0x33; //设置定时初始值 晶振为11.0592m th0 = 0xfe; //设置定时初始值 et0 = 1; //打开定时器0的中断 tf0 = 0; //清除溢出中断标志位 tr0 = 1; //定时器0开始计时 ea = 1; //开总中断}/*中断服务程序子函数*/void timer0() interrupt 1 { tl0 = 0x33; th0 = 0xfe; //重新赋计数初值为500us count++; //计次,每500us count+1 count%=40; //周期为20ms if(count< pwm_count) { sg_pwm=1; } else { sg_pwm=0; }}注:若要实现不同角度的控制,只需要改变 pwm_count的值就好。

苹果汽车曝光:现代E-GMP平台打造、百公里加速小于3.5秒
凌华科技SuperCAT运动控制器在LED芯片分选机上的应用
箱式变压器高压合闸的原理和操作步骤
基于多种EDA工具的FPGA设计
为下一代家电供电:如何集腋成裘
基于51单片机的模拟舵机控制实验
盘点:2016年石墨烯行业十大热门投资事件
苹果Apple Watch新专利得到曝光
区块链在印度正处于一个非常初级的阶段
手机寒冬逼近 苹果能否抓住5G救命稻草
一文带你真正了解物联网
PLC的复位优先介绍
有源反激式电源的参数设置
英国政府也开始抢英伟达GPU
从智能手机的发展历程找到值得智能水表产业借鉴的地方
便携式叶绿素测定仪的产品特点说明
5G时代爱立信携手Juniper和ECI,以技术手段来与竞争对手进行抗衡
RFID出入库管理系统
解决电磁兼容问题的关键技术:电磁屏蔽
基于能力的完整 COA 系统架构解析