Red de conocimiento informático - Computadora portátil - El microcontrolador 51 se retrasa durante más de 3 s y luego controla el servo para que gire 90°. Es mejor dar un programa general.

El microcontrolador 51 se retrasa durante más de 3 s y luego controla el servo para que gire 90°. Es mejor dar un programa general.

//Suponiendo que el oscilador de cristal sea de 12 MHZ, puede controlar la función del servo usted mismo

#include "reg51.h"

unsigned int YSJS=0;

void Timer1Init(void) //50 milisegundos @12.000MHz

{

TMOD &= 0x0F //Establecer modo de temporizador

TMOD |= 0x10; //Establece el modo del temporizador

TL1 = 0xB0; //Establece el valor inicial del temporizador

TH1 = 0x3C; el temporizador

ET1 = 1; //Habilita la interrupción del temporizador 1

TR1=1; //El temporizador 1 inicia el cronometraje

EA =1; interrupción total

}

void main(void)

{

Timer1Init();

while( 1)

{

}

}

void TIMER1(void) interrupción 3 //La función de interrupción del temporizador 1 utiliza el registro predeterminado group

{

TL1 = 0xB0; //Establece el valor inicial del tiempo

TH1 = 0x3C //Establece el valor inicial del tiempo

YSJS++;

if(YSJS==60) //50mS*60=3 segundos, de hecho, puedes retrasar todo el tiempo que quieras

{

YSJS=0;

//Controla el servo aquí

}

}