使用adc作单片机键盘接口

使用adc作单片机键盘接口

ID:24049429

大小:52.00 KB

页数:3页

时间:2018-11-12

使用adc作单片机键盘接口_第1页
使用adc作单片机键盘接口_第2页
使用adc作单片机键盘接口_第3页
资源描述:

《使用adc作单片机键盘接口》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、使用ADC作单片机键盘接口

2、第1摘 要:详细介绍了利用AD转换器扩展单片机键盘的2种方法,并对这两种方法进行了分析和比较。这种方法实现简单,节省单片机资源,在智能仪表应用中具有实际意义。<--摘要CH(结束)←-->  关键词:AD转换器;单片机;键盘;智能仪表  在单片机系统中,键盘是常用的一种人机接口。一般来说,键盘的扩展分为2种,独立式和矩阵式,前者适用于按键数量少(一般小于4个)或规模小的系统,后者适合在按键数量较多的系统,但一般需要扩展接口芯片。因为单片机的I/O口有限,我们总是希望扩展键盘时占用尽量少的I/O口线。其实,A/D转换器也可以用来扩展键盘,而且

3、不多占用I/O口线,按键的数量可多达几十个。  使用AD转换器的键盘电路主要由一个电阻分压队列和一系列按键组成,如图1所示,图中电阻阻值相同,不同的按键按下时,VO端有不同的电压值输出给A/D转换器转换成不同的数字量,单片机据此进行按键识别。  500)this.style.ouseg(this)">1 第一种电路  最容易想到的是图1(a)的连接方式,n个电阻组成的分压电路,每个分压点引出一个按钮,事实证明这种接法是可以可靠工作的。第i个键按下时:500)this.style.ouseg(this)">  以常用的8位ADC为例,其分辨率是1/256,理论上可以扩展256个按键

4、,考虑到误差的因素以及工作可靠性取8/256,尚可扩展32个按键。  这个电路存在一个显著的缺点,如果有2个键同时按下,当其中一个键是A1时,结果是A1有效,另一个无效;当这两个键都不是A1时,就会发生错误。最极端的情况是A2和An同时按下,此时VO是2.5V,既不是A2的值,也不是An的值,其他的情况也和这种情况相似。所以这个电路对多键操作没有保护,多键操作会产生错误结果。  如果在输出侧加二极管,如图中虚线,理论上是可以工作的。但仔细分析,发现由于二极管存在开启电压,实际上只能扩展很少几个按键。假设普通硅二极管,开启电压取0.7V,第n黾氖涑鲇β悖?/n>0.7n,n最大

5、只能取2,显然不实用。2 第二种电路  对第一种电路稍加改进,就可以实现多键保护操作。把最下面的电阻移一个位置,换到输出侧,如图1(b)所示。这个电路中,多个键同时按下时,只有最上面的那个键有效,其余都无效。这个电路还有一个优点,就是当没有键盘操作时,电路完全断开,不消耗能量,更适合低功耗设计的原则。  图1(b)电路中,第i个键按下时输出电压是:500)this.style.ouseg(this)">  同样以8位ADC为例,取VO的最小输出为8Vi/256,估算按键的数量:500)this.style.ouseg(this)">    结果n最大为6,数量比较少,原因是按键的

6、输出值不像图1(a)的连接那样,是不均匀的,按键输出值按调和级数减小,下降的速度太快,所以电路需要进一步改进。  从图中分析各个按键的输出情况,可以发现最后一个电阻Rx对所有按键的输出都有影响,如果把最后一个电阻的阻值适当增大,按键输出值下降的速度会减慢。假设取Rx为xR,此时,第i个键按下时输出电压是:500)this.style.ouseg(this)">  依照上述条件和方法,对按键个数再做一次估算,取x=5,n最大为9。  n的极值实际是由最后2个按键的最小电压差(键值分辨率)决定的,设此值为1/A,则:500)this.style.ouseg(this)">可以得到,当

7、500)this.style.ouseg(this)">时,n有极大值。所以x也不是越大越好,他与最后2个按键的最小电压差有关,n的极值也与此有关。取500)this.style.ouseg(this)">此时n有极大值。当键值分辨率提高,即A增大时,n的极大值增大,扩展按键数量增加,相应的Rx的阻值也要增大。3 按键去抖动  机械按键按下和弹起的瞬间,由于触点的弹性会产生一连串的抖动,一般的抖动时间是5~10ms,普通按键动作的稳定时间是零点几秒。为了取得正确的键值,必须设法消除抖动的影响。对按键的去抖动,可以使用软件延时,多次采样的办法,图2是软件流程。当CPU检测到A/D转

8、换值发生变化时,认为有按键动作,首先进行10ms延时,然后再读取键值,为了可靠,一般要读取多次,进行比较(本例中是读取2次)。多次读取的键值,不可能是完全相同的,在误差允许范围内,就认为是相同的,为此,将键值的低2位忽略。4 应用实例  智能化是仪器仪表的发展方向,与普通仪表相比,智能仪表的主要特点是完全数字化、数据处理能力强、自制性强、具有通信功能等。同时要求仪表更加小巧简洁、功耗更低。笔者在定量仪的升级改造中使用了A/D通道扩展按键的方法。  500)this.style.o

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。