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

📄 class.h

📁 电力变电站RTU监控软件(80C196NT单片机) 遥控
💻 H
📖 第 1 页 / 共 5 页
字号:
//
//File name=class.h
//设计 何风涛
//#include	  <stdio.h>
//#include	  <string.H>
#include	<stdlib.h>
#include	<nt_funcs.h>
#include	<nt_sfrs.h>
#include	_SFR_H_

#ifndef NULL
#define NULL ((void *)0)
#endif

#define PASSX			 1234
#define PASST			 1111

#define DY_BOARD_1		 0x00  /* 00 */
#define BSQ_BOARD_1		 0x08  /* 01 */
#define BSQ_BOARD_2		 0x10  /* 02 */
#define BSQ_BOARD_3		 0x18  /* 03 */
#define BSQ_BOARD_4		 0x20  /* 04 */
#define BSQ_BOARD_5		 0x28  /* 05 */
#define BSQ_BOARD_6		 0x30  /* 06 */
#define BSQ_BOARD_7		 0x38  /* 07 */
#define BSQ_BOARD_8		 0x40  /* 08 */
#define YX_BOARD_1		 0x48  /* 09 */
#define YX_BOARD_2		 0x50  /* 10 */
#define YX_BOARD_3		 0x58  /* 11 */
#define YX_BOARD_4		 0x60  /* 12 */
#define YX_BOARD_5		 0x68  /* 13 */
#define YX_BOARD_6		 0x70  /* 14 */
#define YM_BOARD_1		 0x78  /* 15 */
#define YM_BOARD_2		 0x80  /* 16 */
#define YM_BOARD_3		 0x88  /* 17 */
#define YM_BOARD_4		 0x90  /* 18 */
#define YK_BOARD_1		 0x98  /* 19 */
#define YK_BOARD_2		 0xA0  /* 20 */
#define YK_BOARD_3		 0xA8  /* 21 */
#define YK_BOARD_4		 0xB0  /* 22 */
#define YK_BOARD_5		 0xB8  /* 23 */
#define YK_BOARD_6		 0xC0  /* 24 */
#define YK_BOARD_7		 0xC8  /* 25 */
#define YK_BOARD_8		 0xD0  /* 26 */
#define YK_BOARD_9		 0xD8  /* 27 */
#define YK_BOARD_10		 0xE0  /* 28 */
#define YK_BOARD_11		 0xE8  /* 29 */





#define DY_BOARD_1_573		 0x00  /* 00 */
#define DY_BOARD_1_245		 0x04  /* 00 */

#define BSQ_BOARD_1_573 	 0x08  /* 01 IO0 IO1 EN  */
#define BSQ_BOARD_2_573 	 0x10  /* 02 IO0 IO1 EN  */
#define BSQ_BOARD_3_573 	 0x18  /* 03 IO0 IO1 EN  */
#define BSQ_BOARD_4_573 	 0x20  /* 04 IO0 IO1 EN  */
#define BSQ_BOARD_5_573 	 0x28  /* 05 IO0 IO1 EN  */
#define BSQ_BOARD_6_573 	 0x30  /* 06 IO0 IO1 EN  */
#define BSQ_BOARD_7_573 	 0x38  /* 07 IO0 IO1 EN  */
#define BSQ_BOARD_8_573 	 0x40  /* 08 IO0 IO1 EN  */

#define BSQ_BOARD_NUM1		 0x04  /* 01 IO0 IO1 EN  */
#define BSQ_BOARD_NUM2		 0x05  /* 01 IO0 IO1 EN  */
#define BSQ_BOARD_NUM3		 0x06  /* 01 IO0 IO1 EN  */
#define BSQ_BOARD_NUM4		 0x07  /* 01 IO0 IO1 EN  */
#define BSQ_BOARD_NULL		 0x00  /* 01 IO0 IO1 EN  */



#define YX_BOARD_1_KRL		 0x4C  /* 09 */
#define YX_BOARD_1_KRM		 0x4D  /* 09 */
#define YX_BOARD_1_KRH		 0x4E  /* 09 */
#define YX_BOARD_2_KRL		 0x54  /* 10 */
#define YX_BOARD_2_KRM		 0x55  /* 10 */
#define YX_BOARD_2_KRH		 0x56  /* 10 */
#define YX_BOARD_3_KRL		 0x5C  /* 11 */
#define YX_BOARD_3_KRM		 0x5D  /* 11 */
#define YX_BOARD_3_KRH		 0x5E  /* 11 */
#define YX_BOARD_4_KRL		 0x64  /* 12 */
#define YX_BOARD_4_KRM		 0x65  /* 12 */
#define YX_BOARD_4_KRH		 0x66  /* 12 */
#define YX_BOARD_5_KRL		 0x6C  /* 13 */
#define YX_BOARD_5_KRM		 0x6D  /* 13 */
#define YX_BOARD_5_KRH		 0x6E  /* 13 */
#define YX_BOARD_6_KRL		 0x74  /* 14 */
#define YX_BOARD_6_KRM		 0x75  /* 14 */
#define YX_BOARD_6_KRH		 0x76  /* 14 */
#define YM_BOARD_1_KRL		 0x7C  /* 15 */
#define YM_BOARD_1_KRM		 0x7D  /* 15 */
#define YM_BOARD_1_KRH		 0x7E  /* 15 */
#define YM_BOARD_2_KRL		 0x84  /* 16 */
#define YM_BOARD_2_KRM		 0x85  /* 16 */
#define YM_BOARD_2_KRH		 0x86  /* 16 */
#define YM_BOARD_3_KRL		 0x8C  /* 17 */
#define YM_BOARD_3_KRM		 0x8D  /* 17 */
#define YM_BOARD_3_KRH		 0x8E  /* 17 */
#define YM_BOARD_4_KRL		 0x94  /* 18 */
#define YM_BOARD_4_KRM		 0x95  /* 18 */
#define YM_BOARD_4_KRH		 0x96  /* 18 */

#define YK_BOARD_1_KC0_4	 0x98  /* 19 */
#define YK_BOARD_1_KC5_8	 0x99  /* 19 */
#define YK_BOARD_1_KC9_12	 0x9A  /* 19 */
#define YK_BOARD_1_245		 0x9C  /* 19 */
#define YK_BOARD_2_KC0_4	 0xA0  /* 20 */
#define YK_BOARD_2_KC5_8	 0xA1  /* 20 */
#define YK_BOARD_2_KC9_12	 0xA2  /* 20 */
#define YK_BOARD_2_245		 0xA4  /* 20 */
#define YK_BOARD_3_KC0_4	 0xA8  /* 21 */
#define YK_BOARD_3_KC5_8	 0xA9  /* 21 */
#define YK_BOARD_3_KC9_12	 0xAA  /* 21 */
#define YK_BOARD_3_245		 0xAC  /* 21 */
#define YK_BOARD_4_KC0_4	 0xB0  /* 22 */
#define YK_BOARD_4_KC5_8	 0xB1  /* 22 */
#define YK_BOARD_4_KC9_12	 0xB2  /* 22 */
#define YK_BOARD_4_245		 0xB4  /* 22 */
#define YK_BOARD_5_KC0_4	 0xB8  /* 23 */
#define YK_BOARD_5_KC5_8	 0xB9  /* 23 */
#define YK_BOARD_5_KC9_12	 0xBA  /* 23 */
#define YK_BOARD_5_245		 0xBC  /* 23 */
#define YK_BOARD_6_KC0_4	 0xC0  /* 24 */
#define YK_BOARD_6_KC5_8	 0xC1  /* 24 */
#define YK_BOARD_6_KC9_12	 0xC2  /* 24 */
#define YK_BOARD_6_245		 0xC4  /* 24 */
#define YK_BOARD_7_KC0_4	 0xC8  /* 25 */
#define YK_BOARD_7_KC5_8	 0xC9  /* 25 */
#define YK_BOARD_7_KC9_12	 0xCA  /* 25 */
#define YK_BOARD_7_245		 0xCC  /* 25 */
#define YK_BOARD_8_KC0_4	 0xD0  /* 26 */
#define YK_BOARD_8_KC5_8	 0xD1  /* 26 */
#define YK_BOARD_8_KC9_12	 0xD2  /* 26 */
#define YK_BOARD_8_245		 0xD4  /* 26 */
#define YK_BOARD_9_KC0_4	 0xD8  /* 27 */
#define YK_BOARD_9_KC5_8	 0xD9  /* 27 */
#define YK_BOARD_9_KC9_12	 0xDA  /* 27 */
#define YK_BOARD_9_245		 0xDC  /* 27 */
#define YK_BOARD_10_KC0_4	 0xE0  /* 28 */
#define YK_BOARD_10_KC5_8	 0xE1  /* 28 */
#define YK_BOARD_10_KC9_12	 0xE2  /* 28 */
#define YK_BOARD_10_245 	 0xE4  /* 28 */
#define YK_BOARD_11_KC0_4	 0xE8  /* 29 */
#define YK_BOARD_11_KC5_8	 0xE9  /* 29 */
#define YK_BOARD_11_KC9_12	 0xEA  /* 29 */
#define YK_BOARD_11_245 	 0xEC  /* 29 */

#define YK_BOARD_NULL_1 	 0x57
#define YK_BOARD_NULL_2 	 0x55
#define YK_BOARD_NULL_3 	 0x55

#define YK_BOARD_POWER_OR_1	 0x80  /* KC4- =HIGHT V */
#define YK_BOARD_POWER_OR_2	 0x00
#define YK_BOARD_POWER_OR_3	 0x00
#define YK_BOARD_POWER_AND_1	 0xBF  /* KC4  =LOW V	*/
#define YK_BOARD_POWER_AND_2	 0xFF
#define YK_BOARD_POWER_AND_3	 0xFF

#define YK_BOARD_1T_1		 0x56  /* KC0=LOW V	*/
#define YK_BOARD_1T_2		 0x55
#define YK_BOARD_1T_3		 0x55
#define YK_BOARD_1H_1		 0x55  /* KC1=LOW V	*/
#define YK_BOARD_1H_2		 0x55
#define YK_BOARD_1H_3		 0x55

#define YK_BOARD_2T_1		 0x5B  /* KC2=0 KC2-=1	*/
#define YK_BOARD_2T_2		 0x55
#define YK_BOARD_2T_3		 0x55
#define YK_BOARD_2H_1		 0x67  /* KC3=0 KC3-=1	*/
#define YK_BOARD_2H_2		 0x55
#define YK_BOARD_2H_3		 0x55

#define YK_BOARD_3T_1		 0x57
#define YK_BOARD_3T_2		 0x56  /* KC5=0 KC5-=1	*/
#define YK_BOARD_3T_3		 0x55
#define YK_BOARD_3H_1		 0x57
#define YK_BOARD_3H_2		 0x59  /* KC6=0 KC6-=1	*/
#define YK_BOARD_3H_3		 0x55

#define YK_BOARD_4T_1		 0x57
#define YK_BOARD_4T_2		 0x65  /* KC7=0 KC7-=1	*/
#define YK_BOARD_4T_3		 0x55
#define YK_BOARD_4H_1		 0x57
#define YK_BOARD_4H_2		 0x95  /* KC8=0 KC8-=1	*/
#define YK_BOARD_4H_3		 0x55

#define YK_BOARD_5T_1		 0x57
#define YK_BOARD_5T_2		 0x55
#define YK_BOARD_5T_3		 0x56  /* KC9=0  KC9-=1 */
#define YK_BOARD_5H_1		 0x57
#define YK_BOARD_5H_2		 0x55
#define YK_BOARD_5H_3		 0x59  /* KC10=0 KC10-=1*/

#define YK_BOARD_6T_1		 0x57
#define YK_BOARD_6T_2		 0x55
#define YK_BOARD_6T_3		 0x65  /* KC11=0 KC11-=1  */
#define YK_BOARD_6H_1		 0x57
#define YK_BOARD_6H_2		 0x55
#define YK_BOARD_6H_3		 0x95  /* KC12=0 KC12-=1  */


#define RESET_NULL		 0x00	/* for can control register	       */
#define RESET_REQUEST		 0x01	/* reset control register request      */
#define CAN_CTRL_RIE		 0x1A	/*02 /* enable receive interrupt & 1-resync */
#define CAN_CTRL_TIE		 0x1E	/*06 /* enable transmit interrupt & 1-resync*/
#define CAN_OUT_CTRL		 0xFA	/*EA /* pull-down, normal output mode or AAH*/
#define CAN_BUS_TIM0		 0x89	/* 1.25uS-clock, 3.75uS-Tsjw  at 16Mhz */
#define CAN_BUS_TIM1		 0x2F	/*EB /* 3-sampling, 8.75uS-Tseg2, 15uS-Tseg1*/
#define CAN_RXD_INTR		 0x01	/* for can interrupt register  */
#define CAN_TXD_INTR		 0x02
#define CAN_ERR_INTR		 0x04
#define CAN_OVR_INTR		 0x08
#define TCAN_REQUEST		 0x01	/* for can command register    */
#define RCAN_RELEASE		 0x04
#define OVERRUN_INIT		 0x08
#define TCAN_ENABLE		 0x04
#define CAN_BUS_ERR		 0x80
#define MAX_CAN_LEN		 0x800



#ifdef	_C196_
#if _ARCHITECTURE_ != 'NT'
#pragma model(NT-EF)
#endif
#endif

/*-------------------------公共变量----------------------------------*/

#if !defined(FARDATA)
#if _FAR_DATA_ || _FAR_CONST_
#define FARDATA 	far
#else
#define FARDATA
#endif
#endif
/*----------------------------类型预定义---------------------------*/
typedef unsigned char	    BOOL;
typedef unsigned char	    BYTE;
typedef unsigned short	    WORD;
typedef unsigned long	    DWORD;
typedef unsigned int	    UINT;
typedef DWORD		    LONG;
typedef void	 FARDATA    *PVOID;
/*-----------------中断宏定义------------------------------------------*/
/*-----------------宏变量------------------------------------------*/
#define MAXTASK 		 52
#define YkTaskNo		 51
#define YcCalcTaskNo		 50
#define XmScanTaskNo		 49
#define DisplayTaskNo		 48
#define DbaseTaskNo		 47
#define ComDeviceTaskNo 	 46

#define Can1FrameTaskNo 	 1
#define Can0FrameTaskNo 	 0


#define IEC101PACKETSIZE	 0x100
#define IEC101REPEAT		 2


#define MAXCOMNUM		 8 /* 设备驱动串口号 */

#define MAXCANMAIL		 100
#define MAXSAMPLECOUNT		 128
#define Can0ComhandleNo 	 0x00
#define Can1ComhandleNo 	 0x01

#define TaskNoCOM00		 0x02
#define TaskNoCOM01		 0x03
#define TaskNoCOM02		 0x04
#define TaskNoCOM03		 0x05
#define TaskNoCOM04		 0x06
#define TaskNoCOM05		 0x07
#define TaskNoCOM06		 0x08
#define TaskNoCOM07		 0x09
#define TaskNoCOM08		 0x0A
#define TaskNoCOM09		 0x0B
#define TaskNoCOM10		 0x0C
#define TaskNoCOM11		 0x0D
#define TaskNoCOM12		 0x0E
#define TaskNoCOM13		 0x0F
#define TaskNoCOM14		 0x10
#define TaskNoCOM15		 0x11

#define MaxMailLength		 254
#define MaxMailNum		 100
#define MAXSOE			 512
#define MAXEMPMAIL		 100
#define MAXMRNUM		 64
#define MAXLINENUM		 24
#define MAXYWNUM		 24

#define MAXWORKMODE		 1

#define KEYSPEED		 30
#define TXD_BUF_PRO		 0x01
#define RXD_BUF_PRO		 0x00
#define KEYDELAY		 2000


#define WREN_INST		 0x06
#define WRDI_INST		 0x04
#define WRSR_INST		 0x01
#define RDSR_INST		 0x05
#define WRITE_INST		 0x02
#define READ_INST		 0x03
#define BYTE_ADDR		 0x55
#define BYTE_DATA		 0x11
#define PAGE_ADDR		 0x1f0
#define PAGE_DATA1		 0x22
#define PAGE_DATA2		 0x33
#define PAGE_DATA3		 0x44
#define STATUS_REG		 0x00
#define MAX_POLL		 0x200
#define INIT_STATE		 0x09
#define SLIC			 0x30


#define CAN0_REG_BASE		 0x001200
#define CAN1_REG_BASE		 0x001300

#define DADA_BIT_5		 0x00;
#define DADA_BIT_6		 0x01;
#define DADA_BIT_7		 0x02;
#define DADA_BIT_8		 0x03;

#define COM_16C554_CSA_BASE	 0x001380
#define COM_16C554_CSA_RBR	 0x001380  /*接收缓冲寄存器 只读 DLAB=0 */
#define COM_16C554_CSA_THR	 0x001380  /*发送保持寄存器 只写 DLAB=0 */
#define COM_16C554_CSA_IER	 0x001381  /*中断使能寄存器	 DLAB=0 */
#define COM_16C554_CSA_IIR	 0x001382  /*中断识别寄存器 只读	 */
#define COM_16C554_CSA_FCR	 0x001382  /*FIFO控制寄存器 只写	 */
#define COM_16C554_CSA_LCR	 0x001383  /*线路控制寄存器		 */
#define COM_16C554_CSA_MCR	 0x001384  /*MODEM控制寄存器		 */
#define COM_16C554_CSA_LSR	 0x001385  /*线路状态寄存器		 */
#define COM_16C554_CSA_MSR	 0x001386  /*MODEM状态寄存器		 */
#define COM_16C554_CSA_DLL	 0x001380  /*分频锁存低字节	 DLAB=1 */
#define COM_16C554_CSA_DLM	 0x001381  /*分频锁存高字节	 DLAB=1 */
#define COM_16C554_CSB_BASE	 0x001388
#define COM_16C554_CSB_RBR	 0x001388   /*接收缓冲寄存器 只读 DLAB=0 */
#define COM_16C554_CSB_THR	 0x001388   /*发送保持寄存器 只写 DLAB=0 */
#define COM_16C554_CSB_IER	 0x001389   /*中断使能寄存器	  DLAB=0 */
#define COM_16C554_CSB_IIR	 0x00138A   /*中断识别寄存器 只读	  */
#define COM_16C554_CSB_FCR	 0x00138A   /*FIFO控制寄存器 只写	  */
#define COM_16C554_CSB_LCR	 0x00138B   /*线路控制寄存器		  */
#define COM_16C554_CSB_MCR	 0x00138C   /*MODEM控制寄存器		  */
#define COM_16C554_CSB_LSR	 0x00138D   /*线路状态寄存器		  */
#define COM_16C554_CSB_MSR	 0x00138E   /*MODEM状态寄存器		  */
#define COM_16C554_CSB_DLL	 0x001388   /*分频锁存低字节	  DLAB=1 */
#define COM_16C554_CSB_DLM	 0x001389   /*分频锁存高字节	  DLAB=1 */

#define COM_16C554_CSC_BASE	 0x001390
#define COM_16C554_CSC_RBR	 0x001390   /*接收缓冲寄存器 只读 DLAB=0 */
#define COM_16C554_CSC_THR	 0x001390   /*发送保持寄存器 只写 DLAB=0 */
#define COM_16C554_CSC_IER	 0x001391   /*中断使能寄存器	  DLAB=0 */
#define COM_16C554_CSC_IIR	 0x001392   /*中断识别寄存器 只读	  */
#define COM_16C554_CSC_FCR	 0x001392   /*FIFO控制寄存器 只写	  */
#define COM_16C554_CSC_LCR	 0x001393   /*线路控制寄存器		  */
#define COM_16C554_CSC_MCR	 0x001394   /*MODEM控制寄存器		  */
#define COM_16C554_CSC_LSR	 0x001395   /*线路状态寄存器		  */
#define COM_16C554_CSC_MSR	 0x001396   /*MODEM状态寄存器		  */
#define COM_16C554_CSC_DLL	 0x001390   /*分频锁存低字节	  DLAB=1 */

⌨️ 快捷键说明

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