?? main.h
字號:
typedef unsigned char uint24[3];
struct EEPROM_DATA
{
unsigned int EMU_Status_EMUSR; //1 EMU 狀態標志寄存器
unsigned int Active_Power_Gain_GP1; //2 通道1 的有
unsigned int Reactive_Power_Gain_GQ1; //2 通道1 的無
unsigned int Apparent_Power_Gain_GS1; //2 通道1 的視
unsigned int Phase_Calibration_GPhs1; // 2 通道1 的相位校正
unsigned int Active_Power_Gain_GP2; //2 通道2 的有
unsigned int Reactive_Power_Gain_GQ2; //2 通道2 的無
unsigned int Apparent_Power_Gain_GS2; //2 通道2 的視
unsigned int Phase_Calibration_GPhs2; //2 通道2 的相位校正
unsigned int Reactive_Power_Phase_QPhsCal; //1 無功相位補償
unsigned int Current_2Gain_I2Gain; //2 電流通道2 增益補償
unsigned int Current_Offset_I1Off; //2 電流通道1
unsigned int Current_Offset_I2Off; //2 電流通道2
unsigned int Voltage_Offset_UOff; //2 電壓通道的偏置校正
unsigned int Start_Threshold_Setup_PQStart; //2 起動功率設置
unsigned int High_Frequency_Const_HFConst; //2 輸出脈沖頻率設置
unsigned int Check_Current_Rms_ICHK; //1 竊電閾值設置
unsigned int ADC_Config_ADCCFG; //1 ADC 控制寄存器
unsigned int Current_Channel_Control_CHNLCR; //1 通道控制信號
unsigned int Energy_Measure_Control_EMCON; //1 能量計量控制寄存器
unsigned int Auto_Offset_Calibration_AutoDC; //1 自動偏置校正
unsigned int Active_Energy_Counter_PFCnt; //2 快速有功脈沖計數
unsigned int Reactive_Energy_Counter_QFCnt; //2 快速無功脈沖計數
unsigned int Apparent_Energy_Counter_SFCnt; //2 快速視在脈沖計數
unsigned int ADC_Channel_Gain_ADCCON; //1 ADC 通道增益選擇
unsigned int Tamper_Current_TAMP; //2 竊電檢測電流域值
unsigned int Channel_Digital_Gain_DGAIN; //1 通道數字增益
unsigned int EMU_Krms_Rms[3];
unsigned int EMU_Krms_Kpqs[3];
unsigned int EMU_Temp_Tr;
};
struct Emu_Parameter{
unsigned long Current_Waveform_Spl_I1;
unsigned long Current_Waveform_Spl_I2;
unsigned long Voltage_Waveform_Spl_U;
unsigned long Active_Power_Waveform_Spl_P;
unsigned long Reactive_Power_Waveform_Spl_Q;
unsigned long Apparent_Power_Waveform_Spl_S ;
unsigned long Current_Rms_I1;
unsigned long Current_Rms_I2;
unsigned long Current_Rms_U;
unsigned long Current_Freq_U;
unsigned long Active_Power_P;
unsigned long Reactive_Power_Q;
unsigned long Apparent_Power_S;
unsigned long Active_Energy_P;
unsigned long Reactive_Energy;
unsigned long Apparent_Energy_S;
};
typedef struct Emu_Parameter_change{
unsigned long Current_Waveform_Spl_I1;
unsigned long Current_Waveform_Spl_I2;
unsigned long Voltage_Waveform_Spl_U;
unsigned long Active_Power_Waveform_Spl_P;
unsigned long Reactive_Power_Waveform_Spl_Q;
unsigned long Apparent_Power_Waveform_Spl_S ;
unsigned long Current_Rms_I1;
unsigned long Current_Rms_I2;
unsigned long Current_Rms_U;
unsigned long Current_Freq_U;
unsigned long Active_Power_P;
unsigned long Reactive_Power_Q;
unsigned long Apparent_Power_S;
unsigned long Active_Energy_P;
unsigned long Reactive_Energy;
unsigned long Apparent_Energy_S;
int EMU_Temp_Tr;
unsigned int EMU_Krms_Rms[3];//電壓電流額定輸入時額定值與相應寄存器的比值
unsigned int EMU_Krms_Kpqs[3]; //顯示時的系數與有功功率的系數額定比值
unsigned int EMU_Temp_Toff;//溫度偏置Toff
int gi_temper;//當前溫度,上電默認25度 每10s內產生的clock數與標準32768hz 10s 內的clock數
}; //_at_ 0x0032;
typedef struct real_energy
{
unsigned long CurrentPositiveActiveAccumTariff;
unsigned long CurrentNegativeActiveAccumTariff;
unsigned long CurrentQuadrant1AccumTariff;
unsigned long CurrentQuadrant2AccumTariff;
unsigned long CurrentQuadrant3AccumTariff;
unsigned long CurrentQuadrant4AccumTariff;
unsigned char pulse;
unsigned char relay_flag;
unsigned char moto_flag[4];
unsigned char cs;
};//_at_ 0x0c;
typedef struct meter_para
{
unsigned char factory_No[6];
unsigned char meter_number[6];
unsigned char prg_password[4];
unsigned char MeterConstantReal[3];
unsigned char MeterConstantReactive[3];
unsigned char iniflag;
};
//data unsigned char aa[50];
/*data struct
{ unsigned char second;
unsigned char minute;
unsigned char hour;
unsigned char week;
unsigned char day;
unsigned char month;
unsigned char year;
}time _at_ 0x8056;*/
extern xdata struct Emu_Parameter Emu_Parameter;
extern xdata struct Emu_Parameter_change Emu_Parameter_change;
extern xdata struct real_energy real_energy;
extern xdata struct meter_para meter_para;
extern xdata unsigned char g_CommBuffer[50];
//extern xdata struct MESSAGE_BOARD g_MessageBoard;
extern void Flash_Write_ATT7027(unsigned int addr,unsigned char *mt_data,unsigned char n);
extern void Flash_Read_ATT7027(unsigned int addr,unsigned char *mt_data,unsigned char n);
extern void WriteCALATT7027(unsigned char addr,unsigned char *mt_data,unsigned char n);
extern void ReadATT7027(unsigned char addr,unsigned char *mt_data,unsigned char n);
extern void ReadCALATT7027(unsigned char addr,unsigned char *mt_data,unsigned char n);
extern void EMU_Parameter_change1();
extern void init_ATT7027(void);
extern void init_RTC(void);
extern void init_time(void);
extern void RTC_CAL_TEMP(void);
extern void LcdDrvInit(void);
extern void L_default(void);
extern void restoredata(void);
extern void load_Flash_write(void);
extern unsigned char judg_Flash_init(void);
extern unsigned char check_sum(unsigned char *p,unsigned char length);
extern void UpdateLCD(unsigned long x);
extern unsigned long BCDAdd(unsigned long x, unsigned long y);
extern unsigned long bin2bcd(unsigned long x);
extern unsigned char DisplayManager();
extern void DisplayEEInit(void);
extern void DisplayCal(void);
extern void CLRALL_LCD_BUF(void);
typedef struct EEPROM_DATA EEPROM_DATA;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -