Red de conocimiento informático - Conocimiento de la instalación - Por favor, enséñeme cómo escribir un programa pwm para que el microcontrolador 51 controle la salida del pin P1.6.

Por favor, enséñeme cómo escribir un programa pwm para que el microcontrolador 51 controle la salida del pin P1.6.

//Utiliza la interrupción del temporizador para hacerlo, oscilador de cristal de 12MHz.

sbit PWM=P1^6;

void Init_Timer0(void) //El temporizador 0 se inicializa y se interrumpe cada 10 ms.

{

TMOD = 0x01;

TH0 = (65536-10000) /256;

TL0 = (65536-10000) %256;

EA = 1;

ET0 = 1;

TR0 = 1; p>

void Init_Timer0(void) //Timer0 se inicializa y se interrumpe una vez cada 10 ms.

void Time0_Interrupt(void) interrupción 1 usando 0 //Programa de interrupción del temporizador

{

TH0 = (65536-10000) /256; //Sobrecarga del valor inicial del temporizador

TL0 = (65536-10000) % 256;

if(PWM == 1)

{

PWM = 0;

}

más

{

PWM = 1;

}

}

void main()

{

Init_Timer0() //Inicialización del temporizador

while( 1);

}