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

📄 tp_test.c

📁 2046触摸屏测试源程序代码。手机屏应用的液晶模组单片机驱动。
💻 C
📖 第 1 页 / 共 5 页
字号:
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 + -