新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)系統(tǒng)中的觸摸屏坐標(biāo)算法

51單片機(jī)系統(tǒng)中的觸摸屏坐標(biāo)算法

作者: 時間:2012-04-05 來源:網(wǎng)絡(luò) 收藏

引 言:

本文引用地址:http://butianyuan.cn/article/171688.htm

人機(jī)對話的界面種類有很多,比如顯示器、LED、LCD及帶的LCD等。其中后者是最近幾年剛發(fā)展起來的一項(xiàng)新技術(shù),它通過計(jì)算機(jī)技術(shù)處理聲音、圖像、視頻、文字、動畫等信息,并在這些信息間建立一定的邏輯關(guān)系,使之成為能交互地進(jìn)行信息存取和輸出的集成。換而言之,它能綜合信息發(fā)布者的意愿和接受者對信息的需求及接受習(xí)慣,對信息進(jìn)行收集、加工、整合并雙向式傳播。符合簡便、經(jīng)濟(jì)、高效的原則,具有人機(jī)交互性好、操作簡單靈活、輸入速度快等特點(diǎn)。它與迅猛發(fā)展的計(jì)算機(jī)網(wǎng)絡(luò)和多媒體技術(shù)相結(jié)合,使用者僅僅用手指幕,就能進(jìn)行信息檢索、數(shù)據(jù)分析,甚至可以做出身臨其境、栩栩如生的效果;較鍵盤輸入簡單、直觀、快捷,具有豐富多采的表現(xiàn)能力,比以往任何傳媒更具親合力。

觸摸屏和51接口,可以使一些小的操作更加方便、快捷。使用觸摸屏?xí)r最重要的問題是確定位置,即確定觸點(diǎn)位置是否在該鍵的有效區(qū)域之內(nèi)。由于51系列的匯編語言不具備其它高級語言所具有的豐富庫函數(shù)及邏輯運(yùn)算能力,所以如何用51簡捷準(zhǔn)確地完成這一任務(wù),便成為應(yīng)用中迫切需要解決的問題。

在實(shí)際應(yīng)用中,我們采用了ADS7843作為觸摸屏的控制器。關(guān)于ADS7843的原理及工作方式,已經(jīng)有很多文章發(fā)表,而如何確認(rèn)位置卻很少提及。本文僅就確定問題做如下分析。

1 轉(zhuǎn)換模式

ADS7843的轉(zhuǎn)換精度有8位和12位兩種,可以精確到X或Y方向上的1/256和1/4096。我們采用清華蓬遠(yuǎn)公司的PDA240160觸摸顯示屏,外形尺寸是61.6mm×42.4mm,所以沒必要采用12位A/D轉(zhuǎn)換,而只需要8位A/D轉(zhuǎn)換就足以達(dá)到所需精度,即最小分度是X、Y長度方向的 1/256。

2 坐標(biāo)確定

PDA240160觸摸顯示屏的坐標(biāo)如圖1。

27.gif

其中,(X,Y)是一個圖表按鍵的中心坐標(biāo),(X’,Y’)是右下角坐標(biāo),(X”,Y”)是其左上角的坐標(biāo)。在觸及屏幕時,觸點(diǎn)只要在(X’,Y’)和(X”,Y”)矩形區(qū)域內(nèi)均認(rèn)為是觸摸該鍵有效。假設(shè)一個32×32點(diǎn)陣的圖標(biāo)按鍵中心坐標(biāo)(X,Y)為(50,50),那么(X’,Y’)就是(35,40),(X”,Y”)就是(65,60)。在觸摸時只要得到的鍵坐標(biāo)在(X’,Y’)和(X”,Y”)之間,即認(rèn)為是觸摸到了該鍵。而在該鍵坐標(biāo)范圍內(nèi)的值又是如此之多,如何來處理得到的坐標(biāo)呢?最初我們采取散轉(zhuǎn)方式,結(jié)果是程序太冗長、可讀性差且可移植性不好,不能作為子程序來調(diào)用。經(jīng)過探討分析,我們最后采取了查表的方式。

首先,制作如下所示的坐標(biāo)表(包含當(dāng)前屏幕上的所有鍵的兩個角坐標(biāo)):

表中每一行均代表一個鍵值的兩個角坐標(biāo)(需要放置完圖標(biāo)按鍵后調(diào)用相關(guān)程序確定兩個角的坐標(biāo)值),最后的字符001~n是每個鍵值的標(biāo)志(簡寫A)。這個標(biāo)志很有用,在以后的程序中會看到。

3 程序流程圖與程序清單

程序流程圖如圖2 :

28.gif


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉