如题六图键盘电路编写8255初始化程序和键值读取程序,并将键值序号在LED七段数码管显示出...来

如题六图键盘电路编写8255初始化程序和键值读取程序,并将键值序号在LED七段数码管显示出...来,第1张

仅供参考:

CODE如下:

DATA SEGMENT

TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,7FH,6FH 预置显示值

BUFFER DB ? 预留一个字节装键值

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA 初始化 *** 作

MOV DS,AX

SET: MOV DX,206H初始化8255

MOV AL,89H

OUT DX,AL

WAIT-IN: MOV AL,00H检测按键所有行输出0

MOV DX,2048255的 C口地址

OUT DX,AL

IN AL,DX读列线

AND AL,70H

CMP AL,70H比较是否有按键按下

JZ WAIT-IN无就等桐薯待

DONE: CALL DAELAY延时消除抖动

MOV BL,0键号初始值为0

MOV CL,0FEH扫描初始值

MOV DL,3计数值行数

SCANR: MOV AL,CL扫描一行

MOV DX,204HC口地址

OUT DX,AL

ROL AL,1修改行数

MOV CL,AL

IN AL,DX读列数

AND AL,70H

CMP AL,70H 判断列线状态

JNZ SCANL有低转

ADD BL,3没有使键号=键号值+列数

DEC DL

JNZ SCANR行未完衫亩转

JMP HANDLE扫描结束

SCANL: OR AL,0FH高位置1,避免出错

RCR AL,1

JNC HANDLE列为低,确定按键值

INC BL

JMP SCANL查找下一列

HANDLE MOV AL,BL传按键

MOV BX,OFFSET TABLE段码表首址

XLAT

MOV DX,200H A口地或轮森址

OUT DX,AL送段码

CALL DELAY

MOV AH,04H

INT 21H

CODE ENDS

END STATRT

2*2矩升拆阵键盘是不培笑谨是接P1.0~P1.3,配基程序如下:

KEYS:

MOV P1,#0FH

KEYS1:

CLR P1.0

SETB P1.1

JB P1.2,KEYS11

MOV A,#1

RET

KEYS11:

JB P1.3,KEYS2

MOV A,#2

RET

KEYS2:

SETB P1.0

CLR P1.1

JB P1.2,KEY21

MOV A,#3

RET

KEY21:

JB P1.3,KEYN

MOV A,#4

RET

KEYN:

MOV A,#0

RET


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8234732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存