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

📄 eeprom.h

📁 基于单片机的多费率电能表源程序
💻 H
字号:
#ifdef	EEPROM_GLOBALS
#define	EEPROM_EXT
#else
#define	EEPROM_EXT extern
#endif

/***************************************
EEPROM设备从地址定义
***************************************/

#define EEPROM_DEVICE_ADDR  	0XA0

#define  EEPROM_WP_ENABLE 	
#define  EEPROM_WP_DISABLE 	

#define DATA_BAK_OFF			0X0200
/***************************************
数据EEPROM地址分配
****************************************/
#define EEPROM_INIT_SIGN0			0X0000
#define METER_NUMBER             	0X0010
#define	USER_NUMBER         		0x0018
#define LAST_PROGRAM_TIME           0X0020
#define TOTAL_PROGRAM_TIMES         0X0026
#define P_METER_CONST				0x002A
#define LAST_POWER_REVERSE_TIME		0X0030
#define POWER_REVERSE_TOTALTIME		0X0036
#define DISPLAY_SELECT				0x003B
#define MONTH_STORE_DATE			0X0040
#define CLEAR_ZERO_PASSWORD			0X0044
#define PROGRAM_PASSWORD_ADDRESS	0X004A
#define CURRENT_ENERGY_POINTER		0X0050
#define TIMESLICETABLE 		       	0X0060
#define ACTIVE_ENERGY0				0X0090
#define ACTIVE_ENERGY1				0X00a0
#define ACTIVE_ENERGY2				0X00b0
#define ACTIVE_ENERGY3				0X00c0
#define ACTIVE_ENERGY4				0X00d0
#define ACTIVE_ENERGY5				0X00e0
#define ACTIVE_ENERGY6				0X00f0
#define ACTIVE_ENERGY7				0X0100
#define ACTIVE_ENERGY8				0X0110
#define ACTIVE_ENERGY9				0X0120
#define ACTIVE_ENERGY10				0X0130
#define ACTIVE_ENERGY11				0X0140
#define ACTIVE_ENERGY12				0X0150
#define REVERSE_TOTAL_ENERGY		0X0160
#define BROAD_CALIBRATE_DATE		0X0168
#define LAST_POWERDOWN_TIME			0X0170
#define ENERGY_PULSE				0X0176
#define EEPROM_INIT_SIGN1			0X0190
#define EEPROM_INIT_SIGN2			0X01b0
#define EEPROM_TEST					0X01C0

/***********************数据标识***********************/
#define EEPROM_INIT_SIGN_ID0		0
#define EEPROM_INIT_SIGN_ID1		1
#define EEPROM_INIT_SIGN_ID2		2
#define METER_NUMBER_ID             3
#define	USER_NUMBER_ID         		4
#define LAST_PROGRAM_TIME_ID        5
#define TOTAL_PROGRAM_TIMES_ID      6
#define P_METER_CONST_ID			7
#define LAST_POWER_REVERSE_TIME_ID	8
#define POWER_REVERSE_TOTALTIME_ID	9
#define DISPLAY_SELECT_ID			10
#define MONTH_STORE_DATE_ID			11
#define CLEAR_ZERO_PASSWORD_ID		12
#define PROGRAM_PASSWORD_ID			13
#define REVERSE_TOTAL_ENERGY_ID		14
#define LAST_POWERDOWN_TIME_ID		15
#define TIMESLICETABLE_ID 		    16
#define CURRENT_ENERGY_POINTER_ID	17
#define ACTIVE_ENERGY_ID0			18
#define ACTIVE_ENERGY_ID1			19
#define ACTIVE_ENERGY_ID2			20
#define ACTIVE_ENERGY_ID3			21
#define ACTIVE_ENERGY_ID4			22
#define ACTIVE_ENERGY_ID5			23
#define ACTIVE_ENERGY_ID6			24
#define ACTIVE_ENERGY_ID7			25
#define ACTIVE_ENERGY_ID8			26
#define ACTIVE_ENERGY_ID9			27
#define ACTIVE_ENERGY_ID10			28
#define ACTIVE_ENERGY_ID11			29
#define ACTIVE_ENERGY_ID12			30
#define LAST_BROADCAST_TIME_ID		31
#define ENERGY_PULSE_ID				32

EEPROM_EXT INT8U EepromReadWriteBuf[40];


EEPROM_EXT void InitEepromData(INT8U DataId);
EEPROM_EXT void InitRamData(INT8U DataId);
EEPROM_EXT INT8U ReadEepromData(INT8U DataId,INT8U *DestinationAddress);
EEPROM_EXT void WriteEepromData(INT8U DataId,INT8U *SourceAddress);
EEPROM_EXT void WriteEeprom(INT8U *SourceAddress,INT16U DestinationAddress,INT8U Length,INT8U PageByteNum);
EEPROM_EXT void ReadEeprom(INT16U SourceAddress,INT8U *DestinationAddress,INT8U Length);
EEPROM_EXT void InitNewEeprom(void);
EEPROM_EXT INT8U EepromTest(void);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -