电容触摸传感的理论框架
——
确定了平均值后,接下来必须构造传感器扫描循环,目的是监视相对于平均值的偏差。从一个简单循环开始,如图1流程图所示。扫描循环使用中断来驱动,并使用两个定时器和频率偏移检测方法。Timer0决定固定的时间周期T,在该时间周期内,将测量进入Timer1捕捉模块的正边沿数量,然后它产生一个频率测量值。正边沿数量越多,说明频率越高。准备好获取测量值时,Timer0发生溢出以触发中断,而Timer1会测量正边沿数量。流程图的“捕捉读数”框显示了何时获取读数。
本文引用地址:https://www.eepw.com.cn/article/96947.htm下一步是确定按钮是否被按下。如果按钮未被按下,则继续对传感器读数求均值。如果按钮被按下,则不对传感器读数求均值,也就是说它将继续一直跟踪读数(通常这不是所期望的)。然后,通过在C代码中使用位标志或通过其他方式,向应用程序代码指示按钮已被按下。不要在中断服务程序(ISR)中调用需要大量进一步计算的程序——较好的做法是设置一个标志,让主循环进行响应。
此时,如果只有单个按键,则按照基本方法的描述,通过将定时器清零或将电容对地放电来重新开始测量过程。如果存在多个按键,则按顺序扫描每个按键。按照图1中的流程图,基本的系统可以定期扫描按键。
尚待讨论的是如何确定按键是否被按下。最需要考虑和注意的是图1中的“按键是否被按下?”判断块的细节。这将在下一步讨论。
评论