M16延时函数
扫描二维码
随时随地手机看文章
#ifndef _DELAY_H_
#define _DELAY_H_
#define uint unsigned int
#define uchar unsigned char
void delay_1us( void ); //延时1us
void delay_1ms( void ); //延时nms
void delay_nus( uint n );//延时1ms
void delay_nms( uint n );//延时nms
void delay_ns( uchar n );
#endif
#define _DELAY_C_
#include "DELAY.H" //用户自己定义的头文件
//1us延时函数
void delay_1us( void )
{
uint i = 1;
while( i-- )
{
asm("nop");
}
}
//nus延时函数
void delay_nus( uint n )
{
uint i = 0;
for (i = 0; i < n; i++)
delay_1us();
}
//1ms延时函数
void delay_1ms( void )
{
uint i;
for (i = 0; i < 1140; i++)
{;}
}
//nms延时函数
void delay_nms( uint n )
{
uint i = 0;
for (i = 0; i < n; i++)
delay_1ms();
}
//延时1S
void delay_ns( uchar n )
{
uchar i;
for( i = 0; i < n; i++ )
{
delay_nms( 1000 );
}
}