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

本文详细介绍了51单片机如何通过行列扫描方法检测矩阵键盘,包括按键抖动处理、键值确定过程,并提供了一个简单的软件流程图。通过实例分析了第二行S5键被按下时的处理方式,强调了在确定键值时行线和列线的交替设置。此外,还提及了51单片机综合学习系统丰富的资源,适合进行更多实验学习。
摘要由CSDN通过智能技术生成

4636366a197e8cba6b37eeb911b55cd7.gif

根据电路原理图,键盘扫描方法是:行线P1O~P13为输出线,列线P14~P17为输入线。一开始单片机将行线(P1O-P13)全部输出低电平,此时读入列线数据,若列线全为高电平说明没有键接下,若有列线为低电平则调用延时程序来去除按键抖动。延时后再读入列线看是否有低电平,如果列线数据还是有低电平,说明确实有键接下,接下来便是确定键值。下面以第二行的S5键为例,看接下S5后我们应该怎么得到这个键值。当判定确实有键接下之后,将行线轮流置为低电平,根据读入列线的数据可以确定键值。首先,单片机将P1O置为低电平,P11~P13置为高电平,此时读出的列线数据全为高电平,说明第一行没有键接下;接着单片机将P11输出低电平,P1O、P12、P13置为高电平,再读列线数据,此时的列线数值为1011(OxOB),即P11与P15交叉点上的按键S5被接下,而OxOB就代表S5的键值了。转到S5键功能处理子程序就可以达到目的。

183d749d7360e64948b16e13eafdbc01.png

2.程序流程

软件流程图如下图所示。51单片机综合学习系统资源丰富,板内有:8位LED数码管、32路LED、4x4矩阵键盘、4个直控按键盘、蜂鸣器喇叭、继电器试验、I2C总线接口、SPI总线接口、l60x液晶、l28x64液晶、红外接收头接口、支持PS/2接口的104键标准键盘、步进电机驱动接口、ADCO832模/数转换接口、PC817光电耦合器、串行时钟芯片DSl302、温度传感器DSl8B2O按口、RS232串口通讯、外扩展接口等,可以方便地接更多的实验资源。

44736474939addbaaa3b3ecfcf197916.png

3. 软件代码

相关的软件代码如下:

/* 矩阵键盘测试程序*/

b37621ec7d60b9210e84c5fb3c28d499.png

b0fbf1e9ef6fef7c9b333821ffc46cb3.png

6a58dcf70d52df39f3b7677fa1a4e422.png

25f3d19c9fab7559767d0d20b2863e50.png

为了方便大家更好的学习,您还可以关注畅学电子和EDA的公众号,每天推送相关知识,希望能对你的学习有所帮助!

162d2cdd16eaec2af7eb8c4e860fd27b.png

cfa63d3ab042f10eb1bb0015eea33f2b.png

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值