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

📄 cpueeprom.h

📁 单体电容测试仪源码程序 可测电压、有A/D转换等。
💻 H
📖 第 1 页 / 共 3 页
字号:
#ifndef __CPUeeprom__
  #define __CPUeeprom__

/***************************************************************************/

/*降成本双路依据单路计费器存储器划分改造如下:
	;0000h-007Fh:共128字节,基本参数区。
	;0080h-01FFh:共384字节,备用
	;0200h-10FFh:共3.75K字节,划分给下传费率区。
	;1100h-1FFFh:共3.75K字节,划分给现行费率区。
	;2000h-2EFFh:共3.75K字节,划分给将来费率区。
	;2F00h-305fh:共352字节,划分给每日计费统计用,最大50天  实际只用35天共35*7=245字节
	;3060h-3FFFh:3800字节,话单区置后200条话单 200*20=4000

//降成本双路日累计话费的结构:年(1B)、月(1B)、日(1B)、费用(2B)、当日条数(2B)
#define Wide_RLJ	    7
#define Point_RLJ		0x0029		//30天日累计费用的指针。
#define	AddressRLJ		0x2f00		//30天日累计费用的起始地址。


//各参数在24C02内的地址
#define ADDRE_XLCS				0X30	//线路参数的首地址。
//#define ADDRE_WFPOINT			0X10	//写入FLASH的指针。
//#define ADDRE_RFPOINT			0X12	//读出FLASH的指针。
//#define ADDRE_RLJFY				0X18	//日累计费用地址。
//#define ADDRE_ZLJFY				0X1C	//总累计费用地址。
#define ADDRE_ZQMM				0X2C	//总清密码地址(三字节)。
#define ADDRE_ZXHM				0X50	//管理中心的电话号码。
#define ADDRE_BJHM				0X58	//本机号码。

//葛同府040408增加
#define FL_MARK					0X28	//费率特征码(4字节)表示。
#define MACHINE_SERIAL_NUMBER	0X2c	//机器编号4字节
//葛同府040408增加结束
*/
/***************************************************************************************
//单路电话机存储器划分
//stc89c58 eeprom共有58个扇区,每个扇区512字节,
//第一扇区起始地址为0x8000,结束地址为0x81ff,最后扇区起始地址为0xf200,结束地址为0xf3ff。

//第 1-8 扇区(8) 8000-8fff  现行费率区    占用8100h-8FFFh:共3.75K字节
//第 9-16扇区(8) 9000-9fff  将来费率区    占用9000h-9EFFh:共3.75K字节
//第17-24扇区(8) a000-afff  现行费率传输区或备份区 占用a100h-aFFFh:共3.75K字节
//第25-32扇区(8) b000-bfff  将来费率传输区或备份区 占用b000h-bEFFh:共3.75K字节

//第 33  扇区(1) c000-c1ff  系统传输线路参数,占用0xc030-0xc03f共16字节。
//第 34  扇区(1) c200-c3ff  管理中心号码  占用0xc200-0xc207,共8字节,以压缩方式存储。
//第 35  扇区(1) c400-c5ff  本机电话号码  占用0xc400-0xc407,共8字节,以压缩方式存储。
//第 36  扇区(1) c600-c7ff  总清密码      占用0xc600-0xc602,共3字节。
//第 37  扇区(1) c800-c9ff  2字节本机的密码,占用0xc800-0xc801,共2字节
//第 38  扇区(1) ca00-cbff  费率特征码4字节,机器编号4字节,占用0xca00-0xca07,共8字节

//第39-41扇区(3) cc00-d1ff  日期3B,当日累计4B,当日话单数2B,总累用4B,检查和1B,共14字节,占用16字节,最大96条
//第42-44扇区(3) d200-d7ff  日期3B,日累计4B,话单条数2B,检查和1B,共10字节,占用16字节,最大96条
//第45-58扇区(14)d800-f3ff  话单缓冲区,共14个扇区,满1扇区,擦除后面扇区,最少存储13*512/32=208话单
******************************************************************************************************/



//第 1-8 扇区(8) 8000-8fff  现行费率区    占用8100h-8FFFh:共3.75K字节
//第 9-16扇区(8) 9000-9fff  将来费率区    占用9000h-9EFFh:共3.75K字节
//第 17  扇区(1) a000-a1ff  参数
//第18-20扇区(3) a200-a7ff  日期3B,当日累计4B,当日话单数2B,总累用4B,检查和1B,共14字节,占用16字节,最大96条
//第21-23扇区(3) a800-adff  日期3B,日累计4B,话单条数2B,检查和1B,共10字节,占用16字节,最大96条
//第 24  扇区(1) ae00-afff	线路参数备份
//第25-28扇区(5) b000-b1ff  备用
//第26-58扇区(30)b200-f3ff  24字节一条话单600条需要600*24/512=28.125     33个扇区

//费率块地址
#define Tab1Address			0x8100	//现行费率起始地址
#define FutureTab1Address	0x9000	//将来费率起始地址
#define Tab1AddressBak	 	0x9100	//现行费率备份起始地址
//现行费率地址偏移量
#define fl_address_offset  0x7000  //现行费率地址偏移量

//crc校验相关的eeprom地址偏移量
#define max_fl_addr_flag 0x0061  //该地址数据为0x17表示最大费率地址有效
#define max_fl_addr_h    0x0062  //最大费率地址高字节偏移量
#define max_fl_addr_L    0x0063  //最大费率地址低字节偏移量

#define crc_flag   0x0efd  //该地址数据为0x18表示有crc校验值
#define crc_addr_h 0x0efe  //crc校验高字节地址偏移量
#define crc_addr_L 0x0eff  //crc校验低字节地址偏移量

//将来费率标志绝对地址
#define Max_Future_Address_H   0x904B
#define Max_Future_Address_L   0x904C

//从CountPrice中移过来的费率地址
  #define    no_dial_address		0x810f			//查禁拨号码的地址
  #define    no_dial_address_st_h   0x8110			//查禁拨号码的地址
  #define    no_dial_address_st_l   0x8111			//查禁拨号码的地址
  #define    no_dial_address_ed_h   0x8112			//查禁拨号码的地址
  #define    no_dial_address_ed_l   0x8113			//查禁拨号码的地址

  #define    no_lock_address		0x8154			//查禁拨号码的地址
  #define    no_lock_address_st_h   0x8155			//查禁拨号码的地址
  #define    no_lock_address_st_l   0x8156			//查禁拨号码的地址
  #define    no_lock_address_ed_h   0x8157			//查禁拨号码的地址
  #define    no_lock_address_ed_l   0x8158			//查禁拨号码的地址

  #define    fl_address				0x810a			//费率表的地址
  #define    fl_address_st_h		0x810b			//费率表的地址
  #define    fl_address_st_l		0x810c			//费率表的地址
  #define    fl_address_ed_h		0x810d			//费率表的地址
  #define    fl_address_ed_l		0x810e			//费率表的地址
  
  #define    length_fl_address		0x8143			//长费率表的地址
  #define    length_fl_address_st_h	0x8144			//长费率表的地址
  #define    length_fl_address_st_l	0x8145			//长费率表的地址
  #define    length_fl_address_ed_h	0x8146			//长费率表的地址
  #define    length_fl_address_ed_l	0x8147			//长费率表的地址


  #define    fl_pointer_address		0x8164			//费率指针的地址
  
  #define    defa_fl_address		0x8105			//默认费率的地址
  #define    defa_fl_address_st_h	0x8106			//费率表的地址
  #define    defa_fl_address_st_l	0x8107			//费率表的地址
  #define    defa_fl_address_ed_h	0x8108			//费率表的地址
  #define    defa_fl_address_ed_l	0x8109			//费率表的地址
  
  #define    loc_date_yh_address	0x8119			//本地日期优惠地址
  #define    nat_date_yh_address	0x811e			//国内日期优惠地址
  #define    int_date_yh_address	0x8123			//国际日期优惠地址
  #define    gat_date_yh_address	0x8128			//港澳台日期优惠地址
  
  #define    yh_pointer_address		0x8114			//优惠种类地址
  
  #define    loc_week_yh_address	0x812d			//本地星期优惠地址
  #define    nat_week_yh_address	0x8132			//国内星期优惠地址
  #define    int_week_yh_address	0x8137			//国际星期优惠地址
  #define    gat_week_yh_address	0x813c			//港澳台星期优惠地址

  #define    short_record_time_add  0x8141			//超短话单最低时长的地址
  #define    Future_FeiLV_Address   0x814D         //是否存在将来费率及其执行时间的地址

//第 17  扇区(1) a000-a1ff  参数
//线路参数的首地址。//16字节
#define ADDRE_XLCS				0xa000 //0xc030 
//管理中心的电话号码。
//#define ADDRE_ZXHM				0xc200	
//本机号码。8字节
#define ADDRE_BJHM				ADDRE_XLCS+16//0xc400	
//总清密码地址(三字节)。
#define ADDRE_ZQMM				ADDRE_BJHM+8//0xc600	
//2字节本机的密码
#define ADDRE_BJPASSWORD        ADDRE_ZQMM+3//0xc800
//话吧认证码,4字节。
#define ADDRE_RZM				ADDRE_BJPASSWORD+2//0X0C

//费率特征码和机器编号
#define FL_MARK					ADDRE_RZM+4//0Xca00	//费率特征码4字节
#define MACHINE_SERIAL_NUMBER	FL_MARK+4//0Xca04	//机器编号4字节

#define ADDRE_XLCS_P			0			 
#define ADDRE_BJHM_P			16
#define ADDRE_ZQMM_P			8+16
#define ADDRE_BJPASSWORD_P		3+8+16
#define ADDRE_RZM_P				2+3+8+16
#define FL_MARK_P				4+2+3+8+16
#define MACHINE_SERIAL_NUMBER_P	4+4+2+3+8+16

#define PARA_LEN                16+8+3+2+4+4+4 //参数长度
#define ADDRE_XLCS_BAK			0xae00 //

//话单最大条数
//33个扇区存储话单,每扇区512字节,每话单占用24字节,有效字节为24字节,
//最大存储存储存储33*512/24=704条话单,最小存储30*512/24=640条话单
#define BILLSIZE	    24		//定义一条话单长度。
#define Bill_Occupy		24		//每条话单占用字节
#define TabBillAddress  0xb200	//话单起始地址
//#define TabBillAddress  0xb800	//话单起始地址
#define MaxBillNo		704   	//达到640话单指针回零
//#define MaxBillNo		640   	//达到640话单指针回零
//话单结构:
	//byte0    线路号
	//byte1-8  电话号码
	//byte9-11 日期。
	//byte12-14起始时间。
	//byte15-16通话时长。
	//byte17-18通话费用。
	//byte19检查和

/********************************************************************************
//总累计、当日累计、当日话单条数结构
//第18-20扇区(3) b200-b7ff  
//日期3B,当日累计4B,当日话单数2B,总累用4B,检查和1B,共14字节,占用16字节,最大96条
********************************************************************************/
#define Wide_ZLJ	    14		//总累计宽度
#define ZLJ_Occupy		16		//每条总累计占用字节
#define ADDRE_ZLJFY		0xa200  //总累计费用地址。
#define MaxZLJNo		96		//达到96日累计指针回零

/********************************************************************************
//日累计话费的结构:
//第21-23扇区(3) b800-bdff
//日期3B,日累计4B,话单条数2B,检查和1B,共10字节,占用16字节,最大96条
********************************************************************************/
#define Wide_RLJ	    10		//日累计宽度
#define RLJ_Occupy		16		//每条日累计占用字节
#define ADDRE_RLJFY		0xa800  //日累计费用地址。
#define MaxRLJNo		96		//达到96日累计指针回零




/*
//有关费率的表格在存贮器中的地址。

//第一表格:各表格在存贮器内的起始地址和结束地址。
//每一项占五个字节(超短话单时长占两字节)

⌨️ 快捷键说明

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