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