- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RC充放电原理电容感应按键
?(原文件名:图形1.jpg)?
HYPERLINK /bbs/bbs_content.jsp?bbs_sn=3234136bbs_page_no=1bbs_id=1000 \l ##### 引用图片
看过PIC的电容按键方案,实际上仅仅是一个充放电过程,可以不用比较器吗? 答案是肯定的。一般双向I/O单片机都可以做RC电容感应按键。 这里我们用M48的端口PD0来做一个RC的电容感应按键。
?(原文件名:图形2.jpg)?
HYPERLINK /bbs/bbs_content.jsp?bbs_sn=3234136bbs_page_no=1bbs_id=1000 \l ##### 引用图片
C1是分布电容,C2这里作为按键感应电容。 工作过程: 1:首先要禁止上拉电阻。 2:PD0输出高电平,向C1,C2充电。 3:PD0设置为输入,判断C1.C2向R1放电完毕的时间。 4:对比有C2和没有C2的放电时间,判断是否有键感应。 如图在只有C1的时候放电波形,放电时间测量为4.1us
?(原文件名:图形3.jpg)?
HYPERLINK /bbs/bbs_content.jsp?bbs_sn=3234136bbs_page_no=1bbs_id=1000 \l ##### 引用图片
如图在有C2感应的时候放电波形,放电时间测量为5.58us
?(原文件名:图形4.jpg)?
HYPERLINK /bbs/bbs_content.jsp?bbs_sn=3234136bbs_page_no=1bbs_id=1000 \l ##### 引用图片
可见有按键感应比无按键感应的放电时间要多1.48us。 下面关键的是怎样测量放电时间: 通常我们设置一个变量d,通过循环等待判断PD0是否=0来使变量d递增。判断完毕后,放电时间的短d最终值就小(无按键感应),放电时间长的d最终值就大(有按键感应)。 判断代码: while(PIND_0==0)d++; 对应汇编代码: main_0: SBIC????0x09,?0x00 RJMP????main_1 INC?????R18 RJMP???main_0 main_1: 通过汇编代码发现运行判断一次要5T时钟, 当时钟频率为1M时候,运行判断一次要5T时钟5us。 1.48/5=0.296???不足1个字。判断不出来。 当时钟频率为8M时候,运行判断一次要5T时钟0.625us。 1.48/0.625=2.368??约2-3个字。这个差值还是太小 当然这里的感应电容是1p,如果感应电容值变大也许能够识别出来。 这也许就是PIC的方案为什么采用比较器的缘故,硬件判别嘛,肯定要小于5T时钟。 我们可以采用定时器来代替变量d,这样运行判断一次就只需要3T时钟了(每次判断前开启定时器,每次判断完成后读取定时器值),判断代码如下: //开定时器 while(PIND_0==0);? //读定时器值 对应汇编代码: main_0: SBIS????0x09,?0x00 RJMP????main_1 main_1: 通过汇编代码发现运行判断一次要3T时钟, 当时钟频率为1M时候,运行判断一次要3T时钟3us。 1.48/3=0.50??不足1个字。判断不出来。 当时钟频率为8M时候,运行判断一次要3T时钟0.375us。 1.48/0.375=3.95??约3-4个字。这个差值基本可以了。 可见这里要保证的是时钟频率要高。 采用8M频率,每次差值3-4,采样100次求和作为1次总采样。差值就相差300-400,就可以准确判断感应按键了。当然采样10次或者更多次总采样后采用求平均值等软件滤波方法来消除干扰或者误差更好。 另一种方法就是在10ms时间内求得判断的次数,有按键感应的判断次数比无按键感应次数少。基本和PIC的方案差不多。 以上方法笔者都试验过(见图),具体的程序,以及温漂,校准等这里就不详细讲解。
?(原文件名:图形5.jpg)?
HYPERLINK /bbs/bbs_content.jsp?bbs_sn=3234136bbs_page_no=1bbs_id=1000 \l ##### 引用图片
?(原文件名:图形6.jpg)?
HYPERLINK /bbs/bbs_content.jsp?bbs_sn=3234136bbs_page_no=1bbs_id=1000 \l ##### 引用图片
电荷转移(QT)原理电容感应按键 如图:
?(原文件名:sensor072946m3.gif)?
HYP
文档评论(0)