水电电工知识
电工技术|单片机键盘程序设计小结
2017-05-26  浏览:72
水电之家讯:在图示电路中,用 P1 口接一个 4 X 4 键盘。设: SO-S9 为数字键,键值为 0-9 ,用于向单片机系统输入数据; S10-S15 为命令键,键值为 A-F ,用于对计算机系统送操作命令;每键只 1 个功能;行线接 P1 口的高 4 位;列线接 P1 口的低 4 位。

(1)键盘扫描子程序

KEY: MOV A, #0F 0H

MOV P1,A

XRL A,P1

JZ KEYR ;无键按下返回

ACALL DELAY ;延时去抖动

MOV 30H,P1 ;读闭合键行位置

MOV P1,#0FH ;反转

MOV A,P1 ;读闭合键列位置

ORL 30H,A ;合成键盘位置码

LOOP: MOV A,P1 ;等待键释放

XRL A, #0FH

JNZ LOOP

ACALL DELAY ;延时去抖动

KEYR : RET

(2)键值转换

键盘矩阵中各键的位置码的特点是:对应该键行、列的位为“ 0 ” ,其他各位均为“ 1 ” 。例如: S7 键的位置码是: 11010111B = 0D7H ; S12 键的位置码是: 01111110B = 7EH 。将各键的位置码顺序排列成键值表,用查表法进行键值转换。

键值转换子程序

TRAN: MOV DPTR,#KEYTAB ; DPTR 指向键值表

MOV R2,#0 ;键值初值送 R2

MOV R3,#10H ;循环次数送 R3

LOOPT: MOV A,R2

MOVC A, @A+DPTR ;读键值表

XRL A,30H ;与位置码比较

JZ KTR ;相等返回,键值在 R2 中

INC R2 ;键值 +1

DJNZ R3,LOOPT

KTR: RET ;若返回时 R2=10H 为错

KEYTAB: DB 0EEH,0EDH,0EBH,0E7H ;键值表

DB 0DEH,0DDH,0DBH,0D7H

DB 0BEH,0BDH,0BBH,0B7H

DB 7EH,7DH,7BH,77H

水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/
更多»您可能感兴趣的文章:
更多»有关 管件 的产品:
  • 水电电工资讯
  • 发表评论 | 0评
  • 评论登陆
  • 移动社区 天花之家 木门之家 灯具之家 铁艺之家 幕墙之家 五金头条 楼梯头条 墙纸头条 壁纸头条 玻璃头条 老姚之家 灯饰之家 电气之家 全景头条 照明之家 防水之家 防盗之家 区快洞察 建材 枣庄建材 临沂建材 南昌建材 上饶建材 抚州建材 宜春建材 吉安建材 赣州建材 鹰潭建材 新余建材 九江建材 萍乡建材 景德镇陶瓷 石家庄建材 衡水建材 廊坊建材 沧州建材 承德建材 建材之家 企业之家 720全景
    (c)2015-2017 BYBC.CN SYSTEM All Rights Reserved