废话少说,先上效果视频
http://v.youku.com/v_show/id_XMjg1MjcyMDMy.html
http://v.youku.com/v_show/id_XMjg1MjgzMzY4.html
再来张效果pp
(原文件名:触摸.jpg)
单片机选用stc12c5A60s2,1T的就可以,下面是原理图
(原文件名:原理图.jpg)
点击此处下载
ourdev_658261IV6PGT.pdf(文件大小:565K) (原文件名:核心板原理图.pdf)
程序贴出来,顺便工程一并上传上来
#include <reg52.H>
/*
P0.0为触摸按键
*/
sfr P0M1 = 0x93; //
sfr P0M0 = 0x94; //
sbit TOUCH=P0^0;
sbit LED=P3^3;
void delay(void)
{
volatile int i=3553;
while(i--);
}
void main(void)
{
P0M1=0X01; //配置P0为开漏输出
P0M0=0X01; //配置P0为开漏输出
while(1)
{
TOUCH=0;
delay();
TMOD=0X00;
TH0=0;
TL0=0;
TR0=1;
TOUCH=1;
while(!TOUCH);
TR0=0;
delay();
if(TL0>16||TL0<13)
P1=~P1;
}
}
点击此处下载
ourdev_658262VN5K05.rar(文件大小:19K) (原文件名:cool toutch.rar)
原理和stm8-discovery小板一样,拉低P0.0口,由于存在分布电容,P0.0口靠1兆上拉电阻上拉到TTL所认为的高电平,这段时间长短即是判断电容大小的依据,既然知道了时间长短,也就知道了按键是否按下。
-----------------------------------------------------------------------
这个检测的不是交流电变化,而是分布电容的变化
如果按您所说,用AD采集貌似都可以??那就改名“干扰感应”了
我做的在空旷地和用电池、usb都测试过,一样灵敏
一周热门 更多>