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

📄 subconfig.h

📁 本公司的单相CPU卡表的源程序代码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define DS_Chr_E     0xF8   // E: 
#define DS_Chr_F     0xE8   // F: 


#define DS_Chr_H     0XE6   // H:
#define DS_Chr_L     0XB0   // L:
#define DS_Chr_J     0x40   // -:    
#define DS_Chr_o     0x72   // o: 
#define DS_Chr_r     0x60   // r:                        

#define DS_Chr_T2     	0x80 //  DisBuff[11].byte.b7       //triff 2,feng
#define DS_Chr_T4       0x40 //	DisBuff[11].byte.b6      //triff 4,gu
#define DS_Chr_Pkey     0x20 //	DisBuff[11].byte.b5       //program status
#define DS_Chr_Time     0x10  //  DisBuff[11].byte.b4       //time				
#define DS_Chr_Last1    0x08  // 	DisBuff[11].byte.b3       //shang 
#define DS_Chr_T1     	0x04  //  DisBuff[11].byte.b2       //triff 1,jian
#define DS_Chr_T3     	0x02  //  DisBuff[11].byte.b1       //triff 3,ping
#define DS_Chr_Erev     0x01 // 	DisBuff[11].byte.b0       //energy revase

#define DS_Chr_RMB     	0x80  //  DisBuff[10].byte.b7       //time	
#define DS_Chr_PW       0x40  //  DisBuff[10].byte.b6       //time	
#define DS_Chr_BAT     	0x20  //  DisBuff[10].byte.b5       //time	
#define DS_Chr_P1       0x10  //  DisBuff[10].byte.b4       //time				
#define DS_Chr_ALRM     0x02  //  DisBuff[10].byte.b1       //time	
#define DS_Chr_COMM     0x01  //  DisBuff[10].byte.b0       //time

#define DS_Chr_ENG     	0x80  //  DisBuff[9].byte.b7       //triff 2,feng
#define DS_Chr_duan     0x40  //  DisBuff[9].byte.b6       //triff 4,gu
#define DS_Chr_h        0x20  // 	DisBuff[9].byte.b5       //program status
#define DS_Chr_Leave    0x10  //  DisBuff[9].byte.b4       //time				
#define DS_Chr_imp     	0x08  //  DisBuff[9].byte.b3       //shang 
#define DS_Chr_S4     	0x04  //  DisBuff[9].byte.b2       //triff 1,jian
#define DS_Chr_kW     	0x02  //  DisBuff[9].byte.b1       //triff 3,ping
#define DS_Chr_P2     	0x01  //  DisBuff[9].byte.b0       //energy revase



#define DS_Chr_P3     	0x01  //DisBuff[8].byte.b0       //energy revase
#define DS_Chr_qian     0x01  // 	DisBuff[7].byte.b0       //energy revase
#define DS_Chr_CLO1     0x01  //	DisBuff[6].byte.b0       //energy revase
#define DS_Chr_BUY     	0x01  //  DisBuff[5].byte.b0       //energy revase
#define DS_Chr_CLO2     0x01  //	DisBuff[4].byte.b0       //energy revase
#define DS_Chr_DANJIA   0x01  //  DisBuff[3].byte.b0       //energy revase
#define DS_Chr_ZONG     0x01  //  DisBuff[2].byte.b0       //energy revase
#define DS_Chr_YUE      0x01  //  DisBuff[1].byte.b0       //energy revase
#define DS_Chr_10BC     0x01  //	DisBuff[0].byte.b0       //energy revase



// Display digit
#define DS_Unit			12   // max buffer num is 12
#define DS_BDig			11  //  max  serial number is 11


/*  LcdDis.staus define         */
// [B7:B4]  include 16 status
#define  DIS_STU_CYC  0x00   // cycle dispaly statue
#define  DIS_STU_IC0   0x01  // reading card status
#define  DIS_STU_IC1   0x02  // have card status
#define  DIS_STU_RST   0x03  // sys reset status
//[B3:B0]   16 max assistant status
// 1 define when cycle status 
#define  DISSUBCYC_LEN  0x00  //leave energy display
#define  DISSUBCYC_TEN  0x01  // total energy display
#define  DISSUBCYC_CMD  0x02  // averge power display
#define  DISSUBCYC_SYS   0x03  // sys error display
// 2 define when reading card
#define  DISSUBIC0_COM  0x00   // reading card display
#define  DISSUBIC0_OK   0x01   //read card ok display
#define  DISSUBIC0_FAIL  0x01  //read card fail display
#define  DISSUBIC0_BUY  0x02   //buy energy card display
// 3 define when have card 
#define  DISSUBIC1_IDH  0x00   // high meter id display
#define  DISSUBIC1_IDL  0x01    //low meter id display
#define  DISSUBIC1_BAM1  0x02  // alarm level1 energy display
#define  DISSUBIC1_BAM2  0x03  // alarm level1 energy display
#define  DISSUBIC1_OMD  0x04   // max demand limit display

/*  define which even can trigger display item change   */
#define  DISTG_RESERT   0x01   // sys reset trigger
#define  DISTG_AUTO     0x02   // time interval trigger
#define  DISTG_KEY      0x03   // display key trigger
#define  DISTG_CARDIN   0x04   // inserting card trigger
#define  DISTG_CARDOUT  0x05   // pull out card trigger

/*  LcdDis.ptr  define         */
#define  DSPTR_RST   0     // sys reset display item
#define  DSPTR_LEN   1     // leave energy display item
#define  DSPTR_TEN   2     // total energy dispaly item
#define  DSPTR_AMD   3     // average power display item 
#define  DSPTR_IDH   4     // meter id high display
#define  DSPTR_IDL   5     // meter id low display
#define  DSPTR_AM1   6     // alarm level 1 display
#define  DSPTR_AM2   7     // alarm level 2 display
#define  DSPTR_OPW   8     // over max deman display
#define  DSPTR_BUY   9     // buy energy display
#define  DSPTR_ZEN   10    // criedt energy display
#define  DSPTR_RIC   11    // reading card display
#define  DSPTR_TIC   12    // read card ok display
#define  DSPTR_FIC   13    // read card fail display
#define  DSPTR_SYS   14    // sys error information display

//   LcdDis.tmrMd  define 
#define  DSTMR_ATO   10    // auto display item change  interval time
#define  DSTMR_KEY   10    // key display item change  interval time
#define  DSTMR_IC    4    // when card in ,interval time
#define  DSTMR_RST   8    //sys error information display  interval time


//************************************************************************
//*  7 TOU.C
//*************************************************************************/
#define  f_Sec              0x01 //
#define  f_Min              0x02 //
#define  f_Hou              0x04 //
#define  f_Day              0x08 //
#define  f_Mon              0x10 //


/************************************************************************
*  8 CData.c
*************************************************************************/
// ComInfo  define 
// 11000000 00000000    read or program ability  
#define EN_R   0X8000            //enable read
#define EN_W   0x4000            //enable program
#define EN_RW  0xc000
//00110000 00000000    operate data type        
#define W_MM  0x1000*0           // only by password control
#define W_HKEY  0x1000*1         // also by hard-key control
#define W_SKEY  0x1000*2         // also by sofy-key control
#define W_FCT  0x1000*3          // by super level control.
// 00001111  00000000  special command operate
#define CM_GEN       0x0100*0           //general command 
#define UR_TEC          0x0100*1           // block current energy data read
#define UR_REC        0x0100*2          //反向电能读取
#define UR_LEC        0x0100*3          //剩余电能读取
#define UR_POWER  0x0100*4          //当前功率读取
#define UR_DLYS      0x0100*5          //继电器状态读取
#define UR_CONST   0x0100*6          //电表常数读取
#define UR_ZEC        0x0100*7          //过零电量
#define UW_ECINIT  0x0100*8          //电能初始化
#define UR_MCER      0x0100*9          //电表错误状态字
#define UR_VIDO      0x0100*10          //软件版本号
#define UR_TESHU    0x0100*15          //其余的特殊操作

// 00000000 11111111   operate data length
#define UR_LEN  0x00FF			//max length must less 256

/************************************************************************
* PrepayCNL.c
*************************************************************************/
//Sram.creditSTU define.
#define  USE_NATURAL  0x00
#define  USE_ALRM1    0x01
#define  USE_ALRM2    0x02
#define  USE_ZERO      0x03
#define  USE_CREDIT  0x04

/************************************************************************
* Esam_cpu.c
*************************************************************************/
//卡片操作错误状态字Sram.IcErr_status 
#define  ERR_IC_00     0x00     // 卡类型错误
#define  ERR_IC_01     0x01     //  非本表卡
#define  ERR_IC_02     0x02     //  数据异常
#define  ERR_IC_03     0x03     //  卡密码错误
#define  ERR_IC_04     0x04     //   售电次数错误
#define  ERR_IC_05     0x05     //   提前拔卡
#define  ERR_IC_06     0x06    //   
#define  ERR_IC_07     0x07    //   剩余电费超限
#define  ERR_IC_OK     0xFF   //   正确读卡

//
#define  IC_COMM_ERR_LONG    0x01       
#define  IC_COMM_ERR_EVEN     0x02

#define  IC_COMM_OK     0xFF


//  Iso7816Head[4] define  
#define   ISOHEAD_LEN    Iso7816Head[4]  
#define   ISOHEAD_FG      Iso7816Head[5]  

// define  IC_APDU.status 
      //0b00000001 define
#define  TYPE_CARD   0x00
#define  TYPE_ESAM   0x01
    //0b00000110 define
#define  TYPE_TX11   (0x03<<1)    
#define  TYPE_TX00   (0x00<<1)      //only rx DATA,SW1,SW2
#define  TYPE_TX01   (0x01<<1)      // tx,and rx SW1,SW2
#define  TYPE_TX02   (0x02<<1)      // tx,and rx DATA,SW1,SW2

/************************************************************************
*  IC_ESAM_Command.c:
*************************************************************************/
//define Command  ID
#define    MAX_CMMOND_NUM               19

#define    CARD_SECLECT                      0       // 选卡,CARD
#define    E_DISP_01MM                        1       //ESAM分散01级密钥  
#define    E_DISP_02MM                        2       //ESAM分散02级密钥 
#define    E_MM_ENCRYPT                     3       //ESAM加密随机数
#define    E_GET_8RAMDOM                  4       //获取ESAM随机数8字节
#define    E_GET_4RAMDOM                  5       //获取ESAM随机数4字节
#define    IC_GET_8RAMDOM                6       //获取IC卡随机数8字节
#define    IC_GET_4RAMDOM                7       //获取IC卡随机数4字节  
#define    E_EX_AUTHENT                      8      //ESAM外部认证01级密钥 
#define    IC_EX_AUTHENT                    9      //IC卡外部认证
#define    IC_IN_AUTHENT                    10     //IC卡内部认证(加密随机数)
#define    BINARY_RD_EC                     11     //ESAM 读取钱包文件剩余电量
#define    BINARY_RD_BUY                   12     //ESAM 读取钱包文件购电次数 
#define    BINARY_INC                          13    //ESAM 自动增加钱包剩余电量和购电次数 
#define    BINARY_DEC_EC                   14    //ESAM 自动减钱包剩余电量 
#define    BINARY_INIT_EC                  15    //初始化ESAM的钱包文件的剩余电量
#define    BINARY_INIT_BUY                16    //初始化ESAM的钱包文件的购电次数
#define    E_MM_UPDATE                       17   //更新ESAM密钥
#define    E_RX_RESPONS                      18   // ESAM 接收应答数据
#define    IC_RX_RESPONS                    19   // IC卡接收应答数据

// COMMAND DEFINE
#define EX_AUTHENTICATION             0X0082
#define GET_RESPONS                         0X00C0
#define GET_CHALLENGE                     0X0084
#define IN_AUTHENTICATION             0X0088
//#define PIN_CHANGE_OR_UNBLOCK   0X8424
#define READ_BINARY                         0X00B0
#define READ_MACBINARY                  0X04B0
#define READ_RECORD                        0X00B2
#define READ_MACRECORD                 0X04B2
#define UPDATE_BINARY                     0X00D6
//#define UPDATE_RECORD                    0X00DC
//#define MM_VERIFY                             0X0020
#define UPDATE_MACBINARY              0X04D6
#define GET_RANDOM                          0X80FA
#define INC_PURSE                            0X8432
#define DEC_PURSE                             0X8030

⌨️ 快捷键说明

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