📄 cpueeprom.h
字号:
#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 + -