四 ARM9(S3C2440)的ADC和觸摸屏控制——理論知識
10 位CMOS ADC(模/數(shù)轉(zhuǎn)換器)是一個8 通道模擬輸入的再循環(huán)類型設(shè)備。其轉(zhuǎn)換模擬輸入信號為10 位二
進制數(shù)字編碼,最大轉(zhuǎn)換率為2.5MHz A/D 轉(zhuǎn)換器時鐘下的500 KSPS。A/D 轉(zhuǎn)換器支持片上采樣-保持功能和掉電
模式的操作。
觸摸屏接口可以控制/選擇觸摸屏X、Y 方向的引腳(XP,XM,YP,YM)的變換。觸摸屏接口包括觸摸屏引
腳控制邏輯和帶中斷發(fā)生邏輯的ADC 接口邏輯。
觸摸屏接口模式
1. 普通轉(zhuǎn)換模式
單轉(zhuǎn)換模式是最合適的通用ADC 轉(zhuǎn)換。此模式可以通過設(shè)置ADCCON(ADC 控制寄存器)初始化并且通過讀寫
ADCDAT0(ADC 數(shù)據(jù)寄存器0)就能夠完成。
2. 分離的X/Y 方向轉(zhuǎn)換模式
觸摸屏控制器可以工作在兩個轉(zhuǎn)換模式之一。方向轉(zhuǎn)換模式如下方法操作。X 方向模式寫X 方向轉(zhuǎn)換數(shù)據(jù)到
ADCDAT0,故觸摸屏接口產(chǎn)生中斷源給中斷控制器。Y 方向模式寫Y 方向轉(zhuǎn)換數(shù)據(jù)到ADCDAT1,故觸摸屏接口產(chǎn)
生中斷源給中斷控制器。
3. 自動(順序)X/Y 方向轉(zhuǎn)換模式
自動(順序)X/Y 方向轉(zhuǎn)換模式操作如下。觸摸屏控制器順序變換觸摸X 方向和Y 方向。在自動方向轉(zhuǎn)變模式中觸摸
控制器在寫入X 測量數(shù)值到ADCDAT0 和寫入Y 測量數(shù)值到ADCDAT1 后,觸摸屏接口產(chǎn)生中斷源給中斷控制器。
4. 等待中斷模式
當(dāng)筆尖落下時觸摸屏控制器產(chǎn)生中斷(INT_TC)信號。等待中斷模式設(shè)置值為rADCTSC=0xd3; // XP_PU,XP_Dis,
XM_Dis,YP_Dis,YM_En
觸摸屏控制器產(chǎn)生中斷信號(INT_TC)后,必須清除等待中斷模式。(XY_PST 設(shè)置到無操作模式)
待機模式
當(dāng)ADCCON [2]被設(shè)置為1時激活待機模式。此模式中,停止A/D 轉(zhuǎn)換操作并且ADCDAT0、ADCDAT1 寄存
器包含的是先前轉(zhuǎn)換的數(shù)據(jù)。
寄存器的功能可以看一下數(shù)據(jù)手冊
下面是結(jié)合FL2440開發(fā)板的觸摸屏操作實例:
觸摸屏工作流程以及程序設(shè)計流程:
一、觸摸屏初始化:
(SUBSRCPND)
模式和中斷優(yōu)先級默認(rèn)即可
二、觸摸屏中斷服務(wù)子程序:
筆抬起中斷信號)
#include"2440addr.h"
#include"def.h"
//void Touch_Screen_Off(void);
int key=0,xdata,ydata;
void __irq ADC_ISR(void) ;
void ledcontrol();
void Touch_Screen_Init(void)
{
}
評論