⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tsc2200_exp.h

📁 ADI系列DSP blackfin BF533 触摸屏 基于亿旗的开发板
💻 H
字号:
#ifndef  __TSC2200_DEFINED
#define __TSC2200_DEFINED


#define TSC_CMD_READ		0x8000
#define TSC_CMD_WRITE		0x0000

// Register address definition
// Control Registers
#define TSC_CMD_ADC		    0x0800	
#define TSC_CMD_KEY			0x0820
#define TSC_CMD_DACCTL		0x0840
#define TSC_CMD_REF			0x0860
#define TSC_CMD_RESET		0x0880
#define TSC_CMD_CFG		    0x08A0
#define TSC_CMD_KPMASK		0x0A00

// Data Registers
#define TSC_CMD_X			0x0000
#define TSC_CMD_Y			0x0020
#define TSC_CMD_Z1			0x0040
#define TSC_CMD_Z2			0x0060
#define TSC_CMD_KPDATA		0x0080
#define TSC_CMD_BAT1		0x00A0
#define TSC_CMD_BAT2		0x00C0
#define TSC_CMD_AUX1		0x00E0
#define TSC_CMD_AUX2		0x0100
#define TSC_CMD_TEMP1		0x0120
#define TSC_CMD_TEMP2		0x0140
#define TSC_CMD_DACDATA	    0x0160
#define TSC_CMD_ZERO		0x0200


// A/D Converter Control Register
// ControlMode
#define    ADC_PSM_HOST		0x0000			
#define    ADC_PSM_TSC2200	0x8000

// ConvCtl
#define	ADC_STS_NORMAL	    0x0000
#define	ADC_STS_STOP		0x4000

// ADFunction
#define ADC_AD_INVALID		0x0000
#define ADC_AD_XY_SCAN		0x0400
#define ADC_AD_XYZ_SCAN	    0x0800
#define ADC_AD_X_SCAN		0x0C00
#define ADC_AD_Y_SCAN		0x1000
#define ADC_AD_Z_SCAN		0x1400
#define ADC_AD_BAT1_CONV	0x1800
#define ADC_AD_BAT2_CONV	0x1C00
#define ADC_AD_AUX1_CONV	0x2000
#define ADC_AD_AUX2_CONV	0x2400
#define ADC_AD_TEMP1_CONV	0x2800
#define ADC_AD_PORT_SCAN	0x2C00
#define ADC_AD_TEMP2_CONV	0x3000
#define ADC_AD_X_DRIVER	    0x3400
#define ADC_AD_Y_DRIVER	    0x3800
#define ADC_AD_Z_DRIVER	    0x3C00

// ADResolution
#define ADC_RS_EIGHT		0x0100
#define ADC_RS_TEN			0x0200
#define ADC_RS_TWELVE		0x0300

// ADAvgs
#define ADC_AV_ZERO		    0x0000
#define ADC_AV_FOUR		    0x0040
#define ADC_AV_EIGHT		0x0080
#define ADC_AV_SIXTEEN		0x00C0

// ConvClock
#define ADC_CL_8			0x0000
#define ADC_CL_4			0x0010
#define ADC_CL_2			0x0020
#define ADC_CL_1			0x0030
 
// PVSTime
#define ADC_PV_0			0x0000	
#define ADC_PV_100_US		0x0002
#define ADC_PV_500_US		0x0004
#define ADC_PV_1_MS	    	0x0006
#define ADC_PV_5_MS		    0x0008
#define ADC_PV_10_MS		0x000A
#define ADC_PV_50_MS		0x000C
#define ADC_PV_100_MS		0x000E

// DAC CONTROL REGISTER
// Power Down
#define DAC_ON				0x0000
#define DAC_OFF				0x8000

// REFERNECE REGISTER
// Internal Reference Mode
#define REF_INT_EXTERNAL	 0x0000
#define REF_INT_INTERNAL	 0x0010

// Power-Up Delay Reference
#define REF_DL_0_US			0x0000
#define REF_DL_100_US		0x0006
#define REF_DL_500_US		0x0008
#define REF_DL_1_MS			0x000C

// Power Down Reference - whether or not the internal reference is power down in between conversions
#define REF_PDN_ON			0x0000
#define REF_PDN_OFF			0x0002

// Reference Volatage Control
#define REF_RFV_125			0x0000
#define REF_RFV_250			0x0001


// Configuration Control Register
// Data Available
#define CFG_DAVB			0x0040

// Precharge Time
#define CFG_PRE_20			0x0000
#define CFG_PRE_84			0x0008
#define CFG_PRE_276			0x0010
#define CFG_PRE_340			0x0018
#define CFG_PRE_1044		0x0020
#define CFG_PRE_1108		0x0028
#define CFG_PRE_1300		0x0030
#define CFG_PRE_1364		0x0038


// Sense Time
#define CFG_SNS_32			0x0000
#define CFG_SNS_96			0x0001
#define CFG_SNS_544			0x0002
#define CFG_SNS_608			0x0003
#define CFG_SNS_2080		0x0004
#define CFG_SNS_2144		0x0005
#define CFG_SNS_2592		0x0006
#define CFG_SNS_2656		0x0007

// Keypad Control Register
// Keyboard Status
#define KEY_STC_NO			0x0000
#define KEY_STC_YES			0x8000

// Scan Status
#define KEY_SCS_BUSY		0x0000
#define KEY_SCS_DONE		0x4000
#define KEY_SCS_NORMAL		0x0000
#define KEY_SCS_STOP		0x4000

//De-bounce Control
#define KEY_DB_2			0x0000
#define KEY_DB_10			0x0800
#define KEY_DB_20			0x1000
#define KEY_DB_50			0x1800
#define KEY_DB_60			0x2000
#define KEY_DB_80			0x2800
#define KEY_DB_100			0x3000
#define KEY_DB_120			0x3800


// Keypad Mask Register
#define KPMASK_ALL			0x0000
#define KPMASK_M0			0x0001
#define KPMASK_M1			0x0002
#define KPMASK_M2			0x0004
#define KPMASK_M3			0x0008
#define KPMASK_M4			0x0010
#define KPMASK_M5			0x0020
#define KPMASK_M6			0x0040
#define KPMASK_M7			0x0080
#define KPMASK_M8			0x0100
#define KPMASK_M9			0x0200
#define KPMASK_M10			0x0400
#define KPMASK_M11			0x0800
#define KPMASK_M12			0x1000
#define KPMASK_M13			0x2000
#define KPMASK_M14			0x4000
#define KPMASK_M15			0x8000


//Reset Register
#define RESET_RESET			0xBBFF


#define ADC_SETUP_VALUE		(ADC_PSM_TSC2200 | ADC_STS_NORMAL | ADC_AD_XY_SCAN | ADC_RS_TWELVE | ADC_AV_SIXTEEN | ADC_CL_2 | ADC_PV_10_MS)
#define ADC_SETUP_VALUE_2		(ADC_PSM_HOST | ADC_STS_NORMAL | ADC_AD_X_SCAN | ADC_RS_TWELVE | ADC_AV_SIXTEEN | ADC_CL_2 | ADC_PV_10_MS)

#define TSC2200_SPI_DELAY		1000


#define SPI_ENABLE	*pSPI_CTL |= 0x4000
#define SPI_DISABLE	*pSPI_CTL &= ~0x4000


#define SPI_SELECT_TSC2200		*pSPI_CtrlBaseaAddr = SPI_CTRL_TSC2200
#define SPI_SELECT_NONE     	*pSPI_CtrlBaseaAddr = SPI_CTRL_NONE

//Function prototye
void Tsc2200_Exp(void);

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -