ARM7202觸摸屏接口設(shè)計(jì)方案
3 觸摸屏控制程序機(jī)制
不同的操作系統(tǒng)下對觸摸屏的應(yīng)用各有不同,但都包括了設(shè)備的初始化、設(shè)備讀寫及中斷響應(yīng)等基本模塊。觸摸屏的驅(qū)動(dòng)程序涉及到兩個(gè)中斷:落筆中斷和觸摸屏A/D轉(zhuǎn)換中斷。所包含的程序模塊有:觸摸屏初始化、落筆中斷服務(wù)程序、A/D中斷服務(wù)程序、濾波程序和坐標(biāo)轉(zhuǎn)換程序。這里重點(diǎn)說明觸摸屏的兩個(gè)中斷。
觸摸屏初始化程序完成外部電路的中斷設(shè)置和采樣率的設(shè)置,并將觸摸屏的A/D中斷和A/D轉(zhuǎn)換器電源關(guān)閉,使外部電路中斷有效。
有落筆時(shí),外部中斷被觸發(fā),進(jìn)入落筆中斷服務(wù)程序。在落筆中斷服務(wù)程序中清中斷源,關(guān)外部中斷,使外部中斷電路無效,打開觸摸屏中斷和AD轉(zhuǎn)換器電源。此時(shí)觸摸屏電路開始掃描觸摸屏。觸摸屏A/D轉(zhuǎn)換結(jié)束后,產(chǎn)生A/D中斷,進(jìn)入A/D中斷服務(wù)程序。在觸摸屏A/D中斷服務(wù)程序中,清A/D中斷,關(guān)觸摸屏A/D中斷,讀A/D轉(zhuǎn)換值。此時(shí)還要判斷落筆是否繼續(xù),若無落筆,開外部電路中斷,使外部中斷電路有效,關(guān)A/D中斷和A/D轉(zhuǎn)換器電源,進(jìn)入節(jié)能模式,如圖4(a);若還有落筆,要繼續(xù)開觸摸屏A/D中斷,使外部中斷電路無效,觸摸屏的A/D轉(zhuǎn)換繼續(xù)進(jìn)行,如圖4(b)所示。
圖4 觸摸屏程序流圖
由A/D轉(zhuǎn)換得到的值是觸摸屏上觸摸點(diǎn)的X坐標(biāo)和Y坐標(biāo)的值,要通過一定的方法轉(zhuǎn)換為顯示屏上的坐標(biāo)。限于篇幅這里省略,其原理和實(shí)現(xiàn)方法見參考文獻(xiàn)[2]。在A/D轉(zhuǎn)換時(shí),每次由A/D轉(zhuǎn)換寄存器得到4組轉(zhuǎn)換值,可以設(shè)計(jì)一個(gè)濾波程序以提高檢測精度。
評論