标题:
合泰单片机触摸按键数据手册自编写程序
[打印本页]
作者:
zsfl2000
时间:
2017-11-1 15:01
标题:
合泰单片机触摸按键数据手册自编写程序
初始化中,对触摸灵敏度自动校正调节
do
{
asm("CLR WDT");//喂狗
if(TouchUpdate)
{
TouchUpdate=0;
if(TouchData>1230)
{
TF--;
if(TK16D<=(TF-2))
{
Slottimer++;
Touch_Init();
}
else if(TK16D>=(TF+2))
{
Slottimer--;
Touch_Init();
}
}
else if(TouchData<1225)
{
TF++;
if(TK16D<=(TF-2))
{
Slottimer++;
Touch_Init();
}
else if(TK16D>=(TF+2))
{
Slottimer--;
Touch_Init();
}
}
else
{
break;
}
}
}while(1);
void Touch_Init(void)
{
_tkst=0;
/*****************************************************************************
触控按键 8 位定时 / 计数器寄存器 时隙计数器溢出设定的时间为 (256-TKTMR[7:0]) × 32
*****************************************************************************/
_tktmr=232;//时隙计数器溢出时间:(256-TKTMR[7:0])X32 226
/*****************************************************************************
TK16S(1~0):触控按键模块 16 位计数器时钟选择位
00 =Fsys 01 =Fsys/2 10 =Fsys/4 11 =Fsys/8
*****************************************************************************/
_tk16s1=1;
_tk16s0=0;
/*****************************************************************************
TKFS(1~0):触控按键振荡器频率选择位
00 =500KHZ 01 =1000KHZ 10 =1500KHZ 11 =2000KHZ
*****************************************************************************/
_tkfs1=1;
_tkfs0=1;
/*****************************************************************************
参考振荡器内建电容选择 振荡器内建电容选择为 (TKM0RO[9:0] × 50pF)/1024
*****************************************************************************/
_tkm0rol= Slottimer;//159 134
_tkm0roh=Slottimer>>8;//0;
/******TKM0C0********/
/*****************************************************************************
复用按键选择 00 =KEY1 01 =KEY2 10 =KEY3 11 :KEY4
*****************************************************************************/
_m0mxs1=0;
_m0mxs0=1;//复用KEY2
/*****************************************************************************
倍频功能控制 0 =除能 1 =使能
*****************************************************************************/
_m0dfen=0;
/*****************************************************************************
滤波器功能控制 0 =除能 1 =使能
*****************************************************************************/
_m0filen=1;
/*****************************************************************************
C/F振荡器由M0SOF2~M0SOF0决定 0 = 由 M0SOF2~M0SOF0 位控制 1 =由硬件电路控制
*****************************************************************************/
_m0sofc=0;
/*****************************************************************************
选择按键振荡器和参考振荡器作为选择 C/F 振荡器时频率选择位 (M0SOFC=0) m0sof(2~0)
000 =1380Khz 001 =1500KHZ 010 =1670KHZ 011 =1830KHZ
100 =2000KHZ 101 =2230KHZ 110 =2460KHZ 111 =2740KHZ
*****************************************************************************/
_m0sof2=1;
_m0sof1=0;
_m0sof0=0;
/******TKM0C1********/
/*****************************************************************************
时隙计数器选择 0 =参考振荡器 1 =Fsys/4
*****************************************************************************/
_m0tss=0;
/*****************************************************************************
参考振荡器控制 0 =除能 1 =使能
*****************************************************************************/
_m0roen=1;
/*****************************************************************************
按键振荡器控制 0 =除能 1 =使能
*****************************************************************************/
_m0koen=1;
/*****************************************************************************
I/O 引脚和触控按键 2 功能选择 0: I/O 引脚 1:触控按键
*****************************************************************************/
// _m0k4io=0;//使能PA4触摸键一功能 KEY1
// _m0k3io=0;//使能PA3触摸键一功能 KEY2
_m0k2io=1;//使能PA1触摸键一功能 KEY3
// _m0k1io=0;//使能PA5触摸键一功能 KEY4
_tkme=1;//使能触控按键中断
//0 → 1:开启触控按键检测
_tkst=1;//开启触控按键检测
}
oid __attribute((interrupt(0x08))) isr_Touch(void)
{
//时隙计数器溢出标志位
if(_tkrcov)
{
if(TouchUpdate==0)
{
TouchData=_tkm016dh;//_tk16dh;//
TK16D =_tk16dh;
TouchData<<=8;
TK16D <<=8;
TouchData|=_tkm016dl;//_tk16dl;//
TK16D |=_tk16dl;
}
_tkst=0;
TouchUpdate=1;
}
//触控按键模块 16 位 C/F 计数器溢出标志位
if(_tkcfov)
{
_tkcfov=0;
}
//触控按键模块 16 位计数器溢出标志位
if(_tk16ov)
{
_tk16ov=0;
}
}
作者:
looksave
时间:
2017-11-5 22:32
呵呵,合泰触摸都出来了
作者:
MingYY
时间:
2017-12-20 17:30
合泰触控芯片开发一般是用他们提供的软件包进行开发的,不用这么麻烦
作者:
13725802871
时间:
2018-4-3 16:29
MingYY 发表于 2017-12-20 17:30
合泰触控芯片开发一般是用他们提供的软件包进行开发的,不用这么麻烦
合泰提供的软件包直接把RAM占用到99%,怎么破
作者:
13725802871
时间:
2018-4-3 16:29
合泰软件包占用内存太大
作者:
仙尊大人
时间:
2018-4-24 20:54
合泰软件包占用内存太大了!根本不够用!
作者:
hillsongdr
时间:
2019-7-18 16:04
很有用的哦!
作者:
华哥666
时间:
2020-6-29 17:25
帮助实在是太大了。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1