Microchip提供两种电容式触摸感应解决方案,一种为张驰振荡器方式,即通过检测触摸感应电容充放电的频率变化,来检测是否有键按下,根据单片机集成的硬件资源不同,另一种通过Microchip单片机集成的片上充电时间检测单元(CTMU)实现。

本文引用地址:http://www.eepw.com.cn/article/96101.htm

  简单RC振荡方式

  这种方式比较适合一个按键情况,通过集成模拟比较器的PIC10F204或PIC10F206实现触摸感应功能,用到的硬件资源为模拟比较器和Timer0定时器。图1为电路图,上电时,触摸感应电容Cp没有充电,比较器输出高电平,通过D1给电容迅速充电至接近VDD,之后比较器翻转,输出低电平,Cp通过R1放电,直至低于内部参考电压0.6V,比较器翻转输出高,进入下一个振荡周期。将比较器输出送给Timer0,作为时基,经过固定的软件延时,读出Timer0的值,可以计算出比较器输出频率。当手指接触按键时,电容值改变,随之比较器输出频率改变,读出的Timer0的值发生变化,从而检测到有触摸动作。

  带SR锁存器的比较器方式

  利用PIC16F61X、PIC16F690和PIC16F88X系列内部集成的模拟比较器具有SR锁存器功能,配合Timer0和Timer1,可以方便的实现触摸感应检测。这类器件在不进行外部模拟通道扩展情况下,可以直接支持4路触摸感应检测。

  如图2所示,Cs表示触摸感应对地电容,触摸感应直接与单片机片内比较器反相输入端相连,比较器C1采用内部大约2/3VDD作为参考电压,C2采用外部电阻分压,获得1/4VDD电压。当上电时,Cs上电压为0,C2输出为1,C1输出为0,SR锁存器反相端输出为1,通过电阻对Cs充电;当Cs电压超过1/4VDD,C2输出为0,SR锁存器保持原来输出状态。当Cs充电超过2/3VDD时,C1输出为1,SR锁存器反相端输出由1变为0,Cs通过电阻放电,当Cs放电电压低于2/3VDD时,C1输出为0,SR锁存器保持原来输出状态。当Cs放电电压低于1/4VDD时,C2输出为1,SR锁存器反相端输出为1,通过电阻对Cs充电,开始一个新的周期。这样Cs反复充放电,电容电压为锯齿波,SR锁存器输出为同频率方波。

  有触摸时,Cs变大,改变了RC电路的时间常数,SR锁存器输出的方波频率随之发生改变。将SR锁存器输出的方波信号送给Timer1作为时基,每一次Timer0溢出中断,中断程序中读出Timer1寄存器的值即代表对应频率,频率是否变化即代表是否有触摸动作。

  容性传感模块(CSM)方式

  PIC16F72X系列集成了CSM,这个模块具有恒定的拉灌电流能力,能够直接驱动容性负载(PCB焊盘),在触摸感应电容上形成连续振荡的三角波,CSM输出同频率的方波,方波信号可以提供给Timer0或Timer1做时基,通过Timer2中断读出相对应的计数值,即代表对应频率。这种方式电路非常简单,可以直接将焊盘连接到CSM输入对应的引脚。

基于Microchip单片机的触摸感应技术的更多相关文章

  1. [STM8L]基于STM8L152的TAB段式LCD液晶驱动的分析 - 单片机干货 - 中国电子技术论坛 - 最好最受欢迎电子论坛!

    [STM8L]基于STM8L152的TAB段式LCD液晶驱动的分析 - 单片机干货 - 中国电子技术论坛 - 最好最受欢迎电子论坛!.md 主控芯片为STM8L152C4T6自带LCD控制器,低功耗系 ...

  2. 基于FPGA的XPT2046触摸控制器设计

    基于FPGA的XPT2046触摸控制器设计 小梅哥编写,未经许可,文章内容和所涉及代码不得用于其他商业销售的板卡 本实例所涉及代码均可通过向 xiaomeige_fpga@foxmail.com  发 ...

  3. PSoC电容式触摸感应技术

    PSoC是由Cypress半导体公司推出的具有数字和模拟混合处理能力的可编程片上系统芯片,某些系列的PSoC(如CY8C21X34系列),由于其内部配备的特殊资源,使得它可以很容易地实现电容式触摸感应 ...

  4. AVR单片机RC触摸

    RC电容触摸感应按键1:RC感应原理 RC采样原理就是通过测量感应极电容的微小变化,来感知人体对电容式感应器(按键.轮键或者滑条)的感应.电极电容(C)通过一个固定的电阻(R)周期性地充放电.(原文件 ...

  5. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

  6. 基于STC51单片机的霓虹灯

    基于STC51单片机的霓虹灯 设计要求: 使用PWM驱动8个LED灯 人眼不能观察到灯光全灭 灯光要有动画效果 设计概述: ​  按照设计要求,为了更直观的说明脉冲宽度调制技术(PWM),所以霓虹灯的 ...

  7. [译]基于GPU的体渲染高级技术之raycasting算法

    [译]基于GPU的体渲染高级技术之raycasting算法 PS:我决定翻译一下<Advanced Illumination Techniques for GPU-Based Volume Ra ...

  8. 基于Web的数据推送技术(转)

    基于Web的数据推送技术 对于实时性数据显示要求比较高的系统,比如竞价,股票行情,实时聊天等,我们的解决方案有以下几种.1. HTTP请求发送模式,一般可以基于ajax的请求,比如每3秒一次访问下服务 ...

  9. ET 与RETI 基于51单片机中断跳出指令“RETI”浅议

    最近在基于51单片机编程的过程中出现了个很奇怪的问题“程序执行中在寄存器EA=1,ET0=1,TR0=1条件下,单TF0=1时并没有执行中断”.在有过单片机中断编程经历者都知道当EA=1,ET0=1的 ...

随机推荐

  1. 数据结构之,线性表去除等于x的元素

    问题看起来很简单,但是这里有个限制,就是算法的时间复杂度位O(n),空间复杂度为O(1),下面上代码 #include <iostream> #include <string.h&g ...

  2. sql基础查询

    2.1 指定使用中的资料库 一个资料库伺服器可以建立许多需要的资料库,所以在你执行任何资料库的操作前,通常要先指定使用的资料库.下列是指定资料库的指令: 如果你使用「MySQL Workbench」这 ...

  3. FreeOnTerminate 的线程在线程管理类的Destroy释放时手工释放的问题

    这个问题折腾了我整整一天. 有一个线程管理类,集中管理所有新建的线程, 线程统一在创建时标识 FreeOnTerminate 为 True. 因为有的线程是不限次循环的,所以在管理类最后 Destro ...

  4. vsftp黑白名单设置及问题

    问题一:ftpusers和user_list两个文件各自的用途是什么?有何关系? 首先请明确一点:ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!该文件存放的是一个禁止访问FTP的用 ...

  5. iptables的四表五链

    iptables只是Linux防火墙的管理工具而已,位于/sbin/iptables.真正实现防火墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构. iptables包含4个表, ...

  6. linux中断的上半部和下半部 【转】

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=24690947&id=3491821 一.什么是下半部 中断是一 ...

  7. 指令重排序及Happens-before法则随笔

    指令重排序 对主存的一次访问一般花费硬件的数百次时钟周期.处理器通过缓存(caching)能够从数量级上降低内存延迟的成本这些缓存为了性能重新排列待定内存操作的顺序.也就是说,程序的读写操作不一定会按 ...

  8. cut DEMO

    分割后得到列: cat /etc/passwd|head -n 5 | cut -d : -f 1,6

  9. CGRectGet系列

    CGRectGetHeight返回label本身的高度 CGRectGetMinY返回label顶部的坐标 CGRectGetMaxY 返回label底部的坐标 CGRectGetMinX 返回lab ...

  10. Greenplum的全量恢复之gpdbrestore

    gpdbrestore命令是对gp_restore命令的一个包装,提供了更灵活的选项,比如,使用gpcrondump自动备份的文件来恢复.使用gpdbrestore恢复必须具备: 1. 存在gpcro ...