我用的是4M晶振,需要1微秒延时,如何编写C程序

来源:百度知道 编辑:UC知道 时间:2024/06/24 14:08:47
用4M晶振,需要1微秒的延时,求相应的C程序
我现在用的是:
#define delay_1us() asm("nop");asm("nop");asm("nop");asm("nop");
不知道能不能用,我要求的1微秒不需要非常精确
还请高手指点
我不会用示波器测试,怎么测试?

试试这个:
void delay_1us(void)
{
unsigned char i;
for(i=0;i<N;i++);//其中N的值根据延时需要设定
}
由于延时时间很短,建议用示波器测试下,根据具体要求设定N的取值。

你手头有硬件没有?简单的单片机电路板就可以,你可以写个简单的程序调用延时1us的函数,产生一个周期2us的方波从单片机的某个管脚输出,然后用示波器测试这个管脚就可以确定N的值了。关于示波器的用法,找个会用的人试试就知道了。