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

📄 delay.h

📁 使用ATmega32驱动DS18B20
💻 H
字号:
#ifndef	__DELAY__H
#define	__DELAY__H

#include <iom32v.h>
#include <macros.h>

//函数原型声明
void delay_us(void);
void delay_nus(unsigned int t); //几us
void delay_ms(void);
void delay_nms(unsigned int t); //几ms

// mcu:avr   crystal=8MHz
void Delay_1us(void);
void Delay_Us(unsigned int xus); //几us
void Delay_1ms(void);
void Delay_Ms(unsigned int xms); //几ms
void Delay10us(unsigned int x10us); //多少个10us


/*************************************************************************
delay_us	   :1us延时函数
*************************************************************************/
void delay_us(void)
{
   unsigned char t=2;
   t--;
}

/*************************************************************************
delay_nus          :长延时函数

输入参数: t        :延时时间 us
*************************************************************************/
void delay_nus(unsigned int t)
{
    while (t--)
       delay_us();
}

/************************************************************************
delay_ms	   :1ms延时函数
*************************************************************************/
void delay_ms(void)
{
   delay_nus(1000);
}

/*************************************************************************
delay_nms          :长延时函数

输入参数: t        :延时时间 ms
*************************************************************************/
void delay_nms(unsigned int t)
{
    while (t--)
       delay_ms();
}




/**************************************************************
//函数功能:延时1us
//输入参数:无
//返回值:无
//在本函数外定义变量:无
//调用的函数:NOP()
**************************************************************/
void Delay_1us()
{
	unsigned char t=2;
   	t--;
}

/**************************************************************
//函数功能:us级延时
//输入参数:xus:延时us数
//返回值:无
//在本函数外定义变量:无
//调用的函数:Delay_1us()
**************************************************************/
void Delay_Us(unsigned int xus)
{
	 while (xus--)
       	Delay_1us();
}

/**************************************************************
//函数功能:延时1ms
//输入参数:无
//返回值:无
//在本函数外定义变量:无
//调用的函数:NOP()
**************************************************************/
void Delay_1ms(void)
{
	unsigned int i;
	for(i=0;i<1142;i++)
		;
}

/**************************************************************
//函数功能:ms级延时
//输入参数:xms:延时ms数
//返回值:无
//在本函数外定义变量:无
//调用的函数:Delay_1ms()
**************************************************************/
void Delay_Ms(unsigned int xms) //crystal=8MHz
{
	unsigned int i,j; 
	for(i=0; i<xms; i++)
		for(j=0; j<498;j++)
		{
			_NOP();	_NOP();	_NOP();
			_NOP();	_NOP();	_NOP();
			_NOP();	_NOP();	_NOP();
		}
}

/**************************************************************
//函数功能:10us级延时
//输入参数:x10us:延时x10us数
//返回值:无
//在本函数外定义变量:无
//调用的函数:无
**************************************************************/
void Delay10us(unsigned int x10us)//crystal=8MHz
{
	unsigned int i;unsigned char j;
	for(i=0; i<x10us; i++)
	{
			for(j=0;j<2;j++)
			{
			 	_NOP();	_NOP();	_NOP();
			}
	}
}

#endif

⌨️ 快捷键说明

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