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

📄 clean.asm

📁 PIC风机智能化控制程序
💻 ASM
📖 第 1 页 / 共 3 页
字号:



;☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

;◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎◎

;^○^^○^^○^^○^^○^^○^^○^^○^^○^^○^^○^^○^^○^^○^^○^^○^^○^^○^
;○○●●●◎◎◇◇◆◆◆◆□□□§§§§№№■■■■△△▲▲※※→←←←↑↑↑↓↓〓〓#&@\^^ ^○^
	
;==========================================================================
;
; Register Definitions	 ,CLEAN。。。。。。CLEAR
;
;==========================================================================

W               EQU     H'0000'
F               EQU     H'0001'

;----- Register Files------------------------------------------------------

Z				EQU		.2		
TMR0			EQU		1H
PCL				EQU		2H
STATUS 	    	EQU		3H
FSR				EQU		4H
RA				EQU		5H
RP0				EQU		5H
RB				EQU		06H
RC				EQU		07H
RD				EQU		08H
RE				EQU		09H
ADCON0			EQU		1FH
ADCON1			EQU		9FH
ADRES			EQU		1EH
INTCON			EQU		0BH
TRISA	        EQU		85H
TRISB			EQU		86H
TRISC			EQU		87H
TRISD			EQU		88H
TRISE			EQU		89H
OPTION_REG		EQU		81H
TOIF			EQU		.2
TOIE			EQU		.5
INTF			EQU		.1
INTE			EQU		.4
GIE				EQU		.7
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
BIT				EQU		20H
BUF1			EQU		21H
BUF2			EQU		22H
BUF				EQU		23H
SUF				EQU		24H
CNT1			EQU		25H
CNT2			EQU		26H
R0				EQU		27H
R1				EQU		28H
COUNT8			EQU		29H
TEMP			EQU		2AH
;BIJIAO			EQU		2BH
MUF				EQU		2CH
SIJI			EQU		2DH
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	
H_B				EQU		30H
L_B				EQU		31H
CHUH			EQU		32H
CHUL			EQU		33H
SHANGH			EQU		34H
SHANGL			EQU		35H
YUH				EQU		36H
YUL				EQU		37H
P1H				EQU		38H
P1L				EQU		39H		

NUMBER			EQU		3AH		;一次操作的字节数。
TXBUF			EQU		3BH		;发送数据缓冲器
RXBUF			EQU		3CH		;接受数据缓冲器
CNT				EQU		3DH		;循环次数记数器
FLAG			EQU		3EH
ADDR			EQU		3FH		; 24C01首地址

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

BUFFER1			EQU		40H		; 40H~43H,	共4个空白区
MINUTE_BUF		EQU		44H		; 44H~47H,	共6个空白区
SHIJIAN			EQU		45H
YANSHI			EQU		46H
ADCNT			EQU		47H
OPEN_F			EQU		48H
;~~~~~~~
TIAN			EQU		49H		; 天数寄存器
HOUR			EQU		4AH		; 小时寄存器,
MINUTE			EQU		4BH
SECOND			EQU		4CH
MS50			EQU		4DH
MS				EQU		4EH	
;4FH不要用>>>>><<<<<EQU	4FH
F_BAOCHI		EQU		50H
;~~~~~~~
TIAN_BUF		EQU		51H
HOUR_BUF		EQU		52H
W_TEMP			EQU		53H
STATUS_TEMP		EQU		54H
FSR_TEMP		EQU		55H
BUFLL			EQU		56H
CNT_MINUTE		EQU		57H
;LAG			EQU		58H
;DAT1			EQU		59H
CNT_DIS			EQU		5AH
F_P_S			EQU		5BH
MING_F			EQU		5CH
CASE1			EQU		5DH
CASE2			EQU		5EH
TMP0			EQU		5FH


;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CUF				EQU		60H
CHUNG			EQU		61H
BUFL			EQU		62H
BUFL_B			EQU		63H
CP1				EQU		64H
;CP2			EQU		65H
JUN_F			EQU		66H
FENG_F			EQU		67H
BUFP			EQU		68H
SHIBUF2			EQU		69H
BUFS			EQU		6AH
BUFP_B			EQU		6BH
BUFS_B			EQU		6CH
VALUE			EQU		6DH
BUF3			EQU		6EH
BUF4			EQU		6FH

;==========================================================================
;
;       Configuration Bits
;
;==========================================================================

_BODEN_ON                    EQU     H'3FFF'
_BODEN_OFF                   EQU     H'3FBF'
_CP_ALL                      EQU     H'3FEF'
_CP_OFF                      EQU     H'3FFF'
_PWRTE_OFF                   EQU     H'3FFF'
_PWRTE_ON                    EQU     H'3FF7'
_WDT_ON                      EQU     H'3FFF'
_WDT_OFF                     EQU     H'3FFB'
_LP_OSC                      EQU     H'3FFC'
_XT_OSC                      EQU     H'3FFD'
_HS_OSC                      EQU     H'3FFE'
_RC_OSC                      EQU     H'3FFF'



__CONFIG   _CP_ALL & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _XT_OSC
;==========================================================================
#DEFINE		TRISX			TRISB	;IIC通信用
;==========================================================================
#DEFINE		YA_GAN			RA,0
#DEFINE		FUYA_GAN		RA,1
#DEFINE		SONG_GAN		RA,2	
#DEFINE		PAI_GAN			RA,3
;DEFINE		MEN_SHANG		RA,5
;DEFINE		MEN_XIA			RE,0

;#DEFINE	CURRENT			RB,0
;#DEFINE	NC				RB,1
#DEFINE		FENGJI			RB,2
#DEFINE		SDA				RB,3
#DEFINE		SCL				RB,4
#DEFINE		ZHAOMING		RB,5
#DEFINE		MIEJUN			RB,6
#DEFINE		POWER			RB,7

#DEFINE		POLICE1			RC,0
#DEFINE		POLICE2			RC,1
#DEFINE		KA_ABOVE		RC,2
#DEFINE		KA_BLOW			RC,3
#DEFINE		AB				RC,4
#DEFINE		SCK				RC,5
#DEFINE		TIAOSU_SONG		RC,6
#DEFINE		TIAOSU_PAI		RC,7



#DEFINE		MEN_XIA			RE,0
#DEFINE		MEN_UP			RE,1
#DEFINE		MEN_DOWN		RE,2
	
;---------------------------------------------------

WAIT   MACRO  TIME
;延迟TIME us
;变量TIME必须是5us的整数倍.
	MOVLW	(TIME/5)-1	;1us
	MOVWF	TMP0		;1us
	CALL    WAIT5U		;2us
	ENDM
	
;---------------------------------------------------

				
;*************************************

			ORG		0000H
			NOP
			NOP
			GOTO		START

;*************************************


			ORG		0004H
			MOVWF	W_TEMP
			MOVF	STATUS,W
			CLRF	STATUS
			MOVWF	STATUS_TEMP
			MOVF	FSR,W
			MOVWF	FSR_TEMP

;**************CURRENT TEST******
			BTFSS 	INTCON,INTF
			GOTO	TIME_T
			BTFSS	INTCON,INTE
			GOTO	TIME_T
			
			BCF		INTCON,INTF

;***********************
			BTFSC	FENG_F,0	;先判断风机开关状态?
			GOTO	FENG_KAI_QQQ;如风机开则不判断OPEN_F标志位,在风机按键关的情况下判断判断OPEN_F标志位.
								;风机关的情况有两种,一种从开到关,一种是关状态。
			BTFSC	OPEN_F,0	;判断风机是否从开机跳入关机???
			GOTO	PAI			;从开机跳入关机,则先关掉送风电机,也就是不给其触发脉冲.	
;***********************
FENG_KAI_QQQ
			DECFSZ	BUFS,0
			GOTO	XUNSU1
			BCF		TIAOSU_SONG; 最快>>>>>>
			NOP
			NOP
			NOP
			NOP
			
			GOTO	PAI
			


XUNSU1		
			MOVLW	.8
			SUBWF	BUFS,W
			BTFSS	STATUS,0
			GOTO	$+3
			MOVLW	.8
			MOVWF	BUFS
		;------------------
			MOVFW	BUFS
			MOVWF	CUF

		
			WAIT	.1000	;大小决定速度,CUF越大,电机越慢。
			DECFSZ	CUF
			GOTO	$-2
		;------------------
			BCF		TIAOSU_SONG
			NOP
			NOP
			NOP
			NOP
			
;_______________
PAI
			DECFSZ	BUFP,0
			GOTO	XUNSU2

			BCF		TIAOSU_PAI
			NOP
			NOP
			NOP
			NOP
			
			GOTO	TIME_T

XUNSU2			
			MOVLW	.8
			SUBWF	BUFP,W
			BTFSS	STATUS,0
			GOTO	$+3
			MOVLW	.8
			MOVWF	BUFP

			;------------------
			MOVFW	BUFP
			MOVWF	CUF

		
			WAIT	.1000	;大小决定速度	1MS
			DECFSZ	CUF
			GOTO	$-2
			;------------------
			BCF		TIAOSU_PAI
			NOP
			NOP
			NOP
			NOP
			
;*************
TIME_T
		BTFSS 	INTCON,TOIF
		GOTO	INT_EXIT
		BTFSS	INTCON,TOIE
		GOTO	INT_EXIT

		;~~~~~~~~~
		BCF		INTCON	,TOIF		;P199
		MOVLW	10H
		ADDWF	MS+1,F
		;~~~~~~~~~	
		MOVLW	0B0H
		ADDWF	MS,F
		MOVLW	3CH
		SKPNC
		MOVLW	3DH
		ADDWF	MS+1,F
		SKPNC
		GOTO	_MSTIMEOUT

		MOVLW	50H
		ADDWF	MS,F
		MOVLW	0C3H
		SKPNC
		MOVLW	0C4H
		ADDWF	MS+1,F
		GOTO	_CLOCKEXIT
_MSTIMEOUT

		INCF	MS50,F
		MOVLW	.20
		XORWF	MS50,W
		SKPZ
		GOTO	_CLOCKEXIT
		CLRF	MS50
		INCF	SECOND,F
		MOVLW	.60
		XORWF	SECOND,W
		SKPZ
		GOTO	_CLOCKEXIT
		CLRF	SECOND
		INCF	MINUTE,F

		MOVLW	.60
		SUBWF	MINUTE,W
		SKPNZ
		GOTO    GOD1
		SKPNC
		GOTO    GOD1
		GOTO	_CLOCKEXIT
		

GOD1
		CLRF	MINUTE
		INCF	HOUR,F
		MOVLW	.24
		SUBWF	HOUR,W		
		BTFSC	STATUS,2
		GOTO	NA1
		BTFSC	STATUS,0
		GOTO	NA1
		GOTO	_CLOCKEXIT





		;SKPZ
		;GOTO	_CLOCKEXIT		;??????????????????????有的地方丢了.
NA1
		CLRF	HOUR
		INCF	TIAN,F

		
		;~~~~~~~~~
_CLOCKEXIT	
INT_EXIT
			CLRF	STATUS
			MOVF	FSR_TEMP,W
			MOVWF	FSR
			MOVF	STATUS_TEMP,W
			MOVWF	STATUS
			SWAPF	W_TEMP,F	;ZHIS TWO DO NOT DICHANGE STATUS !!
			SWAPF	W_TEMP,W

			WAIT    .600	;600US
			BSF		TIAOSU_SONG;拉高
			NOP
			NOP
			BSF		TIAOSU_PAI;拉高
			NOP
			NOP
			RETFIE



;****************************************		
	
	
TABLE		
		ADDWF		PCL,F
			
		RETLW		0FCH	;0
		
		RETLW		60H		;1
		
		RETLW		0DAH	;2
		
		RETLW		0F2H	;3
		
		RETLW		66H		;4
		
		RETLW		0B6H	;5
		
		RETLW		0BEH	;6
		
		RETLW		0E0H	;7
		
		RETLW		0FEH	;8
		
		RETLW		0F6H	;9
		
		RETLW		0FFH	;10


;---------------------------------------------------

WAIT5U

	NOP			;1us
	NOP			;1us
	DECFSZ	TMP0,F		
	GOTO	WAIT5U		
	RETLW	0		



;---------------------------------------------------

;****************************************

BCD						;BCD码转换模块

		
		
		BCF		STATUS,0
		MOVLW	08H
		MOVWF	COUNT8
		CLRF	R0
		CLRF	R1
		MOVF	MUF,W
		MOVWF	BUF2
LOOPBCD2
		RLF		BUF2
		RLF		R1
		RLF		R0
		DECFSZ	COUNT8
		GOTO	ADJDECZ2
		
		
		
;——————————————————————————————

		
		MOVF	R1,W
		MOVWF	BUF1
		MOVWF	BUF2
		
		
		MOVLW	0F0H
		ANDWF	BUF1,1
		SWAPF	BUF1,W
		CALL	TABLE
		MOVWF	BUF1
		
		
		
		MOVLW	0FH
		ANDWF	BUF2,W
		
		CALL	TABLE
		MOVWF	BUF2
				
		RETLW	0
		
		
		
ADJDECZ2


		MOVLW	R1
		MOVWF	FSR
		CALL	ADJBCDZ2
		MOVLW	R0
		MOVWF	FSR
		CALL	ADJBCDZ2
		GOTO	LOOPBCD2
		
		
ADJBCDZ2

		MOVLW	3
		ADDWF	0,W
		MOVWF	TEMP
		BTFSC	TEMP,3
		MOVWF	0
		MOVLW	30H
		ADDWF	0,W
		MOVWF	TEMP
		BTFSC	TEMP,7
		MOVWF	0
		RETLW	0

;=======================
;    9-*UF
;=======================
SUB_9
		
		MOVLW	.9
		MOVWF	SUF
		MOVFW	MUF
		SUBWF	SUF,0
		MOVWF	MUF
		RETURN
		
;**************ANJIAN ZONG ZI**************
;	检测设置等按键子程序,一级子程序		
;***************ZI*************************
TESTKEY

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2
		RETURN
		CALL	DEL100MS
		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2
		RETURN
		CALL	TRANSLATE

		movf	FSR,W	;排风加速
		xorlw	.4
		skpnz
		goto	PAI_JIA

		movf	FSR,W	;排风减速
		xorlw	.5
		skpnz
		goto	PAI_JIAN

		movf	FSR,W	;送风加速
		xorlw	.6
		skpnz
		goto	SONG_JIA

		movf	FSR,W	;送风减速
		xorlw	.7
		skpnz
		goto	SONG_JIAN
		
		movf	FSR,W	;延时加
		xorlw	.8
		skpnz
		goto	YANSHI_JIA

		movf	FSR,W	;延时减
		xorlw	.9
		skpnz
		goto	YANSHI_JIAN
		
		movf	FSR,W	;门升
		xorlw	.10
		skpnz
		goto	DOOR_SHENG
		
		movf	FSR,W	;门减
		xorlw	.11
		skpnz
		goto	DOOR_JIANG
		
		movf	FSR,W	;静
		xorlw	.12
		skpnz
		goto	QUITE
		return

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PAI_JIA
		MOVLW	.8
		SUBWF	BUFP,W
		BTFSC	STATUS,2
		GOTO	EQUAL_PAI_1
		BTFSC	STATUS,0
		GOTO	LARG_PAI_1
	;==============
		BTFSC	F_BAOCHI,0	;检测是否在显示延时的状态下,按下排风加键,如是,则第一次不改变速度,只显示调速值
		GOTO	BAOCHIA
		INCF    BUFP
	;==============
BAOCHIA
		BCF		F_BAOCHI,0
		MOVFW	BUFP
		MOVWF	MUF
		CALL	SUB_9
		CALL	BCD
		CALL	Z1
EQUAL_PAI_1		
LARG_PAI_1

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2		;等待键放!
		GOTO	PAI_JIA_NO		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	.4			
		BTFSC	STATUS,2
		GOTO	LARG_PAI_1		;等待键放!
		GOTO	PAI_JIA_NO		;键放!

PAI_JIA_NO
		MOVLW	.200
		MOVWF	CNT_DIS
		BSF		F_P_S,0
		RETURN
		
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PAI_JIAN
		MOVLW	.1
		SUBWF	BUFP,W
		BTFSC	STATUS,2
		GOTO	EQUAL_PAI_2
		BTFSS	STATUS,0
		GOTO	SMALL_PAI_2
	;==============
		BTFSC	F_BAOCHI,0
		GOTO	BAOCHIB
		DECF    BUFP
	;==============
BAOCHIB
		BCF		F_BAOCHI,0
		MOVFW	BUFP
		MOVWF	MUF
		CALL	SUB_9
		CALL	BCD
		CALL	Z1
EQUAL_PAI_2		
SMALL_PAI_2

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2		;等待键放!
		GOTO	PAI_JIAN_NO		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	.5			
		BTFSC	STATUS,2
		GOTO	SMALL_PAI_2			;等待键放!
		GOTO	PAI_JIAN_NO		;键放!

PAI_JIAN_NO
		MOVLW	.200
		MOVWF	CNT_DIS
		BSF		F_P_S,0
		RETURN
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SONG_JIA
		MOVLW	.8
		SUBWF	BUFS,W
		BTFSC	STATUS,2
		GOTO	EQUAL_SONG_1
		BTFSC	STATUS,0
		GOTO	LARG_SONG_1

	;==============
		BTFSC	F_BAOCHI,0	;检测是否在显示延时的状态下,按下送风加键,如是,则第一次不改变速度,只显示调速值
		GOTO	BAOCHIC
		INCF    BUFS
	;==============
		
BAOCHIC
		BCF		F_BAOCHI,0
		MOVFW	BUFS
		MOVWF	MUF
		CALL	SUB_9
		CALL	BCD
		CALL	Z1
EQUAL_SONG_1	
LARG_SONG_1

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2		;等待键放!
		GOTO	SONG_JIA_NO		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	.6			
		BTFSC	STATUS,2
		GOTO	LARG_SONG_1		;等待键放!
		GOTO	SONG_JIA_NO		;键放!

SONG_JIA_NO
		MOVLW	.200
		MOVWF	CNT_DIS
		BCF		F_P_S,0
		RETURN
		
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SONG_JIAN
		MOVLW	.1
		SUBWF	BUFS,W
		BTFSC	STATUS,2
		GOTO	EQUAL_SONG_2
		BTFSS	STATUS,0
		GOTO	SMALL_SONG_2

		;==============
		BTFSC	F_BAOCHI,0	;检测是否在显示延时的状态下,按下送风JIAN键,如是,则第一次不改变速度,只显示调速值
		GOTO	BAOCHID
		DECF    BUFS		;
		;==============
		
BAOCHID
		BCF		F_BAOCHI,0
		MOVFW	BUFS
		MOVWF	MUF
		CALL	SUB_9
		CALL	BCD
		CALL	Z1
EQUAL_SONG_2		
SMALL_SONG_2

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2		;等待键放!
		GOTO	SONG_JIAN_NO		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	.7			
		BTFSC	STATUS,2
		GOTO	SMALL_SONG_2		;等待键放!
		GOTO	SONG_JIAN_NO		;键放!

SONG_JIAN_NO
		MOVLW	.200
		MOVWF	CNT_DIS
		BCF		F_P_S,0
		RETURN
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
YANSHI_JIA
		MOVLW	.100
		SUBWF	BUFL,W
		BTFSC	STATUS,2
		GOTO	EQUAL_YANSHI_1
		BTFSC	STATUS,0
		GOTO	LARG_YANSHI_1
		INCF    BUFL
		MOVFW	BUFL
		MOVWF	BUFLL
		MOVWF	MUF
		CALL	BCD
		CALL	Z1
EQUAL_YANSHI_1	
LARG_YANSHI_1

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2		;等待键放!
		GOTO	YANSHI_JIA_NO		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	.8			
		BTFSC	STATUS,2
		GOTO	LARG_YANSHI_1		;等待键放!
		GOTO	YANSHI_JIA_NO		;键放!

YANSHI_JIA_NO
		
		RETURN

;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~
YANSHI_JIAN
		MOVLW	.1
		SUBWF	BUFL,W
		BTFSC	STATUS,2
		GOTO	EQUAL_YANSHI_2
		BTFSS	STATUS,0
		GOTO	SMALL_YANSHI_2
		DECF    BUFL
		MOVFW	BUFL
		MOVWF	BUFLL
		MOVWF	MUF
		CALL	BCD
		CALL	Z1
EQUAL_YANSHI_2		
SMALL_YANSHI_2

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2		;等待键放!
		GOTO	YANSHI_JIAN_NO		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	.9			
		BTFSC	STATUS,2
		GOTO	SMALL_YANSHI_2		;等待键放!
		GOTO	YANSHI_JIAN_NO		;键放!

YANSHI_JIAN_NO
		
		RETURN

;^^^^^^^^^^^^^^^^^^
DOOR_SHENG						;从A5口采集,同时检测报警信号.
	
		MOVLW	B'01100001'
		MOVWF	ADCON0			;三 ,A5口、设置时钟源8TOSC,,启动A/D转换模块
		CALL	ADCAI
		MOVLW	.153			;以3V为比较对象,低于3认为低电瓶,
		SUBWF	ADRES,W			;输入低电瓶有效!!
		SKPC	
		GOTO	BAOJING_D		;ADRES<153

		BSF		MEN_UP			;ADRES>153
		NOP
		NOP

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2	;等待键放!
		GOTO	KEYD_NO		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	.10			
		BTFSC	STATUS,2
		GOTO	DOOR_SHENG	;等待键放!
		GOTO	KEYD_NO		;键放!
BAOJING_D
		BSF		KA_ABOVE	;报警
		NOP
		NOP

KEYD_NO	

		BCF		MEN_UP
		NOP
		NOP
		RETURN
;^^^^^^^^^^^^^^^^^^
DOOR_JIANG					
		
		BTFSS	MEN_XIA		;先检测有无碰到行程开关???
		GOTO	BAOJING_D_W

		BSF		MEN_DOWN
		NOP
		NOP

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2	;等待键放!
		GOTO	KEYD_NO_W		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	.11			
		BTFSC	STATUS,2
		GOTO	DOOR_SHENG	;等待键放!
		GOTO	KEYD_NO_W		;键放!
BAOJING_D_W
		BSF		KA_BLOW	;报警
		NOP
		NOP

⌨️ 快捷键说明

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