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

📄 delay.h

📁 Keyboard driver source code in Linux
💻 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 + -