搜索
bottom↓
回复: 17

发个舵机测试的51程序。

[复制链接]

出0入0汤圆

发表于 2010-3-11 17:49:40 | 显示全部楼层 |阅读模式
#include < reg51.h >
#include <intrins.h>



unsigned char code LED7Code[] = {~0x40,~0x79,~0x24,~0x30,~0x19,~0x12,~0x02,~0x78,~0x00,~0x10,~0x88};

unsigned char TIM0H;
unsigned char TIM0L;

unsigned int NUM;

void delay(unsigned int i);

sbit K1=P2^7;                //++
sbit K2=P2^6;                //--
//P0 口为 PPM 舵机信号输出
//P1 口接1位数码管输出


/*********************************************************
  主函数
**********************************************************/
void  main()
{


                TMOD=0x11;

            TH1=0xb1;
            TL1=0xe0;   
   
                        EA=1;
   
                ET1=1;       //允许定时/计数器1 中断
                 TR1=1;       //启动定时/计数器1 中断

                 TH0=0xfa;               //1.5ms定时               
                 TL0=0x24;
         
                ET0=1;
            TR0=1;
               
                NUM=1500;

            while(1)
                        {       

                                if(K1==0)
                                        {
                                                delay(5);
                                                if(K1==0) NUM++;
                                                if(NUM>=2000)NUM=2000;
                                        }

                                if(K2==0)
                                        {
                                                delay(5);
                                                if(K2==0) NUM--;
                                                if(NUM<=1000)NUM=1000;
                                        }

                                P1=~LED7Code[((NUM-1000)/100)];

                                TIM0H=((65536-NUM)/256);
                                TIM0L=((65536-NUM)%256);
                       

                        }
}


/*********************************************************
  中断服务函数
**********************************************************/
void Time1(void) interrupt 3  
        {
           TH1=0xb1;               //20ms定时               
           TL1=0xe0;
           P0=~P0;
   
                TR0=1;

        }

void Time0(void) interrupt 1

{
         

        TH0=TIM0H;
          TL0=TIM0L;
        P0=~P0;

                TR0=0;


}

void delay(unsigned int i)
{
    char j;
    for(i; i > 0; i--)
        for(j = 200; j > 0; j--);
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2010-3-11 17:53:54 | 显示全部楼层
初入模型,买了个舵机和电调。每次运行都要用遥控器,感觉麻烦。网上找了找。买个舵机测试器要近50块。网上找的时候,说就是一个单片机。呵呵。就买了一个单片机,功能还多多。以前一直不知道单片机时什么东东。正好买来学习。这是学单片机1个星期的成果。:)。还是比较简单的程序。大家指教。

出0入0汤圆

发表于 2010-3-20 23:12:59 | 显示全部楼层
回复【1楼】jacob_
-----------------------------------------------------------------------

请楼主发个电路说明应用,供大家学习

出0入0汤圆

 楼主| 发表于 2010-3-23 18:08:54 | 显示全部楼层
这个你用个51的最小系统板就可以了。唯一要说明的是晶振是12Mhz的。如果不是12Mhz,一些参数要改一下。

外围电路就下面这些。

P2口,接按键

sbit K1=P2^7; //++
sbit K2=P2^6; //--
//P0 口为 PPM 舵机信号输出
//P1 口接1位数码管输出

很简单

数码管可以不要。对系统没有任何影响,就是不太直观。

出0入0汤圆

发表于 2010-3-23 18:15:28 | 显示全部楼层
请问,分辩率有多少啊?

出0入0汤圆

 楼主| 发表于 2010-3-25 13:46:27 | 显示全部楼层
1ms-2ms 步进为1ns,1000步 1/1000的分辨率。

出0入0汤圆

发表于 2010-4-7 23:00:00 | 显示全部楼层
留个记号,以后再看

出0入0汤圆

发表于 2010-4-7 23:23:18 | 显示全部楼层
支持下吧

出0入0汤圆

发表于 2010-5-22 20:44:23 | 显示全部楼层
留下记号。

出0入0汤圆

发表于 2010-8-26 23:15:13 | 显示全部楼层
怎么个测试法,或者,测试原理

出0入0汤圆

发表于 2011-1-15 17:51:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-16 23:46:53 | 显示全部楼层
很实用啊!!感谢!!!

出0入0汤圆

发表于 2011-3-15 20:41:39 | 显示全部楼层
你这个P0口怎么定义的呀,程序没说明?

出0入0汤圆

发表于 2011-3-21 13:01:47 | 显示全部楼层
顶一下

出0入0汤圆

 楼主| 发表于 2011-4-4 21:47:41 | 显示全部楼层
回复【8楼】n44303
-----------------------------------------------------------------------

P0口接舵机信号输入,按++,--就可以控制了

出0入0汤圆

 楼主| 发表于 2011-4-4 21:48:59 | 显示全部楼层
回复【12楼】myem007
-----------------------------------------------------------------------

//P0 口为 PPM 舵机信号输出

出0入0汤圆

 楼主| 发表于 2011-4-4 21:49:49 | 显示全部楼层
回复【8楼】n44303
-----------------------------------------------------------------------

用51单片机模拟PPM信号,关于遥控器的PPM信号。可以百度一下。有介绍的。

出0入0汤圆

发表于 2011-4-23 00:12:09 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 16:03

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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