单片机矩阵式键盘的编程方法

时间:2023-03-11来源:佚名
  单片机系统中,若使用按键较多时,通常采用矩阵式(也称行列式)键盘。
  1.矩阵式键盘的结构及原理
  矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上,其结构如图所示。
由图可知,一个 4 × 4 的行、列结构可以构成一个含有 16 个按键的键盘,显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多 I/O 口。

单片机矩阵式键盘的编程方法

  矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+ 5V 上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。然而,矩阵键盘中的行线、列线和多个键相连,各按键按下与否均影响该键所在行线和列线的电平,各按键间将相互影响,因此,必须将行线、列线信号配合起来作适当处理,才能确定闭合键的位置。
  2.矩阵式键盘按键的识别
  识别按键的方法很多,其中,最常见的方法是扫描法。下面以图中 8 号键的识别为例来说明扫描法识别按键的过程。
   按键按下时,与此键相连的行线与列线导通,行线在无键按下时处在高电平。显然,如果让所有的列线也处在高电平,那么,按键按下与否不会引起行线电平的变化,因此,必须使所有列线处在低电平。只有这样,当有键按下时,该键所在的行电平才会由高电平变为低电平。 CPU 根据行电平的变化,便能判定相应的行有键按下。 8 号键按下时,第 2 行一定为低电平。然而,第 2 行为低电平时,能否肯定是 8 号键按下呢?
   回答是否定的,因为 9 、 10 、 11 号键按下,同样会使第 2 行为低电平。为进一步确定具体键,不能使所有列线在同一时刻都处在低电平,可在某一时刻只让一条列线处于低电平,其余列线均处于高电平,另一时刻,让下一列处在低电平,依此循环,这种依次轮流每次选通一列的工作方式称为键盘扫描。采用键盘扫描后,再来观察 8 号键按下时的工作过程,当第 0 列处于低电平时,第 2 行处于低电平,而第 1 、 2 、 3 列处于低电平时,第 2 行却处在高电平,由此可判定按下的键应是第 2 行与第 0 列的交叉点,即 8 号键。
  3.键盘的编码
  对于独立式按键键盘,因按键数量少,可根据实际需要灵活编码。对于矩阵式键盘,按键的位置由行号和列号惟一确定,因此可分别对行号和列号进行二进制编码,然后将两值合成一个字节,高 4 位是行号,低 4 位是列号。如图 7.5 中的 8 号键,它位于第 2 行,第 0 列,因此,其键盘编码应为 20H 。采用上述编码对于不同行的键离散性较大,不利于散转指令对按键进行处理。因此,可采用依次排列键号的方式对按排进行编码。以图 7.5 中的 4 × 4 键盘为例,可将键号编码为: 01H 、 02H 、 03H 、 … 、 0EH 、 0FH 、 10H 等 16 个键号。编码相互转换可通过计算或查表的方法实现。
  4.键盘的工作方式
  对键盘的响应取决于键盘的工作方式,键盘的工作方式应根据实际应用系统中 CPU 的工作状况而定,其选取的原则是既要保证 CPU 能及时响应按键操作,又不要过多占用 CPU 的工作时间。通常,键盘的工作方式有三种,即编程扫描、定时扫描和中断扫描。
  编程扫描方式
  编程扫描方式是利用 CPU 完成其它工作的空余时间,调用键盘扫描子程序来响应键盘输入的要求。在执行键功能程序时, CPU 不再响应键输入要求,直到 CPU 重新扫描键盘为止。
键盘扫描程序一般应包括以下内容:
  (1) 判别有无键按下。
  (2) 键盘扫描取得闭合键的行、列值。
  (3) 用计算法或查表法得到键值。
  (4) 判断闭合键是否释放,如没释放则继续等待。
  (5) 将闭合键键号保存,同时转去执行该闭合键的功能。

    相关阅读

    一个电气工程师的工作经验分享

    学工控技术,拿10万年薪 马上注册,免费学习 超过100课时视频教程,免费下载海量学习资料 根据从事几年的电气工程师,来这里谈谈对电气工程师这个岗位的职责到底是什么,(píng)常...
    2023-06-27

    10kv真空开关的检修要点

    1、真空泡真空度的检测 (1)将开关管两触头拉至额定开距,逐渐增大触头间的工频电压,若能承受额定工频耐压1min即为合格。10kv真空开关管的额定工频耐压为42kv。试验时,如发现真...
    2023-03-21

    我,初中毕业,工厂打螺丝工,如今逆袭年入50w,有车有房

    “流水线的生活枯燥无味,每天日复一日地工作,就连上厕所也要跟线长报备。要想拿的工资高必须要拼命,否则只有3000大洋左右。这都我无所谓,我最不能接受的这重复而又单调的生...
    2023-04-04
    我,初中毕业,工厂打螺丝工,如今逆袭年入50w,有车有房

    电气控制柜怎样看线号接线?电气线路接线编号方法

    所说的编号,是指特定的某一个回路上的标记符号。标记符号的目的,是为了安装接线和维护检修时看图方便,需要对每一个回路进行标记,用来表明各个回路之间的关系。 一、编号的...
    2023-06-27
    电气控制柜怎样看线号接线?电气线路接线编号方法

    静电竟然会引起爆炸!教你5个小妙招,不做“闪电侠”!

    前不久,浙江一位老人在厨房里忙碌时,身上穿的羽绒服突然爆炸! 后来经调查发现,原来......老人家里的煤气泄漏,他穿的羽绒服又产生了静电,当静电遇上煤气,就产生了爆炸!...
    2023-06-11
    静电竟然会引起爆炸!教你5个小妙招,不做“闪电侠”!

    热销商品

    加厚abs安全帽电工建筑工地程施工领导监理透气防砸头盔可印字V型

    这款加厚ABS安全帽专为电工、建筑工地施工人员、领导及监理设计,采用高强度ABS工程塑料,抗冲击、防砸性能优异,有效保障头部安全。帽体加厚设计,增强耐用性与防护等级...
    5.8

    水口钳高硬度模型剪钳电子钳工业级口水剪斜嘴钳偏口斜口专用钳子

    水口钳高硬度模型剪钳是一款工业级精密工具,专为电子、模型制作及精细作业设计。采用优质高碳钢材质,经热处理工艺打造,具备卓越的硬度和耐磨性,可轻松剪切金属引脚、...
    4.8

    170电子剪钳II 如意斜口钳 工业斜嘴钳水口钳 模型剪塑胶钳尖嘴钳

    170电子剪钳II如意斜口钳是一款专业级精密工具,集工业斜嘴钳、水口钳、模型剪、塑胶钳与尖嘴钳功能于一体,适用于电子维修、模型制作、手工艺及精密作业。其采用优...
    4.5

    安全帽国标工地加厚施工领导透气安全头盔建筑工程监理免费印字

    本款安全帽严格遵循国家GB 2811-2019标准,专为建筑工程、工地施工及监理人员设计。采用高强度ABS工程塑料,加厚壳体有效抗冲击,保障头部安全。帽体轻盈透气,内置可调...
    10

    包邮三角型简易螺丝刀三角十字螺丝刀螺丝批改锥起子五金工具5mm

    这款5mm三角型简易螺丝刀,专为拧紧或拆卸三角形螺丝设计,适用于电子维修、家电维护及精密仪器装配等场景。采用优质合金钢材质,刀头硬度高、耐磨损,确保长久使用不变...
    3.64

    网站栏目