位置:51电子网 » 技术资料 » 接口电路

节能的双线、4×4按键键盘接口

发布时间:2008/6/3 0:00:00 访问次数:451

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

  为满足这两个要求,图 1 中的电路采用了一个矩阵键盘和一个分为两行、两列的电阻网络。对于 4 x 4 按键的键盘,7 只电阻器就足以为所有按键编码,电路只在一个键保持闭合时消耗能量。而当没有按下任何按键时,待机电流近似为零。只用到两种阻值的电阻器,使 ra="rb"=rc=r1和rd=re=rf=rg=r2。为按键的x和y地址设定从0 ~ 3的值,通过解算下式,可以计算出任何键闭合时电阻器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。

  图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ω。



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

  为满足这两个要求,图 1 中的电路采用了一个矩阵键盘和一个分为两行、两列的电阻网络。对于 4 x 4 按键的键盘,7 只电阻器就足以为所有按键编码,电路只在一个键保持闭合时消耗能量。而当没有按下任何按键时,待机电流近似为零。只用到两种阻值的电阻器,使 ra="rb"=rc=r1和rd=re=rf=rg=r2。为按键的x和y地址设定从0 ~ 3的值,通过解算下式,可以计算出任何键闭合时电阻器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。

  图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ω。



相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!