void delay(void)
{
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++)
;
}
怎么把250改成其他数,就只亮一个灯。
2
|
|
|
|
××××××××××××××××××××××
中断
|
|
|
|
|
你就用一下延时函数 就可以啦 等你学会定时器 也可以用定时器实现
|
|
|
|
|
对不起 刚才没看清 你可以仿真算一下 1ms大约数字是多少 然后就可以改啦
|
|
|
|
|
单片机运行一条代码的时间是固定的,通过改变i和j的值来改变延时。
|
|
|
|
|
你如果要保持闪烁的频率,可以调整灯的亮及灭的时间比例,保持一个亮灭周期不变就行了。
|
|
|
|
|
void delay(unsigned char x)
{
unsigned char i,j;
for(i=x;i>0;i--)
for(j=255;j>0;j--);
}
这个是软件延时,延时时间自己用仿真看一下。还有就是用定时器实现。
|
|
|
|
|
用SMT32的滴答延时,很方便也很快的,网上有很多别人写好的滴答延时代码,单独建个delay.c/delay.h文件,方便随时调用
|
|
|
|
|