?? cable_ann.h.bak
字號:
/*******************************************************************************
Copyright (C), 2000-2004, 深圳市中興新地通信器材有限公司
文件名稱: 電纜測距系統 CABLE_ANN.h頭文件
作 者: 配線技術部
版 本: V1.0
日 期: 2006,12,06
備 注: CPU為STC89C58 RD+,PLC44
修改記錄:
/******************************************************************************
前綴規則說明:
以下為變量類型前綴
p - 指針
g - 全局變量
Cnt - 計數器
b - 位
CN - 常量
AD - 地址常量
*******************************************************************************/
//*************************** 定義變量簡稱***************************
#define INT8U unsigned char //無符號8位數
#define INT8S signed char //有符號8位數
#define INT16U unsigned int //無符號16位數
#define INT16S signed int //有符號16位數
#define INT32U unsigned long //無符號32位數
#define INT32S signed long //有符號32位數
#define FP32 float //單精度浮點數
#define FP64 double //雙精度浮點數
#define TRUE 1
#define FALSE 0
//************************** 8051中斷源定義 ***********************
#define INT_EX0 0 //外部中斷0源,P3.2
#define INT_T0 1 //定時器0中斷源,Timer0
#define INT_EX1 2 //外部中斷1源,P3.3
#define INT_T1 3 //定時器1中斷源,Timer1
#define INT_COM 4 //串口中斷源,P3.0,P3.1
#define INT_T2 5 //定時器2中斷源,Timer2
//****************************************************************
//******************定義各相關輸入輸出端口************************
#define AD_LED0 XBYTE[0x2000] //右面LED數碼管地址
#define AD_LED1 XBYTE[0x1000] //中間LED數碼管地址
#define AD_LED2 XBYTE[0x0800] //左面LED數碼管地址
#define AD_ALM_LED XBYTE[0x0400] //告警指示燈地址
#define AD_CAB_STA_IN XBYTE[0x0200] //電纜通斷狀態輸入地址。電纜未斷時,輸入為低電平
#define AD_CAB_SW_CTR XBYTE[0x0100] //電纜繼電器切換控制地址,輸出低電平時切換到測距電路
sbit AD_KEY1 = 0x92; //定義P1.2為左向鍵
sbit AD_KEY2 = 0x93; //定義P1.3為右向鍵
sbit AD_DISCHARGE = 0x94; //定義P1.4為放電控制口,控制輸出0時放電
sbit AD_C0CTR = 0x95; //定義P1.5為補償電容控制口
sbit AD_BUZZER = 0x96; //定義P1.6為蜂鳴器控制口
sbit AD_15VCTR =0x97; //定義P1.7為15V控制口
//*******************定義各相關工作狀態標識字及常量**********************
//-------------------------系統配置常量------------------------------
#define CN_CAB_NUM 8 //監控電纜數量
#define CN_TIMER 108 //定義1ms延時的時間常數
//---------------------------告警常量--------------------------------
#define CN_PREALM_ON //預告警標志置位
#define CN_PREALM_OFF //預告警標志復位
//-------------------------距離計算常量-------------------------------
#define CN_DISCHARGE 0 //放電控制口輸出0時放電
#define CN_CHARGE 1 //放電控制口輸出1時充電
#define CN_15V_ON 0 //15V控制口輸出0時將15V電源切換到測距電路
#define CN_15V_OFF 1 //15V控制口輸出1時將15V電源切換到測斷電路
#define CN_AllDist_OK 1 //所有電纜測距完成
#define CN_AllDist_NOK 0 //所有電纜測距未完成
#define CN_AllSW_OFF 0xFF //所有電纜投切繼電器斷開切到測斷電路(MCU輸出高電平斷開)
//----------------------------中斷常量-------------------------------
#define CN_CP_ON//捕獲標志置位
#define CN_CP_OFF//捕獲標志復位
//----------------------------顯示常量-------------------------------
#define CN_ALMLED_OFF 0x00 //所有告警發光二極管滅
#define CN_ALMCABSW_ON 1 //告警電纜顯示切換標志置位
#define CN_ALMCABSW_OFF 0 //告警電纜顯示切換標志復位
//----------------------------按鍵常量-------------------------------
#define CN_KEY_1 0x10 //左鍵(-)
#define CN_KEY_2 0x20 //右鍵(+)
#define CN_KEY_12 0x30 //組合按鍵,用于校準
#define CN_KEY_SUB 0x01 //減鍵
#define CN_KEY_ADD 0x02 //加鍵
#define CN_KEY_ADJ 0x03 //組合鍵(校準)
#define CN_KEY_NONE 0xff //無按鍵
#define CN_ALM_REV_ON 1 //按鍵瀏覽標志開
#define CN_ALM_REV_OFF 0 //按鍵瀏覽標志關
//----------------------------聲音常量-------------------------------
#define CN_BUZZER_ON 0 //蜂鳴器開
#define CN_BUZZER_OFF 1 //蜂鳴器關
#define CN_BUZZER_STAR 1 //蜂鳴器告警啟動
#define CN_BUZZER_STOP 0 //蜂鳴器告警停止
//----------------------------菜單常量-------------------------------
#define CN_MENU_INSP 1 //監測菜單
#define CN_MENU_ALM 2 //告警菜單
#define CN_MENU_ADJ 3 //校準菜單
//----------------------------串口常量-------------------------------
#define CN_SER_ASK_DATA 0x00
#define CN_SER_ASK_CFG 0x01
#define CN_SER_WR_CFG 0x02
#define CN_SER_WR_ADJ 0x03
#define CN_SER_DOOR_MASK 0x04
#define CN_SER_ALM_RESET 0x05
#define CN_SER_VER_ADJUST 0x06
#define CN_SER_TEST_MODE 0x07
#define CN_SER_EXIT_TEST 0x08
//***************************定義全局變量******************************
//---------------------------告警變量--------------------------------
bit gb_PreAlmFlag ;//預告警標志
INT8U g_CntPreAlm ;//預告警后電纜狀態檢測次數
INT8U g_OriAlmSta ;//八路電纜原始告警狀態
INT8U g_AlmFlag ;//八路電纜告警狀態
//-------------------------距離計算變量-------------------------------
INT8U g_CurChkCab ;//當前檢測的告警電纜標號
INT8U g_AlmCabQua ;//發生告警電纜數量
INT16U g_AlmCabDist[CN_CAB_NUM];//告警電纜斷線距離數組(按告警電纜序號漸增排序)
INT8U g_AlmCabArr[CN_CAB_NUM] ;//告警電纜標號數組(按告警電纜序號漸增排序)
bit gb_AllDistflag ;//所有電纜測距完成標志
//----------------------------中斷變量-------------------------------
INT8U g_Cnt50ms ;//測距過程T2的50ms中斷計數
INT8U g_Cnt1s ;//T0的1S計數
bit gb_CpFlag ;//捕獲中斷發生標志
//----------------------------顯示變量-------------------------------
INT8U g_LedNo ;//LED顯示序號(將三個數碼管和發光二極管輪流顯示)
INT8U g_Led_AlmDist[CN_CAB_NUM][3];//LED告警電纜距離顯存(存距離的字形碼),標號2、1、0對應左、中、右數碼管
INT8U g_AlmLed_DisMem ;//告警發光二極管顯存
INT8U g_Led_DisMem[3] ;//數碼管顯存(標號2、1、0對應左、中、右數碼管)
INT8U g_CntLedFlash ;//告警發光二極管閃爍計數
INT8U g_CurDisAlmCab ;//當前顯示告警電纜標號
INT8U g_CntDisAlmCab ;//告警電纜顯示時間計數器
INT8U g_FlashByte ;//告警LED閃爍位指示字節
bit gb_AlmCabSwFlag ;//告警電纜顯示切換標志
//----------------------------按鍵變量-------------------------------
bit gb_AlmReview ;//按鍵瀏覽標志
INT8U g_KeyPoint ;//鍵盤防抖動指針
INT8U data g_KeyCir[5] ;//鍵盤防抖動緩沖環
INT8U data g_KeyBuf[10] ;//鍵值存貯緩沖環
INT8U g_KeyWrPoint ;//鍵盤寫指針
INT8U g_KeyRdPoint ;//鍵盤讀指針
INT8U g_KeyRptBuf ;//長按緩存
INT8U g_KeyCntRpt1 ;//長按次數計數1
INT8U g_KeyCntRpt2 ;//長按次數計數2
//----------------------------聲音變量-------------------------------
INT8U g_BuzzerFlag ;// 蜂鳴器啟停標志
INT8U g_CntBuzzer ;//告警聲計數
INT8U g_CntSoundDuty ;//告警聲占空比計數
//----------------------------菜單變量-------------------------------
INT8U g_Par[3]; ;//配置參數數組
INT8U g_MenuSta ;//菜單狀態
INT16U g_cntAdjCfg ;//校準計數器
//----------------------------串口變量-------------------------------
bit gb_ComOvT_Flag ;//串口接收超時標志
enum {RX_HEAD0,RX_HEAD1,RX_ARR_HEAD,RX_DATA,RX_TAIL,RX_ERR,RX_COMPLETE};
INT8U g_RxSta; //串口接收狀態機
enum {TX_HEAD0,TX_HEAD1,TX_ARR_HEAD,TX_DATA,TX_TAIL,TX_ERR,TX_COMPLETE};
INT8U g_TxSta; //串口發送狀態機
enum {ANS_AL_DATA,ANS_CFG,ANS_ADJ,ANS_WR,ANS_ALM_RESET,ANS_ALM_MASK,ANS_NONE,ANS_TEST_MODE,ANS_EXIT_TEST};
INT8U g_AnsSta; //串口應答狀態機
INT8U g_cntCOMOvT; //串口接收超時計數器
INT8U RxPcDataLen
INT8U g_RxDataLen RxPcDataLen; //電腦串口接收數據長度
INT8U g_PointRxData PointRxData; //電腦串口接收數據指針
INT8U g_TxDataLen TxPcDataLen; //電腦串口發送數據長度
INT8U g_PointTxData PointPcTxData; //電腦串口發送數據指針
INT8U CfgPcRxData[30]; //電腦串口接收配置數據緩存
//INT16U data KeyTimeOut ;//按鍵時間溢出
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -