本帖最后由 sankyo_feng 于 2011-5-21 23:29 编辑
void delayus(unsigned int us)//us级延时,延时时间为us*2(1~65535)
{
while(us)
{
us--;
}
}
void delayms(unsigned int ms)//ms级延时,延时时间1*ms
{
while(ms)
{
unsigned int us=500;
while(us)
{
us--;
}
ms--;
}
}
#include <reg51.h>
#include <delay.h>
void main()
{
while(1)
{
P2=0X00;
delayms(500);
P2=0XFF;
delayms(500);
}
}
我的晶振是12MHZ,STC90C52,delayus(10)应该是20us吧?delayms(500)应该是500ms吧?可是我的主程序,延时不对劲啊,时间有点长? |