来个EXECL算ADC按键处理值
0赞
发表于 3/11/2014 4:29:51 PM
阅读(2654)
在单片机领域中,键盘输入是最常用的人机交互方式。通常实用键盘接口方式有:直接输入、矩阵结构、A/D方式、键盘和显示复用、并行扩展、串口扩充以及用键盘和显示专用控制器件等。但是其中很多方案都需要占用不少单片机有限的I/O口。
理论上,只要相邻的两个按键按下时,电压的差值在ADC能最小分辨的电压范围之内,那么MCU就能识别是哪个键被按下了。一个n位的ADC,可以识别2n个不同的电压值,即可以识别2n个按键。例如8位ADC,理论上可以串联256个电阻,识别256个按键。但在实际应用中还要考虑很多的外在因素,如电阻自身的误差、ADC误差、软件计算误差等,因此往往实际能识别的按键的个数小于理论值。
在实际产品设计中好多次因为按键没做好统计,导致按键无法正常运作,每次都需要调试,很麻烦,为此设计了EXECL表格,统一化设计,再也不担心造成的按键困扰,为此给出基于ADC的按键设计,最大一个ADC接4个按键,组合起来够基本产品运作了。
仅仅分享AET好友,请不要乱传,造成错误后果自负。