基于RA8806控制器的LCD和51單片機接口技術(shù)
(3)LCD的復(fù)位和初始化 為保證RA8806無誤操作,RA8806供電后要進行復(fù)位。復(fù)位方式可采用圖1方式,也可采用圖2方式,或單獨采用阻容方式。復(fù)位后要初始化設(shè)定RA8806內(nèi)部緩存器,即編寫一個初始化函數(shù),并在復(fù)位后運行。
RA8806功能強大,只有包括卷動、反白、雙圖層、四灰度等功能,以及獨特的消除閃爍模式功能,建議使用C51編程,以函數(shù)的形式實現(xiàn)以上功能,將這些函數(shù)封裝在一個C程序中,通過頭文件供主程序調(diào)用。
4.3 觸摸屏編程
RA8806內(nèi)建一組10位A/D轉(zhuǎn)換和控制電路,以連接4線電阻式觸摸屏。一般,電阻式觸摸屏由兩層很薄的電阻式屏幕組成,當(dāng)外力施加在面板上的某一點時,兩層屏幕將被觸碰,相對于觸碰的位置,系統(tǒng)將偵測到一個(X,Y)坐標(biāo)值。觸摸屏查詢方式流程(圖4)的作用是開啟觸屏功能,判斷當(dāng)觸控事件發(fā)生時,首先讀回對應(yīng)的(X,Y)坐標(biāo)值(兩組10位A/D轉(zhuǎn)換值),再轉(zhuǎn)換為對應(yīng)的屏幕坐標(biāo)。本文引用地址:http://www.ex-cimer.com/article/169459.htm
觸摸控制電路的10位A/D轉(zhuǎn)換器產(chǎn)生的(X、Y)坐標(biāo)都在1 023~0中,而基于RA8806的LCD分辨率是320x240,程序要將觸摸屏的(X,Y)坐標(biāo)值轉(zhuǎn)換為LCD坐標(biāo)值,確定兩者間的轉(zhuǎn)換關(guān)系一般通過觸摸屏的校準(zhǔn)程序完成。最簡單的校準(zhǔn)算法是兩點校準(zhǔn):在LCD的左上角和右下角顯示2個校準(zhǔn)圖標(biāo)(長為20的十字光標(biāo)),十字光標(biāo)的交叉點即為校準(zhǔn)點。分別觸摸2個十字中心的交點,可得到兩組觸摸屏的(X,Y)坐標(biāo)值,而LCD的2個十字中心的坐標(biāo)已知,由式(1)可得到水平和垂直方向的斜率和截距,然后將水平和垂直方向的斜率和截距保存在EEPROM中。
對于要求觸摸定位不很精確的場合,比如僅以字符為單位的定位精度,也可在系統(tǒng)中省去校準(zhǔn)程序,而在程序轉(zhuǎn)換中給出一個相近的斜率和截距。
5 結(jié)束語
基于RA8806的LCD與同類產(chǎn)品相比,具有功能強、調(diào)試簡單、編程靈活和性價比高等優(yōu)點,且內(nèi)建4線電阻式觸摸屏接口,內(nèi)置中文字庫和ASCII碼字庫。因此基于RA8806的LCD可廣泛應(yīng)用于智能儀表、數(shù)字化儀器等。
評論