6-2.asm

来自「本文件提供各种驱动程序和汇编代码,包括温度芯片驱动等等.」· 汇编 代码 · 共 38 行

ASM
38
字号
;按键扫描程序

SCAN:	MOV	A,#0FH
			MOV	P1,A
			MOV	A,P2
			ANL		A,#0FH
			CJNE		A,#0FH,NEXT1			;有键按下,则转到NEXT1
			SJMP		NEXT4
;----------------------------------------
NEXT1:	CLR		P0.1
			SETB		P0.0
			ACALL	DS20MS				;延时20 ms,去抖动
			CLR		C
			MOV	R2,#00H					;窜键标志寄存器R2清0
			MOV	R1,#01H					;行扫描初值送R1
LOOP:	MOV	A,R1
			MOV		P1,A					;行扫描值送P1
			MOV	A,P2						;列值送A
			ANL		A,#0FH
			CJNE		A,#0FH,NEXT2			;若按键在本行,则NEXT2
			SJMP		NEXT3
;--------------------------------------------
NEXT2:	INC		R2
			CJNE		R2,#01H,NEXT4		;若窜键,则返回主程序
			MOV	R4,A
			MOV	A,R1
			MOV	R3,A
;---------------------------------------------
NEXT3:	MOV	A,R1						;行扫描值送A
			CLR		C
			RLC		A
			MOV	R1,A
			CJNE		A,#10H,LOOP
			AJMP		KCODE
;---------------------------------------------
NEXT4:	CLR		A
			AJMP		MAIN

⌨️ 快捷键说明

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