📄 globedef.#2
字号:
/********************************************************************************************************
** 全局常数与子程序定义头文件
**
** 版权所有 (c) 2007,罗建
** 保留所有权利
**
** V1.00
**
**
**-------------------------------------------------文件信息----------------------------------------------
**文 件 名: GlobeDef.H
**创 建 人: 罗 建
**最后修改日期: 2007年11月25日
**描 述: 一些常用的常量定义、类型与子程序声明的头文件。
**
**-----------------------------------------------历史版本信息--------------------------------------------
** 创建人: 罗建
** 版 本: V1.00
** 日 期: 2007年11月25日
** 描 述: 原始版本
**
**-----------------------------------------------当前版本修订--------------------------------------------
** 修改人: 罗建
** 日 期: 2007年11月25日
** 描 述: 原始版本。
**
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef __GLOBEDEF_H__
#define __GLOBEDEF_H__
// ------------------------------------------------------------------------------------------------------
/* 定义常量 */
#ifndef PRE_CONST
#define PRE_CONST
#define TRUE (bit)1
#define FALSE (bit)0
#define OPEN (bit)0
#define CLOSE (bit)1
#endif
// ------------------------------------------------------------------------------------------------------
/* 定义数据类型 */
#ifndef DATA_TYPE
#define DATA_TYPE
typedef unsigned char INT8U;
typedef signed char INT8;
typedef unsigned int INT16U;
typedef signed int INT16;
typedef unsigned long INT32U;
typedef signed long INT32;
/* 字/字节联合类型定义 */
typedef union tagWordType
{
INT16U Word;
INT8U Byte[2];
} TWordType;
/* 双字/字/字节联合类型定义 */
typedef union tagLongType
{
INT32U Long;
TWordType WordType[2];
} TLongType;
#endif
// ------------------------------------------------------------------------------------------------------
/* C8051F020单片机中断向量定义 */
#ifndef INT_VECTOR
#define INT_VECTOR
#define INT_INT0 0 // 外部中断0
#define INT_TIMER0 1 // 定时器0溢出中断
#define INT_INT1 2 // 外部中断1
#define INT_TIMER1 3 // 定时器1溢出中断
#define INT_UART0 4 // UART0中断
#define INT_TIMER2 5 // 定时器2溢出中断
#define INT_SPI 6 // 串行外设中断
#define INT_I2C 7 // SMBus接口中断
#define INT_ADC0W 8 // ADC0窗口比较中断
#define INT_PCA0 9 // 可编程计数器阵列中断
#define INT_CP0DOWN 10 // 比较器0下降沿中断
#define INT_CP0UP 11 // 比较器0上升沿中断
#define INT_CP1DOWN 12 // 比较器1下降沿中断
#define INT_CP1UP 13 // 比较器1上升沿中断
#define INT_TIMER3 14 // 定时器3溢出中断
#define INT_ADC0 15 // ADC0转换结束中断
#define INT_TIMER4 16 // 定时器4溢出中断
#define INT_ADC1 17 // ADC1转换结束中断
#define INT_INT6 18 // 外部中断6
#define INT_INT7 19 // 外部中断7
#define INT_UART1 20 // UART1中断
#define INT_XTLVLD 21 // 外部振荡器准备好中断
#endif
// ------------------------------------------------------------------------------------------------------
/* 本项目数据常量定义 */
#define RIDEN_A10 // 当下载软件至RIDEN A10中时,可不变,当下载至RIDEN A50中时,应注释掉
#define SYSCLK 22118400 // 系统时钟频率(Hz)
#define I2CCLK 100000 // SMBUS数据传输速率(Hz)
#ifdef RIDEN_A10
#define VREF0 2370 // For A10,ADC0和DAC0、DAC1的参考电压值(mV) For 22.1184MHz
#else
#define VREF0 2320 // For A50,ADC0和DAC0、DAC1的参考电压值(mV) For 22.1184MHz
#endif
#define ADC0_SAMPLE_NUMS 128 // ADC0采样次数
#define LEAK_SAMPLE_NUMS 2
#define KEY_WAIT 2 // 当有键按下时,每间隔200ms检测一次按键
#define ADC_WAIT 3
#define WARN_WAIT 100
#define ADJUST_WAIT 30 // 压力调节时间间隔(500ms)
// ------------------------------------------------------------------------------------------------------
/* C8051F020单片机SMBUS总线通讯常量定义 */
#define I2C_WRITE 0x00 // SMBUS寻址字节的写标志位
#define I2C_READ 0x01 // SMBUS寻址字节的读标志位
#define I2C_CS 0x70 // 24C04器件自身的寻址字节
#define I2C_ERROR 0x00 // 总线错误
#define I2C_START 0x08 //
#define I2C_RP_START 0x10 //
#define I2C_MTADDACK 0x18 // MT发送从地址+W成功;收到ACK
#define I2C_MTADDNACK 0x20 // MT
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -