📄 delay.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 + -