?? flowunit.h
字號:
/********************************************************************************************************
** RIDen A50 流量計
**
** 版權(quán)所有 (c) 2007,羅建
** 保留所有權(quán)利
**
** V1.03
**
**
**-------------------------------------------------文件信息----------------------------------------------
**文 件 名: FlowUnit.H
**創(chuàng) 建 人: 羅 建
**最后修改日期: 2007年02月09日
**描 述: RIDen A50流量計主程序頭文件。
**
**-----------------------------------------------歷史版本信息--------------------------------------------
** 創(chuàng)建人: 羅建
** 版 本: V1.00
** 日 期: 2007年02月08日
** 描 述: 原始版本
**
**-------------------------------------------------------------------------------------------------------
** 修改人: 羅建
** 版 本: V1.02
** 日 期: 2007年03月16日
** 描 述: 增加類型和函數(shù)定義。
**
**-------------------------------------------------------------------------------------------------------
** 修改人: 羅建
** 版 本: V1.03
** 日 期: 2007年03月23日
** 描 述: 新增加了功能參數(shù)定義。
**
**-------------------------------------------------------------------------------------------------------
** 修改人:
** 版 本:
** 日 期:
** 描 述:
**
**-----------------------------------------------當前版本修訂--------------------------------------------
** 修改人: 羅建
** 日 期: 2007年03月23日
** 描 述: 新增加了功能參數(shù)定義。
**
**-------------------------------------------------------------------------------------------------------
********************************************************************************************************/
#ifndef __FLOWUNIT_H__
#define __FLOWUNIT_H__
/* 定義數(shù)據(jù)類型 */
#define INT8U unsigned char
#define INT8 signed char
#define INT16U unsigned int
#define INT16 signed int
#define INT32U unsigned long
#define INT32 signed long
/* 定義位常量 */
#define TRUE (bit)1
#define FALSE (bit)0
#define OPEN (bit)0
#define CLOSE (bit)1
/* 定義常數(shù) */
#define FX2 2 /* 取值1表示不對外部振蕩時鐘倍頻,取值2表示對外部振蕩時鐘2倍頻 */
#define FOSC 11059200 /* 外部晶振振蕩頻率(Hz) */
#define FSYS FOSC*FX2 /* 系統(tǒng)振蕩器頻率(Hz) */
#define BAUD 19200 /* 通訊波特率(bps) */
#define T0_TIMER 2 /* T0定時器定時間隔時間(ms) */
#define T0_COMP 14 /* T0定時器晶振補償值,需實際測試求得 */
#define T0_CONST T0_TIMER*FSYS/12000 /* T0定時器定時初值,10ms定時 */
#define T1_CONST 13993
#define LOGO_WAIT 300/T0_TIMER /* 顯示LOGO信息的時間 */
#define KEY_WAIT 30/T0_TIMER /* 按鍵響應間隔時間(默認為15*20ms=300ms) */
#define TIME_WAIT 10/T0_TIMER /* 檢測時,時間倒計數(shù)的間隔數(shù)(默認為5*20ms=100ms) */
#define FLASH_WAIT 50/T0_TIMER /* LED閃爍間隔時間(默認為25*20ms=500ms) */
#define PARAMS_NUMS 14 /* 系統(tǒng)定義的參數(shù)個數(shù)(目前僅14個,2008.06.20) */
#define ADD_DOT 0x7F /* 將該常量與要顯示的LED內(nèi)容相與,可在當前LED上顯示小數(shù)點 */
#define NOT_DIS 0xFF /* 作為LED段選碼送入LED中使該位LED消隱 */
#define PASS 0xFE /* 對應于a段顯示(代表PASS指示燈)的LED段選碼 */
#define FAIL 0xFD /* 對應于b段顯示(代表FAIL示燈)的LED段選碼 */
#define WARN 0xFB /* 對應于c段顯示(代表WARN示燈)的LED段選碼 */
#define NONE 0x10 /* 在LED段選碼數(shù)組中,對應于消隱位的索引 */
#define SIGN_NEG 0x1E /* 在LED段選碼數(shù)組中,對應于負號位(-)的索引 */
#define ADDR_FILL_TIME 0x8000 /* 填充時間參數(shù)在EEPROM中的首地址 */
#define ADDR_TEST_TIME 0x8200 /* 測試時間參數(shù)在EEPROM中的首地址 */
#define ADDR_MAX_PRESS 0x8400 /* 壓力告警上限參數(shù)在EEPROM中的首地址 */
#define ADDR_MIN_PRESS 0x8600 /* 壓力告警下限參數(shù)在EEPROM中的首地址 */
#define ADDR_MAX_LEAK 0x8800 /* 流量告警上限參數(shù)在EEPROM中的首地址 */
#define ADDR_MIN_LEAK 0x8A00 /* 流量告警下限參數(shù)在EEPROM中的首地址 */
#define ADDR_LEAK_AREA1 0x8C00 /* 第1段流量分段最大流量值在EEPROM中的首地址(2008.06.20) */
#define ADDR_LEAK_COEF1 0x8E00 /* 第1段流量顯示比例系數(shù)在EEPROM中的首地址(2008.06.20) */
#define ADDR_LEAK_AREA2 0x9000 /* 第2段流量分段最大流量值在EEPROM中的首地址(2008.06.20) */
#define ADDR_LEAK_COEF2 0x9200 /* 第2段流量顯示比例系數(shù)在EEPROM中的首地址(2008.06.20) */
#define ADDR_LEAK_AREA3 0x9400 /* 第3段流量分段最大流量值在EEPROM中的首地址(2008.06.20) */
#define ADDR_LEAK_COEF3 0x9600 /* 第3段流量顯示比例系數(shù)在EEPROM中的首地址(2008.06.20) */
#define ADDR_LEAK_AREA4 0x9800 /* 第4段流量分段最大流量值在EEPROM中的首地址(2008.06.20) */
#define ADDR_LEAK_COEF4 0x9A00 /* 第4段流量顯示比例系數(shù)在EEPROM中的首地址(2008.06.20) */
// ------------------------------------------------------------------------------------------------------
/* P0口引腳定義 */
sbit Q1 = P0^0; /* Q1~Q6控制LED數(shù)碼管位選,為0時表示選通對應的LED數(shù)碼管 */
sbit Q2 = P0^1;
sbit Q3 = P0^2;
sbit Q4 = P0^3;
sbit Q5 = P0^4;
sbit Q6 = P0^5;
sbit Q7 = P0^6; /* 控制遠程PASS聲光報警繼電器,為0時接通繼電器 */
sbit Q8 = P0^7; /* 控制遠程FAIL聲光報警繼電器,為0時接通繼電器 */
/* P1口引腳定義 */
sbit RELAY = P1^4; /* 電磁閥驅(qū)動繼電器開關(guān)輸入,為0時接通繼電器 */
sbit AD_POL = P1^7; /* ICL7135轉(zhuǎn)換極性標志,AD_POL=1表示輸入信號為正 */
/* P2口引腳定義 */
sbit START = P2^0; /* 啟動遠控接口(輸入),START=0表示啟動測試進程 */
sbit STOP = P2^1; /* 停止遠控接口(輸入),STOP=0表示停止正在進行的測試進程 */
sbit KEY1 = P2^2; /* 第一組按鍵檢測公共引腳 */
sbit KEY2 = P2^3; /* 第二組按鍵檢測公共引腳 */
sbit SER1 = P2^4; /* 74HC595(U8)的串行數(shù)據(jù)輸入引腳 */
sbit SER2 = P2^5; /* 74HC595(U9)的串行數(shù)據(jù)輸入引腳 */
sbit SCK = P2^6; /* 74HC595的串行移位時鐘輸入引腳 */
sbit RCK = P2^7; /* 74HC595的串行鎖存時鐘輸入引腳 */
/* P3口引腳定義 */
sbit AD_BUSY = P3^3; /* ICL7135轉(zhuǎn)換結(jié)束中斷輸入,下降沿觸發(fā)中斷 */
sbit AD_CLK = P3^5; /* ICL7135轉(zhuǎn)換時鐘輸入,默認為125kHz方波信號 */
/* 特殊功能寄存器定義 */
sfr WDT_CONTR = 0xE1;
// ------------------------------------------------------------------------------------------------------
/* 按鍵類型定義 */
typedef enum tagKeyType
{ktStartKey = 1,
ktStopKey = 2,
ktFuncKey = 3,
ktSetKey = 4,
ktUpKey = 5,
ktDownKey = 6,
ktLeftKey = 7,
ktRightKey = 8
} TKeyType;
/* 參數(shù)名稱類型定義,2008.06.20增加了流量修正值及對應的修正系數(shù) */
typedef enum tagParamName
{pnFillTime = 0,
pnTestTime = 1,
pnMaxPress = 2,
pnMinPress = 3,
pnMaxLeak = 4,
pnMinLeak = 5,
pnLeakArea1= 6,
pnLeakCoef1= 7,
pnLeakArea2= 8,
pnLeakCoef2= 9,
pnLeakArea3= 10,
pnLeakCoef3= 11,
pnLeakArea4= 12,
pnLeakCoef4= 13
} TParamName;
/* 字/字節(jié)聯(lián)合類型定義 */
typedef union tagWordType
{
INT16U Word;
INT8U Byte[2];
} TWordType;
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -