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

📄 const.h

📁 ADUC841的AD编程
💻 H
字号:
#define TRK_MAX						3072				//最大中继线号
#define GRP_MAX  					1024				//最大会议组
#define TRK_LC_MAX					96					//最大环路资源
#define ACCOUNT_MAX					10000				//最大帐户资源
#define MIX_MAX						96					//最大混音资源
#define CONTROL_AUDIO_MAX			512					//最大混音资源
#define DTMF_MAX 					8					//最大提示音资源
#define	VALID_LENGTH				20					//命令字有效部分的长度,目前用到18
#define BUF_MAX_LENGTH				512					//缓冲区大小
#define PHONE_MAX					9					//电话号码最大长度
#define AT2_NAME_MAX				16					//二四线名称长度
#define SERIAL_VALUE_LENGTH			196					//串口发数有效长度(包括效验和)
#define SERIAL_MAX_LENGTH			200					//串口发数有效长度(包括效验和)
#define SERIAL_MAX_L_COMMAND		22					//串口发数的单命令字最大长度(包括效验和)
#define SERIAL_MIX_L_COMMAND		2					//串口发数的单命令字最小长度
#define PAGE						0xff	





			
/*识别板号*/
#define CLK_FLAG					1					//时钟板标志
#define AUDIO_MIX_FLAG				2					//混音板标志
#define AUDIO_DTMF_FLAG 			3					//提示音板标志
#define REPLACE_FLAG				4					//倒换板标志
#define DT_FLAG						5					//数字中继板标志
#define AT2_FLAG 					6					//二线板标志
#define AT4_FLAG 					7					//四线板标志
#define TRK_LC_FLAG 				8					//环路板标志

/*MT_90826 操作应用命令子*/
#define CR	    0x0000
#define FAR 	0x0001
#define DOS0	0x0002
#define DOS1	0x0003
#define DOS2	0x0004
#define DOS3	0x0005
#define DOS4	0x0006
#define DOS5	0x0007
#define DOS6	0x0008
#define DOS7	0x0009
#define FOR0	0x000a
#define FOR1	0x000b
#define FOR2	0x000c
#define FOR3	0x000d
#define BISR	0x0010
#define BECR	0x0011

/*判断标记*/
#define    	RIGHT  					1		//正确
#define    	ERROR 					0		//错误
#define 	OCCUPY					0x04	//占用
#define		LEISURE					0		//空闲
#define		TRUE					1		//是
#define		FALSE					0		//否
#define		RESEND					0x08	//位3
#define		BIT0					0x01	//位0
#define		BIT1					0x02	//位1
#define		BIT2					0x04	//位2
#define		BIT3					0x08	//位3
#define		BIT4					0x10	//位4
#define		BIT5					0x20	//位5
#define		BIT6					0x40	//位6
#define		BIT7					0x80	//位7
#define		BIT0_1					0x03	//位0_1
#define		BIT0_2					0x07	//位0_2
#define		BIT0_4					0x0f	//位0_3

#define 	FLAG_300MS				0x07	//300ms标记
#define 	FLAG_1S					21		//1s标记

/*24c1024分配*/
//标记
#define		IP_FLAG					0x01	//ip地址读取标记
#define     ACCOUNT_FLAG			0x02	//操作员帐号读取标记
#define     R_PHONE_FLAG			0x03	//回呼号码读取标记	
#define     AT4_NAME_FLAG			0x04	//四线中文名读取标记
#define		DT_FLAG					0x05	//时隙状态读取标记
#define		ACCOUNT_FLAG			5055	//大于他即在第二章
//地址
#define		SETUP_ADDR				0		//设置员帐号地址(2字节)
#define     MANAGER_ADDR			2		//3各管理员帐号地址(6字节)
#define		TRK_MODE_ADDR			8		//环路工作模式存储地址(1字节)
#define     DT_MODE_ADDR			9		//中继工作模式存储地址(1字节)
#define		TIME_ADDR				10		//时钟跟踪地址(1字节,高4位为板位,底4位为路数)
#define		AUDIO_ADDR				11		//语控参考门限电平
#define     IP_ADDR					12		//(ip地址 + 端口号) * 4路 = 24字节(12--35)
#define 	AT4_WRITE_COUNT			36		//已记录二/四线中文名的数量(2字节)	
#define		USEING_WRITE_COUNT		38		//已记录回呼号码的数量(2字节)		
#define		DT_STATE_ADDR			0x100	//时隙状态存储首地址(由256字节以后存储)(暂时只后用两位00 关中继, 01入中继,10出中继;3072路时隙(00x100--0xcff))
#define		AT4_NAME_ADDR			0xd00	//二/四线中文名(96(满配96路) * 16(8个汉字内码) == 1536字节(0xd00 - 0x12ff))
//之前共用4.75k
#define		USEING_ADDR				0x1300	//操作员管理记录(帐号(2字节) + 回呼号码(9字节) + 是否欠费(1字节) * 10000) = 118 * 1024即118k
//共剩(128 - 118 - 4.75) = 5.25k
#define     R_PHONE_MIX				440		//回呼号码管理记录(5.25 * 1024 /(帐号(2字节) + 回呼号码(9字节) + 预留(1字节) = 448 
/*24c1024分配*/

/*地址操作*/
#define		WADDRL_90826 			0x20		//写90826高位地址
#define		WADDRH_90826   			0x22		//写90826低位地址
#define		RADDRL_90826			0x24		//读90826高位地址
#define		RADDRH_90826			0x26		//读90826低位地址
#define		ST16C554A				0x28		//写串口1连接后台地址
#define		ST16C554B				0x2c		//写串口2两串口之间通讯地址
#define     DHJ_CLK_MASTER			0x3c		//主用时钟板地址
#define     DHJ_CLK_SLAVE			0x3d		//主用时钟板地址
#define     DHJ_AUDIO_MIX			0x3e		//语控混音板地址
#define		DHJ_AUDIO_DTMF			0x3f		//提示音板地址
#define		DHJ_DT					0x30		//数字中继板首地址,以后每板加1
#define     EPROM_SLA_ADDR          0xA0		//24C1024的I2C地址



/*16c554操作应用命令子*/
#define		DLL						0x00		//发送数据寄存器(写)
#define		DLM						0x01		//中断使能寄存器(读)
#define		RHR						0x00		//接收数据寄存器(读)
#define		THR						0x00		//发送数据寄存器(写)
#define		IER						0x01		//中断使能寄存器(读)
#define		ISR						0x02		//中断状态寄存器(读)
#define		FCR						0x02		//fifo控制寄存器(写)
#define		LCR						0x03		//线路控制寄存器(写指定数据形式(停止位,奇,偶效验位等))
#define		MCR						0x04		//工作模式控制寄存器(写)
#define		LSR						0x05		//线路状态寄存器(读)
#define		MSR						0x06		


/*固定时隙操作*/
#define     HEART					0x03		//正向心跳包
#define     STATE_R					0x01		//正确回应
#define     STATE_E					0x02		//错误回应
#define     INF						0x00		//信息包
#define		RECORD_SLOT 			102			//提示音板提供的第一路提示音对应对应的8m时隙,以后每路对应102 + 路数 * 4
#define     DTMF_RECEIVE_SLOT		94			//提示音板接受的第一路DTMF信号对应的8m时隙,以后每路对应102 + 路数 * 4
#define     MIKE_SLOT				100			//话筒供音对应8m时隙
#define		SOUND_BOX_SLOT			92			//音箱听音对应8m时隙
#define		AT4_MIX_SEND			104			//四线(96)上传对应时隙
#define		AT4_MIX_RECEIVE			96			//四线(96)听音对应时隙
#define     RECORD_MIX_SLOT			108			//混音板提示音对应时隙
#define		CHECK_SLOT				100			//检测时隙
#define     DTMF_SEND_SLOT			22			//dtmt发号800hz音,1^12,450hz音,步进为8
#define     HW30					30			//8mHW30
#define     HW31					31			//8mHW31




/*位变量操作*/
sbit RUN_LED = P3^5;			//aduc841 运行灯
sbit RST = P3^4;				//aduc841 复位

⌨️ 快捷键说明

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