⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 driver_delay.c

📁 增强型51单片机程序模板
💻 C
字号:
/*********************************************************************************************
文 件 名:
创 建 人:
创建日期:
组成部分:
描    述:
修 改 人:
修改日期:
修改内容:
*********************************************************************************************/
#include "user.h"
#include "intrins.h"

#ifdef DEL
/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输    入:
输    出:
创 建 人:
创建日期: 
修 改 人:
日    期:
函数说明: 					
********************************************************************************************/
void Delay5us(void)
{
	#ifdef FQR1
	_nop_();											//约为5.43us
	#else
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	#endif

}

/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输    入:
输    出:
创 建 人:
创建日期: 
修 改 人:
日    期:
函数说明: 					
********************************************************************************************/
void Delay10us(void)
{
	#ifdef FRQ1
	Delay5us();
	_nop_();											//约为10.85us
	#else
	Delay5us();											//约为10.55us
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	#endif
}

/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输    入:
输    出:
创 建 人:
创建日期: 
修 改 人:
日    期:
函数说明: 					
********************************************************************************************/
void Delay40us(void)
{
	#ifdef FQR1
	Delay10us();										//约为40.15us
	Delay10us();
	Delay10us();
	Delay5us();
	#else
	Delay10us();										//约为40.15us
	Delay10us();
	Delay10us();
	Delay5us();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	#endif
}

/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输    入:
输    出:
创 建 人:
创建日期: 
修 改 人:
日    期:
函数说明: 					
********************************************************************************************/
void Delay50us(void)
{
	#ifdef FRQ1
	Delay40us();			  							//约为51us
	Delay5us();
	_nop_();
	#else
	Delay40us();			  							//约为50.46us
	Delay5us();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	#endif
}

/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输    入:
输    出:
创 建 人:
创建日期: 
修 改 人:
日    期:
函数说明: 					
********************************************************************************************/
void Delay100us(void)
{
	#ifdef FRQ1
	Delay50us();			 							//约为100.92us
	Delay40us();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	#else
	Delay50us();			 							//约为100.1us
	Delay40us();
	Delay5us();
	_nop_();
	_nop_();
	_nop_();
	#endif
}

/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输    入:
输    出:
创 建 人:
创建日期: 
修 改 人:
日    期:
函数说明: 					
********************************************************************************************/
void Delay200us(void)
{
	#ifdef FRQ1
	Delay100us();						  				//约为200.74us
	Delay50us();
	Delay40us();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	#else
	Delay100us();						  				//约为200.2us
	Delay50us();
	Delay40us();
	Delay5us();
	_nop_();
	_nop_();
	_nop_();
	_nop_();
	#endif
}

/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输    入:
输    出:
创 建 人:
创建日期: 
修 改 人:
日    期:
函数说明: 					
********************************************************************************************/
void Delay600us(void)
{
	#ifdef FRQ1
	Delay200us();	  									//约为600.05us
	Delay200us();
	Delay100us();
	Delay50us();
	Delay40us();
	_nop_();
	_nop_();
	#else
	Delay200us();	  									//约为600.01us
	Delay200us();
	Delay100us();
	Delay50us();
	Delay40us();
	Delay5us();
	_nop_();
	_nop_();
	_nop_();
	#endif
}

/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输    入:
输    出:
创 建 人:
创建日期: 
修 改 人:
日    期:
函数说明: 					
*********************************************************************************************/
void Delayms(uint8 i)
{
	#ifdef FRQ1
	while(i--)
		{
			Delay600us();				 					//1ms实际延时为1.013ms
			Delay200us();
			Delay100us();
			Delay50us();
			Delay40us();
		}
	#else
		while(i--)
		{
			Delay600us();				 					//1ms实际延时为1.00098ms
			Delay200us();
			Delay100us();
			Delay50us();
			Delay40us();
		}
	#endif
}
#endif

⌨️ 快捷键说明

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