基于C8051F040單片機系統“三點法”校準觸摸屏方法

      作者: TouchScreen     時間:2012-03-15     源于:中國觸摸屏網    總點擊:
      【導讀】:基于C8051F040 單片機,詳細講述了四線式電阻觸摸屏與單片機的電路連接及基于此硬件系統的"三點法"校準觸摸屏的方法。系統分為單片機模塊,LCD 顯示模塊及四線式電阻觸摸屏模塊。在安裝或使用過程中,LCD 與觸摸屏之間容易產生較小的機械偏差,利用程序校準后的系統能夠很好地

      基于C8051 的電阻式觸摸屏的校準
      張旭
      (四平職業大學電子工程學院, 吉林四平136000)

      摘要:基于C8051F040 單片機,詳細講述了四線式電阻觸摸屏與單片機的電路連接及基于此硬件系統的"三點法"校準觸摸屏的方法。系統分為單片機模塊,LCD 顯示模塊及四線式電阻觸摸屏模塊。在安裝或使用過程中,LCD 與觸摸屏之間容易產生較小的機械偏差,利用程序校準后的系統能夠很好地顯示觸摸的內容。

      關鍵詞:C8051F040;觸摸屏;三點法;校準

      中圖分類號:TP334.3 文獻標識碼:A 文章編號:1008-8725(2011)11-0055-03

      0 引言

          在現代生活中,觸摸屏的使用越來越普遍,無論是手持設備(如手機、照相機、PDA ),還是辦公設備(如銀行取款機、讀報機、車間控制器),都與觸摸技術密切相關。觸摸屏因其直觀、易學和易操作而深受大眾喜愛,在許多儀器中逐漸取代了老式的按鍵操作 設備。觸摸屏分為電阻、電容、表面聲波、紅外線掃描和壓力傳感式等類,各類的工作原 理都不相同,其中以電阻觸摸屏使用最廣。電阻觸摸屏一般以四線為主,所謂的四線是指 整個觸摸系統只需要4 根線連接到控制器的I/O 上進行觸摸操作的控制。

          觸摸屏必須與LCD 液晶顯示屏合在一起使用才有意義,將觸摸屏放在LCD 上,點擊觸 摸屏就等于點擊了LCD,可以將LCD 上被點擊的位置激活,從而產生相應的響應。

          在生產觸摸產品時,在將觸摸屏與LCD 合在一起的安裝過程中,總會存在一些不精確 的操作,使得觸摸屏與LCD 不能完全吻合(機械偏差);或者在用戶使用過程中,由于某些原因,使得觸摸屏與LCD產生了機械偏差,兩者之間產生平移或者成一定角度。偏差導 致用戶點擊的位置與所要產生的響應經常不能一致,如圖2 所示的一種夸張的機械偏差意圖,點PD 代表LCD 上有響應的點,點P 代表機械偏差后在觸摸屏上要點擊的點,也即必 須點擊P 點的位置才能讓LCD 上的PD 有響應,這顯然不是用戶所希望的。這時要么重新將觸摸屏與LCD 對準,要么進行觸摸屏的校準,而采用一鍵校準的操作顯得更加方便和簡 捷。所謂校準也就是即使觸摸屏與LCD 屏平移和/或旋轉了,通過校準,仍能精確地點擊屏上的點而產生響應。

      1 系統框圖及硬件設計

          系統框圖見圖1。系統由單片機模塊、觸摸屏模塊及LCD 模塊三部分構成。單片機模 塊包括主芯片C8051F040 及其它的一些外圍輔助電路。

       

      圖1 系統框圖
      圖1 系統框圖
       

          C8051F040 芯片是由Cygnal 集成產品公司生產設計的混合信號系統級芯片(SoC), 具有與MCS-51 指令集完全兼容的高速CIP-51 內核;峰值速度可達25MIPS,在一個芯片內
      集成了構成一個單片機數據采集或控制系統所需要的幾乎所有模擬和數字外設及其它功能 部件,具有大容量的可在系統(ISP)和在應用(IAP) 編程的FLASH 存儲器。同時,C8051F 單片機與MSC-51 指令集完全兼容,方便用戶編程應用。

          VCC 模塊采用LM1117 芯片,通過5V 電源轉換成3.3V 電源供給C8051F040 使用。

          JTAG 接口是用戶程序下載口,利用C8051 芯片的TMS,TCK,TDI,TDO 四個接口與10 針的接頭相連,通過USB 轉換器與電腦相連,在電腦上編寫的程序可以方便地下載到C8051F040 中。

          晶振采用22.1184 MHz 的振源,與單片機的XTAL1 和XTAL2 相連,供給單片機工作時鐘。

          觸摸屏和LCD 模塊均使用的是單片機的固定I/O 口,其中觸摸屏模塊利用AD7843 芯片[2]驅動3.5寸的四線式電阻觸摸屏,AD7843 的DCLK,CS,DIN,BUSY,DOUT 和PENTRQ 與單片機的P1.0~P1.5 相連,AD7843 的X+,X-,Y+,Y-四個引腳與四線式觸摸屏相連;LCD 模塊利用11 個I/O 與單片機相連,其中DB0~DB7 與單片機的P2.0~P2.7 相連,CS,RS,WR 與P3.4~P3.6 相連。

      2 “三點法”校準的基本原理

      2.1 校準算法介紹

          觸摸屏與LCD 之間的機械偏差會導致錯誤點擊或點擊不中。

          為了容易理解,先分析LCD 和觸摸屏的左下角在同一點的情況,僅僅是觸摸屏繞著該點旋轉了一個小角度,如圖2 所示。分析時,可以以LCD 的左下角為坐標原點,將LCD 定義為XOY 坐標系。

       

      圖2 LCD 與觸摸屏的坐標圖
      圖2 LCD 與觸摸屏的坐標圖
       

          如圖2, 在坐標系XOY 中,點PD 是LCD 上的點,P 是旋轉后的觸摸屏上的對應點,也即點擊P 點可以讓PD 點產生響應。設點PD 的坐標為(XD,YD),其與原點O 的距離為RD,設P 點的坐標為(X,Y),其與O 點的距離為R。由上圖可得如下關系式:
      θD=θ-θq
      PD=(XD,YD)=(RDcosθD,RDsinθD)=(RDcos(θ-θq),RDsin
      (θ-θq))=(RD(cosθcosθq+sinθsinθq),RD(sinθcosθqcosθsinθq))  (1)

          若θq 比較小,也即觸摸屏只與LCD 有一個小角度(小于15°)的旋轉偏差。則有:sinθq=θq,cosθq=1

          代入(1)式有:PD=(RD(cosθ+θq•sinθ),PD(sinθ-θq•cosθ)

          故有:XD=RDcosθ+θqRDsinθ,YD=RDsinθ-θqRDcosθ

          觸摸屏和LCD 屏所用的尺寸雖然相同,但是分辨率卻不同,比如觸摸屏的分辨率為2048*2048,而LCD 的分辨率為320*240,這樣導致的結果是空間上相同長度的線段在觸摸屏上和在LCD 上代表的長度是不同的?稍O:
      X 方向上:RD=KXR
      Y 方向上:RD=KYR

          其中KX, KY 是某一常系數,與觸摸屏和LCD 屏的分辨率有關。則根據
      XD=RDcosθ+θqRDsinθ
      YD=RDsinθ-θqRDcosθ

      可以有:
      XD=KXRcosθ+θqKXRsinθ
      YD=KYRsinθ-θqKYRcosθ
      又因為P=(X,Y)=(Rcosθ,Rsinθ)
      所以:XD=KXX+θqKXY,YD=-θqKYX+KYY
      可設:A=KX,B=θqKX,D=-θqKY,E=KY
      于是:XD=AX+BY,YD=DX+EY (2)

          上面分析的只是觸摸屏與LCD 屏在同一原點下有個小角度的旋轉的情況,對于在旋轉基礎上再加上有平移的情況,設在X 方向上平移了C 距離,在Y 方向上平移了F 距離,根據坐標平移的原理,(2)式可以變換如下:
      XD=AX+BY+C,YD=DX+EY+F (3)

          (3)式中,(X,Y)是觸摸屏上的坐標,(XD,YD)是LCD 上的坐標。

      2.2 校準算法驗證

          從上面(3)式可以看出,XD 與(X,Y)之間存在A,B,C 三個未知變量,YD 與(X,Y)之間存在D,E,F 三個未知變量。因此只需點擊LCD 上事先設定好的3 個(XD,YD)點,在觸摸屏得到3 組(X,Y)點,即可解出A~F 的值,也即知道觸摸屏與LCD 之間的坐標關系,以此即可校準觸摸屏。設在LCD 上事先設定的3 個比較分開的點為:(XD1,YD1),(XD2,YD2),(XD3,YD3),透過觸摸屏點擊這3個點得到的觸摸屏上的坐標點分別對應為(X1,Y1),(X2,Y2),(X3,Y3)。

      于是得到關系方程組:
      XD1=AX1+BY1+C
      YD1=DX1+EY1+F
      XD2=AX2+BY2+C
      YD2=DX2+EY2+F
      XD3=AX3+BY3+C
      YD3=DX3+EY3+F

          解上面的六元一次方程組,即可得到A~F 的值。當A~F 的值已知時,(3)式也就確定了,產生了機械偏差后的觸摸屏與LCD 之間就有了明確的關系。當透過觸摸屏點擊LCD 上未知某處時,通過得到的觸摸屏(X,Y)點代入(3)式,即可解出LCD上精確對應的點(XD,YD),讓此處產生響應。

      3 軟件實現

          基于C8051F040 單片機的觸摸屏校準程序,采用的是新華龍電子有限公司Silicon Labs IDE 軟件。

          它是一套完整的軟件程序設計軟件,提供了用于開發和測試項目的所有工具。使用Silicon Labs IDE編譯、鏈接和運行程序時,必須提前在電腦里安裝完整版Keil 8051 工具,在Tool Chain Integration 對話框中為Keil 8051 工具重新設置路徑。

          在Silicon Labs IDE 工具中編寫C8051F040 的外圍程序,首先讓C8051F040 能夠工作,同時識別LCD 和觸摸屏,并能在LCD 上寫數據,能夠識別觸摸屏上的觸點坐標[5-6]。在此基礎上,再編寫觸摸屏的校準程序,流程圖如圖3 所示。

       

      圖3 觸摸屏校準程序流程圖

      圖3 觸摸屏校準程序流程圖

      4 結論

          基于C8051F040 單片機,設計了在此單片機上如何進行四線式觸摸屏和LCD 屏的硬件連接,分析了基于此硬件系統的觸摸屏校準程序的算法實現及軟件編寫。實驗發現,該方法能夠很好地針對觸摸屏與LCD 屏之間存在旋轉偏差角度小于15°的系統進行一鍵校準,校準后的系統能夠達到點擊后精確響應的用戶要求。

      參考文獻:

      [1] 潘琢金.C8051F 單片機應用解析[M].北京:北京航空航天大學出版社,2002.
      [2] ADS7843. Datasheet. BURR-BROWN.1998.
      [3] 胡冰,吳升艷.ADS7843 觸摸屏接口[J].國外電子元器件,2002(7):27-29.
      [4] 周超,王琛,方彥軍.基于W77E58 的LCD 控制及觸摸屏接口設計[J].儀表技術與傳感器,2009(3):70-71.
      [5] 黃彬.基于單片機的液晶觸摸屏控制系統[J].工業控制計算機,2005(7):50-51.
      [6] LCD-320G240D. Datasheet. VISHAY. 2002.


      相關閱讀:3D打印    模具產業    微鑄鍛技術    石墨烯    OLED面板    夏普    iPhone 8    半導體    蘋果    
      關于我們 | 廣告服務 | 聯系我們 | 版權聲明 | 隱私政策 | 網站地圖 | 友情鏈接 | 歡迎投稿 | 加入收藏 | 意見反饋 | 經銷商加入
      網站廣告、經銷商加盟、觸摸屏軟件銷售: 028-85108892 13183843395 028-66219290 聯系人: 張小姐 產品購買聯系方式如下:
      地址:成都市高升橋東路2號高盛中心1109室 電話: 028-85108892 13183843395 028-66219290
      版權所有 Copyright(C) 2003-2015 All rights reserved 中國觸摸屏網 電子郵件: 51touch@126.com touch8@gmail.com
      業務合作QQ:觸摸屏技術,觸摸屏報價,觸摸屏軟件咨詢 43361182 觸摸屏軟件制作與技術支持:觸摸屏軟件,觸摸查詢系統,觸摸查詢軟件 893008608 媒體合作QQ: 893008608

      2000人超級QQ觸摸屏群:59897879 171220106


      分享到