T0的快速PWM
扫描二维码
随时随地手机看文章
#include //Ms级延时函数,参数i:延时时间 void main(void) PORTB = 0xFF; while (1) i 定义为无符号字符数,取值范围为0-255,当增加到255再加1时,就又回到0了,于是条件不成立,退出循环。
void DelayMs(unsigned int i)
{
unsigned char j;
for(;i;i--)
{
for(j=142;j;j--)
{;}
}
}
{
unsigned char i;
DDRB = 0xFF;
TCCR1A = 0x81;
TCCR1B = 0x09; //start Timer
{
i = 255;
while (i)
{
OCR1A = i;
DelayMs(10);
i --;
}
i = 1;
while (i)
{
OCR1A = i;
DelayMs(10);
i ++;
}
}
}