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

📄 cjq3.0v.bak

📁 本程序为集中抄表系统中低压电力线载波数据采集器程序源代码
💻 BAK
📖 第 1 页 / 共 5 页
字号:
;*********************************************************************************************
;---------------------------------------------------------------------------------------------
;------------------------河南英博电气有限公司远程抄表系统采集器程序清单-------------------------
;--------------------------------------2004年5月25日------------------------------------------
;*********************************************************************************************
;新型载波抄表系统
;程序名称:采集器程序CJQ3.0V.ASM
;本程序适用于电表常数是10整数倍的各类电表,带继电器控制,红外通信,中继功能(本采集器地址可作为其它采集器的中继)。
;CPU类型:AT89C55WD
;载波芯片:ST7536CFN
;存储器:铁电FM24C04A
;编写时间:2004年5月25日,载波芯片为ST7536CFN电力线载波MODEM,通信方式FSK,载波频率72KHZ,选择第3通道,1200BTS
;修改时间:2004年5月25日,  田家栋
;**************************************************************************************
TERMINAL_ID             EQU             00100                ;本采集器地址00100--29900
TERMINAL_ID_1		EQU		TERMINAL_ID+1        ;下属电表地址
TERMINAL_ID_2		EQU		TERMINAL_ID+2
TERMINAL_ID_3		EQU		TERMINAL_ID+3
TERMINAL_ID_4		EQU		TERMINAL_ID+4
TERMINAL_ID_5		EQU		TERMINAL_ID+5
TERMINAL_ID_6		EQU		TERMINAL_ID+6
TERMINAL_ID_7		EQU		TERMINAL_ID+7
TERMINAL_ID_8		EQU		TERMINAL_ID+8
TERMINAL_ID_9		EQU		TERMINAL_ID+9
TERMINAL_ID_10		EQU		TERMINAL_ID+10
TERMINAL_ID_11		EQU		TERMINAL_ID+11
TERMINAL_ID_12		EQU		TERMINAL_ID+12
TERMINAL_ID_13		EQU		TERMINAL_ID+13
TERMINAL_ID_14		EQU		TERMINAL_ID+14
TERMINAL_ID_15		EQU		TERMINAL_ID+15
TERMINAL_ID_16		EQU		TERMINAL_ID+16
;**************************************************************************************
;采集器下属电表满刻度值
;**************************************************************************************
;--METER_CYCLE=100000=0186A0H
METER_CYCLE_1_2		EQU		01H					;--100000=0186A0H
METER_CYCLE_1_1		EQU		86H
METER_CYCLE_1_0		EQU		0A0H
METER_CYCLE_2_2		EQU		01H					;--100000=0186A0H
METER_CYCLE_2_1		EQU		86H
METER_CYCLE_2_0		EQU		0A0H
METER_CYCLE_3_2		EQU		01H					;--100000=0186A0H
METER_CYCLE_3_1		EQU		86H
METER_CYCLE_3_0		EQU		0A0H
METER_CYCLE_4_2		EQU		01H					;--100000=0186A0H
METER_CYCLE_4_1		EQU		86H
METER_CYCLE_4_0		EQU		0A0H
METER_CYCLE_5_2		EQU		01H					;--100000=0186A0H
METER_CYCLE_5_1		EQU		86H
METER_CYCLE_5_0		EQU		0A0H
METER_CYCLE_6_2		EQU		01H					;--100000=0186A0H
METER_CYCLE_6_1		EQU		86H
METER_CYCLE_6_0		EQU		0A0H
METER_CYCLE_7_2		EQU		01H					;--100000=0186A0H
METER_CYCLE_7_1		EQU		86H
METER_CYCLE_7_0		EQU		0A0H
METER_CYCLE_8_2		EQU		01H					;--100000=0186A0H
METER_CYCLE_8_1		EQU		86H
METER_CYCLE_8_0		EQU		0A0H
METER_CYCLE_9_2		EQU		01H					;--100000=0186A0H
METER_CYCLE_9_1		EQU		86H
METER_CYCLE_9_0		EQU		0A0H
METER_CYCLE_10_2	EQU		01H					;--100000=0186A0H
METER_CYCLE_10_1	EQU		86H
METER_CYCLE_10_0	EQU		0A0H
METER_CYCLE_11_2	EQU		01H					;--100000=0186A0H
METER_CYCLE_11_1	EQU		86H
METER_CYCLE_11_0	EQU		0A0H
METER_CYCLE_12_2	EQU		01H					;--100000=0186A0H
METER_CYCLE_12_1	EQU		86H
METER_CYCLE_12_0	EQU		0A0H
METER_CYCLE_13_2	EQU		01H					;--100000=0186A0H
METER_CYCLE_13_1	EQU		86H
METER_CYCLE_13_0	EQU		0A0H
METER_CYCLE_14_2	EQU		01H					;--100000=0186A0H
METER_CYCLE_14_1	EQU		86H
METER_CYCLE_14_0	EQU		0A0H
METER_CYCLE_15_2	EQU		01H					;--100000=0186A0H
METER_CYCLE_15_1	EQU		86H
METER_CYCLE_15_0	EQU		0A0H
METER_CYCLE_16_2	EQU		01H					;--100000=0186A0H
METER_CYCLE_16_1	EQU		86H
METER_CYCLE_16_0	EQU		0A0H
;电表常数---------------------------------------
METER_CONST_1		EQU		3200               ;第1只表电表常数
METER_CONST_2		EQU		3200               ;第2只表电表常数
METER_CONST_3		EQU		3200               ;第3只表电表常数
METER_CONST_4		EQU		3200               ;第4只表电表常数
METER_CONST_5		EQU		3200               ;第5只表电表常数
METER_CONST_6		EQU		3200               ;第6只表电表常数
METER_CONST_7		EQU		3200               ;第7只表电表常数
METER_CONST_8		EQU		3200               ;第8只表电表常数
METER_CONST_9		EQU		3200               ;第9只表电表常数
METER_CONST_10		EQU		3200               ;第10只表电表常数
METER_CONST_11		EQU		3200               ;第11只表电表常数
METER_CONST_12		EQU		3200               ;第12只表电表常数
METER_CONST_13		EQU		3200               ;第13只表电表常数
METER_CONST_14		EQU		3200               ;第14只表电表常数
METER_CONST_15		EQU		3200               ;第15只表电表常数
METER_CONST_16		EQU		3200               ;第16只表电表常数
;**************************************************************************************
AUXR			EQU		8EH                ;CPU复位(内部WATCHDOG)时间设定
AUXR1			EQU		0A2H
;----------
ST7536_ADDR		EQU		0B0H	  	  ;ST7536地址
SEIZURE_YARD		EQU		30H               ;ST7536捕获门限寄存器值30H
ST7536_SEIZ		EQU		48H               ;ST7536捕获门限寄存器地址
WRITE_CLOSE		EQU		30H               ;ST7536内部寄存器禁止写控制字
WRITE_OPEN		EQU		0B0H              ;ST7536内部寄存器允许写控制字
ST7536_WP		EQU		4FH               ;ST7536内部寄存器允许写保护字地址
;----------
C04_ADDR_L		EQU		0A0H  		;0A0H中高7位有效,C04的00H-0FFH部分芯片地址
C04_ADDR_H		EQU		0A2H		;0A2H中高7位有效,C04的100H-1FFH部分芯片地址
;------
C04_TO_RAM_LEN		EQU     	60H             ;上电后要读存储器字节数
;****************************************************************
;CPU内部RAM区地址分配
;****************************************************************
HIGH_PERSISTENCE_0_7	EQU		08H		;1-8通道有脉冲高电平持续标志
HIGH_PERSISTENCE_8_15	EQU		09H		;9-16通道有脉冲高电平持续标志
PULSE_STATE_0_7		EQU		0AH		;脉冲通道1-8的状态字
PULSE_STATE_8_15	EQU		0BH		;脉冲通道9-16的状态字
;----------------------------------------
;载波中断接收同一字节连续接收3次暂存器
ZBREC_FIRST_BYTE        EQU     0CH              ;当前字节接收的第一次数据寄存器
ZBREC_SECOND_BYTE       EQU     0DH              ;当前字节接收的第二次数据寄存器
ZBREC_THIRD_BYTE        EQU     0EH              ;当前字节接收的第三次数据寄存器
;----------------------------------------
REC_BUF			EQU     10H              ;接收缓冲从内部RAM 10H-1FH,共16字节
REC_BUF_LEN		EQU     16               ;接收缓冲区的总长度
REC_HEAD		EQU     REC_BUF          ;接收帧的起始符
REC_ADDR		EQU     REC_BUF+01H      ;接收缓冲区的地址码
REC_CTRL_CODE		EQU     REC_BUF+03H      ;接收帧的控制码
REC_DATA_FEILD_LEN	EQU     REC_BUF+04H      ;接收帧的数据域长度
REC_DATA_FEILD		EQU     REC_BUF+05H      ;接收帧的数据域首地址
REC_DATA_ID		EQU     REC_BUF+05H      ;接收帧的数据标识首地址
REC_DATA_METER		EQU     REC_BUF+06H      ;接收帧的数据域中的表号/中继号首地址
REC_DATA_ITEM		EQU     REC_BUF+08H      ;接收帧的数据项首地址
;----------------------------------------
SEND_BUF		EQU     REC_BUF          ;发送缓冲从内部RAM 10H-1FH,共16字节
SEND_BUF_LEN		EQU     16               ;发送缓冲的总长度
SEND_HEAD		EQU     SEND_BUF         ;发送帧的起始符
SEND_ADDR		EQU     SEND_BUF+01H     ;发送帧的地址码
SEND_CTRL_CODE		EQU     SEND_BUF+03H     ;发送帧的控制码
SEND_DATA_FEILD_LEN	EQU     SEND_BUF+04H     ;发送帧的数据域长度
SEND_DATA_FEILD		EQU     SEND_BUF+05H     ;发送帧的数据域首地址
SEND_DATA_ID		EQU     SEND_BUF+05H     ;发送帧的数据标识首地址
SEND_DATA_METER		EQU     SEND_BUF+06H     ;发送帧的数据域中的表号首地址
SEND_DATA_ITEM		EQU     SEND_BUF+08H     ;发送帧的数据项首地址
;-------------------------------------------
FRM_PROCESS		BIT	20H.0		;载波帧正在处理标志,处理完后要清零
INIT_ST7536_FLAG	BIT	20H.1		;初始化ST7536标志
SEND_BYTE_OVER		BIT	20H.2		;发送字节标志
SAVE_PULSE_FLAG		BIT	20H.3		;有脉冲标记
SYNB			BIT	20H.4		;同步头找到标志
TXD_READY_FLAG		BIT	20H.5		;发送准备好
SLAVE_ANSWER_OK		BIT	20H.6		;读写SLAVE的SRAM正常应答与否的判断
BIT_CHANNEL		BIT	20H.7		;通道标志
SAVE_1S			BIT	21H.0		;1S到标志
ZB_OR_HW                BIT     21H.1           ;载波通信或红外通信标志位,0为载波通信,1为红外通信
HW_FRM_PROCESS          BIT     21H.2           ;红外帧正在处理标志,处理完后要清零
HW_LEADER_CHARACTER     BIT     21H.3           ;红外接收到正确前导字节标志
HW_FRAMES_HEAD_RECEVED  BIT     21H.4           ;红外帧正在接收标志
ZJQ_SEND_WAIT           BIT     21H.5           ;中继下发等待接收1秒时间到标志
;----------
RAM_TO_C04_AGA_0_7	EQU	22H		;需要将通道0(-7)RAM中数据存进C04的标志
RAM_TO_C04_AGA_8_15	EQU	23H		;需要将通道8(-15)RAM中数据存进C04的标志
;----------------------------------------
COUNTER_100		EQU	24H             ;100计数器:5秒定时
COUNTER_1S		EQU	25H             ;1S计数器:1秒定时
COUNTER_200		EQU	26H             ;40计数器:20秒定时
;-------------------------------------------
HEAD_LO			EQU	27H		;同步头低位字#0AFH
HEAD_HI			EQU	28H		;同步头高位字#009H
REC_CUR_LEN		EQU	29H		;载波接收区当前的数据长度
REC_WHOLE_BYTE		EQU	2AH		;接收到的一个整字节,正确字节暂存存
REC_BIT_LEN		EQU	2BH		;接收到的位数
SEND_WHOLE_BYTE		EQU	2CH		;发送的一个整字节
SEND_BIT_LEN		EQU	2DH		;已发送的位数
COUNTER_SEND_DELAY	EQU	2EH		;发送延时寄存器
HW_REC_WHOLE_BYTE       EQU     2FH             ;红外接收接收到的一个当前字节
HW_REC_CUR_LEN          EQU     30H             ;红外接收区当前的数据长度
;----------------------------------------  04-03-24
JDQ_1_4_STATE           EQU     31H             ;1-4路继电器状态字
JDQ_5_8_STATE           EQU     32H             ;5-8路继电器状态字
JDQ_9_12_STATE          EQU     33H             ;9-12路继电器状态字
JDQ_13_16_STATE         EQU     34H             ;13-16路继电器状态字
;----------------------------------------
HIGH_LEVEL_COUNT0	EQU	35H		        ;表1高电平记数
;HIGH_LEVEL_COUNT1	EQU	HIGH_LEVEL_COUNT0+1	;2高电平记数
;HIGH_LEVEL_COUNT2	EQU	HIGH_LEVEL_COUNT0+2	;3高电平记数
;HIGH_LEVEL_COUNT3	EQU	HIGH_LEVEL_COUNT0+3	;4高电平记数
;HIGH_LEVEL_COUNT4	EQU	HIGH_LEVEL_COUNT0+4	;5高电平记数
;HIGH_LEVEL_COUNT5	EQU	HIGH_LEVEL_COUNT0+5	;6高电平记数
;HIGH_LEVEL_COUNT6	EQU	HIGH_LEVEL_COUNT0+6	;7高电平记数
;HIGH_LEVEL_COUNT7	EQU	HIGH_LEVEL_COUNT0+7	;8高电平记数
;HIGH_LEVEL_COUNT8	EQU	HIGH_LEVEL_COUNT0+8	;9高电平记数
;HIGH_LEVEL_COUNT9	EQU	HIGH_LEVEL_COUNT0+9	;10高电平记数
;HIGH_LEVEL_COUNT10	EQU	HIGH_LEVEL_COUNT0+10	;11高电平记数
;HIGH_LEVEL_COUNT11	EQU	HIGH_LEVEL_COUNT0+11	;12高电平记数
;HIGH_LEVEL_COUNT12	EQU	HIGH_LEVEL_COUNT0+12	;13高电平记数
;HIGH_LEVEL_COUNT13	EQU	HIGH_LEVEL_COUNT0+13	;14高电平记数
;HIGH_LEVEL_COUNT14	EQU	HIGH_LEVEL_COUNT0+14	;15高电平记数
;HIGH_LEVEL_COUNT15	EQU	HIGH_LEVEL_COUNT0+15	;16高电平记数
;-------------------------------------------------------------------
LOW_LEVEL_COUNT0	EQU	HIGH_LEVEL_COUNT0+16	;低电平记数
;LOW_LEVEL_COUNT1	EQU	LOW_LEVEL_COUNT0+1	;低电平记数
;LOW_LEVEL_COUNT2	EQU	LOW_LEVEL_COUNT0+2	;低电平记数
;LOW_LEVEL_COUNT3	EQU	LOW_LEVEL_COUNT0+3	;低电平记数
;LOW_LEVEL_COUNT4	EQU	LOW_LEVEL_COUNT0+4	;低电平记数
;LOW_LEVEL_COUNT5	EQU	LOW_LEVEL_COUNT0+5	;低电平记数
;LOW_LEVEL_COUNT6	EQU	LOW_LEVEL_COUNT0+6	;低电平记数
;LOW_LEVEL_COUNT7	EQU	LOW_LEVEL_COUNT0+7	;低电平记数
;LOW_LEVEL_COUNT8	EQU	LOW_LEVEL_COUNT0+8	;低电平记数
;LOW_LEVEL_COUNT9	EQU	LOW_LEVEL_COUNT0+9	;低电平记数
;LOW_LEVEL_COUNT10	EQU	LOW_LEVEL_COUNT0+10	;低电平记数
;LOW_LEVEL_COUNT11	EQU	LOW_LEVEL_COUNT0+11	;低电平记数
;LOW_LEVEL_COUNT12	EQU	LOW_LEVEL_COUNT0+12	;低电平记数
;LOW_LEVEL_COUNT13	EQU	LOW_LEVEL_COUNT0+13	;低电平记数
;LOW_LEVEL_COUNT14	EQU	LOW_LEVEL_COUNT0+14	;低电平记数

⌨️ 快捷键说明

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