《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > 四線電阻式觸摸屏控制器的應用研究
四線電阻式觸摸屏控制器的應用研究
摘要: 介紹以C8051為核心的觸摸屏控制系統的設計,分析了在系統設計過程中出現的干擾信號、測量值偏差和信號采集中延時時間的設定不當等問題以及它們對系統控制效果的影響,并給出了解決方法。
Abstract:
Key words :

1  引言

ADS7843是一種四線式觸摸屏控制器,目前較多應用于電阻式觸摸屏輸入系統中盡管有很多相關的典型應用和應用注意事項但是在實際使用過程中仍然會遇到一些問題應用在通用的單片機中所出現的問題及解決方法已有一些介紹本文是對基于高速、流水線結構的 C8051的觸摸屏控制系統設計中所遇到的問題進行分析處理并給出了解決方法

 

2  液晶觸摸屏的系統設計

2.1  硬件組成

采用典型的四線電阻式觸摸屏其主要特點是精確度高不受環境干擾適用于各種場合控制器為四線電阻式觸摸屏通用的 ADS7843控制芯片具有 12位轉換精度支持 SPI通訊協議內建 512KByt e ROM,提供繁體或簡體中文支持 2 Page顯示模式支持文本顯示和圖形顯示 (320×240點 )兩種方式顯示模塊內建有 512KByt e的 16× 16中文顯示字型 ROM(FontROM)與 8× 6的 A SCI I半型字型除內建 8× 16和 16× 16的字號外還提供字型放大的功能

 

單片機采用 Cygnal的 C8051F020,高速、 流水線結構的 C8051兼容的 CIP - 51內核64K字節的 FLA SH,4K +256字節的 RAM, 12位的 AD轉換精度硬件實現的 SPI、 S MBus/I2C接口5個通用的 16位定時器70%的指令執行時間為一個或兩個系統周期

 

2 . 2  接口電路

如圖 1ADS7843串行接口的一次完整操作需要 3× 8=24個 DCL K時鐘周期前 8個脈沖接收 8位的命令并在第 6個脈沖的上升沿開始 A / D轉換器進入采樣階段從第 9個脈沖開始進入轉換階段輸出12位采樣值轉換結束進入空閑階段直到 24DCL K結束CS置高電平一次測量結束如圖 2所示此外ADS7843還支持其他的工作方式這里不再詳述


 

 

2 . 3  工作原理

當用戶在觸摸屏上的有效區域內點擊時觸摸屏的 X方向、 Y方向輸出電阻分別隨 X和 Y呈線性變化ADS7843控制器將其分別轉換為 12位數據通過中斷告知 C8051F020需要接收數據C8051F020接收到數據后進行處理首先進行觸點數據是否有效判斷包括兩方面一是判斷是否誤操作即是否是由于人的抖動產生的錯誤數據二是 ADS7843傳過來得數據是否有效由于剛開始的傳過來的第一個坐標是用戶開始接觸觸摸屏時產生的電阻不準確導致數據也不準通常要去掉在接收過程中采用多次平均的方法假如有一次接收的數據和平均值差別很大則這次測量就作廢需要重新測量一旦數據有效C8051F020接著計算觸點坐標落在液晶屏的位置根據計算的結果判斷執行相應的功能函數使觸摸屏和液晶屏有機的結合起來建立一定的邏輯關系交互地進行信息存取和輸出

2 . 4  觸摸屏坐標讀取的軟件流程

 

 

3  設計中出現的問題及解決方法

3 . 1  干擾信號

在測試時手指或觸摸筆觸摸時會產生一定的干擾信號干擾情況分為兩種 (1)通過中斷管腳會一直向 C8051F020發出中斷請求解決方法中斷信號接緩沖器然后將輸出管腳接 1 μF的鉭電容濾除中斷干擾信號 (2) ADS7843輸出值不穩定解決方法在 X +、 Y +管腳上連接 15pF鉭電容濾波經過測試驗證問題解決良好連接電路見圖 1

 

3 . 2 ADS7843的測量值偏差

當有觸摸動作時觸摸點電阻膜會抖動或錯誤觸發解決方法先延時以消除抖動采樣 16去掉采樣的最先兩個值和最后兩個值利用軟件濾波去除采樣中的抖動造成的偏差和誤觸發利用中間連續采樣的 12次值從采樣的第 3次值到第 14個值求出每次相鄰兩次采樣值之差求和后取平均值與預設值相比較如果大于預設值則此觸摸動作無效小于預設值則把采集數據的最小 6個差值對應的數據求平均值作為坐標值可以消除抖動和誤觸發的無效值得到的坐標采樣值精確度較高相對于其他的濾波算法,該方法最優

 

3 . 3  信號采集中的延時時間設定

因為 C8051F020的速度是普通 51芯片的 12ADS7843在進行數據采集時時鐘信號高低電平持續的時間必須足夠方可保證能采集到坐標值測試中發現在高低電平后延遲 4“_n op_( )  ” 空指令時觸摸 X坐標線可以采集到 X值坐標且有起始點坐標值有線性變化觸摸 Y坐標時采集到的 Y坐標值無起始點在觸摸屏上的 Y坐標上的值相差無幾,幾乎沒有變化將延時指令由原來的 4“_nop_( )  ”改為 16發現測試結果正常能同時讀出 X、 Y值坐標且兩坐標值均有起始點且線性變化因此在信號采集程序中將時鐘信號的延遲時間改為 16“_n op_( )  ” 例程如下

void Ext _int 0( ) int err upt0

{ // 關中斷

// 延時以消除抖動

// 去除初次不穩定值,軟件濾波

// 以下程序為多次循環讀取多組 X、 Y坐標值

Whit e Char T07843(0X90)   // 送控制字

While(BUSYT)  // 判忙

DCL K =1 _nop_( )  _nop_( )  _nop_( )  _nop_( ) 

_nop_( )  _nop_( )  _nop_( )  _nop_( ) 

_nop_( )  _nop_( )  _nop_( )  _nop_( ) 

_nop_( )  _nop_( )  _nop_( )  _nop_( ) 

// 時鐘信號足夠時間來讀取坐標值

DCL K =0 _nop_( )  _nop_( )  _nop_( )  _nop_( ) 

_nop_( )  _nop_( )  _nop_( )  _nop_( ) 

_nop_( )  _nop_( )  _nop_( )  _nop_( ) 

_nop_( )  _nop_( )  _nop_( )  _nop_( ) 

// 時鐘信號足夠時間來讀取坐標值

X_pos[ r] =ReadFr omChar Fr om7843( )   // 讀 X

// 以下為讀取坐標 Y值;

Whit e Char T07843(0XD0) 

// 下同讀取 X值程序

// C80 51F0 20讀取 ADS7843的 AD轉換值

// 關中斷,延時

// 開中斷 }

 

4  結束語

經過反復測試后得出在系統控制中所產生的問題均被解決觸摸屏上每個設定的觸摸鍵反應都很靈敏在觸摸鍵的有效區域內都有反應


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 白白国产永久免费视频| yellow中文字幕在线高清| 疯狂吃奶freesex| 国产毛片在线看| 中文无码人妻有码人妻中文字幕| 欧美香蕉爽爽人人爽| 国产一区韩国女主播| h视频在线观看免费| 欧美乱xxxxxxxxx| 啊灬啊灬啊灬深灬快用力| 69精品久久久久| 小受被强攻按做到哭男男| 乱人伦人妻中文字幕无码久久网| 福利视频导航网| 国产免费午夜a无码v视频| 91久久精品午夜一区二区| 性宝福精品导航| 久久水蜜桃亚洲AV无码精品| 欧美黄色第一页| 又大又硬又黄的免费视频| 成人免费观看一区二区| 国自产偷精品不卡在线| 中文字幕人成乱码熟女| 最近中文字幕完整视频高清电影| 亚洲色无码国产精品网站可下载| 老师的圣水女主小说网| 国产精品欧美亚洲韩国日本| 一个人看的免费观看日本视频www 一个人看的免费视频www在线高清动漫 | 男女深夜爽爽无遮无挡我怕| 国产午夜亚洲精品不卡免下载| 高清永久免费观看| 国内精品久久久久久无码不卡| www.亚洲日本| 成人午夜免费视频免费看| 久久精品国产亚洲一区二区| 欧美巨大bbbb动漫| 亚洲黄色片在线观看| 精品久久久久久中文字幕大豆网| 国产乱子伦手机在线| 91香蕉视频污在线观看| 国产精品成人亚洲|