<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 基于RA8806控制器的LCD和51單片機接口技術(shù)

          基于RA8806控制器的LCD和51單片機接口技術(shù)

          作者: 時間:2009-09-24 來源:網(wǎng)絡(luò) 收藏

          (3)的復(fù)位和初始化 為保證無誤操作,供電后要進行復(fù)位。復(fù)位方式可采用圖1方式,也可采用圖2方式,或單獨采用阻容方式。復(fù)位后要初始化設(shè)定內(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的分辨率是320x240,程序要將觸摸屏的(X,Y)坐標(biāo)值轉(zhuǎn)換為坐標(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ù)字化儀器等。


          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();