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

📄 mcu.h

📁 MST720-DEMO程序
💻 H
字号:
/******************************************************************************
 Copyright (c) 2005 MStar Semiconductor, Inc.
 All rights reserved.

 [Module Name]: Mcu.h
 [Date]:	13-Jan-2005
 [Comment]:
   Header file for Mcu.c module.
 [Reversion History]:
*******************************************************************************/

#ifndef _MCU_H_
#define _MCU_H_

#ifdef _MCU_C_
#define _MCUDEC_
#else
#define _MCUDEC_	extern
#endif

#define MCU_XTAL_CLK_KHZ	(MCU_XTAL_CLK_HZ / 1000)
#define MCU_XTAL_CLK_MHZ	(MCU_XTAL_CLK_KHZ / 1000)
#define MCU_MACHINE_CYCLE	12	// unit: oscillatory cycle

#define _SMOD			0

// [Timer1 Baud Rate] = (1 / 32) * {Fosc / [12 * (256 - [TH1])]}
// [TH1] = 256 - (Fosc / ([Timer1 Baud Rate] * 32 * 12)
// (TIMER1_MODE2_DIVIDER / 2) -> decimal fraction
#define TIMER1_MODE2_DIVIDER	((DWORD)UART_BAUD_RATE * MCU_MACHINE_CYCLE * 32)
#define TIMER1_MODE2_TH1	256-((DWORD)MCU_XTAL_CLK_HZ*_SMOD+MCU_XTAL_CLK_HZ+(TIMER1_MODE2_DIVIDER/2))/TIMER1_MODE2_DIVIDER

/**********************
* FUNCTION PROTOTYPES *
***********************/
_MCUDEC_ void sysMcuInit(void);

///////////////////////////////////////
// MCU delay definition
///////////////////////////////////////
#define MCU_MICROSECOND_NOP_NUM ((MCU_XTAL_CLK_MHZ + (MCU_MACHINE_CYCLE / 2)) / MCU_MACHINE_CYCLE)

#if (MCU_MICROSECOND_NOP_NUM <= 1)
#undef MCU_MICROSECOND_NOP_NUM
#define MCU_MICROSECOND_NOP_NUM 1

#define MCU_DELAY_1US() \
    { \
	_nop_(); \
    }
#elif (MCU_MICROSECOND_NOP_NUM <= 2)
#define MCU_DELAY_1US() \
    { \
	_nop_(); \
	_nop_(); \
    }
#elif (MCU_MICROSECOND_NOP_NUM <= 3)
#define MCU_DELAY_1US() \
    { \
	_nop_(); \
	_nop_(); \
	_nop_(); \
    }
#elif (MCU_MICROSECOND_NOP_NUM <= 4)
#define MCU_DELAY_1US() \
    { \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
    }
#elif (MCU_MICROSECOND_NOP_NUM <= 5)
#define MCU_DELAY_1US() \
    { \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
    }
#elif (MCU_MICROSECOND_NOP_NUM <= 6)
#define MCU_DELAY_1US() \
    { \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
    }
#elif (MCU_MICROSECOND_NOP_NUM <= 7)
#define MCU_DELAY_1US() \
    { \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
    }
#else
#define MCU_DELAY_1US() \
    { \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
	_nop_(); \
    }
#endif


#endif	//_MCU_H_

⌨️ 快捷键说明

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