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

📄 globedef.#2

📁 一个采用C8051F020+CH372实现的带USB功能的流量测控系统
💻 #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 + -