pwm.c

来自「pulse width modulation code using servo 」· C语言 代码 · 共 40 行

C
40
字号
#include<reg51.h>
sbit PWMPIN=P1^0;
bit F;
unsigned char pwm_width;

void pwm_setup()
{
        TMOD = 0;
        pwm_width =160;
        EA = 1;
        ET0 = 1;
        TR0 = 1;
}

void timer0() interrupt 1
 {
        if(!F)
 		{       //Start of High level
                F=1; //Set flag
                PWMPIN=~PWMPIN;     //Set PWM o/p pin
                TH0=pwm_width;        //Load timer
                TF0=0;                //Clear interrupt flag
                return;         //Return
        }
        else {  //Start of Low level
                F=0; //Clear flag
                PWMPIN = ~PWMPIN;     //Clear PWM o/p pin
                TH0 =255-pwm_width;  //Load timer
                TF0=0;        //Clear Interrupt flag
                return;         //return
        }
}

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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?