2.0-R61503B 8bits TFT彩屏驱动程序(基于51单片机),包含刷屏测试,触摸测试,汉字显示,图片显示程序。
单片机源程序如下:
- #include<reg52.h>
- #include "gui.h"
- #include "touch.h"
- void main()
- {
- uchar rst = 0;
- //--多出来两个值使用来在内存上面跟别的变量分隔的--//
- uchar xValue[6] = {0, 0, 0, 0, 0, 0}, yValue[6] = {0, 0, 0, 0, 0, 0};
- long x, y;
- TFT_Init();
- rst = 1;
- while(1)
- {
- if(rst == 1)
- {
- TFT_ClearScreen(0x0000);
- GUI_Write32CnChar(22, 20, "普中科技", 0xF800, 0x0000);
- GUI_Line(22, 54, 150, 54, 0xF800);
- GUI_WriteASCII(120, 0, "RST", 0xF800, 0x0000);
- rst = 0;
- }
- if(TOUCH_XPT_ReadXY() == 1)
- {
- //--如果触摸跟显示发生偏移,可以根据显示AD值--//
- //--调整下面公式里面的数值--//
- x = xpt_xy.x;
- x = (x - 400) * 190 / 3650 ;
- y = xpt_xy.y;
- y = (y - 300) * 240 / 3500;
- if (x > 176 )
- {
- x = 176;
- }
- if (y > 220)
- {
- y = 220;
- }
- if ((x > 120) && (y < 30))
- {
- rst = 1;
- }
- else
- {
- GUI_Dot((uint)x , (uint)y, 0x001F);
- //--计算读取到的AD值--//
- //--由于添加了显示AD值,计算需要时间,所以触摸有一点延迟--//
- xValue[1] = (xpt_xy.x % 10000 /1000) + '0';
- xValue[2] = (xpt_xy.x % 1000 /100) + '0';
- xValue[3] = (xpt_xy.x % 100 /10) + '0';
- xValue[4] = (xpt_xy.x % 10) + '0';
- yValue[1] = (xpt_xy.y % 10000 /1000) + '0';
- yValue[2] = (xpt_xy.y % 1000 /100) + '0';
- yValue[3] = (xpt_xy.y % 100 /10) + '0';
- yValue[4] = (xpt_xy.y % 10) + '0';
- //--显示AD值--//
- GUI_WriteASCII(0, 170, "X:", 0xF800, 0x0000);
- GUI_WriteASCII(32, 170, &xValue[1], 0xF800, 0x0000);
- GUI_WriteASCII(0, 195, "Y:", 0xF800, 0x0000);
- GUI_WriteASCII(32, 195, &yValue[1], 0xF800, 0x0000);
- }
- }
- }
- }
复制代码
全部资料51hei下载地址:
2.0寸 8bits TFT彩屏程序.7z
(2.63 MB, 下载次数: 145)
|