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

📄 sashuiche.txt

📁 主要实现洒水车的前喷,后喷,循环调料的控制.并且在实现这些功能的同时,伴有语音和字符提示.
💻 TXT
字号:
;*********************************************;
;**************洒水车控制程序*******************;
;*************************************************;
;**************相应端口定义***********************;
	qpf		equ		p1.0	;前喷
	hpf		equ		p1.1	;后喷
	ysf		equ		p1.2	;引水
	hxf		equ		p1.3	;后吸
	sts		equ		p1.4	;上三通
	stx		equ		p1.5	;下三通
	bjq		equ		p1.6	;报警器
	lxb		equ		p1.7	;离心泵
	gsw		equ		p0.1	;高水位检测 
	qpj		equ		p0.2	;前喷键 
	hpj		equ		p0.4	;后喷键
	xhj		equ		p0.6	;循环调料键
	hxfk		equ		p0.7	;后吸阀控制 
	flag_f		equ		30h		;前喷标志
	flag_b		equ		31h		;后喷标志
	flag_w		equ		32h		;工作标志
	flag_x		equ		33h		;循环标志
	flag_t		equ		34h		;调料标志
	flag_1		equ		35h
	flag_2		equ		36h
	flag_3		equ		37h
;********************头文件******************************
	Org	00h
	ljmp	start
	Org	03h
	Ljmp	int_0
	Org	13h
	Ljmp	int_1
;***********************主程序**********************************
	Org	100h
start:
Mov	ie	#10000101b
	Mov	ip,#00000001b
	Mov	tcon,#00000000b
initial:
Mov	p0	#0ffh
	Mov	p1,#00h
	Clr	lxb
	Clr	bjq
	Mov	flag_w,#0
	Mov	flag_f,#0
	Mov	flag_b,#0
	Mov	flag_t,#0
start1:
	Call	check_key;按键检测,打开相应的工作标志位
	Call	work;根据工作标志位进行相应的进程
	Jmp	start1
;**************************************************************
;*************************注液**********************************
int_0:
Push	acc
	Push	psw                                              
Mov	p0	#0ffh
	Mov	p1,#00h		 
	Clr	lxb
	Clr	bjq
	Mov	flag_w,#0
	Mov	lag_f,#0
	Mov	lag_b,#0
	Mov	lag_t,#0
	Setb	ysf
	Setb	lxb
	Setb	stx
check_full:
	Jnb	gsw,check_over1
	Jb	p3.2,check_over
	Jmp	check_full
check_over1:
	Setb	bjq
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Clr	bjq
check_over:
	Clr		ysf
	Clr		lxb
	Clr		stx
	Pop		psw
	Pop		acc
	Reti	
;*************************************************************
;********************************低水位报警*******************
int_1:
	Push	acc
	Push	psw
	Mov	p0,#0ffh
	Mov	p1,#00h		 
	Clr		lxb
	Clr		bjq
	Mov	flag_w,#0
	Mov	flag_f,#0
	Mov	flag_b,#0
	Mov	flag_t,#0
	Setb	bjq
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Call	delay_300ms
	Clr	bjq
	Pop	psw
	Pop	acc
	Reti	

delay_300ms:
	Mov	r7,#3
	d1:
	Mov	r6,#200
		d2:
	Mov	r5,#248
	Djnz	r5,$
	Djnz	r6,d2
	Djnz	r7,d1
	Ret	
delay_10s:
	Mov	r7,#96
	d3:
	Mov	r6,#200
	d4:
	Mov	r5,#248
	Djnz	r5,$
	Djnz	r6,d4
	Djnz	r7,d3
	Ret	
;****************************************************************
;***************按键检测******************************************
check_key:
	Mov	a,p0
	Anl	a,#0ffh
	Mov	flag_f,a
	Mov	a,flag_1
	Cjne	a,#0,ch1
	Mov	a,flag_2
	Cjne	a,#0,ch1
	Jb	qpj,ch1
	Mov	flag_f,#0ffh
	Mov	flag_w,#1
	Ret	
ch1:
	Mov	a,p0
	Anl	a,#0ffh
	Mov	flag_b,a	
	Mov	a,flag_2
	Cjne	a,#0,ch2
	Jb	hpj,ch2
	Mov	flag_b,#0ffh
	Mov	flag_w,#2
	ret
ch2:
	Mov	a,p0
	Anl	a,#0ffh
	Mov	flag_t,a
	Jb	xhj,over_check
	Mov	flag_t,#0ffh
	Mov	flag_w,#3
	Ret	
over_check:
	Ret	
;*********************************************************
;*******************工作流程**************************************
work:
	Mov	a,flag_w
jqp:
	Cjne	a,#01h,jhp;
	Jmp	qp_work
jhp:	
	Cjne	a,#02h,jtl
 	Jmp	hp_work
jtl:
	Cjne	a,#03h,over_work
	Jmp	tl_work
qp_work:
	Mov	a,flag_f
	Mov	flag_1,#0
	Mov	flag_2,#0
	Cjne	a,#0ffh,qp_off
	Call	forwork
	Ret	
qp_off:
	Mov	flag_1,#0
	Mov	flag_2,#0
	Call	f_off
	Ret	
hp_work:
	Mov	a,flag_b
	Mov	flag_1,#1
	Mov	flag_2,#0
	Cjne	a,#0ffh,hp_off
	Call	backwork
	Ret	
hp_off:
	Mov	flag_1,#0
	Mov	flag_2,#0
	Call	b_off
	Ret	
tl_work:
	Mov	a,flag_t
	Mov	flag_1,#0
	Mov	flag_2,#1
	Cjne	a,#0ffh,tl_off
	Call	tlwork
	Ret	
tl_off:
	Mov	flag_1,#0
	Mov	flag_2,#0
	Call	t_off  
over_work :
	Ret	
;*******************************************************
forwork:;前喷
	Setb	qpf
	Setb	lxb
	Clr	hpf
	Ret	
f_off:;关闭前喷
	clr	qpf
	clr	lxb
	Ret	
backwork:;后喷
	Setb	lxb
	Setb	hpf
	Clr	qpf
	Ret	
b_off:;关闭后喷
	Clr	hpf
	Clr	lxb
	Re
tlwork:
	Mov	a,flag_3
	Cjne	a,#0h,xh
	Mov	flag_3,#0h
	Setb	hxf
	Setb	sts
	Setb	lxb
	Call	delay_10s
xh:

	Mov	flag_3,#1h
	Clr	sts
	Setb	stx
	Ret	
t_off:
	Mov	flag_3,#0
	Clr	hxf
	Clr	stx
	Clr	lxb
	Ret	
	End	

⌨️ 快捷键说明

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