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

📄 ads7843.h

📁 触摸屏打地鼠小游戏 AVR控制
💻 H
字号:
//ADS7843触摸屏驱动



#define TOUCH_DCLK    0
#define TOUCH_CS      3
#define TOUCH_DIN     2
#define TOUCH_BUSY    6 //
#define TOUCH_DOUT    1

#define TOUCH_DDR    DDRA
#define TOUCH_PORT   PORTA
#define TOUCH_PIN    PINA

unsigned long Xaddress,Yaddress;
unsigned char Xstring[8];
unsigned char Ystring[8];

unsigned int touch_irq_flag; 

void TouchInit(void)
{
  TOUCH_DDR|=(1<<TOUCH_DCLK)|(1<<TOUCH_CS)|(1<<TOUCH_DIN);
  TOUCH_DDR&=(~((1<<TOUCH_DOUT)|(1<<TOUCH_BUSY)));
  TOUCH_PORT|=(1<<TOUCH_DCLK)|(1<<TOUCH_CS)|(1<<TOUCH_DIN);
}  

unsigned long  TouchReadAddress(unsigned char command)
{	
	unsigned char i,address=0;
	unsigned char temp=0x80;
	
	TOUCH_PORT&=(~(1<<TOUCH_CS));	
	TOUCH_PORT&=(~(1<<TOUCH_DCLK));
	
	for (i=0;i<8;i++)          
    {
		 TOUCH_PORT&=(~(1<<TOUCH_DCLK));
		 delay_us(1); 
		 
		 if ((command&temp))  TOUCH_PORT|=(1<<TOUCH_DIN);  //SDIO=1;
		 else TOUCH_PORT&=(~(1<<TOUCH_DIN));  //SDIO=0; 
		 
		 delay_us(1);
		 TOUCH_PORT|=(1<<TOUCH_DCLK);  //SCLK=1;
		 delay_us(1); 
		 
		 temp>>=1;
	}	 
	
	TOUCH_PORT&=(~(1<<TOUCH_DCLK));
	
	delay_us(10);
	
	TOUCH_PORT&=(~(1<<TOUCH_DIN));
	delay_us(1); 
	TOUCH_PORT|=(1<<TOUCH_DCLK);  //SCLK=1;
	TOUCH_PORT&=(~(1<<TOUCH_DCLK));
	delay_us(1);
	  
	  
	 
	for (i=0;i<7;i++)   
	{		 
		 TOUCH_PORT|=(1<<TOUCH_DCLK);  //SCLK=1;
		 delay_us(1);
		 if (TOUCH_PIN&(1<<TOUCH_DOUT))  address+=1; 
		 
		 address<<=1;
		 delay_us(1); 
		 TOUCH_PORT&=(~(1<<TOUCH_DCLK));
		 delay_us(1);
		 
	}	
	
	TOUCH_PORT|=(1<<TOUCH_DCLK);  //SCLK=1;
	delay_us(1);
	if (TOUCH_PIN&(1<<TOUCH_DOUT))  address+=1;  
	delay_us(1);  
     	TOUCH_PORT&=(~(1<<TOUCH_DCLK));			
	TOUCH_PORT|=(1<<TOUCH_CS);
	return(address);
}


⌨️ 快捷键说明

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