标题:
51单片机控制sg90舵机程序
[打印本页]
作者:
zyc-master
时间:
2018-11-20 10:46
标题:
51单片机控制sg90舵机程序
舵机程序模块化,方便移植和使用
单片机源程序如下:
#include<reg51.h>
#include "servo.h"
void main ( void ) //主函数
{
InitialTimer();
for(;;)
{
ControlLeftOrRight();
}
}
void Timer1 ( void ) interrupt 3 //定时器中断函数
{
TH1 = ( 65535 - 500 ) / 256;
TL1 = ( 65535 - 500 ) % 256;
TimeOutCounter ++;
switch ( LeftOrRight )
{
case 0 : //为0时,舵机归位,脉宽1.5ms
{
if( TimeOutCounter <= 3 )
{
ControlPort = 1;
}
else
{
ControlPort = 0;
}
break;
}
case 1 : //为1时,舵机左转,脉宽1ms(理论值),实际可以调试得出
{
if( TimeOutCounter <= 1 )
{
ControlPort = 1;
}
else
{
ControlPort = 0;
}
break;
}
case 2 : //为2时,舵机右转,脉宽2ms(理论值),实际可以调试得出
{
if( TimeOutCounter <= 6 )
{
ControlPort = 1;
}
else
{
ControlPort = 0;
}
break;
}
default : break;
}
if( TimeOutCounter == 80 ) //周期20ms(理论值),比较可靠,最好不要修改
{
TimeOutCounter = 0;
}
}
复制代码
所有资料51hei提供下载:
Servo_Model.zip
(31.78 KB, 下载次数: 175)
2018-11-20 10:46 上传
点击文件名下载附件
servo程序
下载积分: 黑币 -5
作者:
yanzeyuan33333
时间:
2018-11-21 10:01
下载的内容与贴出来的不相符
作者:
zyc-master
时间:
2018-11-21 11:56
yanzeyuan33333 发表于 2018-11-21 10:01
下载的内容与贴出来的不相符
定时器中的switch的代码原来在servo.h中,上传审核的时候,管理员为了方便理解给改了
作者:
caozhaokun
时间:
2020-4-23 13:16
谢谢楼主的分享,最近在编程,来点启发和思路
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1