7.单片机实验板矩阵键盘的实现

单片机实验板矩阵键盘的实现

题目重述

矩阵键盘

实验连线如图所示,编程实现按键控制极数码管。即按下按键K1-K16,数码管显示0-F。

问题分析以及求解思路

待完善(请耐心等待)

程序代码

ORG 0000H
BEG: 
     ;MOV P2,#00000100B
	; MOV P0,#0FH
	 ;LCALL DELAY
	 ;LJMP BEG



LLL: MOV P1,#0F0H
	 MOV A,P1
	 CJNE A,#0F0H,WLL
	 SJMP LLL
WLL: JNB ACC.4,H1
     JNB ACC.5,H2
	 JNB ACC.6,H3
	 JNB ACC.7,H4

CLL: MOV P1,#0FH
	 MOV A,P1
	 CJNE A,#0FH,PLL
	 SJMP CLL
PLL: JNB ACC.0,L1
     JNB ACC.1,L2
	 JNB ACC.2,L3
	 JNB ACC.3,L4

LIGHT:MOVC A,@A+DPTR
      MOV P0,A

	  LJMP	LLL
 

H1: MOV DPTR,#TAB4
    LJMP CLL

H2: MOV DPTR,#TAB3
    LJMP CLL

H3: MOV DPTR,#TAB2
    LJMP CLL

H4: MOV DPTR,#TAB1
    LJMP CLL

L1: MOV A,#3
    LJMP LIGHT

L2: MOV A,#2
    LJMP LIGHT
	 
L3: MOV A,#1
    LJMP LIGHT

L4: MOV A,#0
    LJMP LIGHT

DELAY:  MOV R5,#10
START:MOV R6,#100
NEXT1:MOV R7,#250
NEXT2:DJNZ R7,NEXT2
      DJNZ R6,NEXT1
	  DJNZ R5,START
	  RET

TAB1:DB 00111111B,00000110B,01011011B,01001111B
TAB2:DB 01100110B,01101101B,01111101B,00000111B
TAB3:DB 01111111B,01101111B,01110111B,01111100B
TAB4:DB 00111001B,01011110B,01111001B,01110001B


	END

猜你喜欢

转载自blog.csdn.net/weixin_44108271/article/details/112991756