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

📄 delay.c

📁 简单的在ATMEGA64上移植ucosII
💻 C
字号:
#ifndef _DELAY_C_
#define _DELAY_C_
#endif

#include <include.h>

//#define ATmega8
#define ATmega64

// 执行11条指令的时间是0.994us,单条指令的时间是0.0904us
// 软件仿真是0.99us
#ifdef ATmega64			
	#define DelayUs() asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
#endif

// 执行8条指令的时间是1us,单条指令的时间是0.125us
//#ifdef ATmega8			
//	#define DelayUs() asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");
//#endif

//5 us延时函数 软件仿真为5.06us
void Delay5us(void)					
{
	DelayUs();
	DelayUs();
	DelayUs();
	DelayUs();
	//DelayUs();
	asm("nop");
	asm("nop");
	asm("nop");
	asm("nop");
}

//10 us延时函数 软件仿真为10.04us
void Delay10us(void)				
{
	DelayUs();
	DelayUs();
	DelayUs();
	DelayUs();
	DelayUs();
	DelayUs();
	DelayUs();
	DelayUs();
	DelayUs();
	//DelayUs();
	asm("nop");
	asm("nop");
	asm("nop");
	asm("nop");
}

//1ms延时函数 软件仿真为1.00089ms
void DelayMs(void)								
{
	unsigned int i = 0;
	for (i = 0; i < (unsigned int)(11059*143/1000-2); i++)  // (XTAL << 7 + 15) >> 10 - 26
	{
		;
	}
}

////////////////////////////////////////////////////
// 1ms------1.00676ms
// 3ms------3.00944ms
// 5ms------5.01212ms
// 7ms------7.01479ms
// 10ms-----10.01881ms
// 50ms-----50.07234ms
// 100ms----100.13925ms
// 200ms----200.27308ms
// 300ms----300.40690ms
// 400ms----400.54516ms
// 500ms----500.67455ms
void DelayNms(unsigned int n)					//N ms延时函数
{
	unsigned int i = 0;
	for (i = 0; i < n; i++)
	{
		DelayMs();
	}
}

////////////////////////////////////////////////////
// 1s------1.00135353s
// 2s------2.00270191s

void DelayNs(unsigned char n)					//N s延时函数
{
	unsigned char i = 0;
	for(i = 0; i < n; i++)
	{
		WDR();
		DelayNms(1000);
	}
}
/*****************************************************************************************
**                            End Of File
******************************************************************************************/

⌨️ 快捷键说明

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