嵌入式单片机高级篇(一)Stm32F103电容触摸按键
时间:2023-09-12 06:37:02
Stm32F103电容触摸按钮
一、电容触摸按键原理:
1.电容触摸按键电路是如何形成的?
答:电容触摸按钮的电路由上拉电阻、开关和杂散电容组成。开关断开时,杂散电容充电,开关关闭时,杂散电容放电
2.如何判断电容触摸按钮是否被触摸?
答:根据电容器的充电时间,当按钮没有触摸时,电源只给杂散电容器充电,充电时间短,记录为tcs,当按钮被触摸时,相当于一个额外的电容器与杂散电容器并联。此时,电容器充电时间较长,记录为ts tx,根据电路中总电容的充电时间来判断按钮是否被触摸。
充电时间在tcs当充电时间大于附近时,认为按钮没有被触摸。ts tx按键被触摸时
二、编程思路:
(1)电容器的充电完成会产生上升沿
(2)用IO口代替开关,当IO当口腔状态配置为推拉输出低电时,通常会放电IO当浮空输入时,口的状态配置为充电
(3)利用定时器的输入捕获功能捕捉上升沿代表电容充电
(4)MCU 每次复位重启时,使用定时器捕捉上升边缘,同时记录从开始到捕捉到上升边缘的时间,多次记录平均录取值,即ts
三、程序实现:
第一步是配置定时器输入捕获(定时器5通道2):
void