?? globedef.#3
字號:
/********************************************************************************************************
** 全局常數與子程序定義頭文件
**
** 版權所有 (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 + -