各位大佬好。我采用AVR ATTINY24A单片机。做高、低电平delay的方式 用IO输出方波。但调delay值,不能改变占空比,是什么原因?同样的代码。在51中是可以的。谢谢!
代码如下:
void pwmout()
{
unsigned char i=0;
switch(i)
{
case 0:
DDRB = 0x0F;
PORTB = 0x01; //输出高
delay(2000);
i=1;
case 1:
DDRB = 0x0F;
PORTB = 0x00; //输出高
delay(1000);
i=0;
}
}
void delay(unsigned int z)
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
请大佬们,指点一下原因。谢谢!
|