中科因仑“3+1”工程特种兵精英论坛
标题:
共享一个控制舵机左右摇摆的C程序
[打印本页]
作者:
曾经最美
时间:
2016-5-31 19:00
标题:
共享一个控制舵机左右摇摆的C程序
#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit c=P0^1;//白线控制线
uint pluse;
uchar flag=0;
volatile uchar count;
void begin() //初始化程序
{
c=1;
TMOD=0x11; //设置定时器0和定时器1的工作方式为方式1
TH0=(65536-1000)/256; //求模
TL0=(65536-1000)%256; //求余
TH1=(65536-20000)/256; //求模
TL1=(65536-20000)%256; //求余
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=1;//启动定时器0
ET1=1;
TR1=1;
}
void timer0() interrupt 1 //定时器0中断服务程序
{
TR0=0;//关闭定时器0
c=0;
TH0=(65536-pluse)/256; //求模
TL0=(65536-pluse)%256; //求余
}
void timer1() interrupt 3 //定时器1中断服务程序
{
c=1;
TH1=(65536-20000)/256; //求模
TL1=(65536-20000)%256; //求余
TR0=1;//启动定时器0
count++;
}
void main()
{
begin();
count=0;
pluse=1000;
while(1)
{
if(count==2)
{
if(pluse==2000){flag=1;}
if(pluse==1000){flag=0;}
if(flag==0){pluse=pluse+50;}
if(flag==1){pluse=pluse-50;}
count=0;
}
}
}
程序已经通过测试,想测试舵机好坏的可以拿去试试。
欢迎光临 中科因仑“3+1”工程特种兵精英论坛 (http://bbs.enlern.com/)
Powered by Discuz! X3.4