Red de conocimiento informático - Computadora portátil - ¿Cómo realizar la regulación de velocidad y la rotación hacia adelante y hacia atrás del motor de CC PWM de un solo chip 51?

¿Cómo realizar la regulación de velocidad y la rotación hacia adelante y hacia atrás del motor de CC PWM de un solo chip 51?

El ajuste de velocidad consiste en ajustar el ciclo de trabajo del pulso

//Velocidad de 4 niveles ajustable: 0, 1, 2, 3 ciclo de trabajo correspondiente: 0, 1; /4, 2/4, 3/4

#include

llave de bits=P3^6;

motor de bits=P2^ 4;

key_scan de caracteres sin firmar(void);

void motor_set(car v sin firmar);

void motor_init(void);

carácter sin firmar PWM_H=0,n=0,i=0;

void main()

{

motor_init();

mientras (1)

{

si (key_scan() == 1)

{

motor_set(i%4 );

}

}

}

//El motor gira

void motor_run() interrupción 3

{

if(n

else motor=0;

n++;

if(n>=4) n=0;

}

//Control de velocidad, velocidad ajustable de 4 niveles: 0, 1, 2, 3; ciclo de trabajo correspondiente: 0, 1/4, 2/4, 3/4

void motor_set(unsigned char v)

{

if (v> 3) v= 3;

si (v == 0) TR1 = 0;

else

{

TR1 = 1 ;

PWM_H = v;

}

}

//Inicialización del motor

void motor_init(void )

{

EA=1;

ET1=1;

TMOD=TMOD & 0X0F |

}

//Escanear clave

carácter sin firmar key_scan(void)

{

carbón sin firmar en = 0,i ;

while(1)

{

if(key==0) //Determina si presionar

{

for(i=0;i<100;i++); //Retraso del software

if(key==0) //Determina si presionar nuevamente

{

on = 1;

break; //salir del bucle

}

}

}

mientras(clave==0);

devuelve 1;

}