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

📄 shibiema.asm

📁 智能识别系统程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:
		BTFSC	STATUS,2
		GOTO	DENG_0
		GOTO	FANG_0

;———————

FANG_0

		BSF		POWER_LED
		NOP
		NOP
		NOP
		
		
		
;——————————————————————————	
		CALL	ROMR		;读ROM数据.
;——————————————————————————	
				
		MOVF	BUF,W
		MOVWF	BUF_B
		MOVF	ZUF,W
		MOVWF	ZUF_B

		MOVF	BMAX,W
		MOVWF	BMAX_B
		MOVF	BMIN,W
		MOVWF	BMIN_B

		MOVLW	.35
		MOVWF	YANSHI
		
YAN		
		CALL	DELAY200MS
		DECFSZ	YANSHI,1
		GOTO	YAN
	
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		
;_________________________

;		S/Z TEST???
;_________________________
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ZIDONG
		


		MOVLW	.180		;本程序设置20天
		XORWF	TIAN,W
		;MOVLW	.5		;本程序设置2MINUTE
		;XORWF	MINUTE,W
		SKPNZ
		BSF		SIJI,0
		;——————————————————————————	

		BTFSS	SIJI,0
		GOTO	WORK_1
		BCF		INTCON,TOIE		;定时器停止运行(实际停止中断,时间积存器停止自加)
		BCF		INTCON,GIE
		CALL	CLEAR_1
		CALL	SERVE
		GOTO	$				;进入死循环

		;——————————————————————————	


WORK_1
;_________________________

      ;电源按键检测,由自动状态-->关机
;_________________________

		CALL	INITIAL	

		
		;——————————————————————————	
		MOVLW	.12
		MOVWF	SHIJIAN
XUN_01
		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2
		GOTO	XIUCLOUD		;无键按下
		CALL	DEL100MS
		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2
		GOTO	XIUCLOUD		;无键按下	
		CALL	TRANSLATE
		
		MOVF	FSR,0
		XORLW	00H			;0   TO	 POWER
		BTFSS	STATUS,2
		GOTO	XIUCLOUD		;不是电源键按下

		CALL	DELAY200MS
		DECFSZ	SHIJIAN,1
		GOTO	XUN_01


DENG_0A

		;CALL	KEYSCAN
		;COMF	VALUE,0
		;BTFSC	STATUS,2	;等待键放!
		;GOTO	FANG_0A
		;CALL	TRANSLATE
		;MOVF	FSR,0
		;XORLW	00H			;0   TO	 POWER
		;BTFSC	STATUS,2
		;GOTO	DENG_0A
		;GOTO	FANG_0A



FANG_0A
		CALL	CLEAR_1
		MOVLW	.16
		MOVWF	SHIJIAN	
FANG_0AA
		CALL	DELAY200MS
		DECFSZ	SHIJIAN,1
		GOTO	FANG_0AA
		
		GOTO	DIANYUAN

;_________________________
XIUCLOUD

		CALL	SERVE			;查询ZUF和BUF有无变化,
		
	
;_________________________

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2
		GOTO	SZD_NO
		CALL	DEL100MS
		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2		;检测手自动
		GOTO	SZD_NO	
		CALL	TRANSLATE
		
		MOVF	FSR,0
		XORLW	01H			; 1   TO	 SZDONG
		BTFSS	STATUS,2
		GOTO	SZD_NO
		GOTO	SZD_YES

SZD_YES
;___________________

		MOVLW	.1
		ADDWF	SZDF
;___________________

SZD_L
		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2	;等待键放!
		GOTO	SZD_NO		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	01H			; 1   TO	 SZDONG
		BTFSC	STATUS,2
		GOTO	SZD_L		;等待键放!
		GOTO	SZD_NO		;键放!
		

SZD_NO
		BTFSC	SZDF,0
		GOTO	SHOUDONG
		GOTO	ZIDONG0
;_________________________

		;下面进入自动状态!
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
		;首先检测是否缺水?
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		
ZIDONG0


		bsf		SZLED
		CALL	TESTKEY		;按键扫描
		CALL	T_SHUIWEI	;首先检测是否缺水?子程序中停.置FBIAO
		
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		

        CALL	TIAOWENPAN	;子程序中检测了缺水标志位FBIAO
		
;***************************************
		
	
		CALL	QU12_ZI		;1区和2区的判断>,	检测了缺水标志位FBIAO
		


		CALL    CAIWHOLE		;采集并且显示水温和压力
		GOTO	ZIDONG

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


				
;##################################&&&&&&&&&&&$$$$$$$$$@@@@@@@@@@@@@@@!!!!!!!!!!!!!		
;##################################&&&&&&&&&&&$$$$$$$$$@@@@@@@@@@@@@@@!!!!!!!!!!!!!	

;--------------------------手动状态-----------
	
;##################################&&&&&&&&&&&$$$$$$$$$@@@@@@@@@@@@@@@!!!!!!!!!!!!!	
SHOUDONG

		
		MOVLW	.180		;本程序设置20天
		XORWF	TIAN,W
		;MOVLW	.5	;本程序设置2MINUTE
		;XORWF	MINUTE,W
		SKPNZ
		BSF		SIJI,0
		;——————————————————————————	

		BTFSS	SIJI,0
		GOTO	WORK_2
		BCF		INTCON,TOIE		;定时器停止运行(实际停止中断,时间积存器停止自加)
		BCF		INTCON,GIE
		CALL	CLEAR_1
		CALL	SERVE
		GOTO	$				;进入死循环

WORK_2

;_________________________

      ;电源按键检测
;_________________________
		CALL	INITIAL

		MOVLW	.12
		MOVWF	SHIJIAN

		;——————————————————————————	
XUN_02

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2
		GOTO	SHOWCLOUD
		CALL	DEL100MS
		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2
		GOTO	SHOWCLOUD	
		CALL	TRANSLATE
		
		MOVF	FSR,0
		XORLW	00H			;0   TO	 POWER
		BTFSS	STATUS,2
		GOTO	SHOWCLOUD

		CALL	DELAY200MS
		DECFSZ	SHIJIAN,1
		GOTO	XUN_02



DENG_0B

		;CALL	KEYSCAN
		;COMF	VALUE,0
		;BTFSC	STATUS,2	;等待键放!
		;GOTO	FANG_0B
		;CALL	TRANSLATE
		;MOVF	FSR,0
		;XORLW	00H			;0   TO	 POWER
		;BTFSC	STATUS,2
		;GOTO	DENG_0B
		;GOTO	FANG_0B



FANG_0B
		CALL	CLEAR_1	
		MOVLW	.16
		MOVWF	SHIJIAN	
FANG_0BB		
		CALL	DELAY200MS
		DECFSZ	SHIJIAN,1
		GOTO	FANG_0BB


		GOTO	DIANYUAN

;_________________________



SHOWCLOUD

		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2
		GOTO	SZD_NO2
		CALL	DEL100MS
		CALL	KEYSCAN			;检测手自动
		COMF	VALUE,0
		BTFSC	STATUS,2
		GOTO	SZD_NO2	
		CALL	TRANSLATE
		
		MOVF	FSR,0
		XORLW	01H			; 1   TO	 SZDONG
		BTFSS	STATUS,2
		GOTO	SZD_NO2
		GOTO	SZD_YES2

SZD_YES2
;____________

		MOVLW	.1
		ADDWF	SZDF
;____________

SZD_L2
		CALL	KEYSCAN
		COMF	VALUE,0
		BTFSC	STATUS,2	;等待键放!
		GOTO	SZD_NO2		;键放!
		CALL	TRANSLATE
		MOVF	FSR,0
		XORLW	01H			; 1   TO	 SZDONG
		BTFSC	STATUS,2
		GOTO	SZD_L2		;等待键放!
		GOTO	SZD_NO2		;键放!
		
SZD_NO2

		BTFSC	SZDF,0
		GOTO	SHOUDONG0
		GOTO	BEGINZI

;_________________________



;%%%%%%%%%%%%%%%%%%%%
;由手动向自动跳时要与下限进行判断
;%%%%%%%%%%%%%%%%%%%%
BEGINZI

		CALL	STOZ
		GOTO	ZIDONG

;%%%%%%%%%%%%%%%%%%%%


SHOUDONG0
		
;_________________________
		bcf		SZLED
		CALL	SERVE			;THIS TWO 同时有或同时删掉
		CALL	TESTKEY			;按键扫描	
;_________________________

		
			
		CALL	T_SHUIWEI		;首先检测是否缺水?子程序中停.置FBIAO
       
		CALL	TIAOWENPAN		;子程序中检测了缺水标志位FBIAO

		CALL    CAIWHOLE		;采集并且显示水温和压力
		CALL	QU12_SHOU		;检测了缺水标志位FBIAO
		GOTO	SHOUDONG

		
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		
		;SHOU TO ZI
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%



STOZ

		bsf		SZLED
		NOP
		MOVLW	B'01011001'
		MOVWF	ADCON0			;三、A3口,设置时钟源8TOSC,,启动A/D转换模块
		MOVLW	.99
		MOVWF	CHUNG
  		CALL	ADCAI		       ;在最后一个把CNTFLAG的0位置1!!!!
		MOVF	SHANGL,0
		MOVWF	MUF
		MOVWF   SHIBUF


		MOVF	BUF,W				;ZUF与BUF进行比较,
		SUBWF	ZUF,W
		
		BTFSC	STATUS,0
		GOTO	ZUFLARGV
		GOTO	BUFLARGV												;STOZ======

ZUFLARGV
		MOVF    BUF,W
		SUBWF	SHIBUF,W
		BTFSC   STATUS,0
		GOTO	GUANDIAO
		GOTO	BYE1
BUFLARGV
		MOVF    ZUF,W
		SUBWF	SHIBUF,W
		BTFSC   STATUS,0
		GOTO	GUANDIAO
		GOTO	BYE1

GUANDIAO
		;=========================
		;CALL	SHUNXU_CLOSE1
		;=========================
	    BSF		LAG_FA,1
		;____________________________

			BTFSC	LAG_FA,2		;判断2区有无关掉
			GOTO	ZZZZ
		;____________________________
		BCF	    FA1												;STOZ======
		NOP
		NOP
ZZZZ	
		NOP
		NOP
		BCF		FLAG_PENWU,0


;*************	
BYE1
		

		MOVLW	B'01010001'
		MOVWF	ADCON0			;三、A2口,设置时钟源8TOSC,,启动A/D转换模块
  		MOVLW	.99
		MOVWF	CHUNG
		CALL	ADCAI
		MOVF	SHANGL,0
		MOVWF	MUF
		MOVWF	SHIBUF2

		MOVF	BMAX,W				;BMAX与BMIN进行比较,
		SUBWF	BMIN,W
		
		BTFSC	STATUS,0
		GOTO	ZUFLARGV2
		GOTO	BUFLARGV2

ZUFLARGV2
		MOVF    BMAX,W														;STOZ======
		SUBWF	SHIBUF2,W
		BTFSC   STATUS,0
		GOTO	GUANDIAO2
		GOTO	BYE2
BUFLARGV2
		MOVF    BMIN,W
		SUBWF	SHIBUF2,W
		BTFSC   STATUS,0
		GOTO	GUANDIAO2
		GOTO	BYE2

GUANDIAO2
		;=========================
		;CALL	SHUNXU_CLOSE2
		;=========================
		BSF		LAG_FA,2
		;____________________________

			BTFSC	LAG_FA,1
			GOTO	CCCC
		;____________________________
		
		BCF	    FA2
CCCC
		NOP
		NOP
		NOP
		BCF		FLAG_PENWU,1
	    
BYE2
		CALL	BANG_PAN
	
		RETURN

;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;			湿度1比较检测!!!!
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

		
QU1PAN

		BTFSC	FBIAO,0
		GOTO	BACKSHI1

		MOVF	SHIBUF,W
		MOVWF	BIJIAO
		MOVF	BUF,W				;ZUF与BUF进行比较,
		SUBWF	ZUF,W
		BTFSC	STATUS,2
		GOTO	ZUFEQUAL
		BTFSC	STATUS,0
		GOTO	ZUFLARG
		GOTO	BUFLARG
		
		
		
ZUFEQUAL
		
		MOVF	SHIBUF,0
		MOVWF	BIJIAO
												;			湿度1比较检测!!!!

		MOVF	ZUF,W
		
		SUBWF	BIJIAO,W
		BTFSC	STATUS,2
		GOTO	EQUAL
		BTFSC	STATUS,0
		GOTO	LARG
		GOTO	SMALL
				
		
		
ZUFLARG	
		
		MOVF	SHIBUF,0						;			湿度1比较检测!!!!
		MOVWF	BIJIAO

		
		MOVF	ZUF,W
		SUBWF	BIJIAO,W
		BTFSC	STATUS,2
		GOTO	EQUAL
		BTFSC	STATUS,0
		GOTO	LARG
		
		
		MOVF	BIJIAO,W
		SUBWF	BUF,W
		BTFSC	STATUS,2
		GOTO	SMALL
		BTFSC	STATUS,0
		GOTO	SMALL
		
		GOTO	BACKSHI1_BUDING		;当处于上下限之间时,必须建立标志位,见BACKSHI1_BUDING
		
BUFLARG	
		
		MOVF	SHIBUF,0
		MOVWF	BIJIAO						;			湿度1比较检测!!!!


		
		MOVF	BUF,W
		SUBWF	BIJIAO,W
		BTFSC	STATUS,2
		GOTO	EQUAL
		BTFSC	STATUS,0
		GOTO	LARG
		
		
			
		MOVF	BIJIAO,W
		SUBWF	ZUF,W
		BTFSC	STATUS,2
		GOTO	SMALL
		BTFSC	STATUS,0
		GOTO	SMALL
		
		GOTO	BACKSHI1_BUDING		;当处于上下限之间时,必须建立标志位,见BACKSHI1_BUDING
		
		
		
												;			湿度1比较检测!!!!
		
LARG		
EQUAL	
			;CALL	SHUNXU_CLOSE1
			;===================================
	       	BSF		LAG_FA,1
			;____________________________
			BTFSC	LAG_FA,2
			GOTO	VV
			;===================================
			BCF		FA1
	      	NOP
	       	NOP
VV
			;?????????????????????????
			;BTFSS	LAG_KAIGUAN,2
			;GOTO	SSS	
			;BCF		FA1
	      	;NOP
	       	;NOP
			;?????????????????????????
SSS			
			BCF		FLAG_PENWU,0				;			湿度1比较检测!!!!
					       
			GOTO	BACKSHI1
		
		
		
		
SMALL		
		;=====================================
		;一区开的情况下
		BCF		LAG_FA,1
		;=====================================

		
		
		BSF		FLAG_PENWU,0
		NOP
		 
	 
		NOP
		BSF	   FA1	
		NOP
		NOP
		;BSF		T1LED	;change
		NOP											;			湿度1比较检测!!!!
		NOP
		BSF		PENWU
		NOP
		NOP
		BSF		FANGYA,0
		
			
		GOTO	BACKSHI1

BACKSHI1_BUDING
	
BACKSHI1
		RETURN

;______________________________________

;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
;湿度2比较检测!!!!
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
QU2PAN

		BTFSC	FBIAO,0
		GOTO	BACKSHI2
		
		MOVF	SHIBUF2,W
		MOVWF	BIJIAO
		MOVF	BMAX,W				;BMAX与BMIN进行比较,
		SUBWF	BMIN,W
		BTFSC	STATUS,2
		GOTO	ZUFEQUAL1
		BTFSC	STATUS,0
		GOTO	ZUFLARG1
		GOTO	BUFLARG1
		
		
		
ZUFEQUAL1
		
		MOVF	SHIBUF2,0
		MOVWF	BIJIAO


		MOVF	BMIN,W
		
		SUBWF	BIJIAO,W
		BTFSC	STATUS,2
		GOTO	EQUAL1
		BTFSC	STATUS,0
		GOTO	LARG1
		GOTO	SMALL1
				
		
		
ZUFLARG1
		
		MOVF	SHIBUF2,0
		MOVWF	BIJIAO

		
		MOVF	BMIN,W
		SUBWF	BIJIAO,W
		BTFSC	STATUS,2
		GOTO	EQUAL1
		BTFSC	STATUS,0
		GOTO	LARG1
		
		
		MOVF	BIJIAO,W
		SUBWF	BMAX,W
		BTFSC	STATUS,2
		GOTO	SMALL1
		BTFSC	STATUS,0
		GOTO	SMALL1
		
		GOTO	BACKSHI2_BUDING
		
BUFLARG1	
		
		MOVF	SHIBUF2,0
		MOVWF	BIJIAO


		
		MOVF	BMAX,W
		SUBWF	BIJIAO,W
		BTFSC	STATUS,2
		GOTO	EQUAL1
		BTFSC	STATUS,0
		GOTO	LARG1
		
		
			
		MOVF	BIJIAO,W
		SUBWF	BMIN,W
		BTFSC	STATUS,2
		GOTO	SMALL1
		BTFSC	STATUS,0
		GOTO	SMALL1
		
		GOTO	BACKSHI2_BUDING
		
		
	
	
		
		
		
EQUAL1	
LARG1	
			;CALL	SHUNXU_CLOSE2
			;===================================
			BSF		LAG_FA,2
			;____________________________
			BTFSC	LAG_FA,1
			GOTO	VVVV
			;===================================
			BCF		FA2
	      	NOP
	       	NOP

VVVV
			;?????????????????????????
			;BTFSS	LAG_KAIGUAN,1
			;GOTO	UUU	
			;BCF		FA1
	      	;NOP
	       ;NOP
			;?????????????????????????
UUU
			BCF		FLAG_PENWU,1
			NOP
			NOP
			GOTO	BACKSHI2
		
		
		
		
SMALL1		
	;===================================	
		BCF		LAG_FA,2
	;===================================
		BSF		FLAG_PENWU,1
		NOP
		NOP 
		 
		
		BSF	   FA2	
		NOP
		NOP
		;BSF		T2LED
		NOP
		NOP
		BSF		PENWU
		NOP
		NOP

⌨️ 快捷键说明

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