怎么选择触摸库的相关配置

[复制链接]
1018|23
 楼主| pangb 发表于 2020-12-2 23:05 | 显示全部楼层 |阅读模式
我在MPLAB X IDE环境下,配置ATtiny1616怎么没有找到触摸库
chenho 发表于 2020-12-2 23:11 | 显示全部楼层
截图看看
 楼主| pangb 发表于 2020-12-2 23:16 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
stly 发表于 2020-12-2 23:20 | 显示全部楼层
PIC单片机电容触摸按键,最方便的地方就是外围电路简单
houcs 发表于 2020-12-2 23:24 | 显示全部楼层
嗯,不需要任何外围元器件
chenjunt 发表于 2020-12-2 23:30 | 显示全部楼层
只要从引脚连接出一条线到焊盘上即可。
lium 发表于 2020-12-2 23:34 | 显示全部楼层
电容按键触摸的原理
PIC单片机通过松弛振荡器是一个自激 RC 振荡器,它使用 2 个带 SR 锁存的比较器来改变感应电容器电压的充电方向,进行充电或者放电。通俗点说就是在管脚上产生了一个三角波。当手指按上去后就引入了一个额外的电容 使得 充放电的周期沿长。也就是说人的手靠近的时候充电时间沿长了,然后放电时间也加长了。这样我们就可以同过判断 RC震荡频率的快慢来判断 是否有手指按下。
 楼主| pangb 发表于 2020-12-2 23:38 | 显示全部楼层
如何判断RC震荡频率的快慢呢?
houcs 发表于 2020-12-2 23:42 | 显示全部楼层
这就和我们平时判断一个人做事情快慢是一样的。比如我们给个10S的时间,让两个人吃薯条如果吃的越多的,就说明他的吃东西的频率越快反之越慢。
gongche 发表于 2020-12-2 23:45 | 显示全部楼层
  官方的资料给了个比较简单的实现方式。 由TIMER1来完成计数也就是充放电的次数,由TIMER0来计时。TIMER0每隔段时间触发一次中断,来读取TIMER1充放电的次数。
songqian17 发表于 2020-12-2 23:51 | 显示全部楼层
  如果采集的的次数明显小于之前的次数。那就说明充放电频率降低了。有人的手按下了。这就是判断的大致原理。
renyaq 发表于 2020-12-2 23:54 | 显示全部楼层
官方提供的简单按钮检测方式(大概就这意思)
  首先要有三个变量 unsigned int  average;//平均值
                                   unsigned int  raw;//当前值
                                   unsigned int trip;//按下时频率与平均值得差
中断程序
   ISR{
        ...
       if(raw < (average - trip))
        // 按钮按下
      else
       //按钮没有按下

      //对当前读数进行平均
     average = average*15/16+raw/16;            
         }
 楼主| pangb 发表于 2020-12-2 23:57 | 显示全部楼层
在START里我知道如何添加QTOUCH触摸库,现在想切换到X IDE环境下,PIC的MCU是可以添加触摸库的,ATMEL的MCU如何添加触摸库,我是想知道这个问题,谢谢
systemchip 发表于 2020-12-3 14:42 | 显示全部楼层
MCC目前还没有支持AVR的touch lib
stly 发表于 2020-12-8 22:11 | 显示全部楼层
我也没找到PTC,应该是还没放进MPLABx, 只能等了
xxrs 发表于 2020-12-8 22:15 | 显示全部楼层
或者直接用start.
morrisk 发表于 2020-12-8 22:19 | 显示全部楼层
这个资料早就过时了,现在PIC上用的触摸是CVD,HCVD和ADCC等方法
hanwe 发表于 2020-12-8 22:23 | 显示全部楼层
这种张弛振荡的方法多年前就废弃了。
zhuww 发表于 2020-12-8 22:37 | 显示全部楼层
MPLABX的MCC里的触摸库目前只是PIC的
zhuhuis 发表于 2020-12-8 22:41 | 显示全部楼层
基于ATMEL的PTC的库还只能从Start里使用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部
0