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

📄 err3.asm

📁 电力仪器仪表智能独立误差计算设备系统程序!
💻 ASM
📖 第 1 页 / 共 5 页
字号:
; 独立式误差计算器(AT89C52)源程序
; 版本:1.01
; 编写:金在东
; 注:用 ">>>>>  ("
;       ">>>>>  )"	   	                号括起的内容是后加用于实现通道选择功能
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;======================================= SFR
T2CON 			DATA	0C8H			; 定时器/计数器2控制寄存器(可位寻址)
T2MOD 			DATA	0C9H			; 定时器/计数器2方式控制寄存器
							; HC5,HC4,HC3,HC2,T2CR,-,T2OE,DCEN
	         	   				; hc5-hc2 =1时外中断5-2标志硬件自动清除。
	        	    				; t2cr=1 捕获完成时自动复位
	        	    				; t2oe=1 定时器2输出允许
	         	   				; dcen=1 减计数允许,结合外部输入t2ex使用,16位自装入模式
RCAP2L			DATA	0CAH			; 定时器2捕获低字节
RCAP2H			DATA	0CBH			; 定时器2捕获高字节
TL2		     	DATA	0CCH			; 定时器/计数器2(低字节)
TH2   			DATA	0CDH			; 定时器/计数器2(高字节)
;/*  T2CON	*/
TF2   			BIT	0CFH			;//定时器2溢出标志,软清除
EXF2  			BIT	0CEH			;//定时器2外部标志,当exen2=1且t2ex引脚负跳变引起捕获或重载时置位,软清。
RCLK  			BIT	0CDH			;//接收时钟标志,=1时串口0用定时器2溢出做时钟。
TCLK  			BIT	0CCH			;//发送时钟标志,=1时串口0用定时器2溢出做时钟。
EXEN2 			BIT	0CBH			;//定时器2外部允许标志,=1时若未用作拨特率发生器,t2ex脚的负跳变引起捕获
TR2   			BIT	0CAH			;//定时器2运行控制位
C_T2  			BIT	0C9H			;//计数/定时选择,=1时计数
CP_RL			BIT	0C8H			;//捕获/重载标志,=1时,外部允许时,vt2ex负跳变发生捕获
                 				;//=0时 溢出或外部允许时,vt2ex负跳变发生重载
;/*--Extensions--------------------------------------------*/
;/* PSW		*/
F1    			BIT	0D1H			;
;/*  IE		*/
ET2   			BIT	0ADH			;//定时器2允许
ES1   			BIT	0AEH			;//串口1优先
;/*  IP		*/
PT2   			BIT	0BDH			;//定时器2优先
PS1   			BIT	0BEH			;//串口1优先             			
;======================================= 中断矢量
VEC_RESET		EQU	0000H			; 复位
VEC_EINT0		EQU	0003H			; 外部中断0
VEC_T_C0		EQU	000BH			; 计数器/定时器0
VEC_EINT1		EQU	0013H			; 外部中断1
VEC_T_C1		EQU	001BH			; 计数器/定时器1
VEC_UART		EQU	0023H			; 串口通讯中断
VEC_T_C2		EQU	002BH			; 计数器/定时器2
;======================================= 位定义
;------------------------------- P1端口
PULSE_FC		BIT	P1.0			; 被检表被试脉冲输入(fc<200kHz)
JDQ_X485OFF		BIT	P1.1			; 置高可打开本板被检表的485口
X5043_SDO		BIT	P1.2			; 从X5043接收的串行信号
X5043_CS		BIT	P1.3			; 发送到X5043的串行信号
X5043_SDI		BIT	P1.4			; X5043的串行时钟
X5043_CLK		BIT	P1.5			; X5043的片
C485_TRSEL		BIT	P1.7			; 本板485口的收发选择(0收,1发)

PULSE_SELECT		BIT	P3.5			; 脉冲高低频选择
PULSE_EDGE_SET		BIT	P3.6			; 脉冲检测沿设置
CT_CHECK		BIT	P3.7			; 电流互感器检测

JDQ_BSNAP		BIT	P1.6			; 置低可合上24电压输入
JDQ_BH			BIT	P0.3			; 捕黑继电器,默认短接状态 
JDQ_AUTO		BIT	P0.4			; 自动短接继电器,默认断开状态 
;------------------------------- 片内功能位
KEY_DOWN		BIT	00H			; 已有键按下					20H
KEY_PRESS		BIT	01H			; 按键有效,可处理
;KEY_NUMBER		BIT	02H			; 按键为数字键
;DATA_EXIST		BIT	03H			; 已有数字键入



DISP_A			BIT	08H			; 显示控制位A					21H
DISP_B			BIT	09H			; 显示控制位B
DISP_C			BIT	0AH			; 显示控制位C
BH_C1			BIT	0BH			; 捕黑控制位
BH_C2			BIT	0CH			; 捕黑控制位
PULSE_A			BIT	0DH			; 脉冲选择控制位A
PULSE_B			BIT	0EH			; 脉冲选择控制位B
PULSE_C			BIT	0FH			; 脉冲选择控制位C

EC_MODE_EE		BIT	10H			; EC_FLAGS.0,开始误差计算			22H
EC_LOOPBEG		BIT	14H			; EC_FLAGS.4,已有首脉冲
EC_LOOPFIN		BIT	15H			; EC_FLAGS.5,一次减圈完成

EC_BIGDIV		BIT	18H			; 大分频标志;置1时为大分频,置0时为小分频	23H
EC_FCWAIT		BIT	19H			; 被试脉冲中断挂起
EC_FHINC		BIT	1AH			; 正在处理标拼溢出标志
EC_ZZUP			BIT	1BH			; 被试脉冲走字更新
EC_PASS			BIT	1CH			; 本次误差超差标志
EC_SIGN			BIT	1DH			; 误差计算结果的符号
EC_TOPSIGN		BIT	1EH			; 误差上限符号 0时为+,1时为-
EC_BOTSIGN		BIT	1FH			; 误差下限符号 0时为+,1时为-
	
EC_FHCAP6		BIT	26H			; EC_FHCAP.6					24H
EC_FHCAP7		BIT	27H			; EC_FHCAP.7

FLAG_TIME_1MS		BIT	28H			; 定时1mS到标志					25H
FLAG_CT_FIRST		BIT	29H			; CT错误第一次检测标志
FLAG_ZZUP_TWO		BIT	2AH			; AT93C46_ERR.2,芯片损坏
FLAG_BH_1MS		BIT	2BH			; AT93C46_ERR.3
AT93C46_ERR4		BIT	2CH			; AT93C46_ERR.4
AT93C46_ERR5		BIT	2DH			; AT93C46_ERR.5
RESET_FLAG		BIT	2EH			; 复位初始化标志	1时不进行RAM初始化
AT93C46_ERR7		BIT	2FH			; AT93C46_ERR.7

FLAG_DL			BIT	30H			; 电能误差试验标志	STATE_FLAG		26H
FLAG_RJ			BIT	31H			; 日计时误差试验标志
FLAG_XL			BIT	32H			; 需量周期误差试验标志
FLAG_ZZ			BIT	33H			; 走字试验标志
FLAG_QD			BIT	34H			; 潜动试验标志
FLAG_QID		BIT	35H			; 启动试验标志
FLAG_BH			BIT	36H			; 捕黑试验标志
FLAG_MK			BIT	37H			; 脉宽试验标志

FLAG_FRAME_A0		BIT	38H			; 帧标志A0					27H
FLAG_FRAME_A1		BIT	39H			; 帧标志A1
FLAG_FRAME_A2		BIT	3AH			; 帧标志A2
FLAG_FRAME_A3		BIT	3BH			; 帧标志A3
FLAG_ANSWER		BIT	3CH			; 查询回传标志
FLAG_ADDR		BIT	3DH			; 接收到地址标志
FLAG_GATHER		BIT	3EH			; 集合标志
FLAG_LEN		BIT	3FH			; 接收到长度标志

FLAG_COMMAND		BIT	40H			; 接收到命令标志				28H
FLAG_ADDR_DATA		BIT	41H			; 本板地址标志
FLAG_COMMAND_ANSWER	BIT	42H			; 确认命令回传标志
UART_TBUSY		BIT	43H			; 通讯发送就绪标志			
FLAG_SYS_SN		BIT	44H			; 本板地址标志,用于确认命令回传

QD_FLAG			BIT	45H			; 电表潜动试验处理控制位
QID_FLAG		BIT	46H			; 电表启动试验处理控制位
ZZ_FLAG			BIT	47H			; 电表走字试验处理控制位

FLAG_ERR		BIT	48H			; 误差超差显示处理标志				29H
DISP_FLASH		BIT	49H			; 显示闪烁标志

PULSE_WIDTH_FLAG	BIT	4AH			; 脉宽测试试验标志
PULSE_CATCH_FLAG	BIT	4BH			; 电表捕黑试验标志

FLAG_AUTO_SHORT		BIT	4CH			; 表位“自动短接标志”
FLAG_CT_CHECK		BIT	4DH			; CT检测“出错标志”
FLAG_EC_ZZUP		BIT	4EH
FLAG_UART	        BIT	4FH			; 通讯联机标志
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

KEY_CHANNEL			BIT 50H         ;脉冲通道选择按键标志位 		  

;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;======================================= 片内RAM定义
VERIFY_FLAG1	DATA	11H 
VERIFY_FLAG2	DATA	12H 
ZZMC_BUF		DATA	14H			; 4B 走字时脉冲存储初值单元
RJ_BF			DATA	18H			; 1B 日计时倍频数
SYS_T500MS		DATA	19H			; 1B
CATCH_SCALE		DATA	1AH			; 1B,捕黑试验百分比
CT_CHECK_TIME	DATA	1EH			; 2B,CT检测时间

PULSE_SL		DATA	21H			; 1B,显示、脉冲和捕黑选择信号映射寄存器(.7.6.5脉冲控制位)(.4.3捕黑控制位)(.2.1.0显示位码控制位)
EC_FLAGS		DATA	22H			; 1B,误差计算器工作标志群
EC_FHCAP		DATA	24H			; 1B,捕捉标频计数最低字节
AT93C46_ERR		DATA	25H			; 1B,AT93C46操作错误标志群
STATE_FLAG		DATA	26H			; 1B,试验状态标志群

DISP_BUFFER		DATA	30H			; 7B,显示缓冲(左到右,最高为灯)
DISP_DIGIT		DATA	37H			; 1B,键盘/显示扫描位码(0-7)
SYS_T1MS		DATA	38H			; 1B,系统1ms定时器
KEY_TIMER		DATA	39H			; 1B,键盘控制计时器
KEY_CODE		DATA	3AH			; 1B,译码后键值
CT_ERR_TIME		DATA	3BH			; 2B,CT出错时间
WC_T_C			DATA	3DH			; 1B,数据发送次数
UART_LEN		DATA	3EH			; 1B,通讯长度
UART_CHECK_DATA	DATA	3FH			; 1B,校验和
SYS_SN			DATA	40H			; 1B,本板序号

FH_COUNTER		DATA	41H			; 7B,标频计数扩展
FH_CAPTURE		DATA	48H			; 4B,标频计数低4字节捕捉存储		; FH_COUNTER低三位和硬件
FH_RESULT		DATA	4CH			; 4B,一次减圈完成的标频计数值

FH_CONST		DATA	50H			; 6B,标准表常数(PBCD,1-999999999999)
EC_COUNTER		DATA	56H			; 4B,被检表脉冲走字计数
EC_CONST		DATA	5AH			; 3B,被检表常数(分频后,PBCD,1-99999)
EC_NUMLOOP		DATA	5DH			; 1B,一次误差计算的圈数
EC_RUNLOOP		DATA	5EH			; 1B,减圈中的当前圈数
EC_NUMDIVL		DATA	5FH			; 1B,分频的低字节特殊处理用
EC_TOP			DATA	60H			; 2B

EC_BOT			DATA	2BH			; 2B

RECV_BPW		DATA	2EH			; 1B 接收缓冲存储控制指针
RECV_BPR		DATA	2FH			; 1B 接收缓冲读取控制指针

TEMP_B0			DATA	62H			; 1B/12B
TEMP_B1			DATA	TEMP_B0+1
TEMP_B2			DATA	TEMP_B0+2
TEMP_B3			DATA	TEMP_B0+3
TEMP_B4			DATA	TEMP_B0+4
TEMP_B5			DATA	TEMP_B0+5
TEMP_B6			DATA	TEMP_B0+6
TEMP_B7			DATA	TEMP_B0+7
TEMP_B8			DATA	TEMP_B0+8
TEMP_B9			DATA	TEMP_B0+9
TEMP_B10		DATA	TEMP_B0+10
TEMP_B11		DATA	TEMP_B0+11
TEMP_B12		DATA	TEMP_B0+12
TEMP_B13		DATA	TEMP_B0+13
TEMP_BUFFER		DATA	70H			; 16B
RECV_BUF		DATA	80H			; 8B 接收缓冲区
WC_BUFFER		DATA	88H			; 12B 误差发送缓冲
CHANNEL_BUFFER          DATA    0A0H		; 通道号显示缓存
;======================================= AT89C52地址定义
EEADS_SN		EQU	00H			; 1B,本板序号
EEADS_SNCHK		EQU	70H			; 1B,本板序号校验码
;======================================= 常数定义
;-------------------------------
CONST_T1MS		EQU	6			; 系统1ms基准=6/6kHz
CONST_KDELAY	        EQU	10			; 按键时的去抖时间(10ms)
CONST_KWAIT		EQU	250			; 响应按键后的等待时间(200ms)
;-------------------------------
CONST_SF_SN		EQU	57H			; 修改本板序号密码:"460415"
;-------------------------------
CONST_SNDEF		EQU	0			; 未设置时的默认序号
CONST_SNMAX		EQU	96H			; 允许的最大序号
CONST_SNVER		EQU	5AH			; 序号校验码因子

;-------------------------------
CONST_KEY_B		EQU	0BH			; "表号"键
CONST_KEY_C		EQU	0CH			; "常数"键
CONST_KEY_R		EQU	0EH			; "确认"键
CONST_KEY_L		EQU	0FH			; "取消"键
;-------------------------------
CONST_CHAR_SPC		EQU	24H			; 空格
CONST_CHAR_NEG		EQU	28H			; 负号
CONST_LED_OVER		EQU	28H			; "超差"指示灯
CONST_LED_PASS		EQU	29H			; "合格"指示灯
;-------------------------------通讯变量
CONST_RBLEN		EQU	16			; 接收缓冲大小
CONST_CMLEN		EQU	9			; 命令最大长度

;+++++++++++++++++++++++++X5043控制子程序+++++++++++++++++++++++++ 
;指令名称	指令格式	操作功能
; WREN		0000 0110	“写允许”指令码
; WRDI		0000 0100	“写禁止”指令码
; WRSR		0000 0101	“写状态寄存器”指令码
; RDSR		0000 0001	“读状态寄存器”指令码
; WRITE		0000 A010	“写数据”指令码
; READ		0000 A011	“读数据”指令码

X5043_WREN_INST		EQU	06H		; “写允许”指令
X5043_WRDI_INST		EQU	04H		; “写禁止”指令
X5043_WRSR_INST		EQU	01H		; “写状态寄存器”指令
X5043_RDSR_INST		EQU	05H		; “读状态寄存器”指令
X5043_WRITE_INST	EQU	02H		; “写数据”指令
X5043_READ_INST		EQU	03H		; “读数据”指令

X5043_STATUS_REG	DATA	1BH		;
X5043_BYTE_ADDR		DATA	1CH		; 
X5043_BYTE_DATA		DATA	1DH		; 
X5043_PAGE_ADDR		EQU	1F0H		; 
X5043_PAGE_DATA1	EQU	22H		; 
X5043_PAGE_DATA2	EQU	33H		;
X5043_PAGE_DATA3	EQU	44H		;

X5043_MAX_POLL		EQU	99H		;
X5043_INIT_STATE	EQU	09H		;
X5043_SLIC		EQU	30H		;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	ORG	VEC_RESET
	AJMP	MAIN_INIT
INTERRUPT_RET:
	RETI
;;;;;;;;;;;;;;外部中断0  键盘处理;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	ORG	VEC_EINT0
	PUSH	ACC
	MOV	A,#00H				; COL0键值范围:00H-07H
	AJMP	KEY_SCAN	
;;;;;;;;;;;;;;计数器/定时器0中断 标频处理 ;;;;;;;;;;;;;;;;;;;
	ORG	VEC_T_C0
	SETB	EC_FHINC			; 置标频溢出处理标志
	AJMP	FH_OVER	
;;;;;;;;;;;;;;外部中断1  键盘处理;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	ORG	VEC_EINT1
	PUSH	ACC
	MOV	A,#08H				; COL1键值范围:08H-0FH
	AJMP	KEY_SCAN
;;;;;;;;;;;;;;计数器/定时器1中断  时钟处理;;;;;;;;;;;;;;;;;;;
	ORG	VEC_T_C1
	DJNZ	SYS_T1MS,INTERRUPT_RET
	MOV	SYS_T1MS,#CONST_T1MS
	AJMP	SYS_CLK				; 系统1ms时钟
;;;;;;;;;;;;;;串行通讯中断 RS485;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	ORG	VEC_UART
	LJMP	C485_RECE
FC_LOOP_DIV:
	MOV	TL2,EC_NUMDIVL			; 大分频时立即设置分频系数
	AJMP	FC_LOOP
;;;;;;;;;;;;;;计数器/定时器2中断  被检脉冲;;;;;;;;;;;;;;;;;;;
	ORG	VEC_T_C2
	JB	EC_BIGDIV,FC_LOOP_DIV
	AJMP	FC_LOOP
;;;;;;;;;;;;;;;;;;;;;;;;主程序:系统初始化;;;;;;;;;;;;;;;;;;;;
	ORG	0030H
MAIN_INIT:
	LCALL	YS100				; 延时等待复位稳定
	CLR	EA				; 关中断
	CLR	EX0				; 关闭外部中断0
	CLR	EX1				; 关闭外部中断1
	CLR	ET0				; 关闭定时器中断0
	CLR	ET1				; 关闭定时器中断1
	CLR	ET2				; 关闭定时器中断2
	CLR	ES				; 关闭串行口中断
; (0B0H)P3 : (.7) RD,(.6) WR,(.5) T1,(.4) T0,(.3)EI1,(.2)EI0,(.1)TXD,(.0)RXD
	MOV	SP,#094H			; (81H)SP:STACK=80H->0FFH;堆栈设置
; (0D0H)PSW : (.7) CY,(.6) AC,(.5) F0,(.4)RS1,(.3)RS0,(.2) OV,(.1)NUL,(.0)  P
	MOV	PSW,#0H				; 清标志,寄存器组使用0组(00H-07H)
; (87H)PCON : (.7)SMD,(.6)NUL,(.5)NUL,(.4)NUL,(.3)GF1,(.2)GF0,(.1) PD,(.0)IDL
	MOV	PCON,#0H			; 波特率不加倍,系统为正常工作状态
; (88H)TCON : (.7)TF1,(.6)TR1,(.5)TF0,(.4)TR0,(.3)IE1,(.2)IT1,(.1)IE0,(.0)IT0
	MOV	TCON,#0H			; 停止T0,T1,清中断标志,INT0,INT1用低电平中断
; (89H)TMOD : (.7)GT1,(.6)TC1,(.5)M11,(.4)M01,(.3)GT0,(.2)TC0,(.1)M10,(.0)M00
	MOV	TMOD,#27H			; 定时器0:模式3,拆为两个8位计数器使用
						; TL0为标频计数器,TH0为系统时钟(借用TR1,TF1)
						; 定时器1:模式2,8位自动重装载,用于波特率控制
	MOV	TH1,#0FBH			; (8DH)TH1:ft1=18.432MHz/12/(256-251)=307.2kHz
	MOV	TL1,#0FBH			; (8BH)TL1    波特率=ft1*1/32=9600bps
	MOV	TH0,#0H				; (8CH)TH0:系统时钟=18.432MHz/12/256=6kHz
	MOV	TL0,#0H				; (8AH)TL0:标频计数清零
; (0C8H)T2CON: (.7)TF2,(.6)XF2,(.5)RCL,(.4)TCL,(.3)XE2,(.2)TR2,(.1)TC2,(.0)RC2
	MOV	T2CON,#02H			; 定时器2:16位自动重装计数器,用于被检脉冲分频0000 0010
; (0C9H)T2MOD: (.7)NUL,(.6)NUL,(.5)NUL,(.4)NUL,(.3)NUL,(.2)NUL,(.1)T2O,(.0)DCE
	MOV	T2MOD,#0H			; T2不输出,只做加计数
	MOV	RCAP2L,#0H			; (0CAH)RCAP2L
	MOV	TL2,#0H				; (0CCH)TL2
	MOV	TH2,#0H				; (0CDH)TH2,第一圈不分频(1分频)
; (98H)SCON : (.7)SM0,(.6)SM1,(.5)SM2,(.4)REN,(.3)TB8,(.2)RB8,(.1) TI,(.0) RI
	MOV	SCON,#70H			; 方式1,10位异步,检验停止位,允许接收, 01110000
; (0B8H)IP : (.7)NUL,(.6)NUL,(.5)PT2,(.4) PS,(.3)PT1,(.2)PX1,(.1)PT0,(.0)PX0
	MOV	IP,#0H
	SETB	PT2				; 被检脉冲需立即响应,应优先中断
; OTHER SFR : (83H)DPL,(84H)DPH,(99H)SBUF,(0E0H)ACC,(0F0H)B
;----------------清内部RAM------------------------
INIT_CONTINUE0:
	CLR	A				; 清内部RAM
	MOV	R0,#08H
	MOV	R1,#0F7H
MAIN_INIT_CLRRAM:
	MOV	@R0,A				; CLEAR RAM INSIDE(20H-B0H)
	INC	R0
	DJNZ	R1,MAIN_INIT_CLRRAM
;--------------对外围电路进行初始化---------------
	MOV	SYS_T1MS,#CONST_T1MS	
	MOV	DISP_DIGIT,#7			; 从最低位开始显示
	MOV	EC_NUMDIVL,#0FFH		; 1B,分频的低字节特殊处理用
	MOV	RCAP2H,#0FFH			; 默认1分频
	CLR	EC_BIGDIV			    ; 为小分频
	MOV	A,EC_NUMDIVL
	MOV	TL2,A
	MOV	A,RCAP2H
	MOV	TH2,A
	MOV	EC_NUMLOOP,#5			; 检验圈数默认5圈
	MOV	EC_CONST+1,#32H			; 被检表常数默认3200
	MOV	FH_CONST+3,#18H			; 标准表常数默认18 00 00 00
	MOV	EC_TOP+1,#02H
	CLR	EC_TOPSIGN			    ; 误差上限+2.0%  
	MOV	EC_BOT+1,#02H
	SETB	EC_BOTSIGN			; 误差下限-2.0%	
	
;*************************初始化标志位和变量****************	
	MOV	STATE_FLAG,#0			; 清“试验状态标志群”
	SETB	FLAG_DL				; 置“电能校验试验标志”
;***********************************************************	
	CLR	FLAG_FRAME_A0			; 清帧标志A0	
	CLR	FLAG_FRAME_A1			; 清帧标志A1	
	CLR	FLAG_FRAME_A2			; 清帧标志A2
	CLR	FLAG_FRAME_A3			; 清帧标志A3
	CLR	FLAG_ANSWER			; 清除查询设备回传标志
	CLR	FLAG_ADDR			; 清除地址标志
	CLR	FLAG_GATHER			; 清除集合标志
	CLR	FLAG_LEN			; 清除长度标志
	CLR	FLAG_COMMAND			; 清除命令处理标志
	CLR	FLAG_ADDR_DATA			; 清除有本板地址标志,用于A2集合命令
	CLR	FLAG_COMMAND_ANSWER		; 清除命令回传标志
	CLR	UART_TBUSY			; 通讯发送就绪标志
	CLR	FLAG_SYS_SN			; 清除本板地址标志,用于确认命令回传
	CLR	FLAG_ERR
	CLR	DISP_FLASH
	CLR	QD_FLAG	
	CLR	QID_FLAG
	CLR	ZZ_FLAG	
	CLR	PULSE_WIDTH_FLAG
	CLR	PULSE_CATCH_FLAG
	CLR	FLAG_AUTO_SHORT
	CLR	FLAG_CT_CHECK
	CLR	FLAG_UART
	CLR	FLAG_TIME_1MS
	CLR	FLAG_CT_FIRST
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	CLR     KEY_CHANNEL
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	MOV	CT_ERR_TIME,#0H
	MOV	CT_ERR_TIME+1,#0H
	MOV	CT_CHECK_TIME,#0H

⌨️ 快捷键说明

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