新手上路
- 积分
- 46
- 金钱
- 46
- 注册时间
- 2017-7-28
- 在线时间
- 4 小时
|
发表于 2017-7-30 17:53:18
|
显示全部楼层
没写过32的这是51的你可以借鉴一下
这是控制995的程序可调角度最大到180(实际比这个大的多,可以到270度)
舵机的大周期必须是20ms
0~2.5ms 控制0到180度
#include<reg52.h>
sbit pwm=P0^0;
sbit key1=P1^4;
sbit key2=P1^5;
sbit key3=P1^6;
unsigned char time,a;
void delay (unsigned int z)
{
unsigned char x,y;
for (x=z;x>0;x--)
for (y=110;y>0;y--) ;
}
void main ()
{
time=0;
a=36;
TMOD=0X10;
TH1=0XFF;
TL1=0XEE;
EA=1;
ET1=1;
TR1=1;
while (1)
{
if (key1==0)
{
delay(2);
if (key1==0)
{
while (!key1) ;
a=14;
}
}
if (key2==0)
{
delay(2);
if (key2==0)
{
while (!key2) ;
a=36;
}
}
if (key3==0)
{
delay(2);
if (key3==0)
{
while (!key3) ;
a=59;
}
}
}
}
void timer1() interrupt 3
{
TH1=0XFF;
TL1=0XEE;
time++;
if (time>=1000) time=0;
if (time<=a) pwm=1;
else pwm=0;
}
|
|