<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > ADS7846在電阻式觸摸屏設(shè)計(jì)中的應(yīng)用

          ADS7846在電阻式觸摸屏設(shè)計(jì)中的應(yīng)用

          作者: 時(shí)間:2011-07-04 來源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/161875.htm

            4.2 4點(diǎn)定位法

            如圖5所示,ABCD為對應(yīng)LCD4個(gè)頂點(diǎn)的坐標(biāo)點(diǎn),分別觸擊這4點(diǎn),得到4組坐標(biāo)值:

            (XAoYA),(XBoYB),(XCoYC),(XDoYD)。計(jì)算出中心點(diǎn)坐標(biāo)(XOoYO)為:

            設(shè)ΔX=(XBXA+XDXC),ΔY=(YBYA+YDYC),最終可得觸點(diǎn)坐標(biāo)公式:

            式中,X和Y分別為觸點(diǎn)在X工作面和Y工作面上產(chǎn)生的電壓的數(shù)字量的測量值,可通過采樣得到;(XoY)反映了觸點(diǎn)在上的坐標(biāo)。W和H分別是LCD顯示屏X軸和Y軸上的像素點(diǎn)總數(shù);(XLCDoYLCD)為觸點(diǎn)映射到LCD顯示屏上的像素點(diǎn)坐標(biāo)。

            4點(diǎn)定位法,在觸摸屏中心點(diǎn)坐標(biāo)的定位上優(yōu)于最值法,所得到的觸點(diǎn)坐標(biāo)更為精確。在一些手寫識別領(lǐng)域較多。

            5 實(shí)現(xiàn)流程以及注意事項(xiàng)

            觸摸屏和微控制器之間的互動通過外部中斷實(shí)現(xiàn)。在程序中重要功能塊包括以下幾個(gè)部分(見圖6):

            的初始化,包括有:初始化SPI寄存器、可編程定時(shí)器中斷和筆中斷;MCU外部中斷的配置;LCD控制器的初始化配置:LCD驅(qū)動IC的一些初試化配置,一般由LCD的廠家提供;坐標(biāo)定位子程序;以及LCD逐點(diǎn)顯示子程序。

            程序中,需要注意觸摸抖動和連擊問題。

            可以采用延遲測量法來解決,即在接收到觸摸屏筆中斷時(shí)延遲一段時(shí)間(抖動時(shí)30ms)后再測量,可消除抖動;測量完后再次延遲一段時(shí)間(連擊延時(shí)300ms)后打開筆中斷,可避免連擊現(xiàn)象的出現(xiàn)。

            6 結(jié)語

            本文討論了在式觸摸屏開發(fā)中遇到的幾個(gè)技術(shù)問題以及解決方法,式觸摸屏的既有硬件接口技術(shù)問題,也有軟件處理方法的問題。

          光敏電阻相關(guān)文章:光敏電阻工作原理


          電容式觸摸屏相關(guān)文章:電容式觸摸屏原理

          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();