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

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 基于LPC2210的觸摸屏觸摸點數據采集系統(tǒng)設計

          基于LPC2210的觸摸屏觸摸點數據采集系統(tǒng)設計

          作者: 時間:2012-12-06 來源:網絡 收藏

          2.3 系統(tǒng)軟件設計
          系統(tǒng)的軟件平臺核心為;C/OS—II,它是一個源碼公開、可移植、可固化、可裁剪的占先式多任務管理的實時操作系統(tǒng)內核。它已在相當多的系統(tǒng)中得到應用,是一個經實踐證明穩(wěn)定可靠的內核,且其核心代碼短小精悍、簡單易學。在對系統(tǒng)進行軟件設計之前,必須要先完成;C/OS—II的移植,與移植有關的代碼包括一個匯編文件OS_CPU_A.ASM、一個C程序文件OS_CPU_C.C和一個頭文件OS_CPU.H,根據處理器的不同,移植所要編寫和修改的代碼數不同,代碼移植好以后,應編寫一個簡單的應用程序對其進行測試。
          2.3.1 ADS7843軟件設計
          系統(tǒng)上電以后,上會顯示相應的控制菜單,而每個控制菜單都具有相應的執(zhí)行程序。設置接口為等待中斷模式,等待觸摸屏被按下。如果中斷發(fā)生,微控制器發(fā)送信號控制ADS7843操作,通過觸摸屏X+極將觸摸信號輸入到A/D轉換器,同時打開Y+和Y一驅動。ADS 7843轉換結果為二進制格式,如果選取8位的轉換精度,1LSB=VREF/256;如果選取12位的轉換精度,1LSB=VREF/4 096,將轉換結果與1LSB相乘就可以得到觸摸點的電壓VOY。
          由于觸摸屏導電層分布均勻,則有VOY/Y—VCC/H,其中,VOY是從X+極采集到的電壓值,VCC為ADS7843的電源電壓,H為觸摸屏導電介質的高度,從而得到當前Y方向的坐標,同理也可以得到X方向的坐標,ADS7843坐標值測量流程如圖3所示。

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

          c.JPG


          2.3.2 觸摸屏坐標算法
          微控制器得到觸摸點的坐標以后,要作相應的處理。而在動作之前,微控制器還必須要知道觸摸屏中哪個控制菜單被按下,這樣才能去執(zhí)行相應菜單的程序。設控制菜單的右下角坐標為Xa、Ya,左上角坐標為Xb、Yb,只需要觸摸點的坐標X在Xa和Xb之間,Y在Ya和Yb之間,則認為是該控制菜單被按下。在程序中定義一個數組S[],數組中每連續(xù)的5個值描述一個菜單信息,前兩個代表控制菜單右下角坐標,第3、4個代表控制菜單左上角坐標,第5個代表控制菜單,觸摸屏坐標算法流程圖如圖4所示。

          d.JPG



          結語
          觸摸屏是集信息顯示、通信、處理和控制于一體的輸入設備,它大量應用于各個領域,系統(tǒng)采用Philips公司的微控制器作為主控芯片,其內部資源豐富,可以對系統(tǒng)功能進行擴充。在對觸摸屏進行數據采集時,刷新頻率高,保證了數據的準確和不丟失,并實現(xiàn)了微控制器與上位機之間通過半雙工的方式進行通信,結構簡單、傳輸可靠,大大降低了成本。整個系統(tǒng)可移植性強,具有一定的實用價值。

          pos機相關文章:pos機原理


          電容式觸摸屏相關文章:電容式觸摸屏原理

          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();