使用 HT 芯片做触摸按键,可供使用的专门用途芯片主要有:HT45R35,HT45R36,HT45R38,原来还有一个 45R34 ,不知道为何停止生产了。如果仅仅是为了按键功能,选择 45R35 觉得更加经济,它有 16P,20P,24P,28P 多种封装供货,我们使用的是 SOP24 的。如图:

  开发成功的功能测试印刷板:

  板上一共安排了 8 个触摸按键,临时外接了 4 只发光管作为观看输出状态。它们按照二进制排列。与触摸键旁边标注的编号一一对应。

  在触摸键上面,可以覆盖 1~5mm 厚的有机玻璃或者塑料。触摸手感良好,稳定可靠。输出可以直接与单片机连接,按照 8421 编码读取按键值并且根据这些值去执行对应的程序段落。

  实际使用在产品中的触摸键之一: 8 个按键放在右边。

  实际使用在产品中的触摸键之二: 8 个按键分布两边。

  实际使用在产品中的触摸键:目前由东方明光电子公司应用于"水族世界 无限精彩"等产品项目中。其内部印刷板与按键板的窗口是吻合配套的。

  经过实际测试:按键实际安装到非测试板后(就是与开发仿真不同的印刷板),不影响触摸按键原有性能。在仪器面板(厚度0。5mm)的外部,再压上 5mm 厚的玻璃,触摸效果仍然非常理想。

  需要了解更多信息的朋友,请直接浏览 北京东方明光电子公司 网站: http://www.dfmg.bj.cn/ 。

   下图则是应用于 合肥邦森电器公司 的产品项目中的触摸按键,例如:电孵化项目等。详细信息可浏览该公司的网站: http://www.hfbsdq.cn/

  触摸按键制作感想:

  关于触摸按键,在许多网站上都有介绍。有些还非常专业,光是一大套理论,就让人感觉到高深莫测。

  年轻的时候,玩过收音机。当人手接近收音机天线时,就会跑台。----这也是一种人体感应。如果调节收音机的中周,非得使用无感螺刀,否则无法调节好---也是人体干扰。。。。这种现象是很普遍的。这也说明,只要能够发生人体感应的现象,都有可能利用它来做触摸按键。

  网络上也有许多"土"办法制作触摸按键的文章,没有一大堆的深奥理论,也不违背感应原理。人家也是做成功了!有使用 "555"芯片的,也有使用 AD 转换方法的,还有使用模拟开关作为多个触摸按键切换的。。。。"土"办法实际并不土。它告诉我们,只要方法得当,细心操作,做触摸按键并不难。

  还有一个身边的现象:找一个可以测量频率的万用表,灵敏度尽量高一些的。拨到频率档,准备测量频率。这时,用一只手捏着一根表笔,另外一根表笔悬空,万用表屏幕上可能显示就是 0000 或者有周围电网的感应频率 50HZ 左右,取决于人当时的环境。这时候,如果你用另外一只手去触摸一个触摸按键,哪怕你的手并没有摸到按键,万用表屏幕就已经显示比较高的频率读数了。。。人体把触摸按键板上的信号接收进来了,而且是"无线"的。。。。感应还是蛮强的啊!

  使用 HT 的 35R35 芯片做触摸按键,首先得感谢 HT 网站提供的示例文件,拿来就可以上机进行仿真,根据实际情况和示例上的指导方法,做一些调整和修改,(总不能连按键的数量人家也给你做好了啊!)还算是比较容易获得成功的。

  45R35 内部有二个 16 位定时/计数器,专门管理触摸按键的功能。芯片内部带有专门的 RC 振荡器,布局在印刷板上的"按键"与参考电阻+参考电容器一起构成了 RC 振荡器的外围元件。二个16 位定时/计数器则是:一个负责计数按键振荡器的数值----我们管它叫按键计数器吧,另外一个借用系统高精度的晶体振荡器进行计数---我们管它叫晶体计数器吧!按键计数器的计数时间受晶体计数器的严格控制,因此,时间间隔是非常精确的。而在一个检测时间内,按键计数器的数值大小就与按键振荡器的 RC 值有关,当用手去触摸按键时,会增大 RC 电路的时间常数,造成振荡频率变化。而程序总是借助这种方式去得到触摸按键在没有触摸时与触摸时的频率数值变化量,从而知道哪一个按键被触摸了。

  按照这套方法,当然完全可以使用普通硬件来实现它----说归说,那体积和成本以及电路的复杂程度就大大增加了。不划算了。就等于有电灯不用非得用火把照明了!

使用 HT 单片机芯片做触摸按键的试验:触摸按键实践一的更多相关文章

  1. 【雕爷学编程】Arduino动手做(51)---触摸按键模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...

  2. TC301A芯片做的一种人体接近感应方案

    基于TC301A芯片做的一种人体接近感应方案,此方案的原理是通过检测电容的变化量来检测人体的有无,此方案设计原理简单,使用方便,容易操作,成本较低.设计方案如下:可根据原理图做pcb板子,如图芯片的五 ...

  3. 【C51】单片机芯片之——图解74HC595

    第一部部分用于快速查阅使用,详细的使用见文章第二部分 引脚图

  4. AVR 嵌入式单片机芯片的中断系统介绍

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  5. STC单片机Flash做EEPROM的代码

    STC官方给出的建议: /***************************************************************Author:Liming*** * @brie ...

  6. display: -webkit-box; 做个小小试验

    最近做个微信项目发现css3在微信内部浏览器中和其他浏览有些区别 做个小小笔记 .job { display: -webkit-box; display: flexbox; -webkit-box-p ...

  7. 【转载】芯片级拆解51、AVR、MSP430、凌阳61、PIC,5种单片机,多张显微照片

    先秀一张解剖照,放大裁剪,小米1S微距拍摄,800万像素摄像头很给力!今天等待被拆的是5个单片机芯片:(1)凌阳16位单片机SPCE061A ,这是我接触的第一个单片机,最高主频49MHz,32KB的 ...

  8. NXP恩智浦P89V51RB2/RC2/RD2单片机解密芯片破解方法!

    NXP恩智浦P89V51RB2/RC2/RD2单片机解密芯片破解 P89V51RB2/RC2/RD2是一款80C51微控制器,包含16/32/64kB Flash和1024字节的数据RAM. P89V ...

  9. NXP恩智浦P89V52X2单片机破解P89C52X2BA芯片解密技术分享!

    NXP恩智浦P89V52X2单片机破解P89C52X2BA芯片解密 P89V52X2是一款带有8kB Flash.256B数据RAM和192B数据EEPROM的80C51微控制器.这个器件可以在完全替 ...

随机推荐

  1. [RxJS] Error handling operator: catch

    Most of the common RxJS operators are about transformation, combination or filtering, but this lesso ...

  2. 颜色渐变的RGB计算

    均匀渐变 渐变(Gradient)是美学中一条重要的形式美法则,与其相对应的是突变.形状.大小.位置.方向.色彩等视觉因素都可以进行渐变.在色彩中,色相.明度.纯度也都可以产生渐变效果,并会表现出具有 ...

  3. Android中GridView拖拽的效果

    最 近看到联想,摩托罗拉等,手机launcher中有个效果,进入mainmenu后,里面的应用程序的图标可以拖来拖去,所以我也参照网上给的代码,写了 一个例子.还是很有趣的,实现的流畅度没有人家的那么 ...

  4. 写一个函数,参数为$n,生成一个数组,其元素为1~$n,各元素位置随机排列,不得重复

    function rand_array($n){ $array=range(1,$n); shuffle($array); return $array; }

  5. 动态设置布局LayoutInflater

    LayoutInflater作用是将layout的xml布局文件实例化为View类对象.LayoutInflater 的作用类似于 findViewById(),不同点是LayoutInflater是 ...

  6. Java基础知识强化之集合框架笔记28:ArrayList集合练习之去除ArrayList集合中的重复字符串元素(升级)

    1. 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)     要求:不能创建新的集合,就在以前的集合上做. 2. 代码示例之 去除集合中重复元素,不创建新的集合: package ...

  7. div宽度设置无效问题解决

    问题描述: 要设置两个div在同一行显示,都加入了display:inline样式,但是其中一个div的宽度设置无效,在浏览器显示它的宽度始终是1003px. 解决办法: 方法1/给div加入样式:f ...

  8. C语言中,如何通过socket得到对端IP地址

    struct sockaddr_in clientaddr1; memset(&clientaddr1, 0x00, sizeof(clientaddr1)); socklen_t nl=si ...

  9. 那些年,我们一起学WCF--(6)PerCall实例行为

    当客户端调用服务器端服务后,服务器端就会为客户端生成一个实例,关于服务实例的分配问题,在WCF中有专门的属性进行设置,可以让所有客户端共享一个实例, 也可以让一个客户端可以拥有多个实例,也可以让一个实 ...

  10. jquery选择器的使用方式

    1.基本选择器   选择器 描述 返回 示例 代码说明 1 id选择器 根据指定的id匹配元素 单个元素 $("#one").css("background", ...