当前位置:首页 > 单片机 > 单片机
[导读]在单片机应用领域中,人机交互的途径和方式灵活多样,但键盘输人仍然是最常见、最重要的方法。

1引言

    在单片机应用领域中,人机交互的途径和方式灵活多样,但键盘输人仍然是最常见、最重要的方法。通常实现键盘接口的方式有:直接输入、矩阵结构、A/D方式、键盘和显示复用、并行扩展、串口扩充以及用键盘和显示专用控制器件。本设计使用A/D转换的方法,其硬件电路简单,按键电路与MCU的连线少,易修改,而且可以节省MCU有限的I/0资源。但在处理按键数目较多的情况时,往往会出现按键不可靠的问题,如按键没有任何反映,按键功能交叉。本文除了给出A/D按键的硬件电路外.着重介绍利用软件技巧来实现可靠的键盘接口。

2硬件设计

    本设计选用的单片机是基于AVR增强型RISC结构的低功耗8位CMOS微控制器ATmegal68「1」该微控制器具有8个10位带采样保持电路的逐次逼近型ADC,以确保在转换过程中输入ADC的电压保持恒定。A/D转换按键的具体硬件电路如图l所示。A/D转换的方法不仅成本低、功耗少、体积小、布线灵活,而且与带MCU的主板的连接非常简单, 只需提供信号线和地线。

    当按键接通或断开时,ATmega168通过A/D转换后对读取的电压值比较判断便可识别是否有按键按下。无按键按下时电路完全断开,符合低功耗设计的原则。这种结构的键盘具有自然的优先权,即某个按键按下后,其后的按键均无效。对于组合按键的输入,则通过将其中的按键分别与不同的A/D口相连来实现。图1中电容Cl的作用是消除干扰信号「2」

3 软件设计

    软件设计是加转换按键处理的核心,一旦检测的A/D值不准,按键操作就会产生误动作和不动作,按键数目达到二三十个时,这种现象会经常出现,针对此种情况,本文在软件设计中做相应的技巧处理,按键处理程序的软件设计流程如图2所示。

    首先,电阻阻值的选择决定了按键的数目,考虑到电压误差、电阻精度等因素,R0的阻值不能太小「3」。由实验得知,R0的阻值为20 kΩ~100 kΩ比较合适。ATmega168的A/D转换精度为10位,为提高按键分辨率,并保证按键的准确性,本设计只用高8位,而且设定相邻按键键值的差值一致,也就是将256等区间划分,这样可以实现较多的按键。然后根据定义好的键值用电阻箱确定相应阻值。该程序每隔2 ms处理一次,每次采样一次,共采样6次,所以确定一次平均键值需要12 ms。延时去抖是通过再次求平均键值完成「4」,故确定按键是按下还是释放需要24 ms,这样不仅可以保证按键可靠,而且无需再加延时去抖过程。当采样6次后进行数字滤波,舍去其中的最大值和最小值,并且判断最大值与最小值之差是否超过2,是则认为无键按下,否则就将其余的4个采样值求平均值。当按键数目较多时,为提高按键处理程序的速度,在键值确定和按键识别程序中采用二分法「5.6」,即先与中间键键值比较,如果所得键值比其A/D值小则与前面按键的键值比较,否则与后面按键比较。考虑到电压波动、电阻精度以及人为操作等各方面因素的影响,对凡是符合每个键值±l区间的平均值都认为是正确的按键识别,否则为无键按下。

    以下是用汇编语言编写的按键处理程序代码。经过实际装机测试,该方法效果很好,按键控制灵敏而且可靠、准确无误。


 
 
 

4 结束语

    以上设计方案应用在带有30个按键的美式按摩椅上,取得了很好的效果,惟一不足之处在于,带有按键接口的PCB板必须在灰尘较小的环境中使用或者采用外壳装配,因为频繁的操作按键,会使大量的灰尘沉积在按键开关的触点表面使其接触电阻增大,最终导致按键A/D值偏离。

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

【2024年5月13日,德国慕尼黑和斯图加特讯】随着汽车行业向软件定义汽车和新E/E架构过渡,市场对高性能硬件和强大网络安全解决方案的需求也逐渐增加。为满足这一需求,全球功率系统和物联网领域的半导体领导者英飞凌科技股份公...

关键字: 微控制器 半导体 物联网

本文针对电动两轮车自燃防控装置的开发与分析进行了研究。通过电动两轮车自燃原因分析,提出了电动两轮车的自燃防控智能装置设计思路,介绍了电动两轮车的自燃防控智能

关键字: STC89C52RC 单片机 微控制器

慕尼黑2024年5月9日 /美通社/ -- TÜV南德意志集团(以下简称"TÜV南德")持续保障安全、可靠及可持续发展。作为全球化的服务提供商,TÜV南德2023年全年营收达约31亿欧元,首次突破30亿欧元大关,同比增长...

关键字: BSP 可持续发展 数字化 人工智能

5月8日,中星联华技术支持总监苏水金给带来《精密测试关键技术大揭秘!》,详解中星联华超低相噪微波信号源的6大核心特色,助您快速精准测试,解决尖端测试的苛刻要求。

关键字: ADC 自动编程 相噪

【2024年5月9日,德国慕尼黑讯】信息安全与功能安全在汽车行业发挥着日益重要的作用,即便在低端微控制器应用中也不例外。与此同时,汽车制造商正在用触摸表面取代机械按钮,实现简洁的驾驶舱和方向盘。因此,电子电路的空间受到很...

关键字: 物联网 电子电路 微控制器

凭借深度学习技术和SmartBid产品,百度国际MediaGo获得美国商业奖认可 旧金山2024年5月6日 /美通社/ -- 第22届美国商业奖(American Business Award®)近日发布获奖名...

关键字: MEDIA GO SMART BSP

【2024年5月8日,德国慕尼黑讯】Rust编程语言凭借其独特的内存安全特性,已经成为汽车软件开发中C/C++的有效补充和潜在替代品。全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OT...

关键字: 编译器 微控制器

2024年5月6日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起开售Analog Devices, Inc. (ADI) 的MAX32690微控制...

关键字: 可穿戴设备 微控制器 片上系统

【2024年4月29日, 德国慕尼黑讯】嵌入式安全被认为是物联网(IoT)应用部署的一个重要属性。英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)近日宣布,其新型PSOC™ Edge E8x MC...

关键字: 微控制器 MCU 物联网

2024年4月26日,中国 – 服务多重电子应用领域、全球排名前列的半导体公司意法半导体 (STMicroelectronics,简称ST;纽约证券交易所代码:STM) 公布了按照美国通用会计准则 (U.S. GAAP)...

关键字: 微控制器 模拟器件
关闭
关闭