1 引 言
嵌入式觸摸屏裝置是人機交互設備,一般將觸摸屏安裝在液晶顯示屏上面,利用微處理器對觸摸屏與液晶顯示屏進行控制,實現觸摸屏對液晶顯示屏的控制,方便、直觀,取代了傳統的鍵盤輸入,成為嵌入式計算機系統的輸入設備,廣泛應用于電子產品與工業控制中。由于觸摸屏邊緣電阻不均勻,不易找到變化規律,難于實現觸摸屏坐標與點陣式液晶顯示屏相互對應,會出現觸摸點與液晶顯示屏顯示信息錯位,造成觸摸控制信息不靈敏。本文基于AT89C51 單片機和ADS7846芯片,輔以點陣式液晶顯示屏,進行嵌入式觸摸屏輸入與顯示系統的軟硬件設計,實現觸點測量與液晶屏上像素相對應,實現預期的控制功能,提高觸摸控制的靈敏度。
2 液晶顯示觸摸屏的硬件設計
液晶觸摸屏包含圖形液晶顯示模塊和附著在顯示屏上的觸摸屏兩部分,借助于觸摸屏控制器ADS7846 與微處理器A T89S51 實現軟硬件接口,通過檢測用戶在觸摸屏上的觸摸位置,實現顯示與控制功能。
2. 1 觸摸屏的工作原理
觸摸屏從工作原理上可以分為電阻式、電容式、紅外線式、聲表面波式、矢量壓力傳感器式等多種形式,本文采用目前使用最為普遍的四線電阻式觸摸屏。
電阻式觸摸屏由4 層透明的復合薄膜組成,底層是玻璃或有機玻璃構成的基層,頂層則是經過硬化處理的光滑防刮塑料層,底層、頂層內表面間為兩層銦錫氧化物( ITO) 透明導電層,形成觸摸屏的兩個工作面,在每個工作面的兩端各涂有一條銀膠,稱為該工作面的一對電極,若在一個工作面的電極對上施加電壓,則在該工作面上就會形成均勻連續的平行電壓分布。當在X 方向的電極對上施加一確定的電壓,而Y 方向電極對上不加電壓時,在X 平行電壓場中,觸點處的電壓值可以在Y+ (或Y - ) 電極上反映出來,通過測量Y+ 電極對地的電壓大小,經過A/ D 轉換便可得知觸點的X 坐標值。同理,當在Y 電極對上加電壓,而X 電極對上不加電壓時,通過測量X +電極的電壓,經過A/ D 轉換便可得知觸點的Y坐標。電阻式觸摸屏有四線和五線兩種,四線式觸摸屏的測量過程工作原理如圖1 所示。
圖1 四線電阻式觸摸屏測量原理
觸摸點P 處測量結果計算如下:
2. 2 ADS7846 控制器
ADS7846 是Burr2Brown 公司的一款觸摸屏專用控制器,其內部結構如圖2 所示。
圖2 ADS7846 內部結構圖。
摘 要: 在分析液晶觸摸屏的工作原理基礎上,分析觸摸屏專用控制器ADS7846 的工作原理與控制方式。通過ADS7846 與MCU 的SPI 接口,給出AT89S51 的測量子程序流程圖,提出觸摸屏觸點坐標的獲得方法與液晶屏顯示實現同步的算法,以提高設計觸摸屏與液晶屏的效率,滿足控制精度。
1 引 言
嵌入式觸摸屏裝置是人機交互設備,一般將觸摸屏安裝在液晶顯示屏上面,利用微處理器對觸摸屏與液晶顯示屏進行控制,實現觸摸屏對液晶顯示屏的控制,方便、直觀,取代了傳統的鍵盤輸入,成為嵌入式計算機系統的輸入設備,廣泛應用于電子產品與工業控制中。由于觸摸屏邊緣電阻不均勻,不易找到變化規律,難于實現觸摸屏坐標與點陣式液晶顯示屏相互對應,會出現觸摸點與液晶顯示屏顯示信息錯位,造成觸摸控制信息不靈敏。本文基于AT89C51 單片機和ADS7846芯片,輔以點陣式液晶顯示屏,進行嵌入式觸摸屏輸入與顯示系統的軟硬件設計,實現觸點測量與液晶屏上像素相對應,實現預期的控制功能,提高觸摸控制的靈敏度。
2 液晶顯示觸摸屏的硬件設計
液晶觸摸屏包含圖形液晶顯示模塊和附著在顯示屏上的觸摸屏兩部分,借助于觸摸屏控制器ADS7846 與微處理器A T89S51 實現軟硬件接口,通過檢測用戶在觸摸屏上的觸摸位置,實現顯示與控制功能。
2. 1 觸摸屏的工作原理
觸摸屏從工作原理上可以分為電阻式、電容式、紅外線式、聲表面波式、矢量壓力傳感器式等多種形式,本文采用目前使用最為普遍的四線電阻式觸摸屏。
電阻式觸摸屏由4 層透明的復合薄膜組成,底層是玻璃或有機玻璃構成的基層,頂層則是經過硬化處理的光滑防刮塑料層,底層、頂層內表面間為兩層銦錫氧化物( ITO) 透明導電層,形成觸摸屏的兩個工作面,在每個工作面的兩端各涂有一條銀膠,稱為該工作面的一對電極,若在一個工作面的電極對上施加電壓,則在該工作面上就會形成均勻連續的平行電壓分布。當在X 方向的電極對上施加一確定的電壓,而Y 方向電極對上不加電壓時,在X 平行電壓場中,觸點處的電壓值可以在Y+ (或Y - ) 電極上反映出來,通過測量Y+ 電極對地的電壓大小,經過A/ D 轉換便可得知觸點的X 坐標值。同理,當在Y 電極對上加電壓,而X 電極對上不加電壓時,通過測量X +電極的電壓,經過A/ D 轉換便可得知觸點的Y坐標。電阻式觸摸屏有四線和五線兩種,四線式觸摸屏的測量過程工作原理如圖1 所示。
圖1 四線電阻式觸摸屏測量原理
觸摸點P 處測量結果計算如下:
2. 2 ADS7846 控制器
ADS7846 是Burr2Brown 公司的一款觸摸屏專用控制器,其內部結構如圖2 所示。
圖2 ADS7846 內部結構圖。
ADS7846 內部由一個多路選擇器和一個12位的A/ D 轉換器構成,根據串行控制口的控制字控制多路選擇開關的工作狀態,控制工作面的工作電壓,并把相應電極上的觸點坐標位置對應的工作電壓送到A/ D 轉換器,變成數字量通過串行口再傳遞給CPU ,經過計算得到觸點的X 、Y 方向的坐標,確定觸點位置,程序根據觸點坐標位置顯示的信息執行相應的功能。
則P 點的二進制輸出代碼為:
其中:V ref_full為加在ADS7846 內部A/ D 轉換器上的參考電壓。
ADS7846 控制字見表1 所示,S 為數據傳輸的起始標志位,改為必須為"1";A2、A1、A0 用于通道選擇控制,坐標與通道選擇之間的關系見表2 所示。MODE用于控制A/ D轉換的精度", 1"選擇8位", 0"選擇12 位。SER/ DFR 選擇輸入參考電壓模式", 1"為單端模式", 0"為差分模式。PD1、PD0選擇省電模式:"00"為省電模式允許,在兩次A/ D轉換之間掉電,且中斷允許;"01"與"00"相似,但不允許中斷;"10"保留;"11"禁止省電模式。
表1 ADS7846 的控制字
表2 ADS7846 的坐標與通道選擇之間的關系
ADS7846 與MCU 之間通過標準的SPI 接口相連接,如圖3 所示。當檢測到有觸摸動作時,ADS7846 的筆中斷請求端( PENIRQ) 輸出一個低電平信號向MCU 發出測量觸點坐標的中斷請求。MCU 通過SPI 接口,選中ADS7846 ,發出坐標測量控制字,然后讀取ADS7846A/ D 轉換結果數據,經過兩次控制即可分別得到觸點位置的X 、Y 坐標。ADS7846 工作時序如圖4 所示。
圖3 ADS7846 與MCU 之間SPI 接口。
圖4 ADS7846 與MCU 通信時序。
3 觸點坐標與液晶顯示屏控制功能對應定位的確定
本例中ADS7846 采用差動參考電壓方式,以減小測量誤差,由于觸摸屏存在著個體差異,不同觸摸屏邊沿的測量值不同,測量值達不到0 或者滿量程(4096) ,而液晶顯示屏具有較為準確的定位數值,很難實現觸摸屏與液晶顯示屏的點與點一一對應,給編程調試帶來很大麻煩,只能實現觸摸屏與液晶顯示屏之間的區域對應,不影響液晶顯示屏的顯示功能和觸摸屏的控制功能。
觸摸屏控制器ADS7846 通過SPI 接口連接到微控制器A T89S51 上。當發生觸摸時, 由ADS7846 向A T89S51 提出中斷請求, 接著A T89S51 就會響應該中斷請求,通過SPI 讀取ADS7846 的轉換結果,得到觸摸點的坐標。圖5為中斷服務子程序與ADS7846 測量子程序流程圖。
圖5 中斷服務子程序與ADS7846 測量子程序流程圖。
為了有效地找到觸摸屏觸摸點與點陣式液晶顯示屏對應區域坐標范圍,按照液晶顯示屏的顯示功能區域的點陣坐標,按照液晶屏上顯示的控制信息字符格式,合理選擇水平線和豎直線,按照液晶顯示和觸摸屏控制功能區域進行觸摸點數值測量,找到與液晶顯示屏對應的觸摸屏控制區域的觸摸點數值范圍。根據觸摸屏觸摸點坐標實測數據分析可以得到對應的液晶屏上像素點坐標。
液晶屏像素點坐標與觸摸屏觸摸點實測數值之間的關系可以表示為:
式中: X 、Y 為觸點測量值; ( Xmin , Ymin ) 和( Xmax ,Xmax ) 分別為觸摸屏上的最大值和最小值坐標觸點測量; ( X1 , Y1 ) 為觸點在液晶屏上的像素坐標,表3 、表4 中數據為實測數據。
表3 實測豎直直線上等距離測量坐標值
表4 實測水平直線上等距離測量坐標值
值得注意的是,經測量觸摸屏X 方向的轉換值為從大到小, Y 方向的轉換值為從小到大,坐標值在一定范圍內基本是成線性變化的。但是在觸摸屏的邊緣地帶X 方向輸出電阻和Y 方向輸出電阻的變化較大,是非線性關系,因此為了比較準確地標定觸摸屏坐標,在大范圍內采用線性變化的規律,而在邊緣地帶需采用查表的方式。
4 結 論
利用ADS7846 實現觸摸屏控制,可以方便利用SPI 接口實現與單片機之間的接口。與點陣式液晶顯示屏相配合使用,通過液晶屏與觸摸屏之間的坐標變換,可以便捷實現工業控制,同時提高液晶屏的反映速度。