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

📄 laohua.asm

📁 一个老化房温控器的程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
DEFRO20:        BR	!DEFRO200
;		BT              DELAY3MY,$DEFRO200
;                SET1            DELAY3MF
;                BR              !OVERWARM
DEFRO200:
                BF              COMP40MY,$OVERWARM_L
		CLR1		COMP40MF
				CLR1	COMPCON15MF
		CLR1	COMPCON15MY
		MOVW	AX,#0H
		MOVW	COMPCON15MC,AX
		CLR1		COMP50MY
INDEFRO:        SET1            DEFROSTF
	CLR1	OVERWARMEDF
                BF             DEFRO8MF,$INDEFRO1
                BR             OTHERRUN
INDEFRO1:       SET1            DEFRO30SF
                CLR1            ACOFAN30SY
	BT	OUTERRF,$OUTERR_INDEFRO
	CLR1	DEFRO3MFF
	CLR1	DEFRO5MFF
	CLR1	DEFRO8MFF
	SET1	DEFRO10MFF
	BR	!INDEFRO4
	
OUTERR_INDEFRO:	
                BT		ROMERRF,$INDEFRO3
                BT		PIPERRF,$INDEFRO3
                CMP             PIPTEMP,#0F0H
                BNC             $INDEFRO3
                CMP             PIPTEMP,#41
                BC              $INDEFRO2
                SET1            DEFRO3MFF
                CLR1            DEFRO8MFF
                CLR1            DEFRO5MFF
                BR              !INDEFRO4
INDEFRO2:       CMP             PIPTEMP,#37
                BC              $INDEFRO3
                SET1            DEFRO5MFF
                CLR1            DEFRO8MFF
                CLR1            DEFRO3MFF
                BR              !INDEFRO4
INDEFRO3:       SET1            DEFRO8MFF
                CLR1            DEFRO3MFF
                CLR1            DEFRO5MFF
INDEFRO4:
                CLR1            COMP
;                CLR1            EXTFAN
                SET1            HFAN
                CLR1            LFAN
                CLR1            MFAN
                SET1            DJR
                               CLR1	DJR1MY
                CLR1	DJR1MF
                CLR1	DJR5MF
                SET1	DJR5MY
                MOVW	AX,#0H
                MOVW	DJR5MC,AX
                
                
                BT             COMP3MF,$LONGTOOT
                SET1            COMP3MF
                MOV             COMP3MC,#0H
LONGTOOT:       BR             !OTHERRUN
OTHERRUN_11:
;;;;;;;;;;;;                CALL                    !P3DO
                BR              !OTHERRUN
PIPERRNOOV_11:  BR              !PIPERRNOOV  
QOVERWARM_11:   BR              !QOVERWARM              
OVERWARM_11:
;;;;;;;;;;;;;;                CALL            !P3DO
OVERWARM:
		BF	OVERWARMF,$NOCUI30S
		BT	COMP,$NOCUI30S
		BF	CUIYURE30SY,$NOCUI30S
		SET1	CUIYUREF
		SET1	HFAN
		CLR1	LFAN
		CLR1	MFAN
NOCUI30S:
                BT             PIPERRF,$PIPERRNOOV_11
                CMP             PIPTEMP,#0F0H
                BNC             $QOVERWARM_11
                CMP             PIPTEMP,#55
                BC              $QOVERWARM_11

	SET1	OVERWARMEDF
                CLR1            DEFROSTF
                CLR1            DEFRO8MFF
                CLR1            DEFRO5MFF
                CLR1            DEFRO3MFF
                CLR1            DEFRO30SF
                CLR1            QDEFRO30SF
 
                MOV             DEFRO30SC,#0H
		CALL	!CLRDEFRO

;                SET1    DJR	;2003/12/31改过载时电加热无5分钟保护
                CLR1	DJR1MY
                CLR1	DJR1MF                
                BT	DJR,$OVWDJR5M1
                SET1	DJR
                SET1	DJR5MF
                CLR1	DJR5MY
                MOVW	AX,#0H
                MOVW	DJR5MC,AX
OVWDJR5M1:	                                
;                CLR1	DJR5MF
;                SET1	DJR5MY
;                MOVW	AX,#0H
;                MOVW	DJR5MC,AX

                
                CLR1            EXTFAN
                BT              OVERWARMF,$OVERFAN0
;                BF              LFAN,$OVERFAN1
;                CLR1            LFAN
;                SET1            MFAN
;                BR              !OVERFAN0
;OVERFAN1:       BF              MFAN,$OVERFAN0
                CLR1            MFAN
                CLR1		LFAN
                CLR1            HFAN
OVERFAN0:	SET1		OVERWARMF
                CMP             PIPTEMP,#65
                BC              $GOVANE0
                BT              OVERWARM10SY,$OVERWARM1
                SET1            OVERWARM10SF
                BR              !GOVANE
OVERWARM1:      
;		BT              COMP5MF,$GOVANE0
		CLR1		COMP5MF
		CLR1		COMP5MY
                CLR1            COMP
		BT	CUIYURE30SY,$CUI30S
		SET1	CUIYURE10SF
CUI30S:	
                CLR1            DEFROSTF                ;OVERWARM WHEN DEFROST
                SET1	OVERWARMEDF
                CLR1            DEFRO8MFF
                CLR1            DEFRO5MFF
                CLR1            DEFRO3MFF
                CLR1            DEFRO30SF
                CLR1            QDEFRO30SF

                MOV             DEFRO30SC,#0H
 	CALL	!CLRDEFRO

                CLR1            ACOFAN30SY
                CLR1            ACOFAN30SF
                MOV             ACOFAN30SC,#0H
                CLR1            COMP40MF

                CLR1            OVERWARM10SY
                SET1            P5F
                SET1            VALVE1MF
                BT             COMP3MY,$GOVANE0
                BT             COMP3MF,$GOVANE0
                SET1            COMP3MF
                MOV             COMP3MC,#0H
GOVANE0:        BR             !GOVANE
QOVERWARM:
                CMP             PIPTEMP,#0F0H
                BNC             $PIPERRNOOV
                CMP             PIPTEMP,#46
                BNC             $NOQUITOW1
PIPERRNOOV:     BF             OVERWARMF,$NOOVERWARM
                CLR1            OVERWARMF
                CLR1            P5F
                CLR1            VALVE1MF
                MOV             VALVE1MC,#0H
                CLR1		OVERWARM10SF
                CLR1		OVERWARM10SY
                MOV		OVERWARM10SC,#0H
                BR             !GOVANE
NOQUITOW1:      BF             OVERWARMF,$NOOVERWARM
                CLR1            VALVE1MF
                MOV             VALVE1MC,#0H
                CLR1		OVERWARM10SY
                CLR1		OVERWARM10SF
                MOV		OVERWARM10SC,#0H
                BR             !GOVANE
NOOVERWARM:
                BT             COMP5MY,$WARMP3
                BT             COMP5MF,$JUMP4
                SET1            COMP5MF
                MOV             COMP5MC,#0H
                MOV             COMP5MC+1,#0H
JUMP4:          BR             !AGAINSTCOOLFAN
SDJR_L:         BR              !SDJR
WARMP3:
;;;;;;;;;;;;;                CALL            !P3DO

AGAINSTCOOLFAN: BT             ACOFAN30SY,$SDJR_L          ;AGAINST COOL FAN
                SET1            ACOFAN30SF
                BR             !SDJR
CONWARM30:      BR             !CONWARM3
CONWARM2:                                                         ;ROMTEMP<SET TEMP+1CONSTA4_0:
                BT             COMP5MF,$CONWARM30       ;CONTINUE OLD STATE
CONSTA1:        CLR1            COMP
                CLR1            EXTFAN
                CLR1            ACOFAN30SY
                CLR1            COMP40MF
		CLR1	COMPCON15MF
		CLR1	COMPCON15MY
		MOVW	AX,#0H
		MOVW	COMPCON15MC,AX
		
;注意检测电家热和电加热一分钟标志位的差别,此处检测1分钟,这样可针对设定温度下降的情况
;压机关的情况下据有针对性的修改
;2004/1/14日改电加热运行一分钟后压机关的情况仍跟风速同步关		
		BT	DJR,$NOCOMDJR ;2004/1/12要求电加热跟压机同步关
		CLR1	DJR1MF		 ;如果电加热计时一分钟未到的情况
		CLR1	DJR1MY
		SET1	DJR		;关电加热
		MOVW	AX,#0H
		MOVW	DJR5MC,AX
		CLR1	DJR5MY
		SET1	DJR5MF                
NOCOMDJR:
                CLR1            OVERWARMF
                CLR1            P5F
                CLR1            VALVE1MF
                MOV             VALVE1MC,#0H

                BT             COMP3MY,$CONSTA_1
                BT             COMP3MF,$CONSTA_1
                SET1            COMP3MF
                MOV             COMP3MC,#0H

CONSTA_1:      
                BT              WARMFIRSTF,$COMPY1
		BT             PIPERRF,$CUIYURE0
                BT              CUIYURE30SY,$CUIYURE3_L
                SET1            CUIYURE10SF
                CMP             PIPTEMP,#0F0H           ;CUI YU RE
                BNC             $CUIYURE3_L
                CMP             PIPTEMP,#47
                BZ              $SDJR_LLL
                BNC             $CUIYURE1
                CMP             PIPTEMP,#37
                BC              $CUIYURE2
;                BZ              $SDJR_LLL
SDJR_LLL:
                SET1            CUIYUREF
                CALL            !NORFAN
;                CLR1            CUIYUREF
;                CLR1            CUIYURE10SF
;                CLR1            CUIYURE10SY
;                CLR1            CUIYURE30SY
;                MOV             CUIYURE30SC,#0H
SDJR_LL:         BR              !SDJR
CUIYURE3_L:     BR              !CUIYURE3
COMPY1:
                SET1            CUIYUREF
		CLR1		LFAN
		CLR1		MFAN
                SET1            HFAN
		BR		!SDJR
CUIYURE0:       SET1            CUIYUREF 
                BT              CUIYURE30SY,$CUIYURE3
                BT              CUIYURE10SY,$CUIYURE00
                SET1            CUIYURE10SF
                BR              !SDJR
CUIYURE00:      
                SET1            LFAN
                CLR1            MFAN
                SET1            HFAN
                BR              !SDJR
CUIYURE1:
                SET1            CUIYUREF
                CLR1            HFAN
                CLR1            LFAN
                CLR1            MFAN
                BR              !SDJR
CUIYURE2:       CMP             PIPTEMP,#30
                BC              $CUIYURE3
                BZ		$CUIYURE4
CUIYURE40:
                SET1            CUIYUREF
                SET1            LFAN
                CLR1            MFAN
                SET1            HFAN
                BR              !SDJR
CUIYURE4:	BT		CUIYUREF,$SDJR	                
		BR		!CUIYURE40
CUIYURE3:
                SET1            CUIYUREF
CUIYURE01:      SET1            HFAN
                CLR1            LFAN
                CLR1            MFAN


SDJR:           BF             HFAN,$DJR1
                BT             LFAN,$DJR1
                BT             MFAN,$DJR1
NODJR_L:        BR             !NODJR
DJR1:           BT             SAUTOF,$NODJR_L
                BT             ROMERRF,$NODJR
                BT             PIPERRF,$NODJR
                
;                BF             DJRF,$NODJR
;                BF             DJR,$QUITDJR                
                BF	DJR,$QUITDJR
                BF	DJRFF,$RDJRFF ;电加热开启状态下遥控器关DJR
                BF	DJRF,$NODJR
;                BR	!RDJRFF1	;2004/1/6日电加热按5031说明书新方案
		BR	!RDJRFF00	;遥控开电加热则开
RDJRFF:		BF	DJRF,$RDJRFF1
;		BR	!DJR3
RDJRFF00:
		CMP	ROMTEMP,#0F0H	;遥控器电加热开的情况下检查是否满足了
		BNC	$RDJRFF0    	;该关电加热的条件而不该打开
		CMP	ROMTEMP,#25
		BNC	$OTHERRUN
RDJRFF0:
		CMP	PIPTEMP,#0F0H
		BNC	$DJR3
		CMP	PIPTEMP,#55
		BNC	$OTHERRUN
		BR	!DJR3
				               
RDJRFF1:                
                CMP             ROMTEMP,#0F0H
                BNC             $GODJR
                CMP             ROMTEMP,#18
                BZ              $GODJR1
                BNC             $NODJR
GODJR1:         MOV		A,ROMTEMP
		INC             A
                INC             A
                INC             A
                CMP             A,TEMPBUF
                BZ		$GODJR
                BNC             $NODJR
GODJR:          CMP             PIPTEMP,#0F0H
                BNC             $NODJR
                CMP             PIPTEMP,#45
                BNC             $NODJR
DJR3:           BF	DJR5MY,$OTHERRUN
		CLR1	DJR5MY
		SET1	DJR1MF
	CLR1            DJR
                BR              !OTHERRUN
QUITDJR:        CMP             ROMTEMP,#0F0H
                BNC             $QUITDJR1
                CMP             ROMTEMP,#25
                BNC             $NODJR
QUITDJR1:       
;		MOV		A,ROMTEMP
;		INC             A
;		INC		A
;                CMP             A,TEMPBUF
;                BC              $QUITDJR2
;                BR              !NODJR
QUITDJR2:
                CMP             PIPTEMP,#0F0H
                BNC             $OTHERRUN
                CMP             PIPTEMP,#55
                BNC              $NODJR
                BF	DJRFF,$OTHERRUN
                BT	DJRF,$OTHERRUN	;2004/1/1发现在遥控关一次电加热后遥控再打开会1分钟和5分钟循环跳,所以加上此条语句
NODJR:          BF	DJR1MY,$OTHERRUN
		CLR1	DJR1MY
		SET1	DJR5MF
	SET1            DJR

OTHERRUN:
                BT             CUIYUREF,$GOVANE         ;CUI YU RE FAN

NOACOOLFAN:     BT             DEFROSTF,$GOVANE
                BT             OVERWARMF,$GOVANE
;                BT             P3F,$P3FAN
                BT             CUIYUREF,$GOVANE
                BT             ACOFAN30SF,$GOVANE
                BT             AGFROSTF,$GOVANE
                BT		SWARMF,$PECUIYURE
                BT		SAUTOF,$PECUIYURE2
PECUIYURE1:     CALL           !NORFAN
                BR             !GOVANE
PECUIYURE2:	BF		GOWARMF,$PECUIYURE1
PECUIYURE:	BF		PIPERRF,$PECUIYURE1

;P3FAN:          SET1            LFAN
;                CLR1            HFAN
;                CLR1            MFAN
;                BR             GOVANE
GOVANE:
YESVANE:
;                BF             SSLEEPF,$NOSLEEP
; 

⌨️ 快捷键说明

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