📄 touch_impt.c
字号:
# include "Touch_IMPT.h"
# include "ADC12.h"
# include "USE_12864_Driver.h"
# include "UART0.h"
void Touch_IMPT_PORT_INIT(void)
{
P4DIR |= BIT1| BIT2;
}
void Touch_IMPT_Device_INIT(void)
{
Touch_IMPT_PORT_INIT();
}
unsigned int Get_X_AD(void)
{
USE_X_PORT;
RELEASE_Y_PORT;
RELEASE_X_AD;
return Get_ADC12_SS(Y_INCH);
}
unsigned int Get_Y_AD(void)
{
USE_Y_PORT;
RELEASE_X_PORT;
RELEASE_Y_AD;
return Get_ADC12_SS(X_INCH);
}
/**************************************************
x,y 坐标映射(未按下触摸屏时返回为0)
pos[0]:返回x坐标
pos[1]:返回y坐标
**************************************************/
void Map_Touch_xy(unsigned char* p_xy)
{
unsigned long x_AD_Value = Get_X_AD();
unsigned long y_AD_Value = Get_Y_AD();
if(x_AD_Value > TOUCH_X_MIN)
{
p_xy[0] =(x_AD_Value - TOUCH_X_MIN)*128/(TOUCH_X_MAX - TOUCH_X_MIN);
}
if(p_xy[0]>128)
{
p_xy[0] = 128;
}
if(y_AD_Value > TOUCH_Y_MIN)
{
p_xy[1] =(y_AD_Value - TOUCH_Y_MIN)*64/(TOUCH_Y_MAX - TOUCH_Y_MIN);
}
if(p_xy[1]>64)
{
p_xy[1] = 64;
}
/*
Display_A_String("X:");
UART_Show_Number(x_AD_Value,0);
Display_A_String("Y:");
UART_Show_Number(y_AD_Value,0);
Display_A_String("X_T:");
UART_Show_Number(x_Temp,0);
Display_A_String("Y_T:");
UART_Show_Number(y_Temp,1);*/
}
void Touch_Paint(void)
{
unsigned char Point_xy[2]={0};
unsigned char Point_xy_Temp[2]={0};
Map_Touch_xy(Point_xy);
Map_Touch_xy(Point_xy_Temp);
if((Point_xy[0] == Point_xy_Temp[0])&&(Point_xy[1] == Point_xy_Temp[1]))
{
///////////////////////////////////
//Draw_Dot(Point_xy[0], Point_xy[1]);
//////////////////////////////////
}
}
/*
void mapxy(int *pos)
{
readxy(); //读取触屏电压
pos[0]=0;
if(cmp_x>80)
pos[0]=1+(cmp_x-80)*128/(917-80);
if(pos[0]>128)
pos[0]=128;
pos[1]=0;
if(cmp_y>190)
pos[1]=1+(cmp_y-190)*64/(832-190);
if(pos[1]>64)
pos[1]=64;
}*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -