历史上的今天
今天是:2025年07月23日(星期三)
2020年07月23日 | 基于STM8的电容触摸式按键方案介绍
2020-07-23 来源:51hei
电容式触摸感应软件库的可提供如下功能:
软件库模块可以方便的应用于绝大部分微控制器中,直接内嵌在主控制器中。
软件库适用于大部分的用户接口需求:最多24个按键,以及2个滑动条/滚轮。
经济的解决方案:少量的硬件和软件开销
采用各种必须的软件滤波处理以获得高可靠性
优化的固件源代码
完全免费的源代码(但仅限于应用在ST的微控制器上)
如何工作?
容性的人体接触可以通过对RC 网络的充放电时间的检测来测得。RC网络由一个电阻和电极的电容(Cx)组成。

性能
每个触摸通道需要2个电阻和一个MCU 通用IO口。
可将MCU的任意通用IO口配置为触摸通道
触摸按键可分布在最多3个不同的GPIO 端口上(目前如此,以后可能会扩展)
软件库使用2个定时器:一个作为时基,一个用于采集
STM8 资源需求
MCU 硬件
1*16位定时器(采集: 测量RC充放电时间)
1*8位定时器(后处理: 时基)
每个通道1个通用IO
1个I/O 作为LOAD输出(common to all channels)
MCU 存储器使用(库+ 常量)
只有按键: ~ 1900 bytes
按键+ 1滚轮/滑动条: ~ 3800 bytes
按键+ 2 滚轮/滑动条: ~ 3900 bytes
RAM
只有按键: ~ 57 + (13*(Nb_keys-1))
按键+ 1滚轮/滑动条: ~ 112 + (13*(Nb_keys-1))
按键+ 2 滚轮/滑动条: ~ 154 + (13*(Nb_keys-1))
- 例1 :10 个按键占用174 bytes的RAM空间
- 例2 : 5 按键+ 1 滚轮占用174 bytes的RAM空间
上一篇:进一步掌握STVD/COSMIC
史海拾趣
|
在2440 wince5.0下,做2X4数字键盘驱动,采用中断方式 EINT0 EINT2 EINT11 EINT19。 程序中按键中断发生后,就扫描哪个按键按下,然后通过keybd_event发送消息。 现在按键输入数字的时候,有些按键一直可以正常输入,有的按键偶尔可以输入。 在A ...… 查看全部问答> |
|
现在我需要在Windows Mobile上的彩信,能不能介绍一下,如何在账户的界面新加入 [彩信]和[短消息][Outlook电子邮件]。我能使用EMAIL2能加入POP3、短信等的界面,但是自己创建的一个新类型MMS的账户类型,却 ...… 查看全部问答> |
|
小弟初学问个问题:我pc机如何向单片机发送这样的数组: 数组中包含数字1到20,我用writefile函数发 用什么数据结构发啊 还有单片机怎么识别我发的数. … 查看全部问答> |
|
我尝试了使用两种方式来获取WinCE下的按键,但是没有成功。我的CE版本是4.1的。 1.使用SetWindowsHookEx的方式,返回值总是1,不知道是什么原因? 2.使用RegisterHotKey,在C#下需要重载WndPrc函数,但是在WinCE下并没有这个函数,那么应该如何响 ...… 查看全部问答> |
|
st的八位机方面的开发工具有没有简单可自制的? 就算是只烧程序也可以啊,八位中atmel、stc都有可自制的烧录工具,而且就用串口就行了,不知ST的八位机有没有? 那官方的仿真器是好,但经代理商后价格是不菲的,我买不起。… 查看全部问答> |
|
看到stratix都有一个POR时间配置引脚,根据该引脚配置电平的不同,可以设置FPGA的POR时间长短。想请教下大家,这个POR时间有什么影响呢?… 查看全部问答> |




