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

📄 key.dt

📁 键盘扫描程序 台湾义隆EMC汇编,程序后缀DT C0-C3 R0-R5 4*6键扫
💻 DT
字号:

KMask	equ 0x3c

KHF	==0x10
KResend	==0x11
KFlash	==0x12
KCid	==0x13
KUp	==0x14
KDown	==0x15
KDel	==0x16
KSearch	==0x17
KSet	==0x18
KHold	==0x19
KEnter	==0x1a
KWrite	==0x1b



KR	==0x13
KAdd0	==0x17
KPause	==0x18
KCBack	==0x19
KVol	==0x1b
KCount	==0x1d
KCalc	==0x1f
KIP1	==0x40
KIP2	==0x41
KMemo	==0x60
KM1	==0x61
KM2	==0x62
KM3	==0x63


i var vTemp0
j var vTemp1
k var vTemp3
keyScan:
	mov	a,@0x3
	and	p6,a
	ior	p6
	and	a,@3
	iow	p6
	
	ior	p7
	or	a,@KMask
	iow	p7

	coma	p7
	and	a,@KMask
	clrc
	skpnz
	ret

	setc
	jbc	flag,fKeyUse
	ret
keyScanIn:
	mov	a,@0xf0
	or	0xa,a

	mov	a,@0x7f
	mov	i,a
	clr	j
	kScanLoop:
		ior	p6
		or	a,@0xfc
		and	a,i
		iow	p6
		
		mov	a,@KMask
		or	p7,a
		ior	p7
		and	a,@0xff^KMask
		iow	p7
		or	a,@KMask
		iow	p7
		
		mov	a,@256-40/4 
		add	a,@1
		skpc
		jmp	$-2

		coma	p7
		and	a,@KMask
		skpz
		jmp	ksKeyin

		mov	a,@4
		add	j,a

		setc
		rrc	i
		jbc	i,1
		jmp	kScanLoop

		call	ksPreEnd
		clrc
		ret
	ksKeyin:
	mov	i,a
	call	ksPreEnd

	kskLoop:
		inc	j
		rlc	i
		jbs	i,6
		jmp	kskLoop
	deca	j
	call	keyConv
	setc
	ret

keyConv:
	add	a,@256-24
	skpnc
	retl	0
	add	a,@24
	tbl
	TableStart
	retl	3
	retl	6
	retl	KHF
	retl	KEnter
	
	retl	2
	retl	9
	retl	KSet
	retl	KDown
	
	retl	1
	retl	11
	retl	KDel
	retl	KUp
	
	retl	4
	retl	8
	retl	KSearch	
	retl	KHold
	
	retl	7
	retl	5
	retl	KCid
	retl	KFlash
	
	retl	10
	retl	0
	retl	KWrite
	retl	KResend
	TableEnd
	
ksPreEnd:
	mov	a,@0x3
	and	p6,a
	ior	p6
	and	a,@3
	iow	p6
	ret

getDioParm:
	clrc
	bc	flag,fKeyUse
	ret
	
waitKey:
i var vTemp0
j var vTemp1
k var vTemp2
	mov	k,a
	bc	0xa,6
	wkeyLoop:
		wdtc
		
		mov	a,@256-326/4
		add	a,@1
		skpc
		jmp	$-2

		coma	p7
		and	a,@kMask

		clrc
		skpnz
		jmp	wkExit

;		fcall	watchInt
		
		djz	k
		jmp	wkeyLoop
		setc
	wkExit:
	bs	0xa,6
	ret
	

⌨️ 快捷键说明

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