列线输入端子P1.0〜P1.3通过电阻连接到正电源,行线P1.4〜P1.7连接到I /单片机的O端口作为输出端子。将输入端设置为高电平,将输出端设置为低电平。这样,当不按任何键时,所有输入端子都不变,这意味着没有按键被按下。按下键后,在输出线的影响下将输入线下拉。这样,通过读取输入线的状态,可以知道是否按下了键。

行扫描方法也称为逐行(或列)扫描查询方法。它是最常用的密钥识别方法之一。键盘如上图所示。引入过程如下。

判断键盘上是否有按键,将所有行设置为低电平,然后检查列状态。只要一列的电平为低,就表示按下了键盘上的一个键,并且闭合键位于4个键中,其中低电平线与4行行交叉。如果所有列行都处于高电平,则无需在键盘中按任何键。

确定闭合键的位置在确认按下某个键之后,您可以进入确定特定闭合键的过程。方法是:依次将行线设置为低电平,即,当某行线设置为低电平时,其他行为高电平。在确定某一行线的位置为低电平之后,逐行检测每条列线的电平状态。如果某列为低,则设置为低的列线和行线的交点处的按钮为关闭的按钮。

1、矩阵键盘控制数字电子管移位显示

1.视频bilibili视频地址:MCU-矩阵键盘模块-长,短键和数字管显示-模块化编程模板2.文件代码文件下载地址:表示这段代码体现了思想模块化编程,并具有很多良好的可移植性。使用的知识点包括:矩阵键盘扫描,长和短键,键动作识别;数码管动态扫描,不显示数码管的高位;发光二极管;蜂鸣器;片内和片外RAM。 89C52:有8K闪存(存储程序.hex文件);有512BRAM(在程序运行期间存储临时数据的位置);分为

列线输入端子P1.0〜P1.3通过解密用电阻连接到正电源,行线P1.4〜P1.7连接到微控制器的I / O端口作为输出端。将输入端设置为高电平,将输出端设置为低电平。这样,当不按任何键时,所有输入端子都不变,这意味着没有按键被按下。按下键后,在输出线的影响下将输入线下拉。这样,通过读取输入线的状态,可以知道是否按下了键。

行扫描方法也称为逐行(或列)扫描查询方法。它是最常用的密钥识别方法之一。键盘如上图所示。引入过程如下。

将所有行线设置为低电平,然后检查列线的状态。只要一列的电平为低,就表示按下了键盘上的一个键,并且闭合键位于4个键中,其中低电平线与4行行交叉。如果所有列行都处于高电平,则无需在键盘中按任何键。

在确认按下某个键之后,您可以进入确定特定关闭键的过程。方法是:依次将行线设置为低电平,即,当某行线设置为低电平时,其他行为高电平。在确定某一行线的位置为低电平之后,逐行检测每条列线的电平状态。如果某列为低,则设置为低的列线和行线的交点处的按钮为关闭的按钮。

P3 = 0x0f; //确保P3.0〜P3.3是输入线,P3.4〜P3.7是输出线。

{P3 = _cror_(0x7f,a); //计算键值,依次将输出线设置为低电平,然后检查输入线。

当我学习51单片机矩阵键盘时,我有些困惑。我不知道该如何处理。仔细分析电路后,我终于理解了原理。在这种情况下,查看程序就很简单。

当然,以上图片表示P3.1〜P3.3与P3.4〜P3.7不同。它们相互连接(按下键时)以形成4 * 4 = 16个键。

如果按下一个键,情况将发生变化:高电平连接到低电平:如果按下与P3.3和P3.7连接的键,则P3.3和P3.7为0,即接地。

此时,P3为0000 0111。如果此时使用P3&0x0F,则高四位为0,低四位被保留,可以得到低四位的内容。

// keyboard.c此处的行和列扫描意味着将字节的8位,高4位和低4位分开以确定坐标。

关键字:C语言超经典矩阵键盘连接,流程图和扫描程序

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/bofangqi/article-324878-1.html

4x4矩阵键盘扫描c语言程序,技巧:C语言超经典矩阵键盘连接,流程图和扫描程序...相关推荐

  1. c语言主程序子程序流程图,c语言超经典矩阵式键盘的接法,流程图和扫描程序

    标签:单片机(2591)程序(73)C语言(456) 列线输入端P1.0~P1.3通过电阻接正电源,行线P1.4~P1.7所接的单片机的I/O口作为输出端.将输入端置为高电平,输出端置为低电平.这样, ...

  2. 女性程序员占比超17%,平均月薪近2万 | 程序员就业大数据报告

    来源:猎聘大数据研究院 本文约3400字,建议阅读5分钟. 本文为你互联网行业的程序员画像.专业背景.职能供需分布.城市分布特征和薪资优势. 乌镇第六届世界互联网大会刚刚落下帷幕,1024程序员节又接 ...

  3. c语言超经典矩阵式键盘的接法,c语言超经典矩阵式键盘的接法,流程图和扫描程序...

    列线输入端P1.0~P1.3通过电阻接正电源 单片机解密,行线P1.4~P1.7所接的单片机的I/O口作为输出端.将输入端置为高电平,输出端置为低电平.这样,当按键没有按下时,所有的输入端无变化,代表 ...

  4. c语言经典程序 流程图,c语言超经典矩阵式键盘的接法,流程图和扫描程序

    描述 列线输入端P1.0~P1.3通过电阻接正电源,行线P1.4~P1.7所接的单片机的I/O口作为输出端.将输入端置为高电平,输出端置为低电平.这样,当按键没有按下时,所有的输入端无变化,代表无键按 ...

  5. C语言编程技巧 --- C语言中左移右移与乘除法的比较

    C语言中右移与除法的比较 最近在做项目的时候,遇到了一个有趣的现象.那就是,对于除2的整数次幂的操作而言,为了加快计算速度,一般情况下,会用右移(>>)来替代除法(/).但实际上,在VS中 ...

  6. 4x4矩阵键盘工作原理及扫描程序_基于复杂可编程逻辑器件实现键盘接口电路的设计...

    1 引言 无功补偿装置是用于补偿电网无功功率的不足,提高功率因数,保证供电系统安全运行和节约电能的设备,其核心是控制仪.本控制仪集无功补偿.电度量计量.电能质量监测及通信于一体,对电网参数进行实时采样 ...

  7. 51单片机按键扫描程序汇编程序(独立按键与矩阵按键)(使用定时器)(可移植的汇编程序)矩阵键盘控制两个led数码管(汇编语言)与UART通信总结(上)

    一,按键控制数码管 1四按键控制程序(汇编) (您的关注点赞是作者创作的最大动力哦) //******************************************************* ...

  8. 【按键】短按,长按,按键释放,三种模式的按键扫描程序(软件消抖动)--- 矩阵键盘

    请先阅读上篇: 短按,长按,按键释放,三种模式的按键扫描程序(软件消抖动) 上面的程序适用于单个按键,那是不是也可以适用于矩阵键盘呢? 答案是肯定的. 接下来在这里做一个简单的扩展,具体框架不用改变, ...

  9. 键盘之王——求打字峰值速率的小程序(C语言)

    概念引入 1.为获得毫秒时间戳引入GetTickcount函数 函数功能:GetTickCount返回(retrieve)从操作系统启动到现在所经过(elapsed)的毫秒数,它的返回值是DWORD. ...

  10. c语言程序设计对角矩阵,从键盘输入一个4*4矩阵,并求这个4*4矩阵主对角线元素之和,并输出.球C语言程式设计...

    从键盘输入一个4*4矩阵,并求这个4*4矩阵主对角线元素之和,并输出.球C语言程式设计以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起 ...

最新文章

  1. poj1386(判断一个有向图是否存在欧拉回路)
  2. Web应用开发技术-CSS
  3. 计算机操作系统专题一:多道环境下进程同步与互斥制约关系的学习
  4. jQuery入门[2]-选择器[转]
  5. python内置函数多少个_每个数据科学家都应该知道的10个Python内置函数
  6. mediarecorder添加时间戳_Python脚本实现数据处理(官方实例)和Hive自带时间函数...
  7. 《Algorithms》Comparable 实现快速排序三向切分的快速排序
  8. vue的style绑定background-image url 写法
  9. install numpy for arm64
  10. 悟透delphi 第十章 操作界面与操作逻辑
  11. 认识 sun.misc.Unsafe
  12. 下载《SUN的UNIX操作系统solaris 10 for x86》(solaris 10)ver 10[ISO]
  13. python生成excel文件二维码_Python实现读取Excel表内容批量生成二维码
  14. tas5707php,TAS5707PHP
  15. Android Studio Gradle实践之多渠道自动化打包+版本号管理
  16. 计算机科学未来十年就业问题,未来10年“最有前途”的3个专业,就业率90%以上,多数人不看好...
  17. C++笔记 文件处理笔记
  18. 大学生科研项目选题计算机,大学生科研计划项目及选题.ppt
  19. 运维工程师的发展前景如何?
  20. 【五月集训】—— 汇聚星球,算法锤炼,集中一点,登峰造极

热门文章

  1. Redis反序列化错误Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`
  2. 主流开源 BI 产品对比
  3. 数据结构实验——约瑟夫环
  4. 金九银十北漂记第3篇:再见,中国航信!
  5. Ubuntu 下搭建 GCC 交叉编译工具链
  6. app inventor制作手机蓝牙遥控器
  7. 前端基础 IE浏览器渲染-重置浏览器默认样式
  8. 电脑cpu测试软件 95,用Prime95测试cpu性能稳定性的方法
  9. 吴怀宇 第三版 自动控制原理课后习题答案 武汉科技大学814
  10. 【Aspose-CAD for Java】DWG如何优雅的转换成PDF文档!