当前位置:首页 > 智能硬件 > 智能硬件
[导读]引言 在单片机领域中,键盘输入是最常用的人机交互方式。通常实用键盘接口方式有:直接输入、矩阵结构、A/D方式、键盘和显示复用、并行扩展、串口扩充以及用键盘和显示专用控制器件等。但是其中很多方案都需要

引言
    在单片机领域中,键盘输入是最常用的人机交互方式。通常实用键盘接口方式有:直接输入、矩阵结构、A/D方式、键盘和显示复用、并行扩展、串口扩充以及用键盘和显示专用控制器件等。但是其中很多方案都需要占用不少单片机有限的I/O口。本文提出一种基于ADC的高性价比键盘输入设计方法。

1 ADC按键原理
    ADC按键的原理图如图1所示,把多个电阻串联分压,不同的按键将不同的电压进行A/D转换,根据ADC结果,MCU就能识别按键了。例如,key1按下,ADC得到的电压值为:
   


    理论上,只要相邻的两个按键按下时,电压的差值在ADC能最小分辨的电压范围之内,那么MCU就能识别是哪个键被按下了。一个n位的ADC,可以识别2n个不同的电压值,即可以识别2n个按键。例如8位ADC,理论上可以串联256个电阻,识别256个按键。但在实际应用中还要考虑很多的外在因素,如电阻自身的误差、ADC误差、软件计算误差等,因此往往实际能识别的按键的个数小于理论值。

2 硬件设计
    实际的硬件电路如图2所示。为了提高按键响应速度和减轻CPU扫描按键的负担,增加一个比较器,当按键被按下时比较器输出信号触发中断,在中断中第一时间获得键值。这样,既避免了把按键程序放到主程序中循环查询过多而占用CPU资源,又提高了CPU的利用率。当然,为了节省硬件成本,也可以不要比较器。


    分压电阻越大越省电,但是实际应用时需要考虑ADC的输入阻抗,不能太大,这里给出经验值10 kΩ。另外,电压比较器还要考虑到运放的特性,为确保第一个键按下时运放同相端电压低于4 V,电阻R1的值就要相对大一些,后面的电阻可以取相同的值。为了减小按键抖动,在电路中串联一个电容C1。当没有键按下时,ADC相当于悬空,需接一上拉电阻。这里R21取220 kΩ。

3 软件设计
    软件设计是ADC按键的处理核心,一旦检测到的A/D值不准,按键就会得到错误的键值,带来误操作。当按键数目很多时,这种现象会更突出。
    ADC按键其实就是一个数据采集过程,软件需要完成数据采集、数据处理、按键解析这3个步骤。首先对按键要有一个认识,它是一个机械开关,在键按下和弹起的过程中很难做到理想的导通和断开,通常有一个抖动过程,需要经过一段时间才能真正地闭合和断开。
    在本设计中使用的是自带8路10位ADC的MCUSTC90C52AD。驱动起来比较简单,只需要配置几个寄存器就可以进行A/D转换了,并且转换速度很快。ADC代码如下:

    当键按下时,触发进入外部中断。先延时20 ms,如果有抖动,这个抖动就被有效地滤除掉了。读取第一次ADC值,延时20 ms(有效按键持续时间大于80 ms),再读取第二次ADC的值。只有两次差值在某个小的范围内,这次按键才是有效的,否则就是一次抖动。这几个时间参数是实际测试得到的结果。经过这样的软件处理,机械抖动被有效地滤除掉了。程序代码如下:


    经过求平均值后的ADC值也并不是固定不变的,会在某一中心点附近波动。例如重复按下同一个按键,对应一字节的数据为BF CO。若数据有一定的波动,有时还会出现FF 00,说明按键有明显的抖动。通过软件处理,如果ADC两次读到的值相差较大,则确定按键无效。实际完整的键盘方案需要经过多次按键,记下ADC的平均值,建立数组keynum_tab[],再给出一个上下波动范围n,通过ADC的值对比判断,即可得出键值。本例中共有20个按键,程序代码如下:


结语
    本按键方案经过实际运用测试,性能可靠,运行稳定;CPU占用率低,实时性好;只用到一个I/O口,节省了单片机的I/O口资源,并且可以根据实际需要增减按键数量,具有一定的实用价值。

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

柏林2025年9月9日 /美通社/ -- 2025年9月5日,纳斯达克上市公司优克联集团(NASDAQ: UCL)旗下全球互联品牌GlocalMe,正式亮相柏林国际消费电子展(IFA 2025),重磅推出融合企...

关键字: LOCAL LM BSP 移动网络

深圳2025年9月9日 /美通社/ -- PART 01活动背景 当技术的锋芒刺穿行业壁垒,万物互联的生态正重塑产业疆域。2025年,物联网产业迈入 "破界创造"与"共生进化" 的裂变时代——AI大模型消融感知边界,...

关键字: BSP 模型 微信 AIOT

"出海无界 商机无限"助力企业构建全球竞争力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由领先商业管理媒体世界经理人携手环球资源联合主办、深圳•前海出海e站通协办的...

关键字: 解码 供应链 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林当地时间9月6日,在2025德国柏林国际电子消费品展览会(International Funkausstellung...

关键字: 扫地机器人 耳机 PEN BSP

Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称 Arm)今日宣布推出全新 Arm® Lumex™ 计算子系统 (Compute Subsystem, CSS) 平台,这是一套专为旗舰级智能手机及下一代个人电脑加...

关键字: CPU AI 消费电子

Arm 控股有限公司(纳斯达克股票代码:ARM,以下简称 Arm)今日宣布推出全新 Arm® Lumex™计算子系统 (Compute Subsystem, CSS) 平台,这是一套专为旗舰级智能手机及下一代个人电脑加速...

关键字: 消费电子 CPU AI

武汉2025年9月9日 /美通社/ -- 7月24日,2025慧聪跨业品牌巡展——湖北•武汉站在武汉中南花园酒店隆重举办!本次巡展由慧聪安防网、慧聪物联网、慧聪音响灯光网、慧聪LED屏网、慧聪教育网联合主办,吸引了安防、...

关键字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移远通信宣布,其自研蓝牙协议栈DynaBlue率先通过蓝牙技术联盟(SIG)BQB 6.1标准认证。作为移远深耕短距离通信...

关键字: 蓝牙协议栈 移远通信 COM BSP

上海2025年9月9日 /美通社/ -- 为全面落实党中央、国务院和上海市委、市政府关于加快发展人力资源服务业的决策部署,更好发挥人力资源服务业赋能百业作用,8月29日,以"AI智领 HR智链 静候你来&quo...

关键字: 智能体 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付与一汽出行达成合作,为其自主研发的"旗驭车管"车辆运营管理平台提供全流程支付通道及技术支持。此次合作不仅提升了平台对百余家企业客户的运营管理效率...

关键字: 一汽 智能化 BSP SAAS
关闭