51单片机C言语PWM调速参阅程序
关于频率和占空比,关于12M晶振假定PWM输出频率为1KHZ,这样守时中止次数
*设定为C=10,即0.01MS中止一次,则TH0=FF,TL0=F6;因为设定中止时刻为0.01ms,这样
*能够设定占空比可从1-100改变。即0.01ms*100=1ms
******************************************************************************/
#include
#define V_TH0 0XFF
#define V_TL0 0XF6
#define V_TMOD 0X01
void init_sys(void);
unsigned char ZKB1;
voidmain (void)
{
init_sys();
ZKB1=40;
P1_1=1;P1_0=0;
while(1);
}
void init_sys(void)
{
TMOD=V_TMOD;
TH0=V_TH0;
TL0=V_TL0;
TR0=1;
ET0=1;
EA="1";
}
void timer0(void) interrupt 1
{
Unsigned char click;
TH0=V_TH0;
TL0=V_TL0;
++click;
if (click>=100) click=0;
if (click<=ZKB1)
P1_1=0;
else
P1_1=1;
}