【基于51单片机驱动ST7789VW的TFT显示屏240x240

之前有写过0.96OLED显示屏的使用,现在记录一下TFT240x240尺寸的彩屏学习过程

一,图像的转换工具及设置
在这里插入图片描述
应用叫做 Image2Lcd,设置如下:首先是要明确取模的模型是多大,一般是8的倍数,比如8x8,8X16,16X16,16X24等等,然后使用电脑自带的画图软件,对图形进行变换,做成单色.bmp位图
在这里插入图片描述
在这里插入图片描述
这是一个11x19的单色位图,
![在这里插入图片描述](https://img-blog.csdnimg.cn/bce456061ac2491eb9dfe26e0d439c3b.png
在这里插入图片描述
按箭头位置设置后,最后点保存,会生成一个C文件在这里插入图片描述
这里有个坑,上面说到要8的倍数,显然12x24里面,12并不是8的倍数,所以取出来的模是会有空缺的,提前看下实际程序的数据集合:在这里插入图片描述
首先,软件导出的数据,按照3x16的阵列排布后,会有长短,第一是要把前6组全部改成0X00,然后第3行不足16个的,也用0X00补充,从而形成完整的3X16的阵列。(要解决这个问题,可以在画图的画布大小设置为16x24,然后把显示内容按规律排版好就可以了,后面讲导入电池这张大图形时,我有验证过可行。)
/************************************************************************************************************/
二、点亮这个TFT屏的思路:
1. 通讯方式:SPI
在这里插入图片描述
2.时序图
在这里插入图片描述
3.思路和OLED差不多,最终的目的是要实现,在哪个位置,显示什么内容,涉及的内容,就是写命令,写数据,定坐标,运行显示驱动。
1》设置坐标在这里插入图片描述
2> 显示驱动
在这里插入图片描述
这个数组的含义如下在这里插入图片描述
驱动如下:这是11x19的字符驱动
在这里插入图片描述
这个箭头参数,跟取模的样式有关,就前面讲的尽量用8的倍数进行取模。

这是自定义的电池符号驱动,其实也就是取模的方式,开始做的10X16,,160个数据,然后发现取模出来只有150个数值,然后尝试补充10个数据上去,发现是乱码,后面改成9X16,显示就正常了在这里插入图片描述
三.源码

//*ILI9325 16BIT 8080 IC:ili9320 design by kuang 16?/8????????? P0 P2? d*///
//display 65K color//
//240(RGB)X 320 TFT//
#include <reg51.h>
#include <intrins.h>
#include <math.h>
#include <absacc.h>

sbit cs=P3^3;
sbit rs=P3^4;
sbit scl=P3^5;
sbit reset=P3^7;
sbit sdi=P3^6;

void address_set();
unsigned char code pic1[];

void delay10(unsigned int t)
{
 unsigned int i,j,k;
 for(i=0;i<t;i++)
     {
     for(j=0;j<10;j++)
	   {
       for(k=0;k<120;k++)
	   { ;}
       }
       }
}

void lcd_com(unsigned int d)
{
 //unsigned int d1;unsigned int d2;  
  unsigned char i;
 //d1=d&0xff;                     //low 8 bit
 //d2=(d&0xff00)>>8;             // hignt 8 bit
 cs=0;
 rs=0;
 for(i=0;i<8;i++)    //8 bit data
  {
   scl=1;
   scl=0;
   sdi=d&0x80;
   scl=1;
   d=d<<1;
 }

 //cs=1;		  
}
			    
/  8 BIT
void lcd_data1(unsigned int d)
{
 //unsigned int d1;unsigned int d2;
  unsigned char i;
 //d1=d&0xff;                     //low 8 bit
 //d2=(d&0xff00)>>8;             // hignt 8 bit
 rs=1;
 cs=0;
for(i=0;i<8;i++)   // 16 bit data
  {
   scl=1;
   scl=0;
   sdi=d&0x80;
   scl=1;
   d=d<<1;
 }
  
 
// cs=1;
}

void lcd_data16(unsigned char d2,unsigned char d1)
{
 //unsigned int d1;unsigned int d2;
  unsigned char i;
 //d1=d&0xff;                     //low 8 bit
 //d2=(d&0xff00)>>8;             // hignt 8 bit
 rs=1;
 cs=0;
for(i=0;i<8;i++)   // 16 bit data
  {
   scl=1;
   scl=0;
   sdi=d2&0x80;
   scl=1;
   d2=d2<<1;
 }
  for(i=0;i<8;i++)   // 16 bit data
  {
   scl=1;
   scl=0;
   sdi=d1&0x80;
   scl=1;
   d1=d1<<1;
 }
 
// cs=1;
}

  void lcd_data(unsigned int d1,unsigned int d2)
{
  unsigned char i;
 rs=1;
 cs=0;


 for(i=0;i<8;i++)   // 16 bit data
  {
   scl=1;
   scl=0;
   sdi=d1&0x80;
   scl=1;
   d1=d1<<1;
 }
  for(i=0;i<8;i++)   // 16 bit data
  {
   scl=1;
   scl=0;
   sdi=d2&0x80;
   scl=1;
   d2=d2<<1;
 }
 cs=1;
}
 
void display(unsigned char d,unsigned char d1)
{
 int i,j;
 //address_set();
 for(j=0;j<240;j++)	 //320
   {
   for(i=0;i<240;i++)
	  {
       lcd_data16(d,d1);
      }
   }
 // delay10(10);
 }


void instruction(void)
{
/
lcd_com(0x11);

  lcd_com(0x36);
  lcd_data1(0x00);//00

  lcd_com(0x3a);
  lcd_data1(0x55);//05

  lcd_com(0xb2);
  lcd_data1(0x0c);
  lcd_data1(0x0c);
  lcd_data1(0x00);
  lcd_data1(0x33);
  lcd_data1(0x33);

  lcd_com(0xb7);
  lcd_data1(0x15);//

  lcd_com(0xbb);
  lcd_data1(0x1e); //1e

  lcd_com(0xc2);
  lcd_data1(0x01);

  lcd_com(0xc3);
  lcd_data1(0x25); //

  lcd_com(0xc4);
  lcd_data1(0x20);

  lcd_com(0xc6);
  lcd_data1(0x0f);

  lcd_com(0xd0);
  lcd_data1(0xa4);
  lcd_data1(0xa1);
 
 
  lcd_com(0xe0);
  lcd_data1(0xd0);
  lcd_data1(0x03);
  lcd_data1(0x0e);
  lcd_data1(0x11);
  lcd_data1(0x17);
  lcd_data1(0x1f);
  lcd_data1(0x4c);
  lcd_data1(0x53);
  lcd_data1(0x5b);
  lcd_data1(0x1a);
  lcd_data1(0x16);
  lcd_data1(0x13);
  lcd_data1(0x25);
  lcd_data1(0x28);

  lcd_com(0xe1);
  lcd_data1(0xd0);
  lcd_data1(0x02);
  lcd_data1(0x0e);
  lcd_data1(0x11);
  lcd_data1(0x16);
  lcd_data1(0x1e);
  lcd_data1(0x4a);
  lcd_data1(0x36);
  lcd_data1(0x56);
  lcd_data1(0x1a);
  lcd_data1(0x15);
  lcd_data1(0x14);
  lcd_data1(0x26);
  lcd_data1(0x28);

  lcd_com(0x2a);
lcd_data1(0x00);
lcd_data1(0x00);
lcd_data1(0x00);
lcd_data1(0xef);


lcd_com(0x002b);
lcd_data1(0x00);
lcd_data1(0x00);
lcd_data1(0x00); //01
lcd_data1(0xEf);//3F	 

  lcd_com(0x29); //Display on
  
   lcd_com(0x21); 
  lcd_com(0x2c); // write data

}

/*************************************************
???:LCD_Set_Region
??:??lcd????,????????????
????:xy?????
???:?
*************************************************/
void LCD_Set_Region(unsigned char x, unsigned char y, unsigned char width, unsigned char height)
{	

#ifdef USE_LANDSCAPE//??????
	unsigned char x_offset = 3, y_offset = 2;
#else//????	
	unsigned char x_offset = 2, y_offset = 3;
#endif

	 lcd_com(0x2a);
	lcd_data1(0x00);
	lcd_data1(x_offset + x);
	lcd_data1(0x00);
	lcd_data1(x_offset + x + width - 1);

	lcd_com(0x2b);
	lcd_data1(0x00);
	lcd_data1(y_offset + y);
	lcd_data1(0x00);
	lcd_data1(y_offset + y + height - 1);

	lcd_com(0x2c);
}


/*code unsigned char digit8x16[][16] = {	
	/*
		0(0) 1(1) 2(2) 3(3) 4(4) 5(5) 6(6) 7(7)
		8(8) 9(9) -(10) :(11) .(12) v(13)
	*/
	/*{0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00},/*"0",0*/
	/*{0x00,0x00,0x00,0x08,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00},/*"1",1*/
	/*{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x02,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00},/*"2",2*/
	/*{0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x04,0x02,0x42,0x42,0x3C,0x00,0x00},/*"3",3*/
/*	{0x00,0x00,0x00,0x04,0x0C,0x0C,0x14,0x24,0x24,0x44,0x7F,0x04,0x04,0x1F,0x00,0x00},/*"4",4*/
/*	{0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x78,0x44,0x02,0x02,0x42,0x44,0x38,0x00,0x00},/*"5",5*/
/*	{0x00,0x00,0x00,0x18,0x24,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x22,0x1C,0x00,0x00},/*"6",6*/
/*	{0x00,0x00,0x00,0x7E,0x42,0x04,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x00,0x00},/*"7",7*/
/*	{0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00},/*"8",8*/
/*	{0x00,0x00,0x00,0x38,0x44,0x42,0x42,0x42,0x46,0x3A,0x02,0x02,0x24,0x18,0x00,0x00},/*"9",9*/
/*	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",10*/
/*	{0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00},/*":",11*/
/*	{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00},/*".",12*/
/*	{0x00,0x00,0x00,0x00,0x00,0x00,0xEE,0x44,0x44,0x28,0x28,0x10,0x10,0x00,0x00,0x00},/*"v",13*/
/*};*/

code unsigned char digit12x24[][3*16] = {	
	/*
	 0(0) 1(1) 2(2) 3(3) 4(4) 5(5) 6(6) 7(7)
	 8(8) 9(9) -(10) :(11) .(12) ?(13) 0(14)
	*/
	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x19,0x80,0x30,0xC0,
	0x30,0xC0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
	0x60,0x60,0x30,0xC0,0x30,0xC0,0x19,0x80,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"0",0*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x3E,0x00,0x06,0x00,
	0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,
	0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x3F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",1*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x21,0x80,0x40,0xC0,
	0x60,0xC0,0x60,0xC0,0x00,0xC0,0x00,0x80,0x01,0x80,0x03,0x00,0x06,0x00,0x04,0x00,
	0x08,0x00,0x10,0x40,0x20,0x40,0x60,0x40,0x7F,0xC0,0x00,0x00,0x00,0x00,0x00,0x00},/*"2",2*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x63,0x00,0x61,0x80,
	0x61,0x80,0x01,0x80,0x01,0x80,0x03,0x00,0x0E,0x00,0x01,0x80,0x00,0x80,0x00,0xC0,
	0x00,0xC0,0x60,0xC0,0x60,0xC0,0x61,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"3",3*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x01,0x80,0x03,0x80,
	0x05,0x80,0x05,0x80,0x09,0x80,0x11,0x80,0x11,0x80,0x21,0x80,0x41,0x80,0x7F,0xF0,
	0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*"4",4*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xC0,0x20,0x00,0x20,0x00,
	0x20,0x00,0x20,0x00,0x20,0x00,0x2F,0x00,0x31,0x80,0x20,0xC0,0x00,0xC0,0x00,0xC0,
	0x60,0xC0,0x60,0xC0,0x41,0x80,0x21,0x80,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"5",5*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x18,0xC0,0x30,0xC0,
	0x30,0x00,0x20,0x00,0x60,0x00,0x67,0x80,0x68,0xC0,0x70,0x60,0x60,0x60,0x60,0x60,
	0x60,0x60,0x20,0x60,0x30,0x40,0x18,0xC0,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"6",6*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xE0,0x30,0x60,0x20,0x40,
	0x20,0x80,0x00,0x80,0x00,0x80,0x01,0x00,0x01,0x00,0x02,0x00,0x02,0x00,0x02,0x00,
	0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"7",7*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x30,0xC0,0x60,0x60,
	0x60,0x60,0x60,0x60,0x30,0x40,0x38,0xC0,0x0F,0x00,0x13,0x80,0x30,0xC0,0x60,0x60,
	0x60,0x60,0x60,0x60,0x60,0x60,0x30,0xC0,0x0F,0x80,0x00,0x00,0x00,0x00,0x00,0x00},/*"8",8*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x30,0x80,0x30,0xC0,
	0x60,0x40,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xE0,0x31,0x60,0x1E,0x60,0x00,0x60,
	0x00,0xC0,0x00,0xC0,0x30,0x80,0x31,0x80,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"9",9*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",10*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x07,0x00,0x07,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*":",11*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
	0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",12*/

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x53,0x80,0x54,0x40,0x58,0x40,0x28,0x40,
	0x08,0x40,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,
	0x08,0x00,0x08,0x00,0x08,0x40,0x04,0x80,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"?",13*/
	
	{0x00,0x00,0x00,0x00,0x00,0x00,0X1F,0X00,0X3F,0X80,0X71,0XC0,0XE0,0XE0,0XE0,0XE0,
		0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,
		0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0X71,0XC0,0X3F,0X80,0X1F,0X00,0x00,0x00,0x00,0x00},/* d 0*/
	
  { 0x00,0x00,0x00,0x00,0x00,0x00,0X0F,0X00,0X1F,0X00,0X3F,0X00,0X3F,0X00,0X0F,0X00,
		0X0F,0X00,0X0F,0X00,0X0F,0X00,0X0F,0X00,0X0F,0X00,0X0F,0X00,0X0F,0X00,0X0F,0X00,
		0X0F,0X00,0X0F,0X00,0X0F,0X00,0X7F,0XE0,0X7F,0XE0,0X7F,0XE0,0x00,0x00,0x00,0x00},/*d 1*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0X1E,0X00,0X3F,0X80,0X73,0X80,0XE1,0XC0,0XE0,0XC0,
		0XE0,0XE0,0X00,0XE0,0X01,0XC0,0X01,0XC0,0X03,0X80,0X07,0X00,0X0E,0X00,0X1C,0X00,
		0X38,0X00,0X78,0X00,0X70,0X60,0XF0,0X60,0XFF,0XE0,0XFF,0XE0,0x00,0x00,0x00,0x00},/*d 2*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0X1F,0X00,0X3F,0X80,0X71,0XC0,0XE0,0XE0,0XE0,0XE0,
		0XE0,0XE0,0X00,0XE0,0X00,0XE0,0X01,0XE0,0X3F,0XC0,0X3F,0XC0,0X01,0XE0,0X00,0XE0,
		0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0X71,0XC0,0X3F,0X80,0X1F,0X00,0x00,0x00,0x00,0x00},/*d 3*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0X03,0X00,0X07,0X00,0X07,0X00,0X0F,0X00,0X1F,0X00,
		0X1F,0X00,0X33,0X00,0X33,0X00,0X73,0X00,0X63,0X00,0XE3,0X00,0XE3,0X00,0XFF,0XE0,
		0XFF,0XE0,0X03,0X00,0X03,0X00,0X03,0X00,0X0F,0XC0,0X0F,0XC0,0x00,0x00,0x00,0x00},/*d 4*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0XFF,0XC0,0XFF,0XC0,0XFF,0XC0,0XE0,0X00,0XE0,0X00,
		0XE0,0X00,0XE0,0X00,0XFF,0X00,0X7F,0X80,0X3F,0XC0,0X01,0XE0,0X00,0XE0,0X00,0XE0,
		0XC0,0XE0,0XC0,0XE0,0XE0,0XE0,0XF1,0XE0,0X7F,0XC0,0X3F,0X80,0x00,0x00,0x00,0x00},/*d 5*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0X1F,0X80,0X3F,0XC0,0X31,0XC0,0X60,0XC0,0X60,0XC0,
		0X60,0X00,0X60,0X00,0X60,0X00,0X6F,0X80,0X7F,0XC0,0X70,0XE0,0X60,0X60,0X60,0X60,
		0X60,0X60,0X60,0X60,0X70,0XE0,0X39,0XC0,0X3F,0X80,0X0F,0X00,0x00,0x00,0x00,0x00},/*d 6*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0XFF,0XE0,0XFF,0XE0,0XFF,0XE0,0X01,0XE0,0X01,0XE0,
		0X01,0XC0,0X01,0XC0,0X03,0X80,0X07,0X80,0X07,0X00,0X07,0X00,0X07,0X00,0X07,0X00,
		0X07,0X00,0X07,0X00,0X07,0X00,0X07,0X00,0X07,0X00,0X07,0X00,0x00,0x00,0x00,0x00},/*d 7*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0X1F,0X00,0X3F,0X80,0X71,0XC0,0XE0,0XE0,0XE0,0XE0,
		0XE0,0XE0,0XE0,0XE0,0X71,0XC0,0X3F,0X80,0X3F,0X80,0X7F,0XC0,0XF1,0XE0,0XE0,0XE0,
		0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0X71,0XC0,0X3F,0X80,0X1F,0X00,0X00,0x00,0x00,0x00},/*d 8*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0X1E,0X00,0X3F,0X80,0X73,0X80,0XE1,0XC0,0XC0,0XE0,
		0XC0,0XE0,0XC0,0XE0,0XC0,0XE0,0XE0,0XE0,0X71,0XE0,0X7F,0XE0,0X3F,0XC0,0X00,0XC0,
		0X00,0XC0,0X70,0XC0,0X71,0XC0,0X71,0X80,0X7F,0X80,0X3F,0X00,0X00,0x00,0x00,0x00},/*d 9*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0X30,0X00,0X78,0X40,0XCC,0XE0,0XCC,0XC0,0XCD,0XC0,
		0XCF,0X80,0XCF,0X80,0X7F,0X00,0X3E,0X00,0X0E,0X00,0X0F,0X00,0X1F,0X80,0X1C,0XC0,
		0X3C,0XC0,0X7C,0XC0,0X6C,0XC0,0X6C,0XC0,0XC7,0X80,0XC3,0X00,0X00,0x00,0x00,0x00},/*d %*/
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0X00,0X00,0X00,0X00,0X00,0X00,0X0C,0X00,0X1E,0X00,
		0X1E,0X00,0X1E,0X00,0X0C,0X00,0X00,0X00,0X00,0X00,0X0C,0X00,0X1E,0X00,0X1E,0X00,
		0X1E,0X00,0X0C,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0x00,0x00,0x00},/*d :*/
		
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0X04,0X00,0X04,0X00,0X0E,0X00,0X0E,0X00,0X1F,0X00,
		0X1B,0X00,0X1B,0X00,0X31,0X80,0X31,0X80,0X31,0X80,0X71,0XC0,0X7F,0XC0,0X7F,0XC0,
		0X60,0XC0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0XE0,0X00,0x00,0x00,0x00},/* A-12*/	
	
	{ 0x00,0x00,0x00,0x00,0x00,0x00,0XFF,0X00,0XFF,0X80,0X71,0XC0,0X70,0XE0,0X70,0X60,
		0X70,0X60,0X70,0XE0,0X71,0XC0,0X7F,0X80,0X7F,0X80,0X71,0XC0,0X70,0XE0,0X70,0X60,
		0X70,0X60,0X70,0X60,0X70,0XE0,0X70,0XE0,0XFF,0XC0,0XFF,0X80,0X00,0x00,0x00,0x00},	/* B-13*/	
	
	{ 0x00,0x00,0x00,0x00,0x00,0X00,0XFF,0XE0,0XFF,0XE0,0XE1,0XE0,0XE0,0X60,0XE0,0X20,
		0XE0,0X00,0XE0,0X00,0XE1,0X00,0XE3,0X00,0XFF,0X00,0XE3,0X00,0XE1,0X00,0XE0,0X00,
		0XE0,0X00,0XE0,0X20,0XE0,0X60,0XE1,0XE0,0XFF,0XE0,0XFF,0XE0,0x00,0x00,0x00,0x00},/* E-14*/

 	{ 0X00,0x00,0x00,0x00,0x00,0X00,0XFF,0XE0,0XFF,0XE0,0X0E,0X00,0X0E,0X00,0X0E,0X00,
		0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,
		0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0XFF,0XE0,0XFF,0XE0,0x00,0x00,0x00,0x00},/* I-15*/	
	
	{ 0X00,0x00,0x00,0x00,0x00,0X00,0XF8,0X00,0XF8,0X00,0X70,0X00,0X70,0X00,0X70,0X00,
		0X70,0X00,0X70,0X00,0X70,0X00,0X70,0X00,0X70,0X00,0X70,0X00,0X70,0X00,0X70,0X00,
		0X70,0X60,0X70,0X60,0X70,0XE0,0X71,0XE0,0X7F,0XC0,0X7F,0X80,0x00,0x00,0x00,0x00},/* L-16*/	
	
	{ 0X00,0x00,0x00,0x00,0x00,0X00,0XE0,0X70,0XF0,0XF0,0X70,0XF0,0X70,0XE0,0X70,0XE0,
		0X79,0XE0,0X79,0XE0,0X79,0XE0,0X79,0XE0,0X7D,0XE0,0X7F,0XE0,0X7F,0XE0,0X7F,0XE0,
		0X76,0XE0,0X76,0XE0,0X70,0XE0,0XF0,0XE0,0XF0,0XF0,0XF0,0XF0,0x00,0x00,0x00,0x00},	/* M-17*/
		
	{ 0X00,0x00,0x00,0x00,0x00,0X00,0XFF,0X00,0XFF,0X80,0XE1,0X80,0XE1,0XC0,0XE1,0XC0,
		0XE1,0XC0,0XE3,0XC0,0XE3,0X80,0XFF,0X00,0XFE,0X00,0XFE,0X00,0XFE,0X00,0XE7,0X00,
		0XE3,0X00,0XE3,0X80,0XE3,0X80,0XE1,0XC0,0XE1,0XE0,0XE1,0XE0,0x00,0x00,0x00,0x00},	/* R-18*/
	
	{ 0X00,0x00,0x00,0x00,0x00,0X00,0XFF,0XE0,0XFF,0XE0,0XCE,0X60,0X8E,0X20,0X8E,0X20,
		0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,
		0X0E,0X00,0X0E,0X00,0X0E,0X00,0X0E,0X00,0X1F,0X00,0X1F,0X00,0x00,0x00,0x00,0x00},/* T-19*/
	
	{ 0X00,0x00,0x00,0x00,0x00,0X00,0XF1,0XE0,0XE0,0XE0,0X60,0XC0,0X60,0XC0,0X60,0XC0,
		0X60,0XC0,0X60,0XC0,0X64,0XC0,0X64,0XC0,0X6E,0XC0,0X6E,0XC0,0X6E,0XC0,0X7F,0XC0,
		0X7F,0XC0,0X7F,0XC0,0X7F,0XC0,0X3B,0X80,0X31,0X80,0X31,0X80,0x00,0x00,0x00,0x00},/* W-20*/
	
	{ 0X00,0x00,0x00,0x00,0x00,0X00,0XF0,0XF0,0X70,0XE0,0X70,0XE0,0X30,0XC0,0X39,0XC0,
		0X39,0XC0,0X19,0X80,0X1F,0X80,0X0F,0X80,0X0F,0X00,0X0F,0X00,0X06,0X00,0X06,0X00,
		0X06,0X00,0X06,0X00,0X06,0X00,0X06,0X00,0X0F,0X00,0X0F,0X00,0x00,0x00,0x00,0x00},/*Y-21*/
					
};

code unsigned char digit48x24[][9*16] = {	

{ 
	0X1F,0XFF,0XFF,0XFF,0XFF,0X80,0X3F,0XFF,0XFF,0XFF,0XFF,0XC0,0X60,0X00,0X00,0X00,
	0X00,0X60,0X7F,0XFF,0XFF,0XFF,0XFE,0X60,0X7F,0XFF,0XFF,0XFF,0XFE,0X70,0X7F,0XFF,
	0XFF,0XFF,0XFE,0X70,0X7F,0XFF,0XFF,0XFF,0XFE,0X70,0X7F,0XFF,0XFF,0XFF,0XFE,0X78,
	0X7F,0XFF,0XFF,0XFF,0XFE,0X7C,0X7F,0XFF,0XFF,0XFF,0XFE,0X7E,0X7F,0XFF,0XFF,0XFF,
	0XFE,0X7E,0X7F,0XFF,0XFF,0XFF,0XFE,0X7E,0X7F,0XFF,0XFF,0XFF,0XFE,0X7E,0X7F,0XFF,
	0XFF,0XFF,0XFE,0X7E,0X7F,0XFF,0XFF,0XFF,0XFE,0X7E,0X7F,0XFF,0XFF,0XFF,0XFE,0X7C,
	0X7F,0XFF,0XFF,0XFF,0XFE,0X78,0X7F,0XFF,0XFF,0XFF,0XFE,0X70,0X7F,0XFF,0XFF,0XFF,
	0XFE,0X70,0X7F,0XFF,0XFF,0XFF,0XFE,0X70,0X7F,0XFF,0XFF,0XFF,0XFE,0X60,0X60,0X00,
	0X00,0X00,0X00,0X60,0X3F,0XFF,0XFF,0XFF,0XFF,0XC0,0X1F,0XFF,0XFF,0XFF,0XFF,0X80,
  },/*mD*/
		

	/*{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x80,0x07,0x80,0x01,0x80,
	0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,
	0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xC0,0x0F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",1*/

	
};


//??????????8x16????
/*void Display_Digit_8x16(unsigned char x, unsigned char y, unsigned int fc, unsigned int bc, unsigned int idx)
{
	unsigned char i,j;
	
	LCD_Set_Region(x, y, 8, 16);
	for(i=0; i<16; i++)
	{
		for(j=0; j<8; j++)
		{
			if(digit8x16[idx][i]&(0x80>>j))
			{
				lcd_data16(fc);
			}
			else
			{
				if (fc != bc)
				{
					lcd_data16(bc);
				}
			}
		}
	}
}*/

//??????????12x24????
void Display_Digit_12x24(unsigned char x, unsigned char y, unsigned int fc, unsigned int bc, unsigned int idx)
{
	unsigned char i,j,k;
	
	LCD_Set_Region(x, y, 12, 24);
	for(i=0; i<3*16; i++)
	{
		if(1 == i%2) k = 4;
		else k = 8;
		
		for(j=0; j<k; j++)
		{
			if(digit12x24[idx][i]&(0x80>>j))
			{
				lcd_data16(fc);
			}
			else
			{
				if (fc != bc)
				{
					lcd_data16(bc);
				}
			}
		}
	}
}

//??????????46x24????
void Display_Digit_48x24(unsigned char x, unsigned char y, unsigned int fc, unsigned int bc, unsigned int idx)
{
	unsigned char i,j;
	
	LCD_Set_Region(x, y, 48, 24);
	for(i=0; i<9*16; i++)
	{
		for(j=0; j<8; j++)
		{
			if(digit48x24[idx][i]&(0x80>>j))
			{
				lcd_data16(fc);
			}
			else
			{
				if (fc != bc)
				{
					lcd_data16(bc);
				}
			}
		}
	}
}
void main(void)
{
//  rd=1;
  reset=1;
  // KEY=1;
  delay10(10);
  reset=0;
  delay10(10);
  reset=1;
  delay10(10);
 // cs=0;
  instruction();
  display(0x00,0x00) ;       //black color
while(1)
  {
		
  /*Display_Digit_8x16(48+0,	   100, 0xFFFF, 0x0000	, 2);	//3
	Display_Digit_8x16(48+8,	   100, 0xFFFF, 0x0000	, 12);	//.
	Display_Digit_8x16(48+16,   100, 0xFFFF, 0x0000	, 1);	//2
	Display_Digit_8x16(48+24,   100, 0xFFFF, 0x0000	, 13);	//v
	*/
  /*Display_Digit_12x24(16+0,	44, 0xFFFF, 0x0000, 1);	//1
	Display_Digit_12x24(16+12,	44, 0xFFFF, 0x0000, 2);	//2
	Display_Digit_12x24(16+24,	44, 0xFFFF, 0x0000, 11);	//:
	Display_Digit_12x24(16+36,	44, 0xFFFF, 0x0000, 3);	//3
	Display_Digit_12x24(16+48,	44, 0xFFFF, 0x0000, 4);	//4
	Display_Digit_12x24(16+60,	44, 0xFFFF, 0x0000, 11);	//:
	Display_Digit_12x24(16+72,	44, 0xFFFF, 0x0000, 5);	//5
	Display_Digit_12x24(16+84,	44, 0xFFFF, 0x0000, 6);	//6		
  */
	Display_Digit_12x24(16+0,	  180, 0xFFFF, 0x0000, 0);	//0
	Display_Digit_12x24(16+12,	180, 0xFFFF, 0x0000, 1);	//1
	Display_Digit_12x24(16+24,	180, 0xFFFF, 0x0000, 2);	//2
	Display_Digit_12x24(16+36,	180, 0xFFFF, 0x0000, 3);	//3
	Display_Digit_12x24(16+48,	180, 0xFFFF, 0x0000, 4);	//4
	Display_Digit_12x24(16+60,	180, 0xFFFF, 0x0000, 5);	//5
	Display_Digit_12x24(16+72,	180, 0xFFFF, 0x0000, 6);	//6
	Display_Digit_12x24(16+84,	180, 0xFFFF, 0x0000, 7);	//7	
	Display_Digit_12x24(16+96,	180, 0xFFFF, 0x0000, 8);	//8	
  Display_Digit_12x24(16+108,	180, 0xFFFF, 0x0000, 9);	//9
  Display_Digit_12x24(16+120,	180, 0xFFFF, 0x0000, 10);//%
	Display_Digit_12x24(16+132,	180, 0xFFFF, 0x0000, 11);//:
	
	Display_Digit_12x24(16+48,	135, 0xFFFF, 0x0000, 19);	//T-19
	Display_Digit_12x24(16+60,	135, 0xFFFF, 0x0000, 15);	//I-15
	Display_Digit_12x24(16+72,	135, 0xFFFF, 0x0000, 17);	//M-17
	Display_Digit_12x24(16+85,	135, 0xFFFF, 0x0000, 14);	//E-14
	Display_Digit_12x24(16+97,	135, 0xFFFF, 0x0000, 18);	//R-18
	Display_Digit_12x24(16+109,	135, 0xFFFF, 0x0000, 11);//:-11
	
	Display_Digit_48x24(16+60,	78, 0xFFFF, 0x0000, 0);
  }
}
/*unsigned char code pic1[]=
{
0xDC,0xC2,0xE5,0x03,0xED,0x44,0xED,0x85,0xED,0x86,0xED,0x66,0xE5,0x25,0xDD,0x05,0xD4,0xA3,0xCC,0x83,0xD4,0xA4,0xDC,0xE5,0xE4,0xE5,0xDC,0xA4,0xD4,0x64,0xD4,0x63,
0xCC,0x22,0xD4,0x83,0xE5,0x47,0xED,0x88,0xED,0xC9,0xEE,0x0A,0xE5,0xA9,0xE5,0xA9,0xD5,0x06,0xDD,0x67,0xE5,0x46,0xED,0x87,0xED,0x67,0xE5,0x46,0xED,0x87,0xE5,0x46,
};
*/

最终效果图如下:
在这里插入图片描述
四:总结:其实这个和OLED有很多相似之处,但是这个TFT屏的颜色更丰富,后面有时间再做一个关于颜色设置的调试。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

i只喝怡宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值