新聞中心

EEPW首頁(yè) > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 基于嵌入式微處理器S3C44BOX的觸摸屏接口設(shè)計(jì)

基于嵌入式微處理器S3C44BOX的觸摸屏接口設(shè)計(jì)

作者: 時(shí)間:2012-03-21 來(lái)源:網(wǎng)絡(luò) 收藏

圖5  觸摸屏的狀態(tài)轉(zhuǎn)換

圖5 的狀態(tài)轉(zhuǎn)換

系統(tǒng)軟件中,初始化程序、濾波程序和坐標(biāo)轉(zhuǎn)換程序是一般常規(guī)通用程序。AD 測(cè)量子程序是獲得X 軸和Y軸坐標(biāo)的關(guān)鍵部分,其程序如下:

  / / 獲取當(dāng)前的坐標(biāo)

  void TouchADC(uint16 3 x , uint16 3 y)

  {

  int i ;

  rADCPSR = 10 ;

  / / 切換為X 通道態(tài)準(zhǔn)備A/ D 轉(zhuǎn)換

  Set TouchX() ;

  Delay(1000) ;

  {

  / / 啟動(dòng)AIN1 通道A/ D 轉(zhuǎn)換

  rADCCON = 0x1 | (1 2) ;

  while (rADCCON 0x1) ;

  while ( ! (rADCCON 0x40) ) ;

  for (i = 0 ; i rADCPSR ; i + + ) ;

  3 x = rADCDAT ;

  }

  rADCPSR = 10 ;

  / / 切換為Y通道模式準(zhǔn)備A/ D 轉(zhuǎn)換

  Set TouchY() ;

  / / 在X/ Y通道切換時(shí)要延時(shí)以使穩(wěn)定下來(lái)

  Delay(1000) ;

  {

  / / 啟動(dòng)AIN0 通道A/ D 轉(zhuǎn)換

  rADCCON = 0x1| (0 2) ;

  while (rADCCON 0x1) ;

  while ( ! (rADCCON 0x40) ) ;

  for (i = 0 ; i rADCPSR ; i + + ) ;

  3 y = rADCDAT ;

  }

  / / 切換為空閑態(tài),等待中斷發(fā)生

  Set TouchIdle() ;

  / / 輸出顯示X ,Y坐標(biāo)數(shù)值

  Out Put (0 ,″(X ,Y) = ( %3d , %3d) n″, 3 x , 3 y) ;

  }

6 結(jié)語(yǔ)

已成為現(xiàn)代設(shè)備人機(jī)交互的首選輸入設(shè)備。本文詳細(xì)介紹了觸摸屏的工作原理,以三星公司ARM7 內(nèi)核芯片S3C44B0X 為基礎(chǔ),完成了觸摸屏的軟硬件,實(shí)踐證明系統(tǒng)穩(wěn)定可靠,滿足了在復(fù)雜的多任務(wù)環(huán)境中觸摸屏快速響應(yīng)的要求。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉