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

📄

📁 一个简易的金属探测器程序,实用价值很高,成本在5元以内,探测距离在6C
💻
字号:
;********************
ACC	== 0X11
TCC	== 0X01
TCC1   == 0X1E
PSW    == 0X03
P5	 == 0X05
P6	 == 0X06
IOCE   == 0X0E
IOCF   == 0X0F
ISR	== 0X0F
;********************
BZ	 == 0X1A 
;BZ.0  == FANGAO 
;BZ.1  == GAO 
;BZ.2  == ZGAO 
;BZ.3  == YIBAN
BD	 == 0X1B
;********************
BASEG  == 0X25
BASED  == 0X26
DATAG  == 0X27
DATAD  == 0X28
SUBG   == 0X29
SUBD   == 0X2A
SUBX   == 0X2B
DATA0  == 0X2C
DATA1  == 0X2D
DATA2  == 0X2E
DATA3  == 0X2F
;********************
;P5.0  == GAORED
;P5.1  == YELLOWG
;P5.2  == YELLOWD
;P5.3  == GREEN
;P6.1  == FMQKZ
;P6.7  == RED
;********************
	ORG	0
	JMP	MAIN
	ORG	8
	JMP	TCCINT
MAIN:
	MOV	A,@31
	MOV	0X2F,A
	MOV	A,@0X10
	MOV	0X04,A
MAIN0:
	CLR	0
	INC	0X04
	DJZ	0X2F
	JMP	MAIN0
MAIN1:
	MOV	A,@0X00
	IOW	IOCE
	CONTR
	MOV	A,@0B11110000
	OR	 A,@0B00110000
	CONTW
	MOV	A,@0X01
	IOW	IOCF
	NOP
	NOP
	MOV	A,@0X00
	IOW	P5
	IOR	P6
	AND	A,@11111110B
	IOW	P6
	NOP
	BS	 P5,1
	BS	 P5,2
	BC	 P5,3
	BS	 P6,0
	BC	 P6,6
	NOP
	NOP	
	NOP
	CALL   DELAY100MS
	CALL   DELAY100MS
	CALL   DELAY100MS
	BS	 P6,6
	CALL   DELAY100MS
	NOP
	NOP
	ENI
	MOV	A,@0X00
	MOV	TCC1,A
	MOV	TCC,A
	CALL   DELAY100MS
	CALL   DELAY100MS
	DISI
	MOV	A,TCC
	MOV	BASED,A
	MOV	A,TCC1
	MOV	BASEG,A
HCQ:
	NOP
	NOP
	NOP
	ENI
	MOV	A,@0X00
	MOV	TCC1,A
	MOV	TCC,A
	CALL   DELAY100MS
	CALL   DELAY100MS
	DISI
	MOV	A,TCC;BASED
	;ADD	A,@04
	MOV	DATAD,A
	MOV	A,TCC1
	MOV	DATAG,A
	NOP
	NOP	
	INC	BD
	CALL   SUBSUB
	NOP
	MOV	A,@0
	MOV	BZ,A
	NOP
	JBS	SUBX,0
	JMP	HCQ2
	BC 	PSW,2
	MOV	A,@0
	SUB	A,SUBG
	JBS	PSW,2
	JMP	HCQ1
	BC	 PSW,0
	MOV	A,@10
	SUB	A,SUBD
	JBS	PSW,0
	JMP	HCQ2	
HCQ1:
	BS	 BZ,0
	JMP	HCQ6
HCQ2:	
	BC	 PSW,2
	MOV	A,@0
	SUB	A,SUBG
	JBC	PSW,2
	JMP	HCQ3
	BS	 BZ,1
	JMP	HCQ6	
HCQ3:	
	BC	 PSW,0
	MOV	A,@10
	SUB	A,SUBD
	JBS	PSW,0
	JMP	HCQ4
	BS	 BZ,1
	JMP	HCQ6
HCQ4:
	BC	 PSW,0
	MOV	A,@8
	SUB	A,SUBD
	JBS	PSW,0
	JMP	HCQ5
	BS	 BZ,2
	JMP	HCQ6
HCQ5:
	BC	 PSW,0
	MOV	A,@5
	SUB	A,SUBD
	JBS	PSW,0
	JMP	HCQ6
	BS	 BZ,3	
HCQ6:		 
	JBS	BZ,0
	JMP	HCQ7
	BS	 P5,1
	BS	 P5,2
	BC	 P5,3
	BS	 P6,0
	BC	 P6,6
	JBC	BD,1
	JMP	HCQ
	BS	 P5,1
	BS	 P5,2
	BS	 P5,3
	BS	 P6,0
	BS	 P6,6	
	JMP	HCQ
HCQ7:
	JBS	BZ,1
	JMP	HCQ8
	BS	 P5,1
	BS	 P5,2
	BC	 P5,3
	BS	 P6,0
	BC	 P6,6
	JMP	HCQ
HCQ8:		 
	JBS	BZ,2
	JMP	HCQ9
	BS	 P5,1
	BC	 P5,2
	BS	 P5,3
	BS	 P6,0
	BC	 P6,6
	JBC	BD,0
	JMP	HCQ
	BS	 P5,1
	BS	 P5,2
	BS	 P5,3
	BS	 P6,0
	BS	 P6,6
	JMP	HCQ
HCQ9:		 
	JBS	BZ,3
	JMP	HCQ10
	BC	 P5,1
	BS	 P5,2
	BS	 P5,3
	BS	 P6,0
	BC	 P6,6
	JBC	BD,1
	JMP	HCQ
	BS	 P5,1
	BS	 P5,2
	BS	 P5,3
	BS	 P6,0
	BS	 P6,6
	JMP	HCQ
HCQ10:
	BS	 P5,1
	BS	 P5,2
	BS	 P5,3
	BC	 P6,0
	BS	 P6,6
	JMP	HCQ
;*******************************
DELAY100MS:
	MOV	A,@20
	MOV	0X13,A
DEL0:
	MOV	A,@200
	MOV	0X14,A
DEL1:
	NOP
	NOP
	NOP

	CALL   DELAY100MS	NOP
	NOP
	NOP
	NOP
	NOP
	DJZ	0X14
	JMP	DEL1
	DJZ	0X13
	JMP	DEL0
	RET	
;*******************************
DELAY1S:
	MOV	A,@10
	MOV	0X13,A
DEL2:
	MOV	A,@50
	MOV	0X14,A
DEL3:
	MOV	A,@200
	MOV	0X15,A
DEL4:
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	DJZ	0X15
	JMP	DEL4
	DJZ	0X14
	JMP	DEL3
	DJZ	0X13
	JMP	DEL2
	RET	
;*******************************
SUBSUB:
	MOV	A,@0
	MOV	SUBG,A
	MOV	SUBD,A
	MOV	SUBX,A
	MOV	A,BASEG
	MOV	DATA0,A
	MOV	A,BASED
	MOV	DATA1,A
	MOV	A,DATAG
	MOV	DATA2,A
	MOV	A,DATAD
	MOV	DATA3,A
;************************
	BC	 PSW,2
	BC	 PSW,0
	MOV	A,DATA2
	SUB	A,DATA0
	MOV	SUBG,A
	JBC	PSW,2
	JMP	SUB0
;************************
	JBS	PSW,0
	JMP	SUB2
	BC	 PSW,0
	MOV	A,DATA3
	SUB	A,DATA1
	MOV	SUBD,A
	JBS	PSW,0
	DEC	DATA0
	MOV	A,DATA2
	SUB	A,DATA0
	MOV	SUBG,A	
	RET
SUB0:				;DATA0=DATA2
	BC	 PSW,2
	BC	 PSW,0
	MOV	A,DATA3
	SUB	A,DATA1
	MOV	SUBD,A
	JBC	PSW,0
	JMP	SUB1
	COM	SUBD
	MOV	A,@1
	ADD	SUBD,A
	MOV	A,@1
	MOV	SUBX,A
	RET
;*************************
SUB1:
	MOV	SUBD,A
	RET
;*************************
SUB2:
	BC	 PSW,0
	MOV	A,DATA1
	SUB	A,DATA3
	MOV	SUBD,A
	JBS	PSW,0
	DEC	DATA2
	MOV	A,DATA0
	SUB	A,DATA2
	MOV	SUBG,A
	MOV	A,@1
	MOV	SUBX,A
	RET	
;*******************************
TCCINT:
	;MOV	ACC,A
;	MOV	A,PSW
;	MOV	0X1F,A
	BC	 ISR,0
	INC	TCC1
;	MOV	A,0X1F
	;MOV	PSW,A
;	MOV	A,ACC
	RETI		
;*******************************
	END
	
	














⌨️ 快捷键说明

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