找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5408|回复: 1
打印 上一主题 下一主题
收起左侧

控制舵机时出现的问题,请教高手能够解答

[复制链接]
跳转到指定楼层
楼主
ID:16004 发表于 2009-10-16 18:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了一个控制舵机的程序,用P10口输出,下载后舵机不会转动,信号端上的电压为0,用P00口输出(P0口接有外部上拉电阻),下载后舵机会转动但不受控制,不会停止,有时候平稳的转一个角度,然后接着会抖动,方向也不确定,改变定时器的初值或者改变脉冲宽度都不起作用,测量舵机信号端上的电压为2.7伏,是不是电压太低了啊?为什么两个端口输出的电压大小会不一样啊?该怎样解决啊?用的舵机是九克的,程序为:#include <reg51.h>
#define uchar unsigned char
sbit a=P1^0;
uchar time=0;
uchar p=200;
uchar h=10;
void timer0() interrupt 1 using 1 
{
  TH0=(65536-100)/256;
  TL0=(65536-100)%256;
    if (++time==h)
        a=0;
    else if(time==p) 
        {
            time=0;
            a=1;
        }
} 
void main () 
 {
  TMOD=0x01;
  TH0=(65536-100)/256;
  TL0=(65536-100)%256;
  EA=1;
  ET0=1;
  TR0=1;
  a=1;
  while (1);
} 还有,按照程序计数一次应该是0.1ms,可使用Keil进行仿真计数一次大概是0.055ms,为什么啊? 
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:15033 发表于 2009-10-17 10:26 | 只看该作者
使用KEIL软件仿真,晶振默认值为24MHz,应改为你要使用的晶振频率。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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