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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DSP芯片與觸摸屏的接口控制

          DSP芯片與觸摸屏的接口控制

          作者: 時(shí)間:2012-03-17 來源:網(wǎng)絡(luò) 收藏

          的同步串行口與轉(zhuǎn)換器相連接。ASP與的連接如圖3所示。的同步串口有兩個4字深度的先入先出緩沖器,突發(fā)模式或連續(xù)模式進(jìn)行數(shù)據(jù)收發(fā)。當(dāng)使用外部時(shí)鐘時(shí),具有寬范圍的操作速度。如果使用內(nèi)部時(shí)鐘,其速度固定為時(shí)鐘頻率的1/2。

          經(jīng)測量,觸摸屏X方向的轉(zhuǎn)換值為從大到?。╔max至Xmin),Y方向的轉(zhuǎn)換值為從小到大(Ymin至Ymax)。觸摸屏X、Y方向的轉(zhuǎn)換值必須與320×240的液晶顯示相對應(yīng),因此X、Y向的轉(zhuǎn)換值必須按下式計(jì)算:

          y=(y-Ymin)×320/(Ymax-Ymin)

          x=(Xmax-x)×240/(Ymax-Xmin)

          DSP 同步串口每次發(fā)送1個字(16位),而的控制字為8位,從圖4轉(zhuǎn)換時(shí)序可以看出DIN的后8位是零。因此,Y值轉(zhuǎn)換的控制字為 #9300H,X值轉(zhuǎn)換的控制字為#0D300H。BUSY信號作為DSP同步串口的同步信號,BUSY信號下跳沿啟動串口輸入。

          ADS7843轉(zhuǎn)換器的轉(zhuǎn)換值為12位,DSP同步串口一次接收1個字(16位),右移4位即可得到轉(zhuǎn)換值。DSP程序框圖如圖5所示。

          4 ADS7843的筆中斷控制

          ADS7843 采用筆中斷控制時(shí)能極大地降低功耗,從750μW??刂谱种凶詈髢晌籔D1、PD0全為零時(shí),ADS7843進(jìn)入筆中斷降功耗模式。當(dāng)新的轉(zhuǎn)換開始時(shí),轉(zhuǎn)換器立即恢復(fù)正常工作,不需要延時(shí)等待電源上升,每次轉(zhuǎn)換都是有效的。ADS7843進(jìn)入降功耗模式后,按壓觸摸屏?xí)rY-MOSFET提供電流通道,其它三個MOSFETS(X+、X-、Y+)處于高阻態(tài)。電流通過100kΩ電阻和中斷二極管從Y-MOSFET到地。這時(shí)/PEN變成低電平,DSP必須檢測到這個信號并發(fā)出啟動轉(zhuǎn)換命令。在轉(zhuǎn)換期間,DSP必須維持/PEN一直為低。

          5 觸摸屏與液晶顯示的配合

          當(dāng)PDA筆按壓觸摸屏?xí)r,ADS7843的轉(zhuǎn)換值必須在液晶上相應(yīng)位置正確顯示。由于轉(zhuǎn)換器每次開機(jī)的轉(zhuǎn)換值略有偏差,因此,為了準(zhǔn)確定位,每次開機(jī)時(shí)重新得到X、Y值范圍。方法是開機(jī)時(shí)依次在液晶屏四角顯示定位點(diǎn),將得到的觸摸屏的轉(zhuǎn)換值作為基準(zhǔn)。


          上一頁 1 2 下一頁

          關(guān)鍵詞: 電阻式觸摸屏 DSP ADS7843

          評論


          相關(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); })();