📄 delay.h
字号:
/**
* \addtogroup Delay
* @{
*/
/*****************************************************************************/
/**
* \file Delay.h
* Delay routines for 8051 and Keil C51.
* \author Copyright (c) 2005, Murray R. Van Luyn. <vanluynm@iinet.net.au>
* \version 0.1
* \date 08-03-05
*/
/*****************************************************************************/
/*****************************************************************************
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/
#ifndef DELAY_H
#define DELAY_H
/**
* Hardware crystal frequency in Hz.
* Adjust \b DELAY_XTAL to match hardware.
* \hideinitializer
*/
#define DELAY_XTAL 18432000
// Delay routine timing parameters
#define DELAY_CPU_CLOCK DELAY_XTAL / 12 // 8051 clock rate (X1 mode)
#define DELAY_CONST 9.114584e-5 // Delay routine constant
#define DELAY_MULTPLR (unsigned char)(DELAY_CONST * DELAY_CPU_CLOCK)
/*****************************************************************************
*
* Public Function Prototypes
*
*****************************************************************************/
/**
* Millisecond software delay function.
* Implements a software timing loop based delay with millisecond precision.
* See 'Usage' for notes regarding upper bounds on the delay period that may
* be generated.
* \param count The number of milliseconds to delay as an \b unsigned \b int.
* \return -
*/
void delay_ms(volatile unsigned int count);
#endif
/** @} */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -