新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 基于單片機(jī)的液晶顯示觸摸屏控制設(shè)計

基于單片機(jī)的液晶顯示觸摸屏控制設(shè)計

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

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

2. 2 ADS7846

ADS7846 是Burr2Brown 公司的一款專用器,其內(nèi)部結(jié)構(gòu)如圖2 所示。

圖2  ADS7846 內(nèi)部結(jié)構(gòu)圖

圖2 ADS7846 內(nèi)部結(jié)構(gòu)圖。

ADS7846 內(nèi)部由一個多路選擇器和一個12位的A/ D 轉(zhuǎn)換器構(gòu)成,根據(jù)串行口的控制字控制多路選擇開關(guān)的工作狀態(tài),控制工作面的工作電壓,并把相應(yīng)電極上的觸點坐標(biāo)位置對應(yīng)的工作電壓送到A/ D 轉(zhuǎn)換器,變成數(shù)字量通過串行口再傳遞給CPU ,經(jīng)過計算得到觸點的X 、Y 方向的坐標(biāo),確定觸點位置,程序根據(jù)觸點坐標(biāo)位置顯示的信息執(zhí)行相應(yīng)的功能。

則P 點的二進(jìn)制輸出代碼為:

其中:V ref_full為加在ADS7846 內(nèi)部A/ D 轉(zhuǎn)換器上的參考電壓。

ADS7846 控制字見表1 所示,S 為數(shù)據(jù)傳輸?shù)钠鹗紭?biāo)志位,改為必須為1;A2、A1、A0 用于通道選擇控制,坐標(biāo)與通道選擇之間的關(guān)系見表2 所示。MODE用于控制A/ D轉(zhuǎn)換的精度, 1選擇8位, 0選擇12 位。SER/ DFR 選擇輸入?yún)⒖茧妷耗J? 1為單端模式, 0為差分模式。PD1、PD0選擇省電模式:00為省電模式允許,在兩次A/ D轉(zhuǎn)換之間掉電,且中斷允許;01與00相似,但不允許中斷;10保留;11禁止省電模式。

表1 ADS7846 的控制字

表1  ADS7846 的控制字

表2 ADS7846 的坐標(biāo)與通道選擇之間的關(guān)系

表2  ADS7846 的坐標(biāo)與通道選擇之間的關(guān)系

ADS7846 與MCU 之間通過標(biāo)準(zhǔn)的SPI 接口相連接,如圖3 所示。當(dāng)檢測到有觸摸動作時,ADS7846 的筆中斷請求端( PENIRQ) 輸出一個低電平信號向MCU 發(fā)出測量觸點坐標(biāo)的中斷請求。MCU 通過SPI 接口,選中ADS7846 ,發(fā)出坐標(biāo)測量控制字,然后讀取ADS7846A/ D 轉(zhuǎn)換結(jié)果數(shù)據(jù),經(jīng)過兩次控制即可分別得到觸點位置的X 、Y 坐標(biāo)。ADS7846 工作時序如圖4 所示。

圖3  ADS7846 與MCU 之間SPI 接口

圖3 ADS7846 與MCU 之間SPI 接口。

圖4  ADS7846 與MCU 通信時序

圖4 ADS7846 與MCU 通信時序。

3 觸點坐標(biāo)與屏控制功能對應(yīng)定位的確定

本例中ADS7846 采用差動參考電壓方式,以減小測量誤差,由于存在著個體差異,不同邊沿的測量值不同,測量值達(dá)不到0 或者滿量程(4096) ,而屏具有較為準(zhǔn)確的定位數(shù)值,很難實現(xiàn)觸摸屏與屏的點與點一一對應(yīng),給編程調(diào)試帶來很大麻煩,只能實現(xiàn)觸摸屏與液晶顯示屏之間的區(qū)域?qū)?yīng),不影響液晶顯示屏的顯示功能和觸摸屏的控制功能。

觸摸屏控制器ADS7846 通過SPI 接口連接到微控制器A T89S51 上。當(dāng)發(fā)生觸摸時, 由ADS7846 向A T89S51 提出中斷請求, 接著A T89S51 就會響應(yīng)該中斷請求,通過SPI 讀取ADS7846 的轉(zhuǎn)換結(jié)果,得到觸摸點的坐標(biāo)。圖5為中斷服務(wù)子程序與ADS7846 測量子程序流程圖。

圖5  中斷服務(wù)子程序與ADS7846 測量子程序流程圖

圖5 中斷服務(wù)子程序與ADS7846 測量子程序流程圖。

為了有效地找到觸摸屏觸摸點與點陣式液晶顯示屏對應(yīng)區(qū)域坐標(biāo)范圍,按照液晶顯示屏的顯示功能區(qū)域的點陣坐標(biāo),按照液晶屏上顯示的控制信息字符格式,合理選擇水平線和豎直線,按照液晶顯示和觸摸屏控制功能區(qū)域進(jìn)行觸摸點數(shù)值測量,找到與液晶顯示屏對應(yīng)的觸摸屏控制區(qū)域的觸摸點數(shù)值范圍。根據(jù)觸摸屏觸摸點坐標(biāo)實測數(shù)據(jù)分析可以得到對應(yīng)的液晶屏上像素點坐標(biāo)。

液晶屏像素點坐標(biāo)與觸摸屏觸摸點實測數(shù)值之間的關(guān)系可以表示為:

式中: X 、Y 為觸點測量值; ( Xmin , Ymin ) 和( Xmax ,Xmax ) 分別為觸摸屏上的最大值和最小值坐標(biāo)觸點測量; ( X1 , Y1 ) 為觸點在液晶屏上的像素坐標(biāo),表3 、表4 中數(shù)據(jù)為實測數(shù)據(jù)。

表3 實測豎直直線上等距離測量坐標(biāo)值

表3  實測豎直直線上等距離測量坐標(biāo)值

表4 實測水平直線上等距離測量坐標(biāo)值

表4  實測水平直線上等距離測量坐標(biāo)值

值得注意的是,經(jīng)測量觸摸屏X 方向的轉(zhuǎn)換值為從大到小, Y 方向的轉(zhuǎn)換值為從小到大,坐標(biāo)值在一定范圍內(nèi)基本是成線性變化的。但是在觸摸屏的邊緣地帶X 方向輸出電阻和Y 方向輸出電阻的變化較大,是非線性關(guān)系,因此為了比較準(zhǔn)確地標(biāo)定觸摸屏坐標(biāo),在大范圍內(nèi)采用線性變化的規(guī)律,而在邊緣地帶需采用查表的方式。

tcp/ip相關(guān)文章:tcp/ip是什么




評論


相關(guān)推薦

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

關(guān)閉