delay.h

来自「ATmega16-TLC5615」· C头文件 代码 · 共 111 行

H
111
字号
//#define 	F_CPU 		12000000
#define 	F_CPU 		11059200
//#define 	F_CPU 			8000000
//#define 	F_CPU 			7372800
//#define 	F_CPU 			4000000
/*************************************************************************
通用延时头文件:
			   delay_nus(n)延时n微秒
			   delay_nms(n)延时n毫秒
*************************************************************************/
#if F_CPU == 12000000
	void delay_nus(unsigned int time)
	{
	 	while (time!=0)
		{
		 	NOP();NOP();NOP();NOP();NOP();NOP();NOP();NOP();
			time--;
		}
	}
	void delay_nms(unsigned int time)
	{
 	 	unsigned int i;
		while (time!=0)
		{
		 	for(i=0;i<1740;i++);
			time--;
		}
	}
#endif

#if F_CPU == 11059200
	void delay_nus(unsigned int time)
	{
	 	while (time!=0)
		{
		 	NOP();NOP();NOP();NOP();NOP();NOP();NOP();
			time--;
		}
	}
	void delay_nms(unsigned int time)
	{
 	 	unsigned int i;
		while (time!=0)
		{
		 	for(i=0;i<1580;i++);	
			time--;
		}
	}
#endif

#if F_CPU == 8000000
	void delay_nus(unsigned int time)
	{
	 	while (time!=0)
		{
		 	NOP();NOP();NOP();NOP();
			time--;
		}
	}
	void delay_nms(unsigned int time)
	{
 	 	unsigned int i;
		while (time!=0)
		{
		 	for(i=0;i<1150;i++);
			time--;
		}
	}
#endif

#if F_CPU == 7372800
	void delay_nus(unsigned int time)
	{
	 	while (time!=0)
		{
		 	NOP();NOP();NOP();NOP();
			time--;
		}
	}
	void delay_nms(unsigned int time)
	{
 	 	unsigned int i;
		while (time!=0)
		{
		 	for(i=0;i<1070;i++);	
			time--;
		}
	}
#endif

#if F_CPU == 4000000
	void delay_nus(unsigned int time)
	{
	 	while (time!=0)
		{
			time--;
		}
	}
	void delay_nms(unsigned int time)
	{
 	 	unsigned int i;
		while (time!=0)
		{
		 	for(i=0;i<570;i++);
			time--;
		}
	}
#endif


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?