chrisforbt 发表于 2011-4-29 00:07:56

求51单片机控制舵机正反转的程序

如题哈,谢谢各位大牛。

dengnianlun 发表于 2011-11-5 09:18:16

#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;
   }

   }   
}

lyg407 发表于 2012-5-29 00:56:05

可以看看我发表的帖子哦。。。里面有详细介绍
页: [1]
查看完整版本: 求51单片机控制舵机正反转的程序