51单片机延时3S以上,然后控制舵机旋转90°,最好给一个通用程序

就是一个延时开启装置,头疼的要死,只找到延时一秒的,但是最起码需要延时3S以上

//假设晶振12MHZ,控制舵机函数你自己做
#include "reg51.h"
unsigned int YSJS=0;
void Timer1Init(void) //50毫秒@12.000MHz
{
TMOD &= 0x0F; //设置定时器模式
TMOD |= 0x10; //设置定时器模式
TL1 = 0xB0; //设置定时初值
TH1 = 0x3C; //设置定时初值
ET1 = 1; //使能定时器1中断
TR1=1; //定时器1开始计时
EA =1; //开总中断
}

void main(void)
{
Timer1Init();
while(1)
{
}
}

void TIMER1(void) interrupt 3 //定时器1中断函数使用默认寄存器组
{
TL1 = 0xB0; //设置定时初值
TH1 = 0x3C; //设置定时初值

YSJS++;
if(YSJS==60) //50mS*60=3秒,其实随便你延时多久
{
YSJS=0;
//这里控制舵机
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-08-03
延时几十秒,很好办。

旋转 90 度,要求不清。
需要用多少时间,转过 90 度?
第2个回答  2015-08-01
重复延时3次就Ok,或者加 if(a=0;a<3;a++){延时1秒程序};
相似回答