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

📄 89c52.asm

📁 用于数控摇杆控制手持式控制器
💻 ASM
字号:
	ORG 	0000H
	MOV	A,#000H
	MOV	R0,#00H
	MOV	R5,#00H
	MOV	R4,#00H
START:	MOV	P1,#0FFH
	MOV	P1,#00FH
	MOV	A,P1
	ANL	A,#00FH
	CJNE	A,#00FH,PRO1
	SJMP	START
PRO1:	LCALL	DELAY10
	MOV	A,P1
	ANL	A,#00FH
	CJNE	A,#00FH,PRO2
	SJMP	START
PRO2:	MOV	R7,A	;取出行值
	MOV	P1,#0F0H
	MOV	A,P1
	ANL	A,#0F0H	;取出列值
	MOV	R6,A
	ORL	A,R7	;读取键盘值
	MOV	P1,#00FH;作为键释放判断的
;WAIT:	CJNE	R6,#0F0H,WAIT
KEY0:	CJNE	A,#0EEH,KEY1
	JB	P0.6,START
	SETB	P3.6
	CLR	P3.7
	LJMP	START
KEY1:	CJNE	A,#0DEH,KEY2
	JB	P0.6,K1J
	CJNE	R5,#00H,K1J
RETLNK:	SETB	P0.0
	CLR	P0.1
	CLR	P0.2
	SETB	P0.3
	MOV	R4,#01H
K1J:	LJMP	START
KEY2:	CJNE	A,#0BEH,KEY3
	JB	P0.6,K2J
	INC	R0
	JNB	P3.3,$
	CJNE	R0,#04,PROKEY
	MOV	R0,#00H
PROKEY:	CJNE	R0,#00,SAT1
	CLR	P0.4
	CLR	P0.5
	SJMP	K2J
SAT1:	CJNE	R0,#01,SAT2
	CLR	P0.4
	SETB	P0.5
	SJMP	K2J	
SAT2:	CJNE	R0,#02,SAT3
	SETB	P0.4
	CLR	P0.5
	SJMP	K2J
SAT3:	CJNE	R0,#03,K2J
	SETB	P0.4
	SETB	P0.5
K2J:	LJMP	START
KEY3:	CJNE	A,#07EH,KEY4
	JB	P0.6,K3J
	SETB	P0.0
	SETB	P0.1
	CLR	P0.2
	CLR	P0.3
	MOV	R5,#00H
K3J:	LJMP	START
KEY4:	CJNE	A,#0EDH,KEY5
	JB	P0.6,K4J
	SETB	P3.7	
	CLR	P3.6
K4J:	LJMP	START
KEY5:	CJNE	A,#0DDH,KEY6
	JB	P0.6,K5J
	CJNE	R5,#00H,K5J
	CLR	P0.0
	SETB	P0.1
	CLR	P0.2
	SETB	P0.3
K5J:	LJMP	START
KEY6:	CJNE	A,#0BDH,KEY7
	JB	P0.6,K6J
	CJNE	R5,#00H,K6J
	CLR	P0.0
	SETB	P0.1
	SETB	P0.2
	CLR	P0.3
	LCALL	FLASH
K6J:	LJMP	START
KEY7:	CJNE	A,#07DH,KEY8
	JB	P0.6,K6J
	CLR	P0.0
	SETB	P0.1
	CLR	P0.2
	CLR	P0.3
	MOV	R5,#00H
K7J:	LJMP	START
KEY8:	CJNE	A,#0EBH,KEY9
	SETB	P0.6
	SETB	P3.6
	SETB	P3.7
	CLR	P0.7
UNLOCK:	SETB	P0.0
	SETB	P0.1
	SETB	P0.2
	SETB	P0.3
	MOV	R5,#00H
	LJMP	START
KEY9:	CJNE	A,#0DBH,KEY10
	JB	P0.6,K9J
	CJNE	R5,#00H,K9J
	CLR	P0.0
	CLR	P0.1
	CLR	P0.2
	SETB	P0.3
K9J:	LJMP	START
KEY10:	CJNE	A,#0BBH,KEY11
	JB	P0.6,K10J
RETLCK:SETB	P0.0
	CLR	P0.1
	SETB	P0.2
	CLR	P0.3
	MOV	R5,#01H
K10J:	LJMP	START
KEY11:	CJNE	A,#07BH,KEY12
	JB	P0.6,K11J
	SETB	P0.0
	CLR	P0.1
	CLR	P0.2
	CLR	P0.3
	MOV	R5,#00H
K11J:	LJMP	START
KEY12:	CJNE	A,#0E7H,KEY13
	SETB	P0.7
	CLR	P0.6
	CJNE	R5,#00H,UNLOCK
	LJMP	START
KEY13:	CJNE	A,#0D7H,KEY14
	JB	P0.6,K13J
	CJNE	R5,#00H,K13J
	SETB	P0.0
	SETB	P0.1
	SETB	P0.2
	CLR	P0.3
K13J:	LJMP	START
KEY14:	CJNE	A,#0B7H,KEY15
	JB	P0.6,K14J
	CJNE	R5,#00H,K14J
	CLR	P0.0
	CLR	P0.1
	SETB	P0.2
	CLR	P0.3
	LCALL	FLASH
K14J:	LJMP	START
KEY15:	CJNE	A,#077H,K15J
	JB	P0.6,K15J
	CLR	P0.0
	CLR	P0.1
	CLR	P0.2
	CLR	P0.3
	MOV	R5,#00H
K15J:	LJMP	START	
DELAY10:MOV	R1,#10
LOOP:	MOV	R2,#248
	DJNZ	R2,$
	DJNZ	R1,LOOP
	RET
FLASH:	MOV	R3,#005H
SECOND:	LCALL	DELAY10
	DJNZ	R3,SECOND
	SETB	P0.0
	SETB	P0.1
	SETB	P0.2
	SETB	P0.3
	RET
	END

⌨️ 快捷键说明

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