引 言:
人機對話的界面種類有很多,比如顯示器、LED、LCD及帶觸摸屏的LCD等。其中后者是zui近幾年剛發展起來的一項新技術,它通過計算機技術處理聲音、圖像、視頻、文字、動畫等信息,并在這些信息間建立一定的邏輯關系,使之成為能交互地進行信息存取和輸出的集成系統。換而言之,它能綜合信息發布者的意愿和接受者對信息的需求及接受習慣,對信息進行收集、加工、整合并雙向式傳播。觸摸屏系統符合簡便、經濟、的原則,具有人機交互性好、 操作簡單靈活、輸入速度快等特點。它與迅猛發展的計算機網絡和多媒體技術相結合,使用者僅僅用手指觸摸屏幕,就能進行信息檢索、數據分析,甚至可以做出身臨其境、栩栩如生的效果;較鍵盤輸入簡單、直觀、快捷,具有豐富多采的表現能力,比以往任何傳媒更具親合力。
觸摸屏和51單片機接口,可以使一些小系統的操作更加方便、快捷。使用觸摸屏時zui重要的問題是確定坐標位置,即確定觸點位置是否在該鍵的有效區域之內。由于51系列單片機的匯編語言不具備其它語言所具有的豐富庫函數及邏輯運算能力,所以如何用51單片機簡捷準確地完成這一任務,便成為應用中迫切需要解決的問題。
在實際應用中,我們采用了ADS7843作為觸摸屏的控制器。關于ADS7843的原理及工作方式,已經有很多文章發表,而如何確認坐標位置卻很少提及。本文僅就坐標確定問題做如下分析。
1 轉換模式
ADS7843的轉換精度有8位和12位兩種,可以到X或Y方向上的1/256和1/4096。我們采用清華蓬遠公司的PDA240160觸摸顯示屏,外形尺寸是61.6mm×42.4mm,所以沒必要采用12位A/D轉換,而只需要8位A/D轉換就足以達到所需精度,即zui小分度是X、Y長度方向的1/256。
2 坐標確定
PDA240160觸摸顯示屏的坐標如圖1。
580)this.width=580" border=0>
其中,(X,Y)是一個圖表按鍵的中心坐標,(X’,Y’)是右下角坐標,(X”,Y”)是其左上角的坐標。在觸及屏幕時,觸點只要在(X’,Y’)和(X”,Y”)矩形區域內均認為是觸摸該鍵有效。假設一個32×32點陣的圖標按鍵中心坐標(X,Y)為(50,50),那么(X’,Y’)就是(35,40),(X”,Y”)就是(65,60)。在觸摸時只要得到的鍵坐標在(X’,Y’)和(X”,Y”)之間,即認為是觸摸到了該鍵。而在該鍵坐標范圍內的值又是如此之多,如何來處理得到的坐標呢?zui初我們采取散轉方式,結果是程序太冗長、可讀性差且可移植性不好,不能作為子程序來調用。經過探討分析,我們zui后采取了查表的方式。
首先,制作如下所示的坐標表(包含當前屏幕上的所有鍵的兩個角坐標):
表中每一行均代表一個鍵值的兩個角坐標(需要放置完圖標按鍵后調用相關程序確定兩個角的坐標值),zui后的字符001~n是每個鍵值的標志(簡寫A)。這個標志很有用,在以后的程序中會看到。
3 程序流程圖與程序清單
子程序清單見本刊網絡補充版其中XA、YA存儲的是A/D轉換后的坐標值。程序已經調試通過,敬請讀者驗證。
結 語
經過反復測試后得出:每個觸摸鍵的反應都很靈敏,而且在每個圖標鍵的有效區域內都能反應。證明這個思路簡捷、易懂、可移植性好,在確定觸摸按鍵位置坐標時是非常具有實際應用價值的。
上一篇:μC/OS-II在凌陽單片機SPCE061A上的移植
下一篇:嵌入式LINUX簡介
免責聲明
- 凡本網注明"來源:智能制造網"的所有作品,版權均屬于智能制造網,轉載請必須注明智能制造網,http://www.xashilian.com。違反者本網將追究相關法律責任。
- 企業發布的公司新聞、技術文章、資料下載等內容,如涉及侵權、違規遭投訴的,一律由發布企業自行承擔責任,本網有權刪除內容并追溯責任。
- 本網轉載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品來源,并自負版權等法律責任。
- 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
2025中國鄭州衡器與計量技術設備展覽會
展會城市:鄭州市展會時間:2025-11-07