赞
踩
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
汇编语言源程序:
LINE EQU 30H
ROW EQU 31H
VAL EQU 32H
ORG 00H
START: MOV DPTR,#TABLE ;段码表首地址
MOV P2,#00H ;数码管显示初始化
LSCAN: MOV P3,#0F0H ;列线置高电平,行线置高电平
L1: JNB P3.0,L2 ;逐行扫描
LCALL DELAY
JNB P3.0,L2
MOV LINE,#00H ;存行号
LJMP RSCAN
L2: JNB P3.1,L3
LCALL DELAY
JNB P3.1,L3
MOV LINE,#01H ;存行号
LJMP RSCAN
L3: JNB P3.2,L4
LCALL DELAY
JNB P3.2,L4
MOV LINE,#02H ;存行号
LJMP RSCAN
L4: JNB P3.3,L1
LCALL DELAY
JNB P3.3,L1
MOV LINE,#03H ;存行号
RSCAN: MOV P3,#0FH ;行线列线电平互换
C1: JNB P3.4,C2 ;逐列扫描
MOV ROW,#00H ;存列号
LJMP CALCU
C2: JNB P3.5,C3
MOV ROW,#01H ;存列号
LJMP CALCU
C3: JNB P3.6,C4
MOV ROW,#02H ;存列号
LJMP CALCU
C4: JNB P3.7,C1
MOV ROW,#03H ;存列号
CALCU: MOV A,LINE ;根据行号和列号计算键值
MOV B,#04H
MUL AB
ADD A,ROW
MOV VAL,A ;存键值
MOVC A,@A+DPTR ;要据键值查段码
MOV P2,A ;输出段码显示
LJMP LSCAN
DELAY: MOV R6,#20
D1: MOV R7,#250
DJNZ R7,$
DJNZ R6,D1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。