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

📄 键盘显示4位数.asm

📁 单片机控制键盘和led
💻 ASM
字号:

main:
	mov	70h,	#16
	mov	71h,	#16
	mov	72h,	#16
	mov	73h,	#16
	mov	r0,	#5		;显示单元位数+1
kaishi:	
	lcall	keybord
	lcall	shuchuli
	lcall	display
	ajmp	kaishi 
;---------------键盘扫描程序---------------------------------------------------------
keybord:		
	acall	ks
	jnz	k_1
	lcall	display
	ljmp	keybord
k_1:	
	lcall	display
	acall	ks	
	jz	keybord
k_2:	
	mov	r5,	#00h		;行初值
	mov	r4,	#0feh		;逐行扫描初值
;------------------有键按下时-------
key:	
	mov	p1,	r4		;逐行扫描	
	mov	a,	p1		;读入列值
	anl	a,	#0f0h		;屏蔽行
key0:	
	jb	acc.4,	key1		;检测第一列
	mov	a,	#0	
	ljmp	knum			;有键按下
key1:
	jb	acc.5,	key2		;检测第二列
	mov	a,	#1
	ljmp	knum			;有键按下
key2:
	jb	acc.6,	key3		;检测第三列
	mov	a,	#2	
	ljmp	knum			;有键按下
key3:
	jb	acc.7,	next		;检测第四列
	mov	a,	#3		;有键按下

knum:	add	a,	r5
	push	acc
halt:	acall	delay
	acall	ks
	jnz	halt
	pop	acc		
	ret
next:	

	mov	a,	r5
	add	a,	#4		;扫描下一行
	mov	r5,	a

	mov	a,	r4
	jnb	acc.3,	keybord		;检测是否溢出
	rl	a
	mov	r4,	a
	ljmp	key
;-------------判断有无键按下-------

ks:	mov	p1,	#0f0h		;检测是否有键按下
	nop
	mov	a,	p1
	anl	a,	#0f0h
	cpl	a
	anl	a,	#0f0h
	ret
;----------------------延时2s------
delay:	mov	r6,	#4h		;延时2s
	mov	r7,	#250
loop:	djnz	r7,	$
	djnz	r6,	loop
	ret
;--------------------显示程序--------------------------------------------
display:
 	mov 	dptr,	#table     ;查表显示
	mov 	r1,	#70h
	MOV	R2,	#0EFH
	MOV	R3,	#4
play:
        mov  	a,	@r1
	movc 	a ,	@a+dptr
	mov 	p0,	a
	mov 	p2,	r2
	acall 	delay
	inc 	r1
	mov	a,	r2
	rl 	a
	mov 	r2,	a
	djnz 	r3,	play
	acall	ks
	jz	display
   	ret
;------------------数据处理程序---------------------------------------------
shuchuli:
	djnz	r0,	shuchuan		;判断显示单元是否存满	
	mov	r0,	#4
	mov	73h,	#16
	mov	72h,	#16
	mov	71h,	#16
	mov	70h,	a
	ret
	
shuchuan:
	mov	73h,	72h
	mov	72h,	71h
	mov	71h,	70h
	mov	70h,	a
	
	ret
	
;--------------------LED段码表-----------------------------------------------------------
   
table:
	   db   0c0h,	0f9h,	0a4h,	0b0h,	99h,	92h,	82h,	0f8h,	80h,	90h	
	   db	88h,    83h,	0c6h,	0a1h,	86h,	8eh,	0ffh
;----------------------结束程序---------------------------------------------------------

	end

⌨️ 快捷键说明

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