发个舵机测试的51程序。
#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位数码管输出
/*********************************************************
主函数
**********************************************************/
voidmain()
{
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--);
} 初入模型,买了个舵机和电调。每次运行都要用遥控器,感觉麻烦。网上找了找。买个舵机测试器要近50块。网上找的时候,说就是一个单片机。呵呵。就买了一个单片机,功能还多多。以前一直不知道单片机时什么东东。正好买来学习。这是学单片机1个星期的成果。:)。还是比较简单的程序。大家指教。 回复【1楼】jacob_
-----------------------------------------------------------------------
请楼主发个电路说明应用,供大家学习 这个你用个51的最小系统板就可以了。唯一要说明的是晶振是12Mhz的。如果不是12Mhz,一些参数要改一下。
外围电路就下面这些。
P2口,接按键
sbit K1=P2^7; //++
sbit K2=P2^6; //--
//P0 口为 PPM 舵机信号输出
//P1 口接1位数码管输出
很简单
数码管可以不要。对系统没有任何影响,就是不太直观。 请问,分辩率有多少啊? 1ms-2ms 步进为1ns,1000步 1/1000的分辨率。 留个记号,以后再看 支持下吧 留下记号。 怎么个测试法,或者,测试原理 mark 很实用啊!!感谢!!! 你这个P0口怎么定义的呀,程序没说明? 顶一下 回复【8楼】n44303
-----------------------------------------------------------------------
P0口接舵机信号输入,按++,--就可以控制了 回复【12楼】myem007
-----------------------------------------------------------------------
//P0 口为 PPM 舵机信号输出 回复【8楼】n44303
-----------------------------------------------------------------------
用51单片机模拟PPM信号,关于遥控器的PPM信号。可以百度一下。有介绍的。 mark
页:
[1]