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

📄 eeprom.h

📁 硬件I2C通信程序。。。 大家参考一下
💻 H
字号:
#ifndef _EEPROM_H
#define _EEPROM_H

#include "Define.h"
#include "DataType.h"

#define CLEAR_MILES		P3.0

//#define	XJ34ADDR1	0x20		// store the subtotal miles's 
//#define   XJ12ADDR1	0x21

#define   LJ_L_ADDR1		0x22		//  LC  copy1  low byte  address
#define   LJ_M_ADDR1		0x21		//  LC  copy1 middle byte  address	
#define   LJ_H_ADDR1		0x20		//  LC  copy1  high  byte  address

#define   LJ_L_ADDR2		0x12		//  LC  copy2  low byte  address
#define   LJ_M_ADDR2		0x11		//  LC  copy2  middle byte  address
#define   LJ_H_ADDR2		0x10		//  LC  copy2  high  byte  address

#define   LJ_L_ADDR3		0x02		//  LC  copy3  low byte  address
#define   LJ_M_ADDR3		0x01		//  LC  copy3  middle  byte  address
#define   LJ_H_ADDR3		0x00		//  LC  copy3 high  byte  address

#define	SPEED_RATE		0x25		//low byte


//parameters of speed meter


#define   S_DIRECTION_ADDR  0x27
#define	SPARANUM	16
#define   SPARA_START_ADDR	0x28

#define	MILE0		0X28
#define	MILE20		0X29
#define	MILE40		0X2A
#define	MILE60		0X2B
#define	MILE80		0X2C
#define	MILE100		0X2D
#define	MILE120		0X2E
#define	MILE140		0X2F

#define	MILE160		0X30
#define	MILE180		0X31
#define	MILE200		0X32
#define	MILE220		0X33
#define	MILE240		0X34
#define	MILE260		0X35
#define	MILE280		0X36
#define   MILE285		0X37

//parameters of RPM meter

#define	RPARANUM	11            // rotation speed divided zone number
#define   RPARA_START_ADDR	0x38

//#define
//#define

#define	RPM0	0x38
#define	RPM1	0x39
#define	RPM2	0x3A
#define	RPM3	0x3B
#define	RPM4	0x3C
#define	RPM5	0x3D
#define	RPM6	0x3E
#define	RPM7	0x3F

#define	RPM8	0x40
#define	RPM9	0x41
#define   RPM10	0x42

#define   PULSE_PER_R	0x43


#define   R_DIRECTION_ADDR  0x44

//parameters of fuel meter

#define	FPARANUM	7
#define   FPARA_START_ADDR	0x48

#define	FUEL1	0x48
#define	FUEL2	0x49
#define	FUEL3	0x4A
#define	FUEL4	0x4B
#define	FUEL5	0x4C
#define	FUEL6	0x4D
#define	FUEL7	0x4E

#define	FUEL1_R	0x50
#define	FUEL2_R	0x52
#define	FUEL3_R	0x54
#define	FUEL4_R	0x56
#define	FUEL5_R	0x58
#define	FUEL6_R	0x5A
#define	FUEL7_R	0x5C


#define   F_WARN_HIGH_ADDR 	0x60
#define   F_WARN_LOW_ADDR	       0x62

#define   F_DIRECTION_ADDR   0x63



//parameters of water meter

#define	WPARANUM	7
#define   WPARA_START_ADDR	0x70

#define	WATER1		0x70
#define	WATER2		0x71
#define	WATER3		0x72
#define	WATER4		0x73
#define	WATER5		0x74
#define	WATER6		0x75
#define	WATER7		0x76

#define	WATER1_R		0x78         // high byte in high address 
#define	WATER2_R		0x7A
#define	WATER3_R		0x7C
#define	WATER4_R		0x7E
#define	WATER5_R		0x80
#define	WATER6_R		0x82
#define	WATER7_R		0x84

#define   W_WARN_HIGH_ADDR	0x90
#define   W_WARN_LOW_ADDR  	0x92

#define   W_DIRECTION_ADDR		0x93

#define   VERSION 	0x95

#define     NAME_LEN         5
#define     METER_NAME_ADDR   0x98

extern UINT uiPulsePerMile;
extern UCHAR ucPulsePerRotation;

extern UCHAR ucversion;

extern UCHAR	 ucMeterName[5];

extern UINT 	uiFuelWarnHigh;
extern UINT	 uiFuelWarnLow;

extern UINT	 uiWaterWarnHigh;
extern UINT	 uiWaterWarnLow;


extern UCHAR ucSParas[SPARANUM];
extern UCHAR ucRParas[RPARANUM];
extern UCHAR ucWParas[WPARANUM];
extern UCHAR ucFParas[FPARANUM];

extern UCHAR WriteByteTo24c02(UCHAR Address,UCHAR Data);
extern UCHAR ReadByteFrom24c02(UCHAR Address,UCHAR *data);
extern UCHAR WriteNByteTo24c02(UCHAR Address,UCHAR *Data,UCHAR Num);
extern UCHAR ReadNByteFrom24c02(UCHAR Address,UCHAR *Data,UCHAR Num);
extern void InitEEPROM();
extern void I2C_Init();
extern UCHAR ReadParas();
extern UCHAR StorePara(UCHAR Addr,UCHAR Data);

#endif

⌨️ 快捷键说明

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