当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]键盘扫描方法是:行线P10~P13为输出线,列线P14~P17为输入线。

键盘扫描方法是:行线P10~P13为输出线,列线P14~P17为输入线。

一开始单片机将行线(P10~P13)全部输出低电平,此时读入列线数据,若列线全为高电平则没有键按下,当列线有出现低电平时调用延时程序以此来去除按键抖动。延时完成后再判断是否有低电平,如果此时读入列线数据还是有低电平,则说明确实有键按下。最后一步确定键值。

现在我们以第二行的S5键为例,若按下S5后我们应该怎么得到这个键值呢?当判断确实有键按下之后,行线轮流输出低电平,根据读入列线的数据可以确定键值。首先,单片机将P10输出为低电平,其它P11~P13输出高电平,此时读取列线的数据全为高电平,说明没有在第一行有键按下;其次,单片机将P11输出低电平,其它P10、P12、P13仍为高电平,此时再来读取列线数据,发现列线读到的数据有低电平,数值为1011(0x0B),如果我们的键盘布局已经确定,那么0x0B就代表S5的值了。转到S5键功能处理子程序就可以达到目的。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

好的单片机编程软件受到众多开发人员青睐,而对单片机编程软件了解较多的朋友都知道,目前市场上主要流通的单片机编程软件为Keil和IAR。本文中,主要为大家讲解IAR单片机编程软件的基础教程。如果你对IAR存在一定兴趣,不妨...

关键字: iar 单片机编程软件 基础教程

所谓动态内存分配(Dynamic Memory Allocation)就是指在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法。动态内存分配不像数组等静态内存分配方法那样需要预先分配存储空间,而是由系统根据程序...

关键字: 内存 动态内存 基础教程 存储空间

PC在刚诞生的时候,其实是没有GPU的,所有的图形计算都由CPU来计算。后来人们意识到CPU做图形计算太慢了,于是他们设计了专门的图形加速卡用来帮忙处理图形计算,再后来,NVIDIA提出了GPU的概念,将GPU提升到了一...

关键字: CPU GPU pc 基础教程

我们都知道固态硬盘采用闪存颗粒NAND Flash作为存储介质,所以它是固态硬盘中最重要的构成部分,其好坏也就决定着固态硬盘质量的好坏,而我们目前常见的NAND闪存主要有四种类型:Single Level Cell(SL...

关键字: qlc 固态硬盘 基础教程 闪存芯片

随着电子技术、无线通信技术的蓬勃发展,出现了各种非接触式无线数据传输标准。技术的不断推进升级,使得人们对这些标准提出了更加严格的要求,一种低成本实现非接触式无线数据传输的技术也由此应运而生。

关键字: NFC 基础教程 无线传输 无线技术

HDMI(高清晰度多媒体接口)是首个也是业界唯一支持的不压缩全数字的音频/ 视频接口。HDMI 通过在一条线缆中传输高清晰、全数字的音频和视频内容,极大简化了布线,为消费者提供最高质量的家庭影院体验。HDMI 在单线缆中...

关键字: dtv hdmi 基础教程 音频接口

在有对Flash写入或擦除操作的代码中,如果用户误调用了写入或擦除函数或者由于程序跑飞而恰好执行了Flash擦除或写入函数,这自然会导致数据丢失或改变。

关键字: Flash rom 基础教程 存储器

对于计算机, 加减乘数已经是最基础的运算, 要设计的尽量简单. 计算机辨别\"符号位\"显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法.

关键字: 基础教程 补码 计算原理 数据表示

到目前为止,我们学习了十进制、二进制、八进制、十六进制等用来代表实际数值的数,称为真值,这些数我们再日常生活中都会使用到,那么在计算机中数值是怎么来表示的呢?

关键字: 原码 反码 基础教程 数据格式 补码

随着手机、智能手表等便携式设备的普及,用户对GUI的要求越来越高,嵌入式系统对GUI的需求也越来越迫切,本文将为大家介绍一个轻型、占用资源少、高性能、高可靠、便于移植、可配置及美观的GUI编程框架。

关键字: gui 图形 基础教程 嵌入式
关闭
关闭