0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用带ADC的微控制器实现双线矩阵式键盘接口设计

牵手一起梦 来源:dzsc 作者:佚名 2020-04-04 11:05 次阅读

可以用带有 ADC微控制器设计一个双线加接地组成的键盘接口。例如,可以用一个电阻分压器判定一个按下的键。微控制器的整合 ADC, 其输入电阻一般在数百千欧量级,为了有足够的精度,键盘分压器应该具有相对较低电阻值,一般为数十千欧量级。但是,在电池供电系统中,电阻分压器会消耗数百毫安电流,这迫使设计者选择经典的数字矩阵开关和多条 I/O 线作替代。此外,便携设备设计通常也限制了元件的数量。

采用带ADC的微控制器实现双线矩阵式键盘接口设计

为满足这两个要求,图 1 中的电路采用了一个矩阵键盘和一个分为两行、两列的电阻网络。对于 4 X 4 按键的键盘,7 只电阻器就足以为所有按键编码,电路只在一个键保持闭合时消耗能量。而当没有按下任何按键时,待机电流近似为零。只用到两种阻值的电阻器,使 RA=“RB”=RC=R1和RD=RE=RF=RG=R2。为按键的x和y地址设定从0 ~ 3的值,通过解算下式,可以计算出任何键闭合时电阻器RG上的电压:

RG上的电压

ADC的基准电压VREF驱动电阻器阵列,这样就可以进行一种比例变换,消除由于VREF波动导致的按键编码错误。下式描述了任何击键的分压比r(x,y)。

任何击键的分压比

p=R1/R2表示行、列组电阻器阻值之间的比率。对于p=4,可以计算出 16 个 r(x,y) 值,它们在 [1/16, 1] 范围内,是按键位置的函数。一般来说,r分隔比率之间的最小差值出现在最靠近的键上,如 (3,2) 和 (3,3) 等 x,y 表示的键。对于一个 N 位 ADC 和 p=“4的比率而言”,ADC 的分辨率应满足下式:2-N-1-16-1=240-1。电路需要一个至少8位分辨率的ADC(N≥8位)。

不妙的是,标准值元件的标称容限 T 不能为此式提供理想的解决方案。于是,可以计算出最差情况下的分隔比率差:d=r(3,2)-r(3,3)。d 的最小值出现在RG与RD最小值和RA、RB、RC、RE与RF最大值时。你可以计算所有电阻器阻值,并为R1和R2的标称值定义一个通用比率p:

定义一个通用比率

相同的T值适用于所有电阻器。如果n=8及p=4,前式可算出结果为 T《0.018,表示±1%公差的电阻器可以正确完成16个键的编码。另外,如果你现在使用固定公差T,可以从式中算出R1和R2值之间对p比率 所要求的极限。如果T=0.01,则该公式计算出的结果变为p《4.074。

Nitron MC68HC908QT4微处理器

图2中的电路采用Freescale的 Nitron MC68HC908QT4微处理器,用作基于上述计算值的键盘测试基础,用电源电压VCC作为电阻器矩阵的基准电压VREF。为满足p(4.074》p》4)的要求,使用±1%公差的R1=10 kΩ和R2=40.2 kΩ,E48系列标准电阻可提供这两种标准值。表1列出了对应于16个按键的输出码,表2 则是同时按下两个键时获得的数据,表明双键组合可以得到特殊功能。

双键组合可以得到特殊功能

双键输出码

如果你的应用需要缺少由ADC产生内部中断的微控制器,可以如图 1所示将一个外部比较器连接到输出电压上。使比较器的阈值低于输出电压端的最低电压(例子中大约是VREF除16),比较器的输出作为微控制器的键盘中断源。

注意有10位ADC的微控制器(如Freescale的MC68HC908QB或Texas Instruments MSP430F11)可以用在10个电阻器编码的5 X 6键盘矩阵。重复上述分析可得到,行列p比率为5 ~ 5.51,所需电阻器公差低于4.3%,即可正确完成按键编码。R1和R2都可以从±1%公差的E48 系列中选取,R1选10 kΩ,R2则选51.1 kΩ或53.6 kΩ。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7542

    浏览量

    151316
  • adc
    adc
    +关注

    关注

    98

    文章

    6495

    浏览量

    544464
  • 键盘
    +关注

    关注

    4

    文章

    859

    浏览量

    39647
收藏 人收藏

    评论

    相关推荐

    矩阵式变换的拓扑结构和工作原理 矩阵式变换控制策略和仿真分析

    在目前各领域对于电能转换特别是高效变频装置存在迫切需求的背景下,在详细分析模块化的矩阵式变流器的拓扑结构、开关状态和工作原理的基础上,设计了一套矩阵式变流器的控制策略。采用编程
    的头像 发表于 12-26 14:07 2755次阅读
    <b class='flag-5'>矩阵式</b>变换<b class='flag-5'>器</b>的拓扑结构和工作原理 <b class='flag-5'>矩阵式</b>变换<b class='flag-5'>器</b>的<b class='flag-5'>控制</b>策略和仿真分析

    4×4 矩阵式键盘电路的改进

    4×4 矩阵式键盘电路的改进
    发表于 08-20 16:06

    采用低功耗微控制器键盘控制器设计方案

    标准矩阵式键盘:此设计展示的实施采用了 15x8 的矩阵,但也可以使用不同的键盘布局独立于通信接口
    发表于 11-16 16:53

    掌握矩阵式键盘扫描方法与定时中断原理

    AVR单片机 实验五 矩阵键盘扫描实验1 实验目的掌握矩阵式键盘扫描方法与定时中断原理,以实现
    发表于 11-23 08:30

    如何识别矩阵式键盘输入

    单片机实验:矩阵式键盘输入识别1.实验内容编写 c 语言程序,设计一个 4X4 的矩阵键盘键盘的号码 0~15,要求编写出一个
    发表于 11-29 07:50

    对4×4矩阵式键盘电路的键值进行编码

    键盘与LCD实验对4×4矩阵式键盘电路的键值进行编码,编程实现在LCD液晶显示上显示每个按键的ASCII码。(⊙﹏⊙)呃这个和去年一样单片
    发表于 01-24 08:17

    4×4矩阵式非编码键盘电路

    4×4矩阵式非编码键盘电路 输入键盘控制电路采用4×4矩阵式非编码
    发表于 02-21 15:04 4986次阅读
    4×4<b class='flag-5'>矩阵式</b>非编码<b class='flag-5'>键盘</b>电路

    单片机入门教程第26课-矩阵式键盘接口技术及编程

    单片机入门教程第26课-矩阵式键盘接口技术及编程 1、矩阵式键盘的结构与工作原理  在键盘中按
    发表于 01-07 15:21 2587次阅读
    单片机入门教程第26课-<b class='flag-5'>矩阵式</b><b class='flag-5'>键盘</b><b class='flag-5'>接口</b>技术及编程

    Proteus之矩阵式键盘的识别之一

    Proteus之矩阵式键盘的识别之一,很好的Proteus资料,快来下载不学习吧。
    发表于 04-18 16:42 0次下载

    Proteus之矩阵式键盘的识别之二

    Proteus之矩阵式键盘的识别之二,很好的Proteus资料,快来下载不学习吧。
    发表于 04-18 16:42 0次下载

    Proteus之矩阵式键盘的识别之三

    Proteus之矩阵式键盘的识别之三,很好的Proteus资料,快来下载不学习吧。
    发表于 04-18 16:42 0次下载

    矩阵式键盘部分连击的处理

    矩阵式键盘部分连击的处理》不错的一种处理方式。
    发表于 04-29 16:50 2次下载

    使用51单片机实现矩阵式键盘的资料和程序免费下载

    使用51单片机实现矩阵式键盘的资料和程序免费下载
    发表于 08-19 17:31 8次下载
    使用51单片机<b class='flag-5'>实现</b><b class='flag-5'>矩阵式</b><b class='flag-5'>键盘</b>的资料和程序免费下载

    使用单片机实现4乘4矩阵式键盘的仿真文件免费下载

    本文档的主要内容详细介绍的是使用单片机实现4乘4矩阵式键盘的仿真文件免费下载。
    发表于 03-22 11:23 29次下载

    自动化流水线矩阵式键盘的功能说明

    方式的不同,可以分为非矩阵式键盘矩阵式键盘两类。其中,非矩阵式键盘的结构简单,使用方便,适用于
    发表于 04-19 14:33 1144次阅读