宋洪儒,王宜懷,楊 凡,3
(1.銅陵學(xué)院 電氣工程學(xué)院,安徽 銅陵 244000;2.蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 蘇州 215006;3.銅陵學(xué)院 信息技術(shù)與工程管理研究所,安徽 銅陵 244000)
當(dāng)前,隨著多媒體信息查詢和移動(dòng)手持終端電子產(chǎn)品的與日俱增,與傳統(tǒng)的觸點(diǎn)式按鍵相比,觸摸鍵具有方便易用、壽命長(zhǎng)、節(jié)省空間、便于操作等諸多優(yōu)點(diǎn),已被人們?cè)谌粘I钪袕V泛利用[1,2].在實(shí)際應(yīng)用中電容式觸摸鍵是比較普及的一種,雖然現(xiàn)在對(duì)電容式觸摸鍵有很多種設(shè)計(jì)方法,但是在硬件和軟件設(shè)計(jì)上缺少統(tǒng)一的構(gòu)件,沒(méi)有規(guī)范性和統(tǒng)一性,可重用性與可移植性較差,造成設(shè)計(jì)成本的增加,降低了工作效率,也會(huì)引起系統(tǒng)的工作不穩(wěn)定.為了克服以上的缺點(diǎn),解決觸摸鍵設(shè)計(jì)存在的問(wèn)題,本文研究采用由ARM公司發(fā)布一款擁有全球最低功耗的微處理器ARM Cortex-M0+為內(nèi)核的KL25微控制器進(jìn)行觸摸鍵的設(shè)計(jì),在KL25微控制器中包含有一個(gè)具有觸摸感應(yīng)輸入功能的模塊(TSI模塊)用于設(shè)計(jì)觸摸按鍵.
怎樣在KL25微控制器芯片上進(jìn)行觸摸鍵構(gòu)件設(shè)計(jì)是本文研究的重點(diǎn),根據(jù)TSI基本技術(shù)要素進(jìn)行觸摸感應(yīng)軟硬件構(gòu)件設(shè)計(jì),軟件構(gòu)件設(shè)計(jì)由頭文件和源代碼文件組成,在調(diào)用函數(shù)時(shí)只需調(diào)用頭文件中的函數(shù)即可實(shí)現(xiàn)所需功能要求,而源代碼文件是對(duì)相應(yīng)頭文件函數(shù)的編程,在調(diào)用函數(shù)時(shí)此部分內(nèi)容無(wú)須改動(dòng)或改動(dòng)很小,硬件構(gòu)件設(shè)計(jì)根據(jù)MCU功能引腳不同在使用時(shí)改變構(gòu)件的接口標(biāo)號(hào),這樣就提高了軟硬件的可重用性和可移植性.通過(guò)不同的實(shí)驗(yàn)環(huán)境對(duì)TSI構(gòu)件設(shè)計(jì)進(jìn)行實(shí)驗(yàn)驗(yàn)證,證明該設(shè)計(jì)方法具有很強(qiáng)的穩(wěn)定性.
觸摸感應(yīng)輸入(TSI)模塊具有高靈敏和強(qiáng)魯棒性的電容觸摸感應(yīng)檢測(cè)能力,該模塊通過(guò)預(yù)設(shè)待檢測(cè)對(duì)象的閾值與感應(yīng)到檢測(cè)對(duì)象的電極電容值相比較,如檢測(cè)到電容值大于預(yù)設(shè)閾值時(shí),會(huì)觸發(fā)TSI的中斷請(qǐng)求標(biāo)志位并置位,執(zhí)行TSI中斷服務(wù)程序,從而實(shí)現(xiàn)觸摸感應(yīng)的功能.
TSI模塊檢測(cè)觸摸感應(yīng)電容值是通過(guò)使用電極振蕩器和參考振蕩器兩個(gè)振蕩器相結(jié)合的方法,電極振蕩器的作用是產(chǎn)生三角波電壓實(shí)現(xiàn)對(duì)外部電極電容進(jìn)行充放電壓值上限和下限進(jìn)行限制,而三角波電壓信號(hào)的頻率也受外部電極電容變化影響,當(dāng)電容增加時(shí),三角波電壓信號(hào)的頻率減小,周期變大.參考振蕩器的作用是由該振蕩器產(chǎn)生的時(shí)鐘信號(hào)作為參考節(jié)點(diǎn),對(duì)三角波電壓信號(hào)的周期進(jìn)行檢測(cè)計(jì)數(shù),當(dāng)三角波電壓信號(hào)周期增大時(shí),對(duì)應(yīng)計(jì)數(shù)值也會(huì)增大[3].三角波電壓信號(hào)變化如圖1所示.
圖1 三角波電壓信號(hào)變化圖
圖1是感應(yīng)電容增大時(shí)三角波變化情況,從圖中可以看出,以觸摸感應(yīng)變化為分界點(diǎn),在一個(gè)周期時(shí)間內(nèi),三角波信號(hào)在觸摸感應(yīng)沒(méi)有變化之前的計(jì)數(shù)時(shí)鐘個(gè)數(shù)小于觸摸感應(yīng)變化后的計(jì)數(shù)時(shí)鐘個(gè)數(shù).感應(yīng)電容減小時(shí),變化情況相反.
電容檢測(cè)值由參考振蕩器頻率和電極采樣時(shí)間等參數(shù)決定,參考振蕩器頻率方程為:
電極采樣時(shí)間是由TSI振蕩器頻率信號(hào)先經(jīng)過(guò)分頻器進(jìn)行分頻,再進(jìn)入計(jì)數(shù)器計(jì)數(shù),計(jì)數(shù)值從0計(jì)到最大值,最大值由TSI0_GENCS寄存器中NSCN位定義,電極采樣時(shí)間方程:
在檢測(cè)電容值期間,電容檢測(cè)結(jié)果由TSI參考振蕩器周期值來(lái)定義,儲(chǔ)存到TSICHnCNT寄存器中,電容檢測(cè)值由式(2)可得.
由上述方程(1)~(3)可以得到電容式檢測(cè)方程:
其中在式(1)~(4)中參數(shù),PS:預(yù)分頻值,Cref:內(nèi)部參考電容器的電容,Iref:參考振蕩器電流源,NSCN:掃描次數(shù),Celec:電極電容,ΔV:滯環(huán)三角波電壓差值.在以上參數(shù)中只有參數(shù)電極電容Celec是變量,其他參數(shù)都是在寄存器中預(yù)先設(shè)置的常量,可以將測(cè)量電容值方程簡(jiǎn)化為:TSICHnCNT=K×Celec,從簡(jiǎn)化式中可以看出,電容測(cè)量值與電極電容成正比關(guān)系,隨著感應(yīng)電極電容的變化,檢測(cè)的電容值也在變化[4].
根據(jù)TSI模塊的工作原理,對(duì)檢測(cè)程序進(jìn)行軟件設(shè)計(jì).在軟件設(shè)計(jì)時(shí),為提高軟件設(shè)計(jì)的規(guī)范性,可重用性與可移植性,滿足TSI模塊應(yīng)用到不同控制系統(tǒng)時(shí),能達(dá)到在調(diào)用源程序文件時(shí)不必修改或者修改很少的目的,需要進(jìn)行構(gòu)件設(shè)計(jì).在構(gòu)件設(shè)計(jì)過(guò)程中,關(guān)鍵對(duì)要設(shè)計(jì)構(gòu)件的共性和個(gè)性進(jìn)行區(qū)別和分析,才能設(shè)計(jì)出規(guī)范的和可用的構(gòu)件.構(gòu)件由頭文件(.h)和源程序文件(.c)兩部分組成,頭文件(.h)是在應(yīng)用到不同系統(tǒng)中時(shí),直接進(jìn)行調(diào)用部分,設(shè)計(jì)頭文件就要做到在不查看源程序文件情況下,能夠完全使用該構(gòu)件進(jìn)行程序的開(kāi)發(fā).源程序文件(.c)是對(duì)頭文件中包含的函數(shù)進(jìn)行具體功能實(shí)現(xiàn),在內(nèi)容要求上需要合理設(shè)計(jì)外接口函數(shù),在構(gòu)件應(yīng)用到不同的控制系統(tǒng)中時(shí),不需要修改或修改很小[5].
KL25芯片共有16個(gè)引腳具有觸摸感應(yīng)功能,一個(gè)引腳對(duì)應(yīng)一個(gè)數(shù)據(jù)通道,在設(shè)計(jì)時(shí)需要定義使用的具體通道號(hào),由于16個(gè)引腳都具有復(fù)用功能,通過(guò)引腳控制器的引腳復(fù)用控制(MUX)來(lái)設(shè)定引腳的具體功能.具體TSI引腳分配見(jiàn)表1.
表1 KL25的TSI引腳分配表
TSI模塊構(gòu)件由頭文件(tsi.h)和源代碼文件(tsi.c)組成,根據(jù)功能需求在頭文件(tsi.h)中,主要進(jìn)行以下幾種函數(shù)模塊的定義:TSI初始化模塊(tsi_init):void tsi_init(uint_8 chnl-Num,uint_32 threshold),其中chnlNum表示通道號(hào),threshold表示觸發(fā)閾值;獲取TSI通道的計(jì)數(shù)值模塊(tsi_get_value16):uint_16 tsi_get_value16();設(shè)定TSI通道的閾值模塊(tsi_set_threshold):void tsi_set_threshold(uint_16 Lth,uint_16 Hth),其中Lth表示閾值下限,Hth表示閾值上限;使能TSI開(kāi)中斷模塊(tsi_enable_re_int):void tsi_enable_re_int();使能TSI關(guān)中斷模塊 (tsi_disable_re_int):void tsi_disable_re_int();開(kāi)啟一次軟件掃描模塊 (tsi_softsearch):void tsi_softsearch().在軟件設(shè)計(jì)過(guò)程中,需要使用哪個(gè)模塊只需直接調(diào)用函數(shù)即可.
源代碼文件(tsi.c)主要是對(duì)頭文件中包含的幾種函數(shù)模塊進(jìn)行具體的編程,通過(guò)對(duì)系統(tǒng)時(shí)鐘門控寄存器(SIM_SCG5),通用控制和狀態(tài)寄存器(TSI0_GENCS),DATA寄存器(TSI0_DATA),閾值寄存器(TSI0_TSHD)等的設(shè)置實(shí)現(xiàn)其功能.源代碼文件基本設(shè)計(jì)有以下幾個(gè)步驟[6]:
(1)首先進(jìn)行初始化函數(shù)tsi_init模塊的編程:①在該函數(shù)中設(shè)置系統(tǒng)時(shí)鐘門控寄存器(SIM_SCG5),打開(kāi)TSI模塊時(shí)鐘源,設(shè)置“1”打開(kāi)時(shí)鐘,功能語(yǔ)句為BSET(SIM_SCGC5_TSI_SHIFT,SIM_SCGC5);選擇A端口為時(shí)鐘門,由功能語(yǔ)句BSET(SIM_SCGC5_PORTA_SHIFT,SIM_SCGC5)實(shí)現(xiàn),由于在A端口中有5個(gè)引腳(PTA0~PTA4)都具有TSI功能,并且A端口是復(fù)用端口,所以在使用TSI功能時(shí)是需要由引腳控制寄存器(PORT_PCR)中MUX選擇引腳復(fù)用功能,語(yǔ)句為PORTA_PCR(0~4)=PORT_PCR_MUX(0),其中 PORTA_PCR(0~4)的0~4表示TSI的1~5通道.②在通用控制和狀態(tài)寄存器(TSI0_GENCS)中進(jìn)行參數(shù)設(shè)置,選擇TSI在低功耗模式下工作;參考振蕩器充放電時(shí)的電流值為4uA;振蕩器充放電電壓的峰谷值電壓分別為峰值Vp=1.18V,谷值電壓Vm=0.45V;電極振蕩器充放電電流值16uA;預(yù)分頻值為4;每個(gè)電極掃描4次;開(kāi)啟TSI模塊使能位;中斷使能位等操作.③在DATA寄存器(TSI0_DATA)中設(shè)置通道號(hào),語(yǔ)句為TSI0_DATA|=(TSI_DATA_TSICH(chnlNum)).通過(guò)對(duì)以上參數(shù)的詳細(xì)配置,已經(jīng)初步完成了初始化函數(shù)模塊編程,具體初始化程序如下.
BCLR(TSI_GENCS_TSIIEN_SHIFT,TSI0_GENCS);
BSET(TSI_GENCS_STPE_SHIFT,TSI0_GENCS);
TSI0_GENCS|=(TSI_GENCS_REFCHRG(3)
|TSI_GENCS_DVOLT(1)
|TSI_GENCS_EXTCHRG(5)
|TSI_GENCS_PS(2)//電極振蕩器4分頻
|TSI_GENCS_NSCN(11);//每個(gè)電極掃描4次
BCLR(TSI_GENCS_ESOR_SHIFT,TSI0_GENCS);//設(shè)置超過(guò)閾值產(chǎn)生中斷
BCLR(TSI_GENCS_STM_SHIFT,TSI0_GENCS);
BSET(TSI_GENCS_OUTRGF_SHIFT,TSI0_GENCS);
BSET(TSI_GENCS_EOSF_SHIFT,TSI0_GENCS);//超出閾值置位,EOSF為1設(shè)置成掃描完成狀態(tài)
TSI0_DATA|=(TSI_DATA_TSICH(chnlNum));//選擇通道
BSET(TSI_GENCS_TSIEN_SHIFT,TSI0_GENCS);//TSI模塊使能
TSI0_TSHD=threshold;
(2)獲取返回值函數(shù)tsi_get_value16模塊:主要是啟動(dòng)一次TSI掃描,獲取TSI通道的計(jì)數(shù)值,將計(jì)數(shù)值保存并返回.該函數(shù)的實(shí)現(xiàn)主要是通過(guò)在通用控制和狀態(tài)寄存器(TSI0_GENCS)中設(shè)置開(kāi)關(guān)中斷和產(chǎn)生中斷方式以及在DATA寄存器(TSI0_DATA)中設(shè)置參數(shù),實(shí)現(xiàn)讀取計(jì)數(shù)寄存器中值的目的,計(jì)數(shù)值定義為value=(TSI0_DATA&TSI_DATA_TSICNT_MASK).具體參考程序如下.
BCLR(TSI_GENCS_TSIIEN_SHIFT,TSI0_GENCS);BSET(TSI_DATA_SWTS_SHIFT,TSI0_DATA);
while(!(TSI0_GENCS&TSI_GENCS_EOSF_MASK));
BSET(TSI_GENCS_EOSF_SHIFT,TSI0_GENCS);//寫(xiě) 1清0掃描結(jié)束標(biāo)志位
value=(TSI0_DATA&TSI_DATA_TSICNT_MASK);BSET(TSI_GENCS_OUTRGF_SHIFT,TSI0_GENCS);//寫(xiě)1清0超值標(biāo)志位
BSET(TSI_GENCS_EOSF_SHIFT,TSI0_GENCS);//清掃描結(jié)束標(biāo)志位
BSET(TSI_GENCS_TSIIEN_SHIFT,TSI0_GENCS);
(3)設(shè)置TSI閾值函數(shù)tsi_set_threshold模塊:對(duì)閾值寄存器(TSI0_TSHD)進(jìn)行參數(shù)設(shè)置,閾值寄存器TSI0_TSHD是32位寄存器,包含高16位THRESH存儲(chǔ)閾值上限值和低16位存儲(chǔ)閾值下限值.預(yù)設(shè)TSI通道的觸發(fā)下限閾值和上限閾值,若TSI通道檢測(cè)值超出預(yù)設(shè)閾值的上下限時(shí),則TSI模塊認(rèn)為TSI引腳上有TSI事件觸發(fā),將會(huì)自動(dòng)設(shè)置TSI觸發(fā)標(biāo)志位,產(chǎn)生中斷服務(wù)請(qǐng)求.具體參考程序如下.
voidtsi_set_threshold(uint_16 Lth,uint_16 Hth)
{uint_32thresholdValue;
thresholdValue=Hth;//高16位為上限閾值
thresholdValue=(thresholdValue<<16)|Lth;//低 16 位為下限閾值
TSI0_TSHD=thresholdValue;}
(4)使能 TSI模塊函數(shù) tsi_enable_re_int(開(kāi) TSI中斷)和關(guān)閉TSI模塊函數(shù)tsi_disable_re_int(關(guān)TSI中斷),這兩個(gè)模塊通過(guò)對(duì)通用控制和狀態(tài)寄存器(TSI0_GENCS)中的控制位分別進(jìn)行由BSET置1開(kāi)啟和BCLR清0關(guān)斷中斷功能.具體參考程序如下.
BSET(TSI_GENCS_TSIIEN_SHIFT,TSI0_GENCS);
BSET(TSI_GENCS_STM_SHIFT,TSI0_GENCS);
enable_irq(26);//開(kāi)中斷
BCLR(TSI_GENCS_STM_SHIFT,TSI0_GENCS);
BSET(TSI_DATA_SWTS_SHIFT,TSI0_DATA);
disable_irq(26);//關(guān)中斷
TSI檢測(cè)程序主要有主函數(shù)main和中斷函數(shù)兩部分組成.
在main函數(shù)設(shè)計(jì)時(shí),主要完成以下功能:
(1)設(shè)置TSI模塊所使用的通道號(hào)并調(diào)用TSI初始化函數(shù).
uint_8chnlNum=2; //TSI選擇通道2
tsi_init(chnlNum,TSI_VALUE); //調(diào)用初始化TSI函數(shù)
在初始化函數(shù)中參數(shù)TSI_VALUE的設(shè)置在頭文件include中定義宏賦初始值,#define TSI_VALUE0x00620050,其中32位閾值表示下限值和上限值,其中高16位為上限值,低16位為下限值.
(2)調(diào)用TSI中斷使能函數(shù)和串口中斷使能函數(shù).
tsi_enable_re_int(); //開(kāi) TSI中斷
uart_enable_re_int(UART_1)//開(kāi)串口1中斷
(3)調(diào)用串口1初始化函數(shù)和軟件掃描函數(shù).
uart_init(UART_1,9600);
tsi_softsearch();
串口1函數(shù)的編程不是本文談?wù)摰闹攸c(diǎn),在這里就不做詳細(xì)的設(shè)計(jì)說(shuō)明.
當(dāng)獲得的通道計(jì)數(shù)值超出設(shè)定閾值的上限范圍時(shí),會(huì)產(chǎn)生TSI中斷響應(yīng),執(zhí)行中斷函數(shù)獲取計(jì)數(shù)值,并通過(guò)串口1發(fā)送給PC機(jī).為了保證獲得檢測(cè)值的穩(wěn)定,需要對(duì)檢測(cè)值進(jìn)行中值濾波處理,參考程序如下.
voidTSI0_IRQHandler(void)
{uint_16,k,j,average=0,sum1=0,sum=0,ave=0;
DISABLE_INTERRUPTS;
if(TSI0_GENCS&SI_GENCS_OUTRGF_MASK)
{i=tsi_get_value16();//獲取計(jì)數(shù)值
for(j=0;j<100;j++)//中值濾波
{for(k=0;k<150;k++)
{sum1=sum1+i;}
average=sum1/150;
sum1=0;
sum=sum+average;}
ave=sum/100;
if(ave/100!=0)
uart_send1(UART_1,(uint_8)(ave/100)+′0′);
ave=ave%100;
if(ave/10!=0)uart_send1(UART_1,(ave/10)+′0′);ave=ave%10;if(ave!=0)
uart_send1(UART_1,(uint_8)(ave)+′0′);
uart_send1(UART_1,′ ′);}
TSI0_GENCS|=TSI_GENCS_OUTRGF_MASK;//寫(xiě)1清除
ENABLE_INTERRUPTS;}
TSI檢測(cè)電路如圖2所示,該圖中觸摸片通過(guò)電阻R101直接與CPU上具有觸摸感應(yīng)功能的PTA1引腳相連,P1為觸摸片.該檢測(cè)電路設(shè)計(jì)成硬件構(gòu)件,在應(yīng)用到其他觸摸電路中時(shí),構(gòu)件MCU引腳功能修改端口標(biāo)號(hào)就能正常使用,無(wú)須再重新設(shè)計(jì).
圖2 檢測(cè)電路
在電路設(shè)計(jì)時(shí),電阻的作用是過(guò)電流保護(hù)和提高抗干擾能力,電阻選擇要合理,電阻值選擇過(guò)大,引起信號(hào)感應(yīng)信號(hào)較弱.電阻值選擇過(guò)小,抗干擾能力差,引起感應(yīng)信號(hào)不穩(wěn)定.
在TSI檢測(cè)時(shí),兩個(gè)關(guān)鍵參數(shù)影響檢測(cè)值,即觸摸片串聯(lián)電阻值和預(yù)設(shè)閾值.(1)預(yù)設(shè)閾值的設(shè)置方法:觸摸感應(yīng)引腳在受外界電磁場(chǎng)的干擾時(shí),也會(huì)產(chǎn)生一個(gè)干擾閾值,如果設(shè)置的閾值上限值低于干擾閾值或者閾值下限值超過(guò)干擾閾值,觸摸片會(huì)在干擾信號(hào)影響下自動(dòng)產(chǎn)生中斷,抗干擾能力較差.如果設(shè)置閾值上限值遠(yuǎn)大于干擾閾值,會(huì)引起觸摸片反應(yīng)不靈敏,不能實(shí)時(shí)產(chǎn)生中斷響應(yīng),準(zhǔn)確地輸出檢測(cè)值.所以,在預(yù)設(shè)閾值時(shí),要考慮上下限閾值的取值范圍,上限值一定要高于干擾閾值,下限值也要低于干擾閾值,這樣才能避免由于外界的干擾而自動(dòng)產(chǎn)生觸發(fā)中斷.在上下限閾值的設(shè)置上,關(guān)鍵是先確定下限閾值,在下限值不變的情況下,確定上限閾值的選取范圍,針對(duì)不同的應(yīng)用環(huán)境,干擾閾值也在發(fā)生變化,預(yù)設(shè)上下限閾值也要進(jìn)行相應(yīng)的調(diào)整,才能達(dá)到觸摸感應(yīng)片比較理想的工作狀態(tài).(2)電阻值大小選擇合理,在檢測(cè)時(shí),在預(yù)設(shè)閾值確定后,再調(diào)整電阻值的大小,進(jìn)行檢測(cè)值.
圖3和圖4分別選取以2mm的塑料殼和2.5mm的亞克力玻璃兩種不同材質(zhì)為例作為觸摸片進(jìn)行檢測(cè)實(shí)驗(yàn),閾值選取為TSI_VALUE=0x00800040,串聯(lián)電阻R取不同阻值時(shí)得到的實(shí)驗(yàn)數(shù)據(jù).在圖中橫軸表示測(cè)量次數(shù),縱軸表示測(cè)量感應(yīng)值,選取連續(xù)進(jìn)行30次檢測(cè)所得數(shù)據(jù)進(jìn)行分析.
圖3 塑料殼(2mm)對(duì)比圖
圖4 亞克力玻璃(2.5mm)對(duì)比圖
通過(guò)圖3和圖4圖形變化可以看出,不同的實(shí)驗(yàn)環(huán)境,產(chǎn)生的觸摸感應(yīng)值的大小不同,由于受外界環(huán)境的干擾,都會(huì)有誤差值產(chǎn)生,而在對(duì)于同一種環(huán)境下,串聯(lián)電阻R對(duì)測(cè)量值有很大的影響,串聯(lián)電阻值R=50Ω和10KΩ時(shí),測(cè)量所得值變化較大,通過(guò)實(shí)驗(yàn)驗(yàn)證R值的選取范圍在500Ω~2KΩ最為合適,在保證檢測(cè)值穩(wěn)定的前提下,從低功耗角度考慮,R選擇在1KΩ最為合適.同時(shí),閾值范圍的選取不同,決定感應(yīng)的靈敏度,隨著閾值上限值的增加,對(duì)觸摸片的感應(yīng)能力在逐漸地減弱.根據(jù)實(shí)驗(yàn)所得,2mm的塑料殼和2.5mm的亞克力玻璃閾值上限值分別選取到Hth=0x0087和Hth=0x0086時(shí),觸摸感應(yīng)片不能產(chǎn)生中斷響應(yīng),在串口上不能輸出檢測(cè)值.
通過(guò)對(duì)KL25微控制器觸摸感應(yīng)工作原理詳細(xì)分析,結(jié)合實(shí)際的應(yīng)用詳細(xì)解析了TSI構(gòu)件設(shè)計(jì)過(guò)程和方法,給出了檢測(cè)主程序和中斷程序,并在閾值范圍的設(shè)置上進(jìn)行了說(shuō)明,最后進(jìn)行不同環(huán)境的實(shí)驗(yàn)測(cè)試.實(shí)驗(yàn)結(jié)果表明該觸摸鍵設(shè)計(jì)方法有很好的穩(wěn)定性.構(gòu)件設(shè)計(jì)具有的規(guī)范性和統(tǒng)一性,便于函數(shù)的調(diào)用和移植,提高軟件設(shè)計(jì)的工作效率,有效降低觸摸按鍵編程的技術(shù)門檻,為觸摸按鍵的應(yīng)用開(kāi)發(fā)提供技術(shù)基礎(chǔ)和應(yīng)用方面具有廣闊的應(yīng)用前景.
參考文獻(xiàn):
〔1〕田野,廖明燕.基于充放電原理的電容式觸摸按鍵設(shè)計(jì)[J].電子設(shè)計(jì)工程,2010(10):142-144.
〔2〕張毅君.電容觸摸式汽車中控面板的關(guān)鍵技術(shù)[D].上海:上海交通大學(xué),2014.
〔3〕Freescale.KL25 Sub-Family Reference Manual[DB/OL].[2013-03-15].http://www.Freescale.com.
〔4〕朱仕浪,王宜懷,馮德汪.基于KL25低功耗喚醒機(jī)制的TSI鍵盤應(yīng)用分析 [J].計(jì)算機(jī)工程與設(shè)計(jì).2014,35(7):2375-2379.
〔5〕王宜懷,吳瑾,文瑾.嵌入式技術(shù)基礎(chǔ)與實(shí)踐(第 4版)[M].北京:清華大學(xué)出版社,2017.
〔6〕Freescale.KL25 Sub-Family data sheet[DB/OL].[2013-03-15].http://www.Freescale.c.
赤峰學(xué)院學(xué)報(bào)·自然科學(xué)版2018年3期