找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2436|回复: 0
收起左侧

舵机的随控随停程序

[复制链接]
ID:144274 发表于 2016-10-24 20:03 | 显示全部楼层 |阅读模式
   舵机只要给一个脉冲,就会转到预定角度,这个大家都明白,如何实现只要按住按键,他就会像电机一样一直转呢?其实不用改舵机的机械结构,只要改程序就可以实现。#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
uint num,PWM;
void delay (int c);
sbit DJPWM = P1^7;//IO口
sbit key1 = P1^0;//IO口
sbit key2 = P1^1;//IO口
sbit key3 = P1^2;//IO口
sbit key4 = P1^3;//IO口




void main()
{
TMOD=0x10;
TH1=0xff;//0.02ms
TL1=0xee;
EA=1;//总中断
ET1=1;
TR1=1;

  num=0;
while(1)
{
                if (key1 == 0)
                {
                        delay(20);
                        if (key1 == 0)
                        {
                               PWM = PWM + 2;
                                if (PWM > 54)
                                {
                                        PWM = 54;
                                }
                        }
                }
                else if (key2 == 0)
                {
                        delay(20);
                        if (key2== 0)
                        {
                                PWM = PWM - 2;
                                if (PWM < 8)
                                {
                                       PWM = 8;
                                }
                        }
                }
  else PWM=35;
  }
}
void delay (int c)//延时
{
int i,j;
for(i=0;i<c;i++)
   {  
  for(j=125;j>0;j--);
   }
}
void t0()interrupt 3
{
TR1=0;
TH1=0xff;
TL1=0xee;
TR1=1;
num++;
  if(num>=1000)//周期20ms
   {
  num=0;
   }
  if(num<=PWM)//改变占空比  
    {
DJPWM = 1;
    }
   else
{
DJPWM =0;
     }
    TR1=1;
}
有没有很惊讶?

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表