求一个PIC的触摸例程,要求商用,谢谢!
本帖最后由 tony001 于 2017-7-27 18:02 编辑之前做一个触摸方案用的专用触摸IC,太贵了,现在用PIC16F1936来做4键触摸,,但实在效果不太理想啊,
看了别人做的四键效果相当不错的,我们硬件一样,肯定的说,我的软件做的不如别人好啊,
#include"head.h"
void Cap_ISR(void)
{
staticint trip={136,134,136,144,128,152},raw=0;
staticchar AvgIndex=0,Index=1;
staticchar DIM_Index={1,2,3,0,5,4};
if((Cap_bit==1)&&(TMR0IF==0))
{
TMR1ON=0;raw=TMR1H<<8|TMR1L;KEY_Avg=raw;
if(raw<(Cap_Avg-trip))//如果当前通道的频率值小于当前通道平均值减去差值,表示有按键按下
{
switch(Index)
{
case 0: {Key_data=Key_data|1;break;}
case 1: {Key_data=Key_data|2;break;}
case 2: {Key_data=Key_data|4;break;}
case 3: {Key_data=Key_data|8;break;}
case 4: {Key_data=Key_data|16;break;}
case 5: {Key_data=Key_data|32;break;}
case 6: {Key_data=Key_data|64;break;}
case 7: {Key_data=Key_data|128;break;}
case 8: {Key_data=Key_data|256;break;}
case 9: {Key_data=Key_data|512;break;}
case 10:{Key_data=Key_data|1024;break;}
case 11:{Key_data=Key_data|2048;break;}
}
}
else if(raw>(Cap_Avg-trip+64))
{
switch(Index)
{
case 0: {Key_data=Key_data&4094;break;}//-1
case 1: {Key_data=Key_data&4093;break;}//-2
case 2: {Key_data=Key_data&4091;break;}//-4
case 3: {Key_data=Key_data&4087;break;}//-8
case 4: {Key_data=Key_data&4079;break;}//-16
case 5: {Key_data=Key_data&4063;break;}//-32
case 6: {Key_data=Key_data&4031;break;}//-64
case 7: {Key_data=Key_data&3967;break;}//-128
case 8: {Key_data=Key_data&3839;break;}//-256
case 9: {Key_data=Key_data&3583;break;}//-512
case 10:{Key_data=Key_data&3071;break;}//-1024
case 11:{Key_data=Key_data&2047;break;}//-2048
}
if(AvgIndex<2)AvgIndex ++;else AvgIndex=0;
if(AvgIndex==2)
{
if(raw>=Cap_Avg) Cap_Avg+=((raw-Cap_Avg)>>4);
else Cap_Avg-=((Cap_Avg-raw)>>4);
}
}
if(Index<5) Index++; else Index=0; CPSCON1=DIM_Index;//切换通
TMR1H=0;TMR1L=0;TMR1ON=1;
}
}
你这个应该是官方例程吧,结合硬件修改阈值,官方好像还有一个touch相关的工具 这玩意布线很有讲究,尽量细点,我用了罗姆专用芯片效果也不好 看个别人用PIC做的,效果超好啊, 既然硬件一样,把他们的芯片吹下来,换你们的芯片和程序,看看是不是PCB方面的原因{:lol:} 哈哈,楼上的方法试过了,的确是自己的软件不行 pic有个mtouch。效果蛮好的。
触摸布线没那么讲究一样可以用。 这东西 关键在软件上 和芯片上。 难怪中国人做产品都把IC字磨掉,还涂环氧树脂,不是别人无耻是都无... 用PIC单片机的mtouch库试试 ads ts04
http://www.microchip.com.cn/community/Library/more/categoryId/27/p/3/
页:
[1]