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. jquery ui和jquery easy ui的区别

    jquery ui 是jquery开发团队 开发,适用于网站式的页面.jquery easyui 是第三方基于jquery开发,适用于应用程序式的页面. 两者的方法调用也略有不同:jquery ui ...

  2. android 项目学习随笔十三(ListView实现ITEM点击事件,将已读状态持久化到本地)

    1.因为给LISTVIEW增加了两个头布局,所以在点击事件ITEM索引会增加2,比如原来第一条数据的索引应该为0,增加两个头布局后,它的索引变为        2,为了使LISTVIEW的ITEM在点 ...

  3. jenkins相关

    1. jenkins maven tomcat做持续集成的时候几个关键配置:http://my.oschina.net/congqian/blog/112782?fromerr=PmIDbLs5 2. ...

  4. 161116、springmvc自己实现防止表单重复提交(基于注解)

    原理:在去某个页面直接生成一个随机数(这里使用的是UUID)并放入session中,用户提交表单时将这个随机数传入服务端与session中的值进行比较,如果不不存在或不相等,则认为是重复提交:如果相等 ...

  5. 不错的linux下通用的java程序启动脚本(转载)

    转自:http://www.cnblogs.com/langtianya/p/4164151.html 虽然写起动shell的频率非常不高...但是每次要写都要对付一大堆的jar文件路径,新加jar包 ...

  6. Microsoft Office 2013 Product Key

    Microsoft Office 2013 Product Key ( Professional Plus ) PGD67-JN23K-JGVWW-KTHP4-GXR9G B9GN2-DXXQC-9D ...

  7. Hive文件格式

    hive文件存储格式包括以下几类: 1.TEXTFILE 2.SEQUENCEFILE 3.RCFILE 4.ORCFILE(0.11以后出现) 其中TEXTFILE为默认格式,建表时不指定默认为这个 ...

  8. mac下多个php版本快速切换的方法是怎么样

    一.使用brew安装php多版本方法# brew install php56# brew install php70二.安装切换工具# brew install php-version# source ...

  9. 将helps.php或者functions.php直接进行了加载

    TP3系列中functions.php文件默认其实是空文件,很好找.我们可以直接封装代码. Laravel5系列中的path/vendor/laravel/framework/src/Illumina ...

  10. 浅谈C#当中的out关键字(转载)+说明

    与ref关键字一样,out关键字也是按引用来传递的. 示例演示了out关键字的使用方法,其功能是获取数组中的最大值和最大值的索引 using System; using System.Collecti ...