📄 tp.c
字号:
#include "head.c"
/*
sbit TP_CS=P3^4;
sbit TP_LT=P0^3;
#define TP_PORT P2
sbit TP_DATA_IN=P2^7;
sbit TP_CLK=P3^7;
sbit TP_DATA_OUT=P2^5;
sbit TP_BUSY=P2^6;
*/
unsigned int tp_read(unsigned char a)
{
unsigned char k,temp;
unsigned int k_temp;
//S,A2,A1,A0 MODE,SER/DEF,PD1,PD0
#define TP_MODE 0x81
TP_CLK=0;
TP_DATA_IN=0;
TP_CS=0;
nop;
TP_DATA_OUT=1;
//TP_PORT=0xff;
//TP_LT=0;
//TP_BUSY=1;
//while(TP_BUSY);//wait for TP not busy.
if(a==1)
temp=TP_MODE|0x10;//read Y1
if(a==2)
temp=TP_MODE|0x50;//read Y1
if(a==3)
temp=TP_MODE|0x20;//read Y1
if(a==4)
temp=TP_MODE|0x60;//read Y1
nop; nop;
nop; nop;
for(k=0;k<8;k++)
{
nop;
if((temp&0x80)==0)
TP_DATA_IN=0;
else
TP_DATA_IN=1;
nop;
TP_CLK=1;nop;
temp=temp<<1;
TP_CLK=0;
}
TP_DATA_IN=0;
//delay(1);
TP_CLK=1;
TP_CLK=0;
TP_BUSY=1;
while(TP_BUSY);//wait for TP not busy.
k_temp=0;
//TP_DATA_OUT=1;///------------------------------------------///
//TP_CLK=1;
nop;
for(k=11;k!=255;k--)
{
nop;
TP_CLK=0;
nop;
if(TP_DATA_OUT!=0)
k_temp=k_temp|(1<<k);
//if(k==4||k==3)
// {nop;}
TP_CLK=1;
}
TP_CS=1;
//printi(k_temp);
if(k_temp>300)
{
if(a==1)
k_temp=(k_temp-300)/10;//y scale(when a==1)
else
k_temp=(k_temp-300)/14;//x scale (when a==2)
}
else
k_temp=0;
/*
if(k_temp>320)//y max
k_temp=320;
if(a==2&&(k_temp>240))//x max
k_temp=240;
*/
//printi(k_temp);
//putenter();
//printi(k_temp);
return k_temp;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -