基于嵌入式微處理器S3C44BOX的觸摸屏接口設(shè)計(jì)
圖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è)計(jì),實(shí)踐證明系統(tǒng)穩(wěn)定可靠,滿足了在復(fù)雜的多任務(wù)環(huán)境中觸摸屏快速響應(yīng)的要求。
評(píng)論