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

📄 id-15.asm

📁 ID-15 读卡器的读写资料,很古老,但很实用
💻 ASM
字号:
GP8_DATA0	EQU	P1.7
GP8_DATA1	EQU	P1.6
ADDR_1		EQU	30H
EVEN_CHECK	EQU	00H
ODD_CHECK	EQU	01H
EVEN_FLAG	EQU	02H
TIME_OUT_FLAG	EQU	03H
	ORG	800BH
	LJMP	TIMER0_IN
	ORG	80F0H
WIEGAND_START:
	SETB P1.3
	MOV  TMOD,#01H
	SETB EA
	SETB EVEN_FLAG
	CLR	 TIME_OUT_FLAG
	MOV	 R2,#6
	MOV  R3,#4
	MOV  R0,#ADDR_1
WIEGAND1:	
	JNB	 GP8_DATA0,WIEGAND2
	JB   GP8_DATA1,WIEGAND1
	JB   TIME_OUT_FLAG,ERR
	MOV	 TH0,#0F8H
	MOV	 TL0,#30H
	CLR	 TIME_OUT_FLAG
	SETB TR0
	LCALL DELAY25US
	MOV	  C,GP8_DATA0 
	LCALL DELAY175US
	JNB	  GP8_DATA1,ERR
	LJMP  WIEGAND3
WIEGAND2:	
	NOP
	JB	 TIME_OUT_FLAG,ERR
	MOV	 TH0,#0F8H
	MOV	 TL0,#30H
	CLR	 TIME_OUT_FLAG
	SETB TR0
	LCALL  DELAY25US
	MOV	   C,GP8_DATA0
	LCALL  DELAY175US
	JNB	   GP8_DATA1,ERR
WIEGAND3:
	JNB	 EVEN_FLAG,WIEGAND_DATA
	MOV	 EVEN_CHECK,C
	CLR	 EVEN_FLAG
	LJMP WIEGAND1
WIEGAND_DATA:	
	RLC 	A
	DJNZ 	R3,WIEGAND1
	ANL 	A,#00001111B
	MOV 	@R0,A
	INC 	R0
	MOV 	R3,#4
	DJNZ 	R2,WIEGAND1
ODD:
	JNB 	GP8_DATA0,ODD_BIT
	JB  	GP8_DATA1,ODD
ODD_BIT:
	NOP
	LCALL 	DELAY25US
	MOV		C,GP8_DATA0
	MOV 	ODD_CHECK,B
	NOP
	CPL	P1.3
	LJMP	WIEGAND_START; 读完	 

DELAY25US:
	MOV 	R4,#11
 D1:DJNZ	R4,D1
 	NOP
	RET
DELAY175US:
	MOV 	R4,#86
 D2:DJNZ 	R4,D2
 	NOP
	RET
TIMER0_IN:
	SETB	TIME_OUT_FLAG
	CLR TR0
	RETI  
ERR:
	NOP	 
	LJMP 	WIEGAND_START  
END

⌨️ 快捷键说明

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