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

📄 键盘扫描.asm

📁 关于ADUC841(51内核)的各种实验程序,有串口,ADC,DAC,PWM,的应用及基于ADUC841设计的万用表源程序
💻 ASM
字号:
$MOD841
	CLK81	BIT	0B5H
	DAT81	BIT	0B3H
	KEY	BIT	0B2H
	KEYVAL	EQU	30H
ORG	0000H
	LJMP	CHUSHI
CHUSHI:MOV	R0,#7FH
	CLR	A
QRAM:	MOV	@R0,A
	DJNZ	R0,QRAM
	LCALL   YS
INI8281:SETB	CLK81
	SETB	DAT81
       MOV	A,#12H
	ACALL	WTO81
	MOV	A,#80H
	LCALL	WTO81
MAIN:	JB	KEY,MAIN
	MOV	A,#93H
	LCALL	WTO81
	LCALL	RDKVAL
        MOV	A,#15H
	LCALL	WTO81
        MOV	A,KEYVAL
	ANL	A,#0F0H
	SWAP	A
	ORL	A,#10H
	LCALL	WTO81
        MOV	A,#15H
	LCALL	WTO81
	MOV	A,KEYVAL
	ANL	A,#0FH
	ORL     A,#20H
	LCALL	WTO81
	LJMP	MAIN
;*******************************
;*********************************
RDKVAL:CLR	CLK81
	LCALL	WAIT
	SETB	CLK81
	JB	DAT81,$
        CLR	CLK81
	LCALL	WAIT
	SETB	CLK81
       MOV	R6,#08H
RD1:
	LCALL	WAIT
       LCALL	WAIT
       LCALL	WAIT
       MOV	C,DAT81
	LCALL	WAIT
	RLC	A
       CLR	CLK81
	LCALL	WAIT
	SETB	CLK81
       DJNZ	R6,RD1
       MOV	KEYVAL,A
       RET
;*********************************
WTO81:	MOV	R6,#08H
WAT:	CLR	CLK81
	LCALL	WAIT
	SETB	CLK81
       JB	DAT81,WAT
       CLR	CLK81
	LCALL	WAIT
	SETB	CLK81
       JNB	DAT81,$
WTB81:	RLC	A
       MOV	DAT81,C
       CLR	CLK81
	LCALL	WAIT
	SETB	CLK81
       LCALL	WAIT
       LCALL	WAIT
       DJNZ	R6,WTB81
       SETB	DAT81
       RET

;*****************************
;*****************************
WAIT:  NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
       RET
YS:	MOV	R5,#00H
	MOV	R4,#50H
YS1:	DJNZ	R5,$
	DJNZ	R4,YS1
	RET
	END




⌨️ 快捷键说明

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