当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于嵌入式技术的感应按键设计 (2)

3 硬件设计

基于ATmega48的感应按键,在硬件设计上非常简单,每路按键只需要一个电阻和一个电容即可实现。通常情况下,感应电极一般以铜箔形式分布在印刷电路板上,可以根据具体的应用需要将感应电极设计成不同的尺寸和形状。同时,采用金属弹簧或者导电海绵等具有导电功能的介质,能够将按键延伸到合适的长度或高度,如图2所示。


图2 采用金属弹簧延伸的感应电极


图3 硬件原理图

典型应用情况下,采样电容C1或C2采用22 nF,限流电阻R1或R2采用1 kΩ。但是实际应用系统中需要根据感应按键的灵敏度,对采样电容的容值和限流电阻的阻值进行调整,以达到最佳效果。硬件原理图如图3所示。

4 函数库安装与软件配置

要把ATmega48单片机的I/O口作为感应按键输入口来使用,首先需要安装QTouch函数库Atmel_QTouch_Libraries,目前比较新的函数库版本是4.3。安装完毕后,需要将与单片机对应的库文件加载到工程中。Atmel公司的集成开发环境AVR Studio提供了便捷的设置,新建一个工程后,可在Project→Configuration Options→Libraries界面中添加函数库链接文件。

其次,需要对I/O口进行配置。在工程配置(Project→Configuration Options→Custom Options)界面设置相应的宏定义参数即可,如图4所示。


图4 AVR Studio工程配置界面

D_QTOUCH_:需要使用QTouch函数库。

DSNSK=C和DSNS=C:表示将ATmega48 PC口设置为感应按键口。

DQT_NUM_CHANNELS=4:表示最大可用通道数量。

DQT_DELAY_CYCLES=1:表示采样电容充放电周期时间。

另外,在应用系统源程序中需要加入库函数的头文件。代码如下:

#include "touch_api.h"

5 系统应用

应用流程如图5所示。在系统初始化之后,首先调用config_sensors()函数将需要的I/O口配置成感应按键的采样口,并对各个感应按键的各个状态进行初始化。然后是设置感应参数,这些参数包括按键校准阈值、正向漂移值、负向漂移值、最大连续感应时间等。最后,在应用系统的主程序中,需要周期地调用库函数qt_measuer_channels()对感应信号进行测量,并检测按键的状态。


图5 QTouch应用流程

需要注意的是,感应按键采集使用了系统的一个定时器中断,因此,应用系统中的中断程序会对其造成一定的影响。这就要求在按键感应的过程中,应用系统的中断服务程序的处理时间越短越好。在电容感应工作的时候,中断服务程序处理时间不应该超过1 ms,否则将严重影响感应按键的灵敏度,甚至会导致感应按键失灵。

应用系统程序如下:

int main( void ){

init_system();/*系统初始化*/

config_sensors();/*将I/O口配置成感应按键*/

qt_init_sensing();/*初始化感应传感器*/

qt_set_parameters();/*感应参数设置*/

init_timer_isr();/*用于感应按键的定时器设置*/

qt_filter_callback = 0;/*滤波参数选择*/

__enable_interrupt();/*使能定时器中断*//*应用程序主循环 */

while (1) {

if( time_to_measure_touch ) {

time_to_measure_touch = 0u; /*继续下一个采集周期*/

qt_measure_sensors( current_time_ms_touch );/*感应检测 */

}

KeyBuff = (qt_measure_data.qt_touch_status.sensor_states[0]);/*获取感应按键状态*/

……/*系统应用程序*/

}

}

6 结语

基于Atmel QTouch技术的嵌入式感应按键设计,简化了设计难度,降低了系统的应用成本,节省了印刷电路板的尺寸空间,系统应用稳定,可灵活应用于各类电子产品中。

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

为增进大家对嵌入式的认识,本文将对嵌入式、嵌入式工作相关的内容予以介绍。

关键字: 嵌入式 指数 嵌入式技术

温度的测量与控制在工业生产与安全中起着关键性作用[1]。现今市场上温度控制成型的产品大部分以单片机为核心控制器,但是单片机的运算速度和系统处理能力十分有限,并且产品性能也无法继续提高,更重要的是其ROM和RAM空间小,不...

关键字: 嵌入式技术 现场总线技术 温度测量系统

语音识别模块是一种基于嵌入式技术的模块,主要用于将人类语音中的词语转换成计算机可读的格式,实现与主芯片的通讯。该模块通常包括语音识别芯片和其他附属电路,使得开发者能够方便地将其嵌入到各种智能化产品中,实现人机语音交互。

关键字: 语音识别 嵌入式技术

随着科技的飞速发展,嵌入式系统已经成为了现代社会中不可或缺的一部分。从智能手机、家用电器到工业自动化设备,嵌入式系统无处不在,为我们的生活带来了极大的便利。本文将对嵌入式开发技术进行详细的介绍,探讨其在各个领域的应用及未...

关键字: 嵌入式开发 嵌入式技术

为增进大家对嵌入式的认识,本文将对嵌入式技术以及嵌入式的学习路线予以介绍。

关键字: 嵌入式 指数 嵌入式技术

【2023年11月28日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)于近日宣布推出全新的PSoC™微控制器(MCU)产品系列,即PSoC™ Edge。PSoC™产品组合是英飞凌...

关键字: 机器学习 微控制器 嵌入式技术

一直以来,嵌入式技术都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来嵌入式技术的相关介绍,详细内容请看下文。

关键字: 嵌入式 嵌入式技术 人工智能

今天,小编将在这篇文章中为大家带来嵌入式技术的有关报道,通过阅读这篇文章,大家可以对嵌入式技术具备清晰的认识,主要内容如下。

关键字: 嵌入式 嵌入式技术

以下内容中,小编将对嵌入式技术的相关内容进行着重介绍和阐述,希望本文能帮您增进对嵌入式技术的了解,和小编一起来看看吧。

关键字: 嵌入式 嵌入式技术

随着人们生活水平的提高,越来越多人开始追求健康的生活,而养生壶以其美观、精细烹饪、使用便捷等多种优势在众多养生产品中脱颖而出,成为大众最受欢迎养生产品之一,因此养生壶在市场上的占比也在大幅度提升。决定养生壶性能的关键器件...

关键字: 红外测温 嵌入式技术
关闭
关闭