1 電阻式觸摸屏的結(jié)構(gòu)
電阻式觸摸屏的檢測部件是一塊與顯示器表面緊密配合的多層復(fù)合薄膜,由一層玻璃或有機玻璃作為基層,,表面涂有一層阻性導(dǎo)體層(如銦錫氧化物ITO),,上面再蓋有一層外表面被硬化處理、光滑防刮的塑料層,,塑料層的內(nèi)表面也涂有一層阻性導(dǎo)體層,。在兩導(dǎo)體層之間有一層具有許多細(xì)小隔離點的隔離層,把兩導(dǎo)體層隔開絕緣,,如圖1所示,。當(dāng)手指觸摸屏幕時,兩導(dǎo)體層在觸摸點位置產(chǎn)生了接觸,,控制器檢測到這個接通點后計算出X,Y坐標(biāo),,這就是電阻式觸摸屏的檢測原理,。


電阻式觸摸屏根據(jù)引出線數(shù)的多少,分為4~8線等多種結(jié)構(gòu),。4線電阻觸摸屏最具代表性,,其檢測原理如圖2所示。在外ITO層的上,、下兩邊各渡一個狹長電極,,引出端為Y+,Y-,,在內(nèi)IT0層的左,、右兩邊分別渡上狹長電極,引出端為X+,,X-,。為了獲得觸摸點在X方向的位置信號,在內(nèi)ITO層的兩電極 X+,,X-上分別加VREF,,0 V電壓,使內(nèi)IT0層上形成了從O~VREF的電壓梯度,,觸摸點至X-端的電壓為該兩端電阻對VR-EF的分壓,,分壓值代表了觸摸點在X方向的位置,然后將外ITO層的一個電極(如Y-)端懸空,可從另一電極(Y+)取出這一分壓,,將該分壓進(jìn)行A/D轉(zhuǎn)換,,并與VREF進(jìn)行比較,便可得到觸摸點的X坐標(biāo),。
為了獲得觸摸點在Y方向的位置信號,,需要在外ITO層的兩電極Y+,Y-上分別加VREF,,O V電壓,,而將內(nèi)ITO層的一個電極(X-)懸空,從另一電極(X+)上取出觸摸點在Y方向的分壓,。
2 ADS7846的特性
2.1 基本特性
ADS7846是美國BB公司推出的新一代4線制觸摸屏控制器,,他由低導(dǎo)通電阻模擬開關(guān),具有采樣/保持功能的逐次逼近型ADC,、異步串行數(shù)據(jù)接口,、溫度傳感器等組成。ADC是ADS7846的核心,,其轉(zhuǎn)換速率可達(dá)125 kHz,,分辨率可編程為8位或12位。該器件不僅具有X,,Y坐標(biāo)測量功能,,還具有電池電壓、芯片溫度,、觸摸壓力和外模擬量4種測量功能,,其工作方式可由控制字決定,片內(nèi)的6選1模擬多路開關(guān)可根據(jù)微控制器送來的命令字選擇6個電壓量之一(X+,,Y+,,Y-,VBAT,,TEMP,,AUX-IN),并將其送入 A/D轉(zhuǎn)換器轉(zhuǎn)換,,然后再通過SPI接口將轉(zhuǎn)換值送入微控制器,。ADS7846還集成有觸摸識別電路,當(dāng)檢測到有觸摸時,,該電路會在引腳輸出一個低電平信號,,向微控制器提出測量觸點坐標(biāo)的中斷請求。該芯片采用單電源供電,,工作電壓為2.2~5.25 V,,且內(nèi)部自帶+2.5 V的參考電壓,。
2.2 引腳功能
ADS7846的引腳排列如圖3所示,引腳功能見表1,。


2.3 控制字
ADS7846的控制功能主要是實現(xiàn)觸摸屏電極電壓的切換及觸摸點位置信號的A/D轉(zhuǎn)換,。ADS7846的控制字如下:

S:數(shù)據(jù)傳輸起始標(biāo)志位。為1表示一個新的控制字節(jié)到來;為0則忽略DIN引腳上數(shù)據(jù),。
A2A1A0:通道選擇位,。用于控制通道選擇器的輸入,觸摸信號驅(qū)動開關(guān)及ADC的參考輸入電壓,。當(dāng)A2A1A0=001時,,采集Y坐標(biāo)信號;當(dāng)A2A1A0=101時,采集X坐標(biāo)信號,。
MODE:用來選擇A/D轉(zhuǎn)換的精度,。為1選擇8位精度;為0選擇12位精度。
用來選擇參考電壓的輸入模式,。1為參考電壓非差動輸入模式;O為參考電壓差動輸入模式,。
PDl,PD0:低功率模式選擇位,。若為11,,器件總處于供電狀態(tài);若為OO,器件在兩次變換之間處于低功率模式,。
2.4 轉(zhuǎn)換時序
ADS7846的轉(zhuǎn)換時序如圖4所示,。一次完整的電極電壓切換和A/D轉(zhuǎn)換,需要ADS7846和微處理器進(jìn)行3次串行數(shù)據(jù)傳送,,每次傳送需要8個時鐘周期。

第一次傳送由微處理器向ADS7846發(fā)送控制字,,接下來的兩次傳送是微處理器從ADS7846讀取轉(zhuǎn)換結(jié)果(最后4位自動補O),。由于串口支持雙向同時進(jìn)行傳送,并且在一次讀數(shù)與下一次發(fā)控制字之間可以重疊,,所以轉(zhuǎn)換速率可以提高到每次16個時鐘周期,。
2.5 觸摸坐標(biāo)計算
由于四線電阻觸摸屏中,Y方向位置電壓從下向上逐漸增加,,X方向位置電壓從右向左逐漸增加,,因此Y,X位置電壓對應(yīng)的坐標(biāo)原點在觸摸屏的右下角,。為了獲得工程上使用的X,,Y坐標(biāo)值(即將坐標(biāo)原點移為左下角),應(yīng)將X位置電壓轉(zhuǎn)換值求補,。另外,,X,,Y位置電壓轉(zhuǎn)換值還必須與顯示屏幕的點陣(采用的液晶為 240×160點陣)相對應(yīng)。因此校正后的X,,Y坐標(biāo)計算公式為:

式中:Xmax,,Xmin為X位置電壓轉(zhuǎn)換結(jié)果的最大、最小值;Ymax,,Ymin為Y位置電壓轉(zhuǎn)換結(jié)果的最大,、最小值;Y,X為觸摸點位置電壓的轉(zhuǎn)換值;x,,y為校正后的觸摸點坐標(biāo),。
3 觸摸屏與微機的接口
3.1接口電路
應(yīng)用ADS7846實現(xiàn)觸摸屏與單片機80C55的接口電路如圖5所示,觸摸屏的X+,,X-,,Y+,Y-分別與ADS7846的相應(yīng)端連接,,當(dāng)控制字中 A2A1-A0=001時,,通過片內(nèi)模擬開關(guān)的切換,將X+接電源VCC,,X-接地,,將Y+與Y-端以差動形式接到A/D轉(zhuǎn)換器的輸入端,A/D轉(zhuǎn)換器的結(jié)果就是Y位置電壓,。類似當(dāng)控制字中A2A1A0=101時,,A/D轉(zhuǎn)換器的結(jié)果就是X位置電壓。單片機與ADS7846間的數(shù)據(jù)傳送采用串行通信方式時,,由于單片機串口方式1~3為異部通信方式,,與ADS7846的時序不相配;串口方式0為移存器方式,雖然與ADS7846時序可以配合,,但串口數(shù)據(jù)輸入/輸出使用同一端子RXD(TXD)為同步脈沖輸出端),,ADS7846數(shù)據(jù)輸入/輸出采用不同端子DIN,DOUT,。為了實現(xiàn)正確的數(shù)據(jù)雙向傳送,,設(shè)計了雙向數(shù)據(jù)芯片GAL,該芯片的功能是當(dāng)E=O時,,數(shù)據(jù)傳送方向為Y到A;當(dāng)E=1時,,傳送方向為B到Y(jié)。ADS7846的筆中斷信號接P2.4,,當(dāng)信號有效時,,單片機發(fā)送控制字。ADS7846的忙信號BUSY接P2.6,,在BUSY信號的下降沿,,單片機接收A/D轉(zhuǎn)換結(jié)果,。

3.2 接口程序
當(dāng)觸摸觸摸屏?xí)r,ADS7846中斷信號有效,,單片機檢測到這一有效信號后,,先送測量X坐標(biāo)控制字,并檢測BUSY信號是否有下降沿到來,,下降沿到來后,,讀X位置電壓;再送測量Y坐標(biāo)控制字,獲取Y位置電壓,。將得到的X,,Y位置電壓用式(1)、式(2)進(jìn)行計算便得到觸摸點的X,,Y坐標(biāo),。軟件流程如圖6所示。

4 結(jié)語
設(shè)計的觸摸屏接口電路具有下列優(yōu)點:通過增加雙向傳輸GAL芯片,,解決了51系列單片機與觸摸屏控制器ADS7846的串行通信問題;通過對觸摸點位置電壓進(jìn)行校正,,獲得了正確的觸摸坐標(biāo);接口電路易于實現(xiàn),實用性強,。