標(biāo)題: 基于51單片機(jī)自制觸摸屏 [打印本頁(yè)]

作者: sindeer    時(shí)間: 2012-5-31 17:21
標(biāo)題: 基于51單片機(jī)自制觸摸屏

實(shí)際上用單片機(jī)實(shí)現(xiàn)電平式觸摸的原理是簡(jiǎn)單的,因?yàn)槭种赣|摸即有電平的變化,讀出電平狀態(tài)就可以處理按鍵了。與之相比,看上去更高級(jí)一些的電容式觸摸技術(shù)就沒(méi)有這么簡(jiǎn)單了,所謂的“更高級(jí)”并不是因?yàn)樗募夹g(shù)實(shí)現(xiàn)復(fù)雜,還是指在應(yīng)用上顯得更文雅。電容式觸摸技術(shù)可以讓手指不接觸到金屬導(dǎo)線,給用戶的感覺(jué)是更安全的。因?yàn)檎l(shuí)也不能保證裸露在外的金屬片會(huì)不會(huì)帶有上千伏的電壓。電容式觸摸技術(shù)的另一個(gè)優(yōu)勢(shì)是在產(chǎn)品設(shè)計(jì)方面。對(duì)于我們電子愛(ài)好者來(lái)說(shuō),找到一款適合自己DIY作品的外殼是很困難的,有的外殼制作高手可以在很短的時(shí)間內(nèi)制作出精致又專業(yè)的外殼,可是并不是每個(gè)人都有這樣的本領(lǐng)。為露出微動(dòng)開(kāi)關(guān)而在外殼上鉆孔是再平常不過(guò)的了,可是鉆了孔就很難美觀了,我也一時(shí)為這個(gè)問(wèn)題困惑。幸好有電容式觸摸技術(shù),可以把我們的觸摸片設(shè)計(jì)在塑料外殼的內(nèi)部(外殼不能是金屬的,不然電容觸摸就沒(méi)有效果了),外殼的表面只要貼一張標(biāo)簽,寫(xiě)明這是觸摸按鍵,具有什么功能就可以了。

詳細(xì)內(nèi)容:http://www.cndzz.com/diagram/3942_3943/96220.html

 

防誤判部分源程序

 /******************************************************************************
函數(shù)名:觸摸按鍵處理函數(shù)
調(diào)  用:? = Read_R ();
參  數(shù):無(wú)
返回值:bit 1表示有感應(yīng)物,0表示沒(méi)有感應(yīng)物
結(jié)  果:
備  注:需要根據(jù)實(shí)現(xiàn)應(yīng)用調(diào)協(xié)靈敏度和其他參數(shù)
/*****************************************************************************/
bit Read_R (void){
 unsigned char R,ii,m=0,i,j,k;
 bit aa;
 for(ii=0;ii<3;ii++){ //循環(huán)檢查防干擾
  j=0;k=0;
  for(i=0;i<10;i++){ //一次采集數(shù)據(jù)的數(shù)量
   DELAY_MS (3); //3毫秒延時(shí)
   R = Read (0); //ADC讀取數(shù)據(jù)
   if(R < 0x2F){ //此參數(shù)可調(diào)整感應(yīng)靈敏度值在0x01到0x2F
    k++; //波谷計(jì)數(shù)加1
     
   }
   if(R == 0xFF){ //ADC讀數(shù)的最大值必須等于0xFF 
    j++; //波峰計(jì)數(shù)加1 
   }
  }
  if(k>1 && j>1){ //觸摸波形的數(shù)量積加m的值
   m++;
  }else{
   m=0; //如果波形條件不符合則m=0
  }
 }
 if(m>2){ //根據(jù)m的數(shù)值判斷是否有感應(yīng)物體
  aa =1;
 }else{
  aa=0;
 }
return(aa); //將aa作為返回值
}
/*****************************************************************************/






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1