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

📄 subconfig.h.bak

📁 本公司的单相CPU卡表的源程序代码
💻 BAK
字号:
 /************************************************************************
*  1 main.c
*************************************************************************/
#define    MEMW_ENABLE            0xaa     //
#define    MEMW_FORBID            0x55     // 

#define    ADDENEPL_MODUL         0x0a     //
#define	   COMM_MODUL		  0x3a     //
#define    DIS_MODUL              0x4a     //
 
 
 
/************************************************************************
*  2 RsCOMM.c 
*************************************************************************/
#define  CONS_TMR0_1200     117       
#define  COMMPTR_MAX        80        

#define ComDisNum	0x07    //num of cdata table  

#define RS_MinSize  	12
#define RTx_MaxSize  	80
#define RRx_MaxSize  	48



///////////////////////////
//     ComBuf define     //
///////////////////////////
#define 	RS_HeadPtr  	0
#define 	RS_AddrPtr  	1
#define 	RS_Head0Ptr 	7
#define 	RS_CtlPtr   	8
#define 	RS_LenPtr   	9

#define 	RS_Cmd		10
#define 	RS_CmdLPtr  	10
#define 	RS_CmdHPtr  	11
#define 	RS_DPtr     	12

#define 	Rs_Head    	Comm.commBuff[0]
#define 	Rs_Addr    	Comm.commBuff[1]
#define 	Rs_Addr0   	Comm.commBuff[1]
#define 	Rs_Addr1   	Comm.commBuff[2]
#define 	Rs_Addr2   	Comm.commBuff[3]
#define 	Rs_Addr3   	Comm.commBuff[4]
#define 	Rs_Addr4   	Comm.commBuff[5]
#define 	Rs_Addr5   	Comm.commBuff[6]
#define 	Rs_Head0   	Comm.commBuff[7]
#define 	Rs_Ctl     	Comm.commBuff[8]
#define 	Rs_Len     	Comm.commBuff[9]

#define 	Rs_IDL    	Comm.commBuff[10]
#define 	Rs_IDH     	Comm.commBuff[11]
#define 	Rs_Data    	Comm.commBuff[12]
#define 	Rs_Data2        Comm.commBuff[13]
#define 	Rs_Data3        Comm.commBuff[14]

#define 	Rs_Data4        Comm.commBuff[15]
#define 	Rs_WData        Comm.commBuff[16]

#define 	Rs_CRC     	Comm.commBuff[RS_Cmd+Rs_Len]
#define 	Rs_End     	Comm.commBuff[RS_Cmd+Rs_Len+1]

/////////////////////////
// Control byte define //
/////////////////////////
#define 	RS_CTL_Read     		0x01
#define 	RS_CTL_ReadCont 		0x02
#define 	RS_CTL_ReRead   		0x03
#define 	RS_CTL_Write    		0x04
#define 	RS_CTL_AdjTime  		0x08
#define 	RS_CTL_WrMetID  		0x0A
#define 	RS_CTL_ChgBaut  		0x0C
#define 	RS_CTL_ChgPswd  		0x0F
#define 	RS_CTL_RstMD    		0x10
#define 	RS_CTL_ECAdj                    0x1E
#define 	RS_CTL_ReadAdd                  0x1F       

///////////////////////
// State byte define //
///////////////////////
#define         RS_State_OK                     0x00
#define 	RS_State_IVData			0x01		
#define 	RS_State_IVID			0x02		
#define 	RS_State_PswE			0x04		 
#define         RS_State_NOres                  0x08

//////////////////////////////
///  /////
//////////////////////////////
#define  bit_IDSet     0x01     // 
#define  bit_ECClr     0x02     //

/////////////////////////////////
///   ////
////////////////////////////////
#define  mmok    0x00           //
#define  mmover  0x01           //
#define  mmerr   0x02           //
#define  keyoff  0x03           //
#define  uferr   0x04           //

////////////////////////////////////
//  Comm.status  define
#define COMM_STATUS_INIT        1   //
#define COMM_STATUS_FREE        2   //
#define COMM_STATUS_URRX        3   //
#define COMM_STATUS_URANAL      4   //
#define COMM_STATUS_URTXRDY     5   //
#define COMM_STATUS_URTXFE      6   //
#define COMM_STATUS_URTX        7   //

#define COMM_MODE_RS485    0x80         //
#define COMM_TX_READY   0x10         //
/************************************************************************
*  3 addenetgy.c 
*************************************************************************/




/************************************************************************
*  4 Mem.c 
*************************************************************************/  
#define E2P_COM   0x40*0  
#define E2P_CS    0x40*1  
#define E2P_CSBK  0x40*2  
#define E2P_ALL   0x40*3  


//#define DEFNum	sizeof(DefTab)/sizeof(DEF_TAB)   
#define         CHECKWORD          0xa5           
#define         E2PBAK             0x0100           
         
       
            
//csback area          
#define         E2P_TENINT          0xa000 
#define         E2P_RENINT          E2P_TENINT+0x05
#define         E2P_ZENINT          E2P_RENINT+0x05
 
#define         E2P_LENINT          0xa010  

#define         E2P_TENDEC          E2P_LENINT+0x05
#define         E2P_RENDEC          E2P_TENDEC+1
#define         E2P_ZENDEC          E2P_RENDEC+1
#define         E2P_LENDEC          E2P_ZENDEC+1
#define		E2P_PLUSE	    E2P_LENDEC+1  
#define		E2P_PLUSECK	    E2P_PLUSE+1



#define   E2P_PREPAYSTATUS          0xa020                 //电能表预付费状态 1+1
                                                         // =00,正常使用状态
                                                         // =01 低于报警1状态
                                                         // =02 低于报警2状态
                                                         // =03 过零使用状态
                                                         // =04 过赊欠使用状态
#define   E2P_ARML1                 0Xa022                 //报警1门限   4+1 
#define   E2P_ARML2                 0xa027                 //报警2门限   4+1
#define	  E2P_CREDIT	            0xa030                 //赊欠电量门限 4+1字节

#define		E2P_ID		   0xa080                //表号
#define		E2P_IDUSER         0xa088                //用户号 
#define         E2P_MM0            0xa090                //密码...
#define		E2P_REECLR         0xa094                //电能初始化记录   
#define		E2P_OPW            0xa094+5              //超功率上限   

#define		E2P_DALYSTATUS	   0xa0A0                //继电器状态控制字  =3A 继电器开; =A3,继电器关
#define		E2P_USERDEFINE	   0xa0A2                //0: =1 报警1有效
                                                       //1: =1 报警2有效
                                                       //2: =1 赊欠有效
#define		E2P_EADJ           0xa0B0                

#define		E2P_BUY1           0xa0C0              //本次购电量
#define		E2P_CNTIC          0xa0C0+5            //IC卡非法次数
#define		E2P_ZBUY           0xa0C0+7            //累计购电量    


/************************************************************************
*  5 SysInit.c 
*************************************************************************/


/************************************************************************
*  6 LCD_Display.c 的相关常量声明
*************************************************************************/
//********************************************************************
// LCD character bitmap
//          0                a
//        -----            -----
//       |     |          |     |
//      4|     |1        f|     |b
//       |  5  |          |  g  |
//        -----            -----
//       |     |          |     |
//      6|     |2        e|     |c
//       |  7  |          |  d  |
//        -----  *3       -----  *dpc
//*******************************************************************
                      

//新疆预付费表液晶JX-H22621								
#define DS_Chr_0     0xD7   // 0: 
#define DS_Chr_1     0x06   // 1: 
#define DS_Chr_2     0xE3   // 2: 
#define DS_Chr_3     0xA7   // 3: 
#define DS_Chr_4     0x36   // 4: 
#define DS_Chr_5     0xB5   // 5: 
#define DS_Chr_6     0xF5   // 6: 
#define DS_Chr_7     0x07   // 7: 
#define DS_Chr_8     0xF7   // 8: 
#define DS_Chr_9     0xB7   // 9: 
#define DS_Chr_A     0x77   // A: 
#define DS_Chr_b     0xF4   // B: 
#define DS_Chr_C     0xD1   // C: 
#define DS_Chr_d     0xE6   // D: 
#define DS_Chr_E     0xF1   // E: 
#define DS_Chr_F     0x71   // F: 


#define DS_Chr_H     0X76   // H:
#define DS_Chr_L     0XD0   // L:
#define DS_Chr_J     0x20   // -:   
#define DS_Chr_P     0x72   // P: 
#define DS_Chr_o     0xe4   // o: 
#define DS_Chr_r     0x60   // r:                        

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

#define DS_Chr_P1       0x80  //   		  DisBuff[10].byte.b7       //time				
#define DS_Chr_BAT     	0x40  //  DisBuff[10].byte.b6       //time	
#define DS_Chr_PW       0x20  //  DisBuff[10].byte.b5       //time	
#define DS_Chr_RMB     	0x10  //  DisBuff[10].byte.b4       //time	
#define DS_Chr_COMM     0x08  //  DisBuff[10].byte.b3       //time	
#define DS_Chr_ALRM     0x04  //  DisBuff[10].byte.b2       //time	

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


#define DS_Chr_P3     	0x08  //DisBuff[8].byte.b3       //energy revase
#define DS_Chr_qian     0x08  // 	DisBuff[7].byte.b3       //energy revase
#define DS_Chr_CLO1     0x08  //	DisBuff[6].byte.b3       //energy revase
#define DS_Chr_BUY     	0x08  //  DisBuff[5].byte.b3       //energy revase
#define DS_Chr_CLO2     0x08  //	DisBuff[4].byte.b3       //energy revase
#define DS_Chr_DANJIA   0x08  //  DisBuff[3].byte.b3       //energy revase
#define DS_Chr_ZONG     0x08  //  DisBuff[2].byte.b3       //energy revase
#define DS_Chr_YUE      0x08  //  DisBuff[1].byte.b3       //energy revase
#define DS_Chr_10BC     0x08  //	DisBuff[0].byte.b3       //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   5    // auto display item change  interval time
#define  DSTMR_KEY   5    // key display item change  interval time
#define  DSTMR_IC    2    // when card in ,interval time
#define  DSTMR_RST   4    //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
//00111000 00000000    operate data type        
#define P_ENO   0x0800*0          //EEPROM, no cs; no backup
#define P_ECS   0x0800*1          //EEPROM, cs; no backup
#define P_ECSBK 0x0800*2          //EEPROM, cs; backup
#define P_RNO  0x0800*3           //RAM,no cs; no backup
#define P_RCSBK  0x0800*4         //RAM,  cs; backup
#define P_ALL  0x0800*7           //

// 00000110 00000000  operate security level
#define W_MM  0x0200*0           // only by password control
#define W_HKEY  0x0200*1         // also by hard-key control
#define W_SKEY  0x0200*2         // also by sofy-key control
#define W_FCT  0x0200*3          // by super level control.

// 00000001 11000000  special command operate
#define CM_GEN   0x0040*0           //general command 
#define R_ZEC    0x0040*1          // block current energy data read
#define UR_TESHU 0x0040*7

// 00000000 00111111   operate data length
#define UR_LEN  0x003F			//max length must less 63

/************************************************************************
* PrepayCNL.c
*************************************************************************/
#define  REPAY_NATURAL  0x00
#define  REPAY_ALRM1    0x01
#define  REPAY_ALRM2    0x02
#define  REPAY_ZERO     0x03
#define  REPAY_CREDIT   0x04

⌨️ 快捷键说明

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