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

📄 idwracslp.asm

📁 空调控制程序,MCU 采用NEC D789189
💻 ASM
字号:
;************************************************************************
; 	TITLE:          LT0333SLP.ASM
;	VERSION:	1.0
;	DATE:		2003.07.23
; 	AUTHOR:         Gilbert.Huang
; 	DESCRIPTION:    GOOD MAN
;
;	Chip type:	NECuPD78F9188
; 	ROM SIZE:	16K  BYTES
; 	RAM SIZE:	384 BYTES
; 	EEPROM SIZE:	256 BYTES
; 	CRYSTAL:	4.19MHz
; 	I/O PORT:	26  PINS
; 	PACKAGE:	DIP32
;************************************************************************
;	NAME	SLEEPmod
;
;
; 	$include 	(LT0333sym.INC)
;	$include	(LT0333RAM.INC)
;	CSEG
;	EXTRN		ON2OFF
;	PUBLIC		SLEEP
;************************************************************************
;*	Module Name:	LT0333slp					*
;*	Function:	SLEEP FUNCTION CONTROL				*
;*	Input:		C_SLPstp,D_TMPset				*
;*	Output:		D_TMPrun					*
;*	Break:								*
;*	stack:								*
;************************************************************************
;	History:
;
;------------------------------------------------------------------------
SLEEP:
;	CMP	C_RMT1s,#0
;	BEQ	$+2+1
;	RET

	BT	f_PWRon,$CHECKsleep
	BT	f_TMRon,$CHECKsleep
	CLR1	f_SLEEP
CHECKsleep:
	BF	f_SLEEP,$NOsleep
	CMP	C_SLPstp,#2		;8 step,no change
	BZ	$SLPstep8
	CMP	C_SLPstp,#1		;7 step,1st change
	BZ	$SLPstep7
	BR	$SLPstep6
	BR	SLPstep8
;	CMP	C_SLPstp,#6		;6 step,2nd change
;	BZ	$SLPstep6

;	CMP	C_SLPstp,#0		;SLEEP OFF
;	BZ	$SLP2off
;	BR	$SLPstep5		;<6 step,3rd change

NOsleep:
	MOV	C_SLPstp,#0

SLPstep8:
        MOV     A,D_TMPset
        MOV     D_TMPrun,A
        MOV	A,D_TMPcset
        MOV	D_TMPcRUN,A
        
	RET
;------------------------------------------------------------------------
SLPstep7:
	CMP	M_MODrun,#n_Mheat	;	修改睡眠在初始模式中的问题
	BEQ	SLPheat1
	MOV	A,D_TMPset
	INC	A
	INC	A
;	CMP     A,#32+D_TMPdsp
;	BC      $$+2+3
;	MOV     A,#32+D_TMPdsp
	MOV	D_TMPrun,A
;	MOV     D_TMPset,A

        MOV	A,D_TMPcset
        INC	A
        MOV	D_TMPcRUN,A


	RET
SLPheat1:
	MOV	A,D_TMPset
	DEC	A
	DEC	A
;	CMP     A,#16+D_TMPdsp
;	BNC     $$+2+3
;	MOV     A,#16+D_TMPdsp
	MOV	D_TMPrun,A
;	MOV     D_TMPset,A

        MOV	A,D_TMPcset
        DEC	A
        MOV	D_TMPcRUN,A


	RET
;------------------------------------------------------------------------
SLPstep6:
;------------------------------------------------------------------------
	CMP	M_MODrun,#n_Mheat	;	修改睡眠在初始模式中的问题
	BEQ	SLPheat2
	
;	CMP	M_MODset,#n_Mcool
;	BNZ	$SLPheat2
;------------------------------------------------------------------------

	MOV	A,D_TMPset
	INC	A
	INC	A
	INC	A
	INC	A

;	CMP     A,#30+D_TMPdsp
;	BC      $$+2+3
;	MOV     A,#30+D_TMPdsp
	MOV	D_TMPrun,A

        MOV	A,D_TMPcset
        INC	A
        INC	A
        MOV	D_TMPcRUN,A

	
;	MOV     D_TMPset,A
	RET
SLPheat2:
	MOV	A,D_TMPset
	DEC	A
	DEC	A
	DEC	A
	DEC	A
;	DEC	A			;total 3 degree decrease
;	CMP     A,#16+D_TMPdsp`
;	BNC     $$+2+3
;	MOV     A,#16+D_TMPdsp
	MOV	D_TMPrun,A
;	MOV     D_TMPset,A

        MOV	A,D_TMPcset
        DEC	A
        DEC	A
        MOV	D_TMPcRUN,A
	


	RET

;------------------------------------------------------------------------
SLPstep5:
;------------------------------------------------------------------------

	CMP	M_MODrun,#n_Mheat	;	修改睡眠在初始模式中的问题
	BEQ	SLPheat3

;	CMP	M_MODset,#n_Mcool
;	BNZ	$SLPheat3
;------------------------------------------------------------------------

	MOV	A,D_TMPset
	INC	A
	INC	A
;	CMP     A,#30+D_TMPdsp
;	BC      $$+2+3
;	MOV     A,#30+D_TMPdsp
	MOV	D_TMPrun,A
;	MOV     D_TMPset,A
	RET
SLPheat3:
	MOV	A,D_TMPset
	DEC	A
	DEC	A
	DEC	A
;	DEC	A			;total 3 degree decrease
;	CMP     A,#16+D_TMPdsp`
;	BNC     $$+2+3
;	MOV     A,#16+D_TMPdsp
	MOV	D_TMPrun,A
;	MOV     D_TMPset,A
	RET

SLP2off:
	CLR1	f_SLEEP
	BF	f_TMRon,$$+4+1
	RET
	CALL	!ON2OFF

	RET

;	end
	

⌨️ 快捷键说明

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