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

📄 ge15.asm

📁 同步发电机同步电动机软启动电子开关通用的晶砸管控制程序.
💻 ASM
📖 第 1 页 / 共 5 页
字号:
		POP	AX
		RET

F_ERR:	PUSH	AX
		PUSH	BX
;     	CLRB	P0_9CNT
		ORB	FLAG1,#83H                ;数码管显示F**报轻故障
		JBC	FLAG3,3,F_ERR1
;		JBS	FLAG1,0,F_ERR1
		ORB	FLAG3,#00000010B         ;有故障时存原来的显示正闪烁
F_ERR1:	LDB	LCD1,#79H		 		;Fault Display
		LDBZE AX,FAULT   ;按0扩展成字
		DIVUB AX,#10
		LDBZE BX,AHR
		CLRB	AHR
		LDB	LCD2,DPCODE[AX]
		LDB	LCD3,DPCODE[BX]
		LDB	FLTBCK,P_RAM[0]
		LD	AX,#5		;Set P00=05, fault state
		ST	AX,P_RAM[0]
		ORB	FLAG3,#00011000B   ;显示正闪烁,显示内容亮
		LDB	DPTIME,#100
		LDB	BLKTIME,#100
		POP	BX
		POP	AX
		RET

F_ERR8:	PUSH	AX
		PUSH	BX
		ANDB	FLAG1,#01111101B  ;清故障标志  
		ANDB	FLAG7,#11011001B  ;Clear fault memory
		LDB	AL,FLTBCK	  ;Restore P00 as original state
		STB	AL,P_RAM[0]		
		CMPB	P_ORDER,#9
		JH	F_ERR9
		JBC	FLAG3,1,F_ERR9		;有故障显示
;		LDB	P0_9CNT,#80H
F_ERR9:	POP	BX
		POP	AX
		RET

RD244C1:	PUSH	AX      		;读244 3
		LDB	AL,PORT1		;读P1口
		LDB	AHR,LS244C3[0]
		NOTB	AHR
		ANDB	AL,#7FH
		ANDB	AHR,#7FH
		CMP	AX,PORT1V
		JNE	RDC11            ;/=有键
		CLRB	INCNT1
		JBS	FLAG5,4,RDC16      ;有外部数字给定,增加.减少键有按动跳退出
		ANDB	AL,LSC3V,#00110000B     ;/////////电动给定增加/减少为0吗
		JE	RDC16
		LDB	P20CNT,#8
		ORB	FLAG5,#00010000B   ;置有外部数字给定,增加.减少键有按动
		BR	RDC16
RDC11:	CMPB	INCNT1,0
		JNE	RDC13
		LDB	INCNT1,#1
		ST	AX,PORT1TV
		BR	RDC16
RDC13:	CMPB	INCNT1,#5H
		JNE	RDC14
		CLRB	INCNT1
		BR	RDC16
RDC15:	INCB	INCNT1
RDC16:	POP	AX
		RET
RDC17:	CLRB	P20CNT
		ANDB	FLAG5,#11101111B  ;有按动........清
		POP	AX
		RET

RD_KEYS:  PUSH	AX				;;读按键处理
		PUSH	BX
		LDB	AL,LS244C2[0]		;设置键 增加键  减少键
		ANDB	AL,#7
		CMPB	AL,#7                  ;按下为0
		JNE	RD_KY1			;有键处理
		ANDB	NEW_K,#0FEH		;无键处理
		CLRB	K_CNT
		CLRB	TKCNT
		BR	RD_KY5
RD_KY1:   JBC	TKCNT,7,RD_KY2
		CMPB	TKCNT,#0C6H	;(128)+70====Delay 700ms            198
		JNH	RD_KY5
		LDB	TKCNT,#0BCH	;(128)+60====Delay 100ms             188
		ANDB	AL,#7
		NOTB	AL
		ANDB	AL,#7
		STB	AL,KEY
		ORB	NEW_K,#11H
		BR	RD_KY5
RD_KY2:   CMPB	K_CNT,#3
		JNE	RD_KY7
		CLRB	K_CNT
		ORB	NEW_K,#11H
		ANDB	AL,#7
		NOTB	AL
		ANDB	AL,#7
		STB	AL,KEY
		LDB	TKCNT,#80H
RD_KY5:	POP	BX
		POP	AX
		RET

RD_KY7:	CMPB	K_CNT,0
		JE	RD_KY8
		CMPB	AL,K_TEMP
		JNE	RD_KY9
		INCB	K_CNT
		BR	RD_KY5
RD_KY8:	STB	AL,K_TEMP
		INCB	K_CNT
		BR	RD_KY5
RD_KY9:	CLRB	K_CNT
		BR	RD_KY5

CKPUL:	JBC	LSC3V,6,CKPUL4   		 ;244c3  脉冲丢失
		JBC	FLAG6,1,CKPUL8 		 ;无已建压标志
		INCB	PULLOS
		CMPB	PULLOS,#100
		JNH	CKPUL8
		CLRB	PULLOS
		JBC	FLAG8,5,CKPUL5		;1正组触发脉冲?????????????????????????????????????????
		JBS	FLAG1,7,CKPUL8		;故障标志
		JBS	MASKWD,5,CKPUL8
          LDB	FAULT,#8			     ;E08: Pulse of No 1. bridge is lossing
		CALL	F_DPL3
		ORB	FLAG8,#01000010B
		ANDB	FLAG8,#11011111B        ;清正组触发脉冲?
		JBS	FLAG8,2,CKPUL7		;正组桥有丢脉冲
		ANDB	PORT2,#01111111B
		ORB	PORT2,#01000000B
CKPUL4:	CLRB	PULLOS
		RET
CKPUL5:	JBC	FLAG8,6,CKPUL6
		JBS	FLAG1,7,CKPUL8
		JBS	MASKWD,5,CKPUL8
          LDB	FAULT,#9			     ;E09: Pulse of No 2. bridge is lossing
		CALL	F_DPL3
		JBS	FLAG8,1,CKPUL7
		ANDB	PORT2,#10111111B
		ORB	FLAG8,#00100100B
		ANDB	FLAG8,#10111111B
		ORB	PORT2,#10000000B
		RET
CKPUL6:	JBC	FLAG8,7,CKPUL8
		JBS	FLAG1,7,CKPUL8
		JBS	MASKWD,5,CKPUL8
          LDB	FAULT,#10			     ;E10: Pulse of all bridges is lossing
		CALL	F_DPL3
		RET
CKPUL7:	ANDB	PORT2,#00111111B
		ANDB	FLAG8,#10011111B
		ORB	FLAG8,#10000000B
CKPUL8:	RET

CKIZER:	CMP	FFCM,#25		;I=0 detection ,5% rated current value, 
		JH	CKIZER1		; equal 512*5%=25
		CLR	STOPCNT
		ANDB	FLAG4,#11011111B
		ANDB	FLAG3,#11111110B
		CALL	F_PRCS1
CKIZER1:	RET
		


CHECK:	CMP	FFCM,P33V[0]           ;励磁过流动作值                       检查标准位  转故障处理子程序
		JNH	CKOVERC1
		;		ORB	FLAG7,#00001000B
		JBC	LS373C1V,4,CKOVERC1  ; 过励故障?
		ANDB	LS373C1V,#11101111B  ;清过励故障
		STB	LS373C1V,LS373C1[0]			
		;		ORB	PORT2,#11000000B
		JBS	FLAG1,7,CKOVERC1           ;故障标志  
         LDB	FAULT,#08			     ;F08: Overcurrent limited过电流
		CALL	F_PRCS2                       ;出错处理.........过流故障.................
CKOVERC1:	JBS	STOPCNT1,7,CKIZER
		JBS	FLAG4,3,CKIZER1             ;手动方式
		CALL	CKPUL				;Check loss of pulses检查丢失脉冲
		JBS	PORT1V,4,CHECK3              ;油断路器  信号
		CMP	STR_VM,P41V[0]   ;定子电压与空载过压报警值比较
		JNH	CHECK1
		JBC	LS373C3V,0,CHECK1;判断有无空载过压标志
		ANDB	LS373C3V,#11111110B ;有.,,就清标志
		STB	LS373C3V,LS373C3[0]
		JBS	FLAG1,7,CHECK1      ; 故障标志
		JBS	MASKWD,7,CHECK1
          LDB	FAULT,#6			     ;F06:Overvoltage at empty load空载过电压
		;		LDB	FLTBCK,#1
		CALL	F_PRCS2                       ;故障处理
CHECK1:	NOP		;JBC	FLAG6,1,CHECK9	
;		JBC	FLAG2,1,CHECK2
;		CMP	FFCM,LOWCUR1[0]
;		JH	CKLOWI2
;		JBS	FLAG7,1,CHECK2
;		ORB	FLAG7,#00000010B     
;		JBS	FLAG1,7,CHECK2
;		JBS	MASKWD,4,CHECK2
;         LDB	FAULT,#06		     ;E06: Excited current is near zero
;		CALL	F_DPL3
CHECK2:	JBC	PORT1V,1,CHECK8               ;建压信号           改为由  --------P1.6判断///////////////////////
		CMP	STR_VM,#819*40/100       ;定子电压
		JNH	CHECK9
		ANDB	LS373C1V,#01111111B    ;起励切除(重故障)标志
		STB	LS373C1V,LS373C1[0]
		RET
CHECK8:	JBC	FLAG6,1,CHECK9              ;已建压
		JBS	LS373C1V,7,CHECK9  ;起励切除标志
		INCB	TIMECNT3			;99,7,6
		CMPB	TIMECNT3,#250
		JNH	CHECK9
		CLRB	TIMECNT3
		ORB	LS373C1V,#10000000B  ;起励切除标志(重故障)
		STB	LS373C1V,LS373C1[0]
CHECK9:	RET
CKLOWI2:	JBC	FLAG7,1,CHECK2   ;欠励但未失励标志
		ANDB	FLAG7,#11111101B  ;清标志
		JBC	FLAG1,7,CHECK2      ;无故障标志
		CALL	F_DPL8              ;故障处理
		RET

CHECK3:	JBC	FLAG6,1,CHECK9			;没有 建压
		CMP	STR_VM,LOSSVTG[0]     	;定子电压与**比较
		JH	CHECK4                 ;大
		JBS	MASKWD,2,CHECK6		;;99,7,6
		JBC	LS373C3V,0,CHECK6         ;空载过压
		ANDB	LS373C3V,#11111101B         ;清  高压断线标志位
		STB	LS373C3V,LS373C3[0]
		JBS	FLAG1,7,CHECK6
          LDB	FAULT,#3			     ;E03:Highvoltage line broked高压断线
		CALL	F_ERR
		LJMP	CHECK6
CHECK4:	JBS	LS373C3V,1,CHECK6  ;高压断线
		ORB	LS373C3V,#00000010B  ;置高压断线标志
		STB	LS373C3V,LS373C3[0]
		JBC	FLAG1,7,CHECK6
		CALL	F_ERR8              ;故障处理
CHECK6:	JBC	FLAG2,1,CHECK7               ;已检查电流反馈.电压反馈通道
		CMP	FFCM,LOWCUR1[0]       ;反馈电流与**比较
		JH	CHECK10          ;高
		JBC	LS373C1V,6,CHECK7     ;有无失励故障
		ANDB	LS373C1V,#10111111B      ;请标志
		STB	LS373C1V,LS373C1[0]      
		JBS	FLAG1,7,CHECK7          ;出错标志
          LDB	FAULT,#7			     ;F07:Excited current is near zero
;		LDB	FLTBCK,#1
		CALL	F_PRCS2
		LJMP	CHECK7
CHECK10:	JBS	LS373C1V,6,CHECK7         ;有失励故障标志
		ORB	LS373C1V,#01000000B
		STB	LS373C1V,LS373C1[0]
CHECK7:	JBC	FLAG6,7,LMTCMP3                     ;功率因素角值已算得
		LD	BX,COSFAIF
		CLR	CX
		DIVU	BX,#1000
		ADD	BX,P32V[0]  ;并网后励磁欠流反时限曲线选择(固定曲线1~3)
		LDB	BX,[BX]
		CLRB	BHR
		MULU	BX,RATEDBITS ;比例系数
		DIVU	BX,#100
		JBC	FLAG5,5,LMTCMP1  ;有装置和电机励磁电流值时为1
		MULU	BX,P48V[0]       ;同步发电机额定励磁电流值
		DIVU	BX,P49V[0]        ;励磁装置额定历次电流值
LMTCMP1:	ST	BX,LOWCUR
		JBC	FLAG2,1,LMTCMP2   ;加斜坡函数标志
		CMP	FFCM,LOWCUR       ;反馈电流与**比较
		JH	LMTCMP2           ;高
		JBS	FLAG7,1,LMTCMP4    ;有欠流但未失励标志
		ORB	FLAG7,#00000010B    ;置标志
		JBS	FLAG1,7,LMTCMP4
		JBS	MASKWD,4,LMTCMP4
          LDB	FAULT,#06	     ;E06: Low current limited
		CALL	F_DPL3
		LJMP	LMTCMP4
LMTCMP3:	LD	BX,P32V[0]     ;并网后励磁欠流反时限曲线选择(固定曲线1~3)/没有算功率因角标志
		LDB	BX,0CH[BX]
		CLRB	BHR
		MULU	BX,RATEDBITS ;比例系数
		DIVU	BX,#100
		JBC	FLAG5,5,LMTCMP1   ;有装置和电机励磁电流值时为1
		MULU	BX,P48V[0]  ;同步发电机额定励磁电流值
		DIVU	BX,P49V[0]   ;励磁装置额定历次电流值
		LJMP	LMTCMP1
LMTCMP2:	JBC	FLAG7,1,LMTCMP4       ;有欠流但未失励标志
		ANDB	FLAG7,#11111101B    ;清标志
		JBC	FLAG1,7,LMTCMP4
		CALL	F_DPL8
LMTCMP4:	NOP		;JBC	FLAG4,0,LMTCMP6   99,7,6
		CMP	STR_VM,TH_STRV	             ;Compare stator voltage  极限电压
		JH	LMTCMP8
		JBC	FLAG1,4,LMTCMP6   ;引许强励标志
		JBS	FLAG1,3,LMTCMP6    ;有强励标志
		ANDB	LS373C1V,#11011111B  ;清强励指令 ( 有引许但无标志)
		STB	LS373C1V,LS373C1[0]			
		JBS	FLAG1,7,LMTCMP7
          LDB	FAULT,#07			     ;E07: Enhancant excitation
		CALL	F_ERR
LMTCMP7:	LD	ENHANCNT,#8000H
		LD	AX,#(P_RAM+14*2) ;P14强励倍数
		LD	BX,[AX]
		MULU	BX,#512			;99,7,4,SICHUAN
		DIVU	BX,#100
		ST	BX,ENHANCE
		ORB	FLAG1,#00001000B;置强励标志
		LJMP	LMTCMP6
LMTCMP8:	JBC	FLAG1,3,LMTCMP6  ;强励标志
		CLR	ENHANCNT				;Clear enhancant excitation
		CLR	ENHANCE
		ORB	LS373C1V,#00100000B  ;强励指令
		STB	LS373C1V,LS373C1[0]
		CALL	F_ERR8
		LD	END_E_CNT,#8000H
		ANDB	FLAG1,#11100111B
		
LMTCMP6:	CMP	FFCM,THLD11[0]    ;反馈电流与1.1倍的电流比较
		JNH	CKOVC2
		ORB	FLAG9,#00000001B    ;置1.在过流1.1倍时
		ST	ALFA,LMTOVCUR11[0]
		INCB	TIMECNT1
		CMPB	TIMECNT1,#10
		JNE	CKOVC1
		CLRB	TIMECNT1
		INC	TIMECNT2
		SUB	BX,FFCM,RATEDBITS
		CLR	CX
		DIVU	BX,THLD01[0]
		ADD	BX,P34V[0]  ;;并网后励磁欠流反时限曲线选择(固定曲线1~3) 
		LD	BX,[BX]
		CMP	TIMECNT2,BX
		JNH	CKOVC1
		JBS	FLAG7,3,CKOVC1   ;过流标志
		ORB	FLAG7,#00001000B
		JBS	FLAG1,7,CKOVC1
          LDB	FAULT,#05			     ;E05: Overcurrent limited
		CALL	F_DPL3
CKOVC1:	RET
CKOVC2:	CLRB	TIMECNT1
		CLR	TIMECNT2
		ANDB	FLAG9,#11111110B
		JBC	FLAG7,3,CKOVC3
		ANDB	FLAG7,#11110111B
		JBC	FLAG1,7,CKOVC3
		CALL	F_DPL8
CKOVC3:	RET
LOWCURLT1:DCB	30,43,53,64,72,80,87,92,95,98,100,20,30
LOWCURLT2:DCB	50,60,68,75,82,87,92,95,98,99,100,20,30
LOWCURLT3:DCB	70,77,83,87,91,94,96,97,98,99,100,20,30
OVERCURT1:DCW	18000,6000,600,500,400,100,60,50,40,30,20,10,5,1
OVERCURT2:DCW	18000,9000,3000,1200,600,500,400,100,60,50,40,30,20,10
OVERCURT3:DCW	60000,18000,9000,6000,3000,1200,600,500,400,100,50,30,20,10
		
PO_ALTER:	CMPB	KEY,#5
		JE	POINCQ
		CMPB	KEY,#6
		JE	PODECQ
		JBS	KEY,0,POINC
		JBS	KEY,2,PVDPL
		JBS	KEY,1,PODEC
PO_ALT1:	RET
POINC:	CLRB	KEY
		CMPB	P_ORDER,#59	;End to be reached
		JE	PO_ALTER
		INCB	P_ORDER		;Increase 1
		CALL	PODPL
		BR	PO_ALT1
PODEC:	CLRB	KEY
		CMPB	P_ORDER,0		;Home to be reached
		JE	PO_ALT1
		DECB	P_ORDER			;Decrease 1
		CALL	PODPL
		BR	PO_ALT1
POINCQ:	CLRB	KEY
		CMPB	P_ORDER,#59		;End to be reached
		JE	PO_ALT1
		ADDB	P_ORDER,#10		;Increase 10
		CMPB	P_ORDER,#59
		JNH	POINCQ1
		LDB	P_ORDER,#59
POINCQ1:	CALL	PODPL
		BR	PO_ALT1
PODECQ:	CLRB	KEY
		CMPB	P_ORDER,0			;End to be reached
		JE	PO_ALT1
		CMPB	P_ORDER,#9
		JH	PODECQ1
		CLRB	P_ORDER
		BR	PODECQ2
PODECQ1:	SUB	P_ORDER,#10		;Decrease 10
PODECQ2:	CALL	PODPL
		BR	PO_ALT1

PVDPL7:	JBS	KEY,0,PVSET1
		JBS	KEY,1,PVSET1
		JBS	KEY,2,PODPL1
WW2:		CMP	BLKCNT1,#(500+32768);=5 seconds ? No key pressed
		JNH	WW1
		CLR	BLKCNT1
		JBS	FLAG3,3,WW1
		CLRB	BLINKCNT
		ORB	FLAG3,#00011000B
		LDB	DPTIME,#200		;Display parameter order for 2 seconds
		LDB	BLKTIME,#50		;Blanking for 1 second
		BR	WW1
PVSET1:	LD	BLKCNT1,#8000H			;Blinking counter
		ANDB	FLAG3,#11100111B
		ORB	FLAG3,#00000100B
		CALL	PVALT
		BR	WW1
PODPL1:	CLRB	KEY
		CLRB	P0_9CNT
		CLR	BLKCNT1
		CLRB	BLINKCNT
		ANDB	FLAG3,#11100011B
		CALL	PODPL
		BR	PO_ALT1
PVALT:	LD	BX,#(P_RAM+102)	;P51=20 ? 
		LD	AX,[BX]
		LDB	CL,P_ORDER
		MULUB BX,CL,#8
		ADD	BX,#(P_EPRM-80)
		CMPB	P_ORDER,#51
		JE	PVALT1
		XORB	AL,7[BX]
		JE	PVALT1
		RET					;No,Return!
PVALT1:	SHLB	CL,#1
		CLRB	CHR
		ADD	CX,#P_RAM
		LD	AX,[CX]
		CMPB KEY,#5
		JE	PVINCQ
		CMPB	KEY,#6
		JE	PVDECQ
		JBS	KEY,0,PVINC1
		JBS	KEY,1,PVDEC1C
PVALT2:	RET
PVDEC1C:	BR	PVDEC1
PVINCQ:	CLRB	KEY			;Parameter value increases quickly
		CMP	AX,2[BX]
PVINCQ3:	ADD	AX,#10
PVINCQ4:	CMP	AX,2[BX]
		JNH	PVINCQ5
		LD	AX,2[BX]
PVINCQ5:	BR	PVALT3
PVDECQ:	CLRB	KEY			;Parameter value decreases quickly
		CMP	AX,[BX]
		JE	PVALT2
		CMP	AX,#9999
		JNH	PVDECQ2
		SUB	AX,#1000
		BR	PVDECQ5
PVDECQ2:	CMP	AX,#999
		JNH	PVDECQ3
		SUB	AX,#100
		BR	PVDECQ5
PVDECQ3:	CMP	AX,#9
		JH	PVDECQ4
		LD	AX,[BX]
		BR	PVDECQ5
PVDECQ4:	SUB	AX,#10
PVINC2:	CMP	AX,#999
		JNH	PVINC3
		ADD	AX,#10
		BR	PVINC4
PVINC3:	INC	AX
PVINC4:	CMP	AX,2[BX]
		JNH	PVALT3
		LD	AX,2[BX]
		BR	PVALT3
PVDEC1:	CLRB	KEY
		CMP	AX,[BX]
		JE	PVDEC5
		CMP	AX,#999
		JH	PVDEC2
		DEC	AX
		BR	PVDEC5
PVDEC2:	SUB	AX,#10
		BR	PVDEC5
PVDEC5:	CMP	AX,[BX]
		JH	PVALT3
		LD	AX,[BX]
PVALT3:	LDBZE CX,P_ORDER
		SHL	CX,#1
		ADD	BX,CX,#P_RAM
		ST	AX,[BX]

PVALT4:	PUSH	AX
		CALL	PV_SET
		POP	BX
		CALL	PV_CAL
		RET

PODPL:	LDB	LCD1,#73H	   ;Parameter order display: 命令参数显示 P  
		LDBZE AX,P_ORDER    ;字节装入字   按0扩展
		DIVUB AX,#10      
		LDBZE BX,AHR    	;低位是商.高位是余数
		CLRB	AHR
		LDB	LCD2,DPCODE[AX]
		LDB	LCD3,DPCODE[BX]
		RET		


CPVS6:	INCB	AL
					;		ADD	DX,#DPCODE
					;		LDB	AHR,[DX]
					;		LDB	DL,6[BX]
					;		ANDB	DL,#0FH
					;		CMPB	DL,#2
					;		JNE	CPVS8
		LDB	AHR,#0C0H
CPVS8:	STB	AHR,[CX]+
CPVS10:	LD	DX,EX	;Third number
		CLR	EX
		DIVU	DX,#10
		CMPB	AL,0
		JNE	CPVS11
		BR	CPVS13
CPVS11:	INCB	AL
		ADD	DX,#DPCODE

⌨️ 快捷键说明

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