📄 ads7843drv.c
字号:
//=========================================================================================================================================
#include <string.h>
#include <LPC213x.h>
#include "ads7843drv.h"
/**************************************************************************************
* 名 称:
* 功 能:
* 参 数:
* 返 回 值:
*
* 修改历史:
* 版本 日期 作者
* ----------------------------------------------------
* 1.0 2008.8.13 孙逸洁 www.http://shop35330111.taobao.com
**************************************************************************************/
void Delayus( int k)
{
int j;
for(j=k;j > 0;j--);
}
/**************************************************************************************
* 名 称:
* 功 能:
* 参 数:
* 返 回 值:
*
* 修改历史:
* 版本 日期 作者
* ----------------------------------------------------
* 1.0 2008.8.13 孙逸洁 www.http://shop35330111.taobao.com
**************************************************************************************/
void TP_Init(void)
{
IODIR1 = 0x00;
IODIR1 = IODIR1 | MASK_CS | MASK_DCLK | MASK_DIN;
}
/**************************************************************************************
* 名 称:
* 功 能:
* 参 数:
* 返 回 值:
*
* 修改历史:
* 版本 日期 作者
* ----------------------------------------------------
* 1.0 2008.8.13 孙逸洁 www.http://shop35330111.taobao.com
**************************************************************************************/
static void WR_CMD (unsigned char cmd)
{
unsigned char buf;
unsigned char i;
TP_CS(1);
TP_DIN(0);
TP_DCLK(0);
TP_CS(0);
for(i=0;i<8;i++)
{
buf=(cmd>>(7-i))&0x1;
TP_DIN(buf);
Delayus(5);
TP_DCLK(1);
Delayus(5);
TP_DCLK(0);
}
}
/**************************************************************************************
* 名 称:
* 功 能:
* 参 数:
* 返 回 值:
*
* 修改历史:
* 版本 日期 作者
* ----------------------------------------------------
* 1.0 2008.8.13 孙逸洁 www.http://shop35330111.taobao.com
**************************************************************************************/
static unsigned short RD_AD(void)
{
unsigned short buf=0,temp;
unsigned char i;
TP_DIN(0);
TP_DCLK(1);
for(i=0;i<12;i++)
{
Delayus(5);
TP_DCLK(0);
Delayus(5);
temp= (TP_DOUT) ? 1:0;
buf|=(temp<<(11-i));
Delayus(5);
TP_DCLK(1);
}
TP_CS(1);
buf&=0x0fff;
return(buf);
}
/**************************************************************************************
* 名 称:
* 功 能:
* 参 数:
* 返 回 值:
*
* 修改历史:
* 版本 日期 作者
* ----------------------------------------------------
* 1.0 2008.8.13 孙逸洁 www.http://shop35330111.taobao.com
**************************************************************************************/
int Read_X(void)
{
int i;
WR_CMD(CHX);
// while(TP_BUSY);
Delayus(5);
i=RD_AD();
return i;
}
/**************************************************************************************
* 名 称:
* 功 能:
* 参 数:
* 返 回 值:
*
* 修改历史:
* 版本 日期 作者
* ----------------------------------------------------
* 1.0 2008.8.13 孙逸洁 www.http://shop35330111.taobao.com
**************************************************************************************/
int Read_Y(void)
{
int i;
WR_CMD(CHY);
// while(TP_BUSY);
Delayus(5);
i=RD_AD();
return i;
}
/**************************************************************************************
* 名 称:
* 功 能:
* 参 数:
* 返 回 值:
*
* 修改历史:
* 版本 日期 作者
* ----------------------------------------------------
* 1.0 2008.8.13 孙逸洁 www.http://shop35330111.taobao.com
**************************************************************************************/
void TP_GetAdXY(int *x,int *y)
{
int adx,ady;
adx=Read_X();
ady=Read_Y();
*x=adx;
*y=ady;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -