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

📄 sctruct.h

📁 MB90092字符叠加芯片相关代码。ADS1.2下面的工程文件
💻 H
📖 第 1 页 / 共 2 页
字号:
/*常用标号*/
#define         TRUE                    1
#define         FALSE                   0
#define         byte                    unsigned char
#define         word                    unsigned int
/* 设备配置表标号,作为配置函数的输入参数,用来明确要求配置函数完成的工作 */
#define DEVICE_ADDR      0
#define GUARD            1
#define ALARM_CONDITION  2
#define ALARM_MODE       3
#define WRITE_KEY        4
#define CLR_KEY          5
#define CLR_ALLKEY       6
#define READ_ALLKEY      7
#define SECURY           8
#define TEL_1            9
#define TEL_2            10 
#define TEL_3            11
#define PARAM            12
#define FORTIFY_STATUS	 13
#define CANCEL_STATUS    14
#define TELE_RING_TIMES  15
#define ONGUARDTIME		 16
#define ALARMDELAY       17
#define LOCAL_ALARM_SET  18
#define RING			 19
#define BACKCOLOR        20
#define VOLUM			 21
#define ALARMCLOCK		 22
#define PBTIME			 23
#define SAVEIDNUM        24
#define LOCALALARMSAVED  25

#define EMPTY            0xff
#define NOEMPTY          0
/************************************************************************
并行口寻址
	p4.0~p4.3 ------ SCAN2、SCAN3、SCAN4、SCAN5;普通IO,用于触摸屏的C2-C5,低有效,开漏输出。
	p4.4 ----- VREST普通IO,连接视频单元的复位,低有效,推挽输出
	p4.5 ----- JRX4普通IO,控制视频模组电源的继电器,低有效,开漏输出
	p4.6 ----- JRX2普通IO,控制音频总线的继电器,高绳路与拖机相连,低绳路与本机相连,开漏输出
	p4.7 ----- DEFENCE设防指示灯控制脚。普通IO,低有效,推挽输出
	p5.0 ----- UNDEFENCE撤防指示灯控制脚。普通IO,低有效,推挽输出
	p5.1 ----- P_MESSAGE_REV个人信息接收指示灯控制脚。普通IO,低有效,推挽输出
	p5.2 ----- SCAN1用于触摸屏的C1,低有效,开漏输出。
	p5.3 ----- G_MESSAGE_REV公共信息接收指示灯控制脚。普通IO,低有效,推挽输出
	p5.4~p5.6 ----- SCAN6、SCAN7、SCAN8;普通IO,控制触摸屏的C6~C8,低有效,开漏输出
	p5.7 ----- MIC_MUTE普通IO,控制MIC继电器,高断开、低闭合,开漏输出
	p6.0 ----- SP_MUTE普通IO,控制SPEAKER继电器,高断开、低闭合,开漏输出
	p6.1~p6.6 ------ 普通IO,连接触摸屏的数据线,低有效,开漏输入
	p6.7 ----- 普通IO,连接撬壳开关,低有效,开漏输入
	p7.0~p7.5 ------ 普通IO,报警传感器状态输入,低有效,开漏输入。
	p7.6 ------ TJTX普通IO,拖机通信发送脚,开漏输出
	p7.7 ------ JRX5普通IO,小门口机电源和音频总线控制继电器的控制脚,高断开小门口机的电源和小门口音频。绳路与外网相连。
				低闭合小门口的电源和小门口的音频总线。绳路与小门口音频相连。开漏输出。
****************************************************************************/
#define  SET_SCAN1   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5|=0x04;SFRPAGE=SFRPAGE_BAK
#define  CLR_SCAN1   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5&=0xfb;SFRPAGE=SFRPAGE_BAK
#define  SET_SCAN2   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4|=0x01;SFRPAGE=SFRPAGE_BAK
#define  CLR_SCAN2   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4&=0xfe;SFRPAGE=SFRPAGE_BAK
#define  SET_SCAN3   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4|=0x02;SFRPAGE=SFRPAGE_BAK
#define  CLR_SCAN3   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4&=0xfd;SFRPAGE=SFRPAGE_BAK
#define  SET_SCAN4   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4|=0x04;SFRPAGE=SFRPAGE_BAK
#define  CLR_SCAN4   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4&=0xfb;SFRPAGE=SFRPAGE_BAK
#define  SET_SCAN5   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4|=0x08;SFRPAGE=SFRPAGE_BAK
#define  CLR_SCAN5   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4&=0xf7;SFRPAGE=SFRPAGE_BAK
#define  SET_SCAN6   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5|=0x10;SFRPAGE=SFRPAGE_BAK
#define  CLR_SCAN6   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5&=0xef;SFRPAGE=SFRPAGE_BAK
#define  SET_SCAN7   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5|=0x20;SFRPAGE=SFRPAGE_BAK
#define  CLR_SCAN7   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5&=0xdf;SFRPAGE=SFRPAGE_BAK
#define  SET_SCAN8   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5|=0x40;SFRPAGE=SFRPAGE_BAK
#define  CLR_SCAN8   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5&=0xbf;SFRPAGE=SFRPAGE_BAK

#define  SET_VREST  SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4|=0x10;SFRPAGE=SFRPAGE_BAK
#define  CLR_VREST  SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4&=0xef;SFRPAGE=SFRPAGE_BAK

#define  SET_JRX4   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4|=0x20;SFRPAGE=SFRPAGE_BAK
#define  CLR_JRX4   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4&=0xdf;SFRPAGE=SFRPAGE_BAK

#define  SET_JRX2   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4|=0x40;SFRPAGE=SFRPAGE_BAK
#define  CLR_JRX2   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4&=0xbf;SFRPAGE=SFRPAGE_BAK

#define  SET_DEFENCE SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4|=0x80;SFRPAGE=SFRPAGE_BAK
#define  CLR_DEFENCE SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P4&=0x7f;SFRPAGE=SFRPAGE_BAK

#define  SET_UNDEFENCE SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5|=0x01;SFRPAGE=SFRPAGE_BAK
#define  CLR_UNDEFENCE SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5&=0xfe;SFRPAGE=SFRPAGE_BAK

#define  SET_P_MESSAGE SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5|=0x02;SFRPAGE=SFRPAGE_BAK
#define  CLR_P_MESSAGE SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5&=0xfd;SFRPAGE=SFRPAGE_BAK

#define  SET_G_MESSAGE SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5|=0x08;SFRPAGE=SFRPAGE_BAK
#define  CLR_G_MESSAGE SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5&=0xF7;SFRPAGE=SFRPAGE_BAK

#define  SET_MIC_MUTE    SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5|=0x80;SFRPAGE=SFRPAGE_BAK
#define  CLR_MIC_MUTE    SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P5&=0x7f;SFRPAGE=SFRPAGE_BAK

#define  SET_SP_MUTE   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P6|=0x01;SFRPAGE=SFRPAGE_BAK
#define  CLR_SP_MUTE   SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P6&=0xfe;SFRPAGE=SFRPAGE_BAK

#define  SET_TJTX    SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P7|=0x40;SFRPAGE=SFRPAGE_BAK
#define  CLR_TJTX    SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P7&=0xbf;SFRPAGE=SFRPAGE_BAK

#define  SET_JRX5    SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P7|=0x80;SFRPAGE=SFRPAGE_BAK
#define  CLR_JRX5    SFRPAGE_BAK=SFRPAGE;SFRPAGE=0x0f;P7&=0x7f;SFRPAGE=SFRPAGE_BAK

#define  CLR_RI1       RI1=0
//SCON1&=0xfe
#define  SET_RI1       RI1=1
//SCON1|=0x01
#define  CLR_TI1       TI1=0
//SCON1&=0xfd
#define  SET_TI1       TI1=1
//SCON1|=0x02
#define  CLR_RB81      RB81=0
//SCON1&=0xfb
#define  SET_RB81      RB81=1
//SCON1|=0x04
#define  CLR_TB81      TB81=0
//SCON1&=0xf7
#define  SET_TB81      TB81=1
//SCON1|=0x08
#define  SETTR4        TR4=1
//T4CON|=0x04
#define  CLRTR4        TR4=0
//T4CON&=~0x04
/*****************************************
	射频读卡标号定义
******************************************/
#define RFID_READING 0
#define RFID_OVERTIME_ERR 1
#define RFID_RECEIVED 2
#define RFID_SUCCESS 3
#define RFID_CRC_ERR 4
#define RFID_STARTBIT_ERR 5
#define RFID_ENDBIT_ERR 6
/*******************************************
	颜色定义
********************************************/
#define C_BLACK	0x0000
#define C_BLUE  0x0010
#define C_RED   0x0020
#define C_MAGENTA 0x0030
#define C_GREEN  0x0040
#define C_CYAN   0x0050
#define C_YELLOW  0x0060
#define C_WHITE   0x0070

#define B_BLACK	 0x0000
#define B_BLUE   0x0001
#define B_RED    0x0002
#define B_MAGENTA 0x0003
#define B_GREEN   0x0004
#define B_CYAN    0x0005
#define B_YELLOW  0x0006
#define B_WHITE   0x0007
/****************************************
	通信标志定义
******************************************/
#define DOWN_COMMUNICATION_PROCESSING   0
#define DOWN_COMMUNICATION_OK           1
#define DOWN_COMMUNICATION_ERR          2
#define DOWN_COMMUNICATION_OVER_TIME    3
/****************************************
	电话标志
*****************************************/
/*一个电话振铃的脉冲数,交换机送来的25Hz 90V铃流*/
#define   CONST_TIME  25
/*****************************************
	信息类型定义
******************************************/
#define PUBLIC_MESSAGE   1
#define PERSONAL_MESSAGE  2
/*********************************
             结构类型定义
**********************************/
typedef struct
{
	unsigned char systime[11];
	unsigned char alarmclock[10];
	unsigned char pbtime;
}TIME_SET;

#define KEY_NUM 15
typedef  struct /*开关命令*/
{
	byte	comm[2][14];
}SWITCH_COM;
#define PARAM_LEN        224
typedef  struct/*配置表结构*/
{
	byte device_addr;/*设备号*/
	struct/*报警结构*/
	{
		byte guard;/*部防状态,0x41-撤防,0x42-设防*/
		byte condition;/*分区设撤防控制,允许那些报警,分别对应8防区的每位D7-D0,1bit-允许在撤防状态时报警,0bit-禁止撤防状态时报警*/
		byte mode;/*报警传感器的报警方式,分别对应8防区的每位D7-D0,1-常闭,0-常开*/
		byte OnGuardDelay;/*设防延时单位秒*/
		byte AlarmDelay;/*误报自解除延时单位秒*/
		byte LocalAlarmPeng;/*本地报警屏蔽,分别对应8防区的每位D7-D0,1bit-允许本地报警输出,0bit-禁止本地报警输出*/
		word LocalAlarmTime;/*本地报警持续时间单位秒*/
	}alarm;
 	byte key_code[KEY_NUM][9];/*5个钥匙码,前1字节为标志,后8字节为钥匙码*/
	char ring[10];/*当前的铃音文件名*/
	int  backcolor;/*当前的背景色*/
	byte volum;/*当前音量*/
	byte secury[8];/*8位密码*/
	byte tel1[20];/*第1个报警电话号码,以#号结束*/
	byte tel2[20];/*第2个报警电话号码,以#号结束*/
	byte tel3[20];/*第3个报警电话号码,以#号结束*/
    byte tele_ring_times;/*电话振铃次数*/
	byte status[9];/*可以记录9个外带的家居安防设防状态,起始地址为*/
	unsigned char alarmclock[10];/*闹钟定时时间*/
	unsigned char pbtime;/*屏保时间*/
	union
	{
		SWITCH_COM param[2][4];/*网络房屋的配置关系*/
		char param_array[PARAM_LEN];
	}param_un;
	byte ID_NUM;/*本地报警索引*/
} CONFIG_TABLE;/*占用512字节*/

//-------------------------------------------------------------------
typedef struct/*NHB2.0通信帧结构*/
{
   	byte adr;

⌨️ 快捷键说明

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