delay.h

来自「8051单片机上用C写的ps/2的实验程序」· C头文件 代码 · 共 69 行

H
69
字号
/*
程序名称:
    标准80C51短延时程序(C51)
文件名:
    wait.h
作者:
    21ICBBS LPC900,2005年6月
说明:
    本程序提供微秒级延时,相当实用
*/


#ifndef _WAIT_H_
#define _WAIT_H_


#include <intrins.h>


static unsigned char data wait_var_t;
//static unsigned char data delay_u_var_t;

/*
功能:
    延时若干个机器周期
参数:
    t决定延时长短,应当是 unsigned char 类型
    t>0时,延时(2*t+2)个机器周期
    t=0时,延时514个机器周期
*/

#define delay_u(t)\
{\
    wait_var_t = t;\
	--wait_var_t;\
	--wait_var_t;\
	wait_var_t=wait_var_t>>2;\
	wait(wait_var_t);\
}

#define wait(t)\
{\
    wait_var_t = t;\
    while ( --wait_var_t != 0 );\
}


/*
    如果要获得更短的延时,请使用nop1()、nop2()和nop3()
*/

#define nop1()    _nop_()

#define nop2()\
{\
    _nop_();\
    _nop_();\
}

#define nop3()\
{\
    _nop_();\
    _nop_();\
    _nop_();\
}


#endif    //_WAIT_H_

⌨️ 快捷键说明

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