找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 14746|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

合泰單片機(jī)觸摸按鍵數(shù)據(jù)手冊(cè)自編寫(xiě)程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:244945 發(fā)表于 2017-11-1 15:01 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
初始化中,對(duì)觸摸靈敏度自動(dòng)校正調(diào)節(jié)
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 位定時(shí) / 計(jì)數(shù)器寄存器    時(shí)隙計(jì)數(shù)器溢出設(shè)定的時(shí)間為 (256-TKTMR[7:0]) × 32
*****************************************************************************/
_tktmr=232;//時(shí)隙計(jì)數(shù)器溢出時(shí)間:(256-TKTMR[7:0])X32 226
/*****************************************************************************
TK16S(1~0):觸控按鍵模塊 16 位計(jì)數(shù)器時(shí)鐘選擇位
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;
/*****************************************************************************
參考振蕩器內(nèi)建電容選擇  振蕩器內(nèi)建電容選擇為 (TKM0RO[9:0] × 50pF)/1024
*****************************************************************************/
_tkm0rol= Slottimer;//159  134
_tkm0roh=Slottimer>>8;//0;
/******TKM0C0********/
/*****************************************************************************
復(fù)用按鍵選擇  00 =KEY1 01 =KEY2 10 =KEY3 11 :KEY4
*****************************************************************************/
_m0mxs1=0;
_m0mxs0=1;//復(fù)用KEY2
/*****************************************************************************
倍頻功能控制  0 =除能  1 =使能
*****************************************************************************/
_m0dfen=0;
/*****************************************************************************
濾波器功能控制  0 =除能  1 =使能
*****************************************************************************/
_m0filen=1;
/*****************************************************************************
C/F振蕩器由M0SOF2~M0SOF0決定   0 = 由 M0SOF2~M0SOF0 位控制 1 =由硬件電路控制
*****************************************************************************/
_m0sofc=0;
/*****************************************************************************
選擇按鍵振蕩器和參考振蕩器作為選擇 C/F 振蕩器時(shí)頻率選擇位 (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********/
/*****************************************************************************
時(shí)隙計(jì)數(shù)器選擇  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:開(kāi)啟觸控按鍵檢測(cè)

_tkst=1;//開(kāi)啟觸控按鍵檢測(cè)

}

oid __attribute((interrupt(0x08))) isr_Touch(void)
{
//時(shí)隙計(jì)數(shù)器溢出標(biāo)志位
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 計(jì)數(shù)器溢出標(biāo)志位
  if(_tkcfov)
{
  _tkcfov=0;
}
//觸控按鍵模塊 16 位計(jì)數(shù)器溢出標(biāo)志位
if(_tk16ov)
{
  _tk16ov=0;
}
}

評(píng)分

參與人數(shù) 1黑幣 +5 收起 理由
南瓜派 + 5 很給力!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:74303 發(fā)表于 2017-11-5 22:32 | 只看該作者
呵呵,合泰觸摸都出來(lái)了
回復(fù)

使用道具 舉報(bào)

板凳
ID:249001 發(fā)表于 2017-12-20 17:30 | 只看該作者
合泰觸控芯片開(kāi)發(fā)一般是用他們提供的軟件包進(jìn)行開(kāi)發(fā)的,不用這么麻煩
回復(fù)

使用道具 舉報(bào)

地板
ID:301571 發(fā)表于 2018-4-3 16:29 | 只看該作者
MingYY 發(fā)表于 2017-12-20 17:30
合泰觸控芯片開(kāi)發(fā)一般是用他們提供的軟件包進(jìn)行開(kāi)發(fā)的,不用這么麻煩

合泰提供的軟件包直接把RAM占用到99%,怎么破
回復(fù)

使用道具 舉報(bào)

5#
ID:301571 發(fā)表于 2018-4-3 16:29 | 只看該作者
合泰軟件包占用內(nèi)存太大
回復(fù)

使用道具 舉報(bào)

6#
ID:73327 發(fā)表于 2018-4-24 20:54 | 只看該作者
合泰軟件包占用內(nèi)存太大了!根本不夠用!
回復(fù)

使用道具 舉報(bào)

7#
ID:419594 發(fā)表于 2019-7-18 16:04 | 只看該作者
很有用的哦!
回復(fù)

使用道具 舉報(bào)

8#
無(wú)效樓層,該帖已經(jīng)被刪除
9#
ID:300260 發(fā)表于 2020-6-29 17:25 | 只看該作者
幫助實(shí)在是太大了。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表