学过郭天祥吧
头文件和其他什么的就不写了
uchar zkb=100;(设占空比为100)
uint count=0;
开一个定时器0并设初值
void timer0()interrupt 1
{
再设初值
count++;
if(count=1000)
count=0
if(count>=zkb)
P1^1=1;
else
P1^1=0;
}
自动重装的周期乘上count的时间就是PWM波的一个周期
高电平时间即当count>zkb时时间(count-zkb)x自动重装的周期
学过郭天祥吧
头文件和其他什么的就不写了
uchar zkb=100;(设占空比为100)
uint count=0;
开一个定时器0并设初值
void timer0()interrupt 1
{
再设初值
count++;
if(count=1000)
count=0
if(count>=zkb)
P1^1=1;
else
P1^1=0;
}
自动重装的周期乘上count的时间就是PWM波的一个周期
高电平时间即当count>zkb时时间(count-zkb)x自动重装的周期
举报