📄 tp_test.c
字号:
write_command(0x00,0x20);
write_data(0x00,LCD_X); //GRAM Horizontal/Vertical Address Set (R20h, R21h)
write_command(0x00,0x21);
write_data(LCD_YH,LCD_Y); //
write_command(0x00,0x50);
write_data(0x00,LCD_X); //
write_command(0x00,0x51);
write_data(0x00,LCD_X); //
write_command(0x00,0x52);
write_data(LCD_YH,LCD_Y); //
write_command(0x00,0x53);
write_data(LCD_YH,LCD_Y); //
write_command(0x00,0x22); //write data to Gram
write_data(0x00,0x1F);
delay(5);
}
void display_TP_Icon(uchar t[])
{
int i;
write_command(0x00,0x20);
write_data(0,100); //GRAM Horizontal/Vertical Address Set (R20h, R21h)
write_command(0x00,0x21);
write_data(0,100); //
write_command(0x00,0x50);
write_data(0x00,100); //
write_command(0x00,0x51);
write_data(0x00,147); //
write_command(0x00,0x52);
write_data(0,100); //
write_command(0x00,0x53);
write_data(0,131); //
write_command(0x00,0x22); //write data to Gram
for(i=0;i<3072;i=i+2)//48*32*2=3072
write_data(t[i],t[i+1]);
}
unsigned int get_region_index()
{
// region 1
if ((TP_X >= 0) && (TP_X < 230)
&& (TP_Y >= 12) && (TP_Y < 230))
return 1;
//Icon
// region 2
if ((TP_X >= 185) && (TP_X < 220)
&& (TP_Y >= 0) && (TP_Y < 12))
return 6;
// region 3
if ((TP_X >= 145) && (TP_X < 180)
&& (TP_Y >= 0) && (TP_Y < 12))
return 5;
// region 4
if ((TP_X >= 110) && (TP_X < 135)
&& (TP_Y >= 0) && (TP_Y < 12))
return 4;
// region 5
if ((TP_X >= 70) && (TP_X < 100)
&& (TP_Y >= 0) && (TP_Y < 12))
return 3;
// region 6
if ((TP_X >= 30) && (TP_X <60)
&& (TP_Y >= 0) && (TP_Y <= 12))
return 2;
// as for unconcerned regions, return 0 as the index
return 0;
}
void int_0(void) interrupt 0
{
uint regionidx = 0;
IE=0x80;
SPI_Start();
get_TP_X_addr();//x-position measure
get_TP_Y_addr();//8bit mode ,y-position measure
//write_to_LCD(TP_X,TP_Y);
regionidx = get_region_index();
// according to different interested regions, do related process
switch(regionidx)
{
case 1: // region 1
write_to_LCD(TP_X,TP_Y);
break;
case 2: // region 2
display_TP_Icon(phone);
break;
case 3: // region 3
display_TP_Icon(book);
break;
case 4: // region 4
display_TP_Icon(email);
break;
case 5: // region 5
display_TP_Icon(mp4);
break;
case 6: // region 6
display_TP_Icon(home);
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -