数码之家

 找回密码
 立即注册
搜索
查看: 11642|回复: 7

[C51] 1.8寸TFT_ST7735彩色液晶驱动程序

[复制链接]
发表于 2019-3-11 21:53:37 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1.jpg
2.jpg
3.jpg
4.jpg




==============

  1. //////////////////////////////////////////////////////////////////////////////////         
  2. //本程序只供学习使用,未经作者许可,不得用于其它任何用途
  3. //测试硬件:STC51
  4. //1.8寸TFT_ST7735液晶驱动
  5. //All rights reserved
  6. //********************************************************************************
  7. #include<reg51.h>
  8. #include<absacc.h>
  9. #include<intrins.h>
  10. #include<string.h>
  11. #define uchar unsigned char
  12. #define uint unsigned int


  13. //测试硬件平台:STC12C5A60S2/STC12LE5A60S2
  14. //主频:12MHZ
  15. //单片机IO推挽输出设置定义
  16.   #define USE_LANDSCAPE   //测试程序横竖屏切换,横屏请开启此宏,竖屏请屏蔽
  17. #define MCU_STC12//如果您使用的单片机不是STC12系列(如STC89C52)请屏蔽此宏定义
  18. #ifdef MCU_STC12
  19. sfr P3M1  = 0xB1;        //P3M1.n,P3M0.n         =00--->Standard,        01--->push-pull
  20. sfr P3M0  = 0xB2;        //                                        =10--->pure input,        11--->open drain
  21. #endif


  22. //---------------------------液晶屏接线说明-------------------------------------//
  23. //---------------------------液晶屏接线说明-------------------------------------//
  24. //接线前请参考液晶屏说明书第10页引脚定义




  25. sbit scl       =P1^2;//接模块CLK引脚,接裸屏Pin9_SCL
  26. sbit sda       =P1^3;//接模块DIN/MOSI引脚,接裸屏Pin8_SDA
  27. sbit reset     =P1^4;//接模块RST引脚,接裸屏Pin6_RES

  28. sbit rs        =P1^5;//接模块D/C引脚,接裸屏Pin7_A0

  29. sbit cs        =P1^6;//接模块CE引脚,接裸屏Pin12_CS


  30. sbit bl        =P1^7;//接模块BL引脚,背光可以采用IO控制或者PWM控制,也可以直接接到高电平常亮


  31. //---------------------------End of液晶屏接线---------------------------------//

  32. //定义常用颜色
  33. #define RED                  0xf800
  34. #define GREEN                0x07e0
  35. #define BLUE                 0x001f
  36. #define WHITE                0xffff
  37. #define BLACK                0x0000
  38. #define YELLOW  0xFFE0
  39. #define GRAY0   0xEF7D   
  40. #define GRAY1   0x8410              
  41. #define GRAY2   0x4208   





  42. unsigned char aa,bb,day;

  43. void  Contrast_Adjust();
  44. uchar code Zk_ASCII8X16[];

  45. void Display_Desc();
  46. void Output_Pixel(uint x,uint y);
  47. void Display_ASCII8X16(uint x0,uint y0,uint fc, uint bc,  uchar *s);



  48. void delay_ms(uint time)
  49. {
  50. uint i,j;
  51.   for(i=0;i<time;i++)
  52.    for(j=0;j<250;j++);
  53. }


  54. //向SPI总线传输一个8位数据
  55. void  SPI_WriteData(uchar Data)
  56. {
  57.         unsigned char i=0;
  58.         for(i=8;i>0;i--)
  59.         {
  60.                 if(Data&0x80)        
  61.                 sda=1; //输出数据
  62.                 else sda=0;
  63.                 scl=0;
  64.                 scl=1;
  65.                 Data<<=1;
  66.         }
  67. }
  68. //向液晶屏写一个8位指令
  69. void  Lcd_WriteIndex(uchar Data)
  70. {
  71.                
  72.                 cs=0;
  73.                 rs=0;
  74.                 SPI_WriteData(Data);                 
  75.                 cs=1;
  76. }
  77. //向液晶屏写一个8位数据
  78. void  Lcd_WriteData(uchar Data)
  79. {        
  80.                 unsigned char i=0;
  81.                 cs=0;
  82.                 rs=1;
  83.                 SPI_WriteData(Data);         
  84.                 cs=1;
  85. }
  86. //向液晶屏写一个16位数据
  87. void  LCD_WriteData_16Bit(unsigned int Data)
  88. {
  89.         unsigned char i=0;
  90.         cs=0;
  91.         rs=1;
  92.         SPI_WriteData(Data>>8);         //写入高8位数据
  93.         SPI_WriteData(Data);                         //写入低8位数据
  94.         cs=1;

  95. }

  96. void Reset()
  97. {
  98.     reset=0;
  99.     delay_ms(100);
  100.     reset=1;
  101.     delay_ms(100);
  102. }
  103. //////////////////////////////////////////////////////////////////////////////////////////////
  104. //液晶屏初始化 for S6D02A1
  105. void lcd_initial()
  106. {        Reset();//Reset before LCD Init.
  107.                
  108.         //LCD Init For 1.44Inch LCD Panel with ST7735R.
  109.         Lcd_WriteIndex(0x11);//Sleep exit
  110.         delay_ms (120);
  111.                
  112.         //ST7735R Frame Rate
  113.         Lcd_WriteIndex(0xB1);
  114.         Lcd_WriteData(0x01);
  115.         Lcd_WriteData(0x2C);
  116.         Lcd_WriteData(0x2D);

  117.         Lcd_WriteIndex(0xB2);
  118.         Lcd_WriteData(0x01);
  119.         Lcd_WriteData(0x2C);
  120.         Lcd_WriteData(0x2D);

  121.         Lcd_WriteIndex(0xB3);
  122.         Lcd_WriteData(0x01);
  123.         Lcd_WriteData(0x2C);
  124.         Lcd_WriteData(0x2D);
  125.         Lcd_WriteData(0x01);
  126.         Lcd_WriteData(0x2C);
  127.         Lcd_WriteData(0x2D);
  128.         
  129.         Lcd_WriteIndex(0xB4); //Column inversion
  130.         Lcd_WriteData(0x07);
  131.         
  132.         //ST7735R Power Sequence
  133.         Lcd_WriteIndex(0xC0);
  134.         Lcd_WriteData(0xA2);
  135.         Lcd_WriteData(0x02);
  136.         Lcd_WriteData(0x84);
  137.         Lcd_WriteIndex(0xC1);
  138.         Lcd_WriteData(0xC5);

  139.         Lcd_WriteIndex(0xC2);
  140.         Lcd_WriteData(0x0A);
  141.         Lcd_WriteData(0x00);

  142.         Lcd_WriteIndex(0xC3);
  143.         Lcd_WriteData(0x8A);
  144.         Lcd_WriteData(0x2A);
  145.         Lcd_WriteIndex(0xC4);
  146.         Lcd_WriteData(0x8A);
  147.         Lcd_WriteData(0xEE);
  148.         
  149.         Lcd_WriteIndex(0xC5); //VCOM
  150.         Lcd_WriteData(0x0E);
  151.         
  152.         Lcd_WriteIndex(0x36); //MX, MY, RGB mode
  153.         Lcd_WriteData(0xc0);
  154.         
  155.         
  156. #ifdef USE_LANDSCAPE
  157.         Lcd_WriteData(0xA8); //竖屏C8 横屏08 A8
  158. #else
  159.         Lcd_WriteData(0xc8); //竖屏C8 横屏08 A8
  160. #endif               
  161.         //ST7735R Gamma Sequence
  162.         Lcd_WriteIndex(0xe0);
  163.         Lcd_WriteData(0x0f);
  164.         Lcd_WriteData(0x1a);
  165.         Lcd_WriteData(0x0f);
  166.         Lcd_WriteData(0x18);
  167.         Lcd_WriteData(0x2f);
  168.         Lcd_WriteData(0x28);
  169.         Lcd_WriteData(0x20);
  170.         Lcd_WriteData(0x22);
  171.         Lcd_WriteData(0x1f);
  172.         Lcd_WriteData(0x1b);
  173.         Lcd_WriteData(0x23);
  174.         Lcd_WriteData(0x37);
  175.         Lcd_WriteData(0x00);         
  176.         Lcd_WriteData(0x07);
  177.         Lcd_WriteData(0x02);
  178.         Lcd_WriteData(0x10);

  179.         Lcd_WriteIndex(0xe1);
  180.         Lcd_WriteData(0x0f);
  181.         Lcd_WriteData(0x1b);
  182.         Lcd_WriteData(0x0f);
  183.         Lcd_WriteData(0x17);
  184.         Lcd_WriteData(0x33);
  185.         Lcd_WriteData(0x2c);
  186.         Lcd_WriteData(0x29);
  187.         Lcd_WriteData(0x2e);
  188.         Lcd_WriteData(0x30);
  189.         Lcd_WriteData(0x30);
  190.         Lcd_WriteData(0x39);
  191.         Lcd_WriteData(0x3f);
  192.         Lcd_WriteData(0x00);
  193.         Lcd_WriteData(0x07);
  194.         Lcd_WriteData(0x03);
  195.         Lcd_WriteData(0x10);  
  196.         
  197.         Lcd_WriteIndex(0x2a);
  198.         Lcd_WriteData(0x00);
  199.         Lcd_WriteData(0x00+2);
  200.         Lcd_WriteData(0x00);
  201.         Lcd_WriteData(0x80+2);

  202.         Lcd_WriteIndex(0x2b);
  203.         Lcd_WriteData(0x00);
  204.         Lcd_WriteData(0x00+3);
  205.         Lcd_WriteData(0x00);
  206.         Lcd_WriteData(0x80+3);
  207.         
  208.         Lcd_WriteIndex(0xF0); //Enable test command  
  209.         Lcd_WriteData(0x01);
  210.         Lcd_WriteIndex(0xF6); //Disable ram power save mode
  211.         Lcd_WriteData(0x00);
  212.         
  213.         Lcd_WriteIndex(0x3A); //65k mode
  214.         Lcd_WriteData(0x05);
  215.         
  216.         
  217.         Lcd_WriteIndex(0x29);//Display on

  218. }



  219. /*************************************************
  220. 函数名:LCD_Set_Region
  221. 功能:设置lcd显示区域,在此区域写点数据自动换行
  222. 入口参数:xy起点和终点
  223. 返回值:无
  224. *************************************************/
  225. void Lcd_SetRegion(unsigned int x_start,unsigned int y_start,unsigned int x_end,unsigned int y_end)
  226. {        
  227. #ifdef USE_LANDSCAPE//使用横屏模式
  228.         Lcd_WriteIndex(0x2a);
  229.         Lcd_WriteData(0x02);
  230.         Lcd_WriteData(x_start+2);
  231.         Lcd_WriteData(0x02);
  232.         Lcd_WriteData(x_end+2);

  233.         Lcd_WriteIndex(0x2b);
  234.         Lcd_WriteData(0x01);
  235.         Lcd_WriteData(y_start+1);
  236.         Lcd_WriteData(0x01);
  237.         Lcd_WriteData(y_end+1);

  238. #else//竖屏模式        
  239.         Lcd_WriteIndex(0x2a);
  240.         Lcd_WriteData(0x02);
  241.         Lcd_WriteData(x_start+2);
  242.         Lcd_WriteData(0x02);
  243.         Lcd_WriteData(x_end+2);

  244.         Lcd_WriteIndex(0x2b);
  245.         Lcd_WriteData(0x01);
  246.         Lcd_WriteData(y_start+1);
  247.         Lcd_WriteData(0x01);
  248.         Lcd_WriteData(y_end+1);        
  249. #endif
  250.         Lcd_WriteIndex(0x2c);
  251. }


  252. void PutPixel(uint x_start,uint y_start,uint color)
  253. {
  254.         Lcd_SetRegion(x_start,y_start,x_start+1,y_start+1);
  255.         LCD_WriteData_16Bit(color);
  256.         
  257. }



  258. void dsp_single_colour(int color)
  259. {
  260.          uchar i,j;
  261.         Lcd_SetRegion(0,0,128-1,160-1);
  262.          for (i=0;i<160;i++)
  263.             for (j=0;j<128;j++)
  264.                 LCD_WriteData_16Bit(color);
  265. }

  266. void Display_Desc()
  267. {
  268.     Display_ASCII8X16(10,10,BLUE,YELLOW,"Welcome");
  269.     Display_ASCII8X16(10,26,BLUE,YELLOW,"Zhongjy");
  270.     Display_ASCII8X16(10,42,BLUE,YELLOW,"Dots:128*160");
  271.     Display_ASCII8X16(10,58,BLUE,YELLOW,"IC: ST7735");
  272.     Display_ASCII8X16(10,74,BLUE,YELLOW,"VA:6 o'clock");
  273.     Display_ASCII8X16(10,90,BLUE,YELLOW,"2015.10.26");
  274. }
  275. //显示一个英文字符
  276. void Display_ASCII8X16(uint x0,uint y0,  uint fc, uint bc, uchar *s)
  277. {
  278.         int i,j,k,x,y,xx;
  279.         
  280.         unsigned char qm;
  281.         
  282.         long int ulOffset;
  283.         
  284.         char  ywbuf[32],temp[2];

  285.         for(i = 0; i<strlen((char*)s);i++)
  286.         {
  287.                 if(((unsigned char)(*(s+i))) >= 161)
  288.                 {
  289.                         temp[0] = *(s+i);
  290.                         temp[1] = '\0';
  291.                         return;
  292.                 }
  293.                
  294.                 else
  295.                 {
  296.                         qm = *(s+i);

  297.                         ulOffset = (long int)(qm) * 16;
  298.                         
  299.       for (j = 0; j < 16; j ++)
  300.       {
  301.                                 ywbuf[j]=Zk_ASCII8X16[ulOffset+j];
  302.       }
  303.             
  304.       for(y = 0;y < 16;y++)
  305.       {
  306.                 for(x=0;x<8;x++)
  307.                 {
  308.              k=x % 8;
  309.                         
  310.                                           if(ywbuf[y]&(0x80 >> k))  
  311.                                            {
  312.                                                   xx=x0+x+i*8;
  313.                                             //  PutPixel(xx,y+y0,fc);
  314.                                                         
  315.                                                                  Lcd_SetRegion( xx , y+y0 , xx+1, y+y0+1);
  316.                     LCD_WriteData_16Bit(fc);
  317.                                                         
  318.                                           }
  319.                                                 
  320.                                                                         else
  321.                                                         {
  322.                                                                                                                   xx=x0+x+i*8;
  323.                                             //  PutPixel(xx,y+y0,fc);
  324.                                                         
  325.                                                                  Lcd_SetRegion( xx , y+y0 , xx+1, y+y0+1);
  326.                   //  LCD_WriteData_16Bit(fc);
  327.                                                                
  328.                                                         if (fc!=bc) LCD_WriteData_16Bit(bc);
  329.                                                         }
  330.                                                         
  331.                                                         
  332.                                                         
  333.                                    }
  334.       }

  335.                 }
  336.         }            
  337. }

  338. /******************

  339. //定义常用颜色
  340. #define RED                  0xf800
  341. #define GREEN                0x07e0
  342. #define BLUE                 0x001f
  343. #define WHITE                0xffff
  344. #define BLACK                0x0000
  345. #define YELLOW  0xFFE0
  346. #define GRAY0   0xEF7D   
  347. #define GRAY1   0x8410              
  348. #define GRAY2   0x4208   
  349. *****************/

  350. main()
  351. {
  352. #ifdef MCU_STC12
  353.         P3M1 &= ~(1<<2),        P3M0 |=  (1<<2);        //P3.2 set as push-pull output mode
  354. #endif
  355.         lcd_initial();
  356.         bl=1;
  357.         
  358.         dsp_single_colour( 0x0001 );//
  359.         
  360.   while(1)
  361.   {
  362.         //        dsp_single_colour(RED);//红色
  363.    // dsp_single_colour(GREEN);//绿色        
  364.    // dsp_single_colour(BLUE);//蓝色
  365.   //  delay_ms(500);        
  366.         //        dsp_single_colour(WHITE);//白色
  367.     aa++;
  368.                 bb++;
  369.           day++;
  370.                 if(day>=11)day=0;
  371.                   switch(day){
  372.                 case 0:  Display_ASCII8X16(30,100,GREEN,BLACK,"a0"); break;
  373.     case 1:  Display_ASCII8X16(30,100,GREEN,BLACK,"b1"); break;
  374.     case 2:  Display_ASCII8X16(30,100,GREEN,BLACK,"c2"); break;
  375.     case 3:  Display_ASCII8X16(30,100,GREEN,BLACK,"d3"); break;
  376.     case 4:  Display_ASCII8X16(30,100,GREEN,BLACK,"e4"); break;
  377.     case 5:  Display_ASCII8X16(30,100,GREEN,BLACK,"f5"); break;
  378.     case 6:  Display_ASCII8X16(30,100,GREEN,BLACK,"g6"); break;
  379.                 case 7:  Display_ASCII8X16(30,100,GREEN,BLACK,"h7"); break;
  380.                 case 8:  Display_ASCII8X16(30,100,GREEN,BLACK,"i8"); break;
  381.                 case 9:  Display_ASCII8X16(30,100,GREEN,BLACK,"j9"); break;
  382.                                 
  383.     default: Display_ASCII8X16(30,100,GREEN,BLACK,"k");;
  384.   }
  385.         
  386.                
  387.          
  388.     Display_ASCII8X16(10,26,BLUE,YELLOW,"by:mckk520");
  389.     Display_ASCII8X16(10,42,RED,BLACK,"tel:1585----");
  390.     Display_ASCII8X16(10,58,GREEN,GRAY2,"sj20190311");
  391.   //  Display_ASCII8X16(10,74,BLUE,YELLOW,"VA:6 o'clock");
  392.   
  393.                
  394.                

  395.                   Display_ASCII8X16(70,90,BLUE,YELLOW,"v1.0");
  396.           delay_ms(100);        
  397.                
  398.                  
  399.                
  400.     delay_ms(100);        
  401. //                dsp_single_colour(WHITE);//白色



  402.       
  403.          
  404.                
  405.     }
  406. }

  407. uchar code Zk_ASCII8X16[]=
  408. {
  409.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  410.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  411.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  412.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  413.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  414.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  415.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  416.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  417.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  418.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  419.   0x00,0x18,0x08,0xc8,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  420.   0x00,0x00,0x00,0x7f,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xe0,
  421.   0x60,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  422.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x10,
  423.   0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  424.   0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x0c,0x0c,0x0c,0x00,0x00,
  425.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  426.   0x00,0x00,0x00,0x00,0x00,0x6c,0x38,0x10,0x00,0x7c,0xc6,0x70,0x1c,
  427.   0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0x00,0x78,
  428.   0x0c,0x7c,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  429.   0x00,0x00,0x7c,0xc6,0x70,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,
  430.   0x00,0x00,0x00,0x00,0x00,0x6c,0x96,0x7c,0xd0,0xd6,0x6c,0x00,0x00,
  431.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0x06,0x06,0xc6,
  432.   0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x6c,0xc6,0xc6,0xfe,
  433.   0xc6,0xc6,0x6c,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  434.   0x10,0x38,0x28,0x6c,0x44,0xc6,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,
  435.   0x00,0x00,0x00,0x00,0x7c,0xc6,0x06,0xfe,0xc6,0x7c,0x00,0x00,0x00,
  436.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0xf6,0x06,
  437.   0x06,0x66,0x3c,0x00,0x00,0x00,0x00,0x6c,0x38,0xf8,0x0c,0x7e,0xc6,
  438.   0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x1b,0x18,
  439.   0x18,0x18,0x18,0x18,0x18,0x18,0xd8,0x70,0x00,0x00,0x00,0x00,0x00,
  440.   0x00,0x00,0xfe,0x86,0x0c,0x18,0x0c,0x06,0x06,0xc6,0x7c,0x00,0x00,
  441.   0x00,0x00,0x76,0xdc,0x00,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0x76,0x00,
  442.   0x00,0x00,0x00,0x00,0x00,0x76,0xdc,0x00,0x00,0x7c,0xc6,0x06,0x06,
  443.   0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0xdc,0x00,0x00,0xdc,
  444.   0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  445.   0x00,0x00,0x76,0x99,0x9f,0x98,0x99,0x6f,0x00,0x00,0x00,0x00,0x00,
  446.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0c,0x06,0x06,
  447.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,
  448.   0x66,0x66,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  449.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,
  450.   0x3c,0x3c,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
  451.   0xc6,0xc6,0xc6,0x44,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  452.   0x00,0x00,0x00,0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c,
  453.   0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7c,0xc6,0xc2,0xc0,0x7c,0x06,
  454.   0x86,0xc6,0x7c,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc3,
  455.   0xc6,0x0c,0x18,0x30,0x63,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  456.   0x38,0x6c,0x6c,0x38,0x76,0xdc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,
  457.   0x00,0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  458.   0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x30,0x60,0x60,0x60,0x60,0x60,
  459.   0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x0c,0x06,0x06,
  460.   0x06,0x06,0x06,0x0c,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  461.   0x00,0x6c,0x38,0xfe,0x38,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  462.   0x00,0x00,0x00,0x18,0x18,0x18,0x7e,0x18,0x18,0x18,0x00,0x00,0x00,
  463.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,
  464.   0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
  465.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  466.   0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
  467.   0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,0x00,0x00,
  468.   0x00,0x00,0x00,0x00,0x7c,0xc6,0xce,0xde,0xf6,0xe6,0xc6,0xc6,0x7c,
  469.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,
  470.   0x18,0x18,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0x06,
  471.   0x0c,0x18,0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  472.   0x7c,0xc6,0x06,0x06,0x3c,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00,
  473.   0x00,0x00,0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x1e,0x00,
  474.   0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xfc,0x06,0x06,
  475.   0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x60,0xc0,0xc0,
  476.   0xfc,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
  477.   0xc6,0x06,0x0c,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00,
  478.   0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7c,0xc6,0xc6,0xc6,0x7c,0x00,0x00,
  479.   0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7e,0x06,0x06,0x0c,
  480.   0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,
  481.   0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,
  482.   0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00,
  483.   0x00,0x06,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x06,0x00,0x00,0x00,
  484.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,
  485.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x30,0x18,0x0c,0x06,0x0c,
  486.   0x18,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,
  487.   0x0c,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  488.   0x7c,0xc6,0xc6,0xde,0xde,0xde,0xdc,0xc0,0x7c,0x00,0x00,0x00,0x00,
  489.   0x00,0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0x00,
  490.   0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x66,0x66,
  491.   0x66,0xfc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0xc2,0xc0,
  492.   0xc0,0xc0,0xc2,0x66,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,
  493.   0x6c,0x66,0x66,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,0x00,0x00,0x00,
  494.   0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x62,0x66,0xfe,0x00,0x00,
  495.   0x00,0x00,0x00,0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x60,
  496.   0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,
  497.   0xde,0xc6,0x66,0x3a,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,
  498.   0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,
  499.   0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,
  500.   0x00,0x00,0x00,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0x78,
  501.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe6,0x66,0x6c,0x6c,0x78,0x6c,
  502.   0x6c,0x66,0xe6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x60,0x60,
  503.   0x60,0x60,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  504.   0xc6,0xee,0xfe,0xd6,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,
  505.   0x00,0x00,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6,0x00,
  506.   0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x6c,0xc6,0xc6,0xc6,0xc6,0xc6,
  507.   0x6c,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfc,0x66,0x66,0x66,
  508.   0x7c,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,
  509.   0xc6,0xc6,0xc6,0xd6,0xde,0x7c,0x0c,0x0e,0x00,0x00,0x00,0x00,0x00,
  510.   0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0xe6,0x00,0x00,
  511.   0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0x60,0x38,0x0c,0xc6,0xc6,
  512.   0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x5a,0x18,0x18,0x18,
  513.   0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,
  514.   0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,
  515.   0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x6c,0x38,0x10,0x00,0x00,0x00,
  516.   0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xd6,0xfe,0xee,0xc6,
  517.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0x6c,0x38,0x6c,
  518.   0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,
  519.   0x6c,0x38,0x38,0x38,0x38,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  520.   0xfe,0xc6,0x8c,0x18,0x30,0x60,0xc2,0xc6,0xfe,0x00,0x00,0x00,0x00,
  521.   0x00,0x00,0x00,0x3c,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3c,0x00,
  522.   0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0x70,0x38,0x1c,0x0e,
  523.   0x06,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3c,0x0c,0x0c,0x0c,
  524.   0x0c,0x0c,0x0c,0x0c,0x3c,0x00,0x00,0x00,0x00,0x00,0x10,0x38,0x6c,
  525.   0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  526.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,
  527.   0x00,0x00,0x00,0x00,0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
  528.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x78,0x0c,
  529.   0x7c,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x60,
  530.   0x60,0x78,0x6c,0x66,0x66,0x66,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,
  531.   0x00,0x00,0x00,0x00,0x7c,0xc6,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,
  532.   0x00,0x00,0x00,0x00,0x1c,0x0c,0x0c,0x3c,0x6c,0xcc,0xcc,0xcc,0x76,
  533.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xfe,
  534.   0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x36,0x32,
  535.   0x30,0x7c,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  536.   0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,0x00,0x00,
  537.   0x00,0x00,0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,0x66,0x66,0xe6,0x00,
  538.   0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,
  539.   0x18,0x3c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x0e,
  540.   0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,0x00,0x00,0x00,0x00,0xe0,
  541.   0x60,0x60,0x66,0x6c,0x78,0x6c,0x66,0xe6,0x00,0x00,0x00,0x00,0x00,
  542.   0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,
  543.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0xfe,0xd6,0xd6,0xd6,
  544.   0xd6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdc,0x66,
  545.   0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  546.   0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,
  547.   0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x7c,0x60,0x60,0xf0,0x00,
  548.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0x7c,0x0c,
  549.   0x0c,0x1e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xdc,0x76,0x66,
  550.   0x60,0x60,0xf0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  551.   0x7c,0xc6,0x70,0x1c,0xc6,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  552.   0x10,0x30,0x30,0xfc,0x30,0x30,0x30,0x36,0x1c,0x00,0x00,0x00,0x00,
  553.   0x00,0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,
  554.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0x6c,
  555.   0x38,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc6,
  556.   0xc6,0xc6,0xd6,0xfe,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  557.   0x00,0x00,0xc6,0x6c,0x38,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,0x00,
  558.   0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0x78,
  559.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xcc,0x18,0x30,0x66,
  560.   0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0e,0x18,0x18,0x18,0x70,
  561.   0x18,0x18,0x18,0x0e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,
  562.   0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,
  563.   0x00,0x70,0x18,0x18,0x18,0x0e,0x18,0x18,0x18,0x70,0x00,0x00,0x00,
  564.   0x00,0x00,0x00,0x00,0x76,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  565.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  566.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  567.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  568.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  569.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  570.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  571.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  572.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  573.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  574.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  575.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  576.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  577.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  578.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  579.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  580.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  581.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  582.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  583.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  584.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  585.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  586.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  587.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  588.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  589.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  590.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  591.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  592.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  593.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  594.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  595.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  596.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  597.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  598.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  599.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  600.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  601.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  602.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  603.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  604.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  605.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  606.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  607.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  608.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  609.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  610.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  611.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  612.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  613.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  614.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  615.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  616.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  617.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  618.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  619.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  620.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  621.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  622.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  623.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  624.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  625.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  626.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  627.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  628.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  629.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  630.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  631.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  632.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  633.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  634.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  635.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  636.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  637.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  638.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  639.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  640.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  641.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  642.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  643.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  644.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  645.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  646.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  647.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  648.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  649.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  650.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  651.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  652.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  653.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  654.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  655.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  656.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  657.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  658.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  659.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  660.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  661.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  662.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  663.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  664.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  665.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  666.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  667.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  668.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  669.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  670.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  671.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  672.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  673.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  674.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  675.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  676.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  677.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  678.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  679.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  680.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  681.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  682.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  683.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  684.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  685.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  686.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  687.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  688.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  689.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  690.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  691.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  692.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  693.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  694.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  695.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  696.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  697.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  698.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  699.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  700.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  701.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  702.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  703.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  704.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  705.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  706.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  707.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  708.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  709.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  710.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  711.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  712.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  713.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  714.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  715.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  716.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  717.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  718.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  719.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  720.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  721.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  722.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  723.   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  724.   0x00,0x00
  725.   };

  726. ,
复制代码


打赏

参与人数 1家元 +10 收起 理由
wjxhone + 10 感谢楼主分享资料,刚买了20多片这种驱动的.

查看全部打赏

发表于 2020-4-13 20:14:47 | 显示全部楼层
你好,我想知道这怎么显示大字体,比如24*24的,我弄了好久都没有成功
回复 支持 反对

使用道具 举报

发表于 2020-4-14 00:27:56 来自手机浏览器 | 显示全部楼层
刚好也是st7735,驱动有显示总是有残影
image.jpeg
image.jpeg
回复 支持 反对

使用道具 举报

发表于 2020-4-14 19:01:21 | 显示全部楼层
hundan 发表于 2020-4-14 00:27
刚好也是st7735,驱动有显示总是有残影

兄弟,你是怎么驱动大点字体的
回复 支持 反对

使用道具 举报

发表于 2020-4-14 19:23:47 | 显示全部楼层
本帖最后由 netbeetle 于 2020-4-14 19:46 编辑
c20160525 发表于 2020-4-13 20:14
你好,我想知道这怎么显示大字体,比如24*24的,我弄了好久都没有成功

取模取成24*24的,不就可以了

取模方式,逐行

typedef struct
{
char Msk[72];
unsigned char Index[2];
} typFNT_GB24;
//字体取模:黑体常规小四
const typFNT_GB24 tfont24[]=
{
  0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xE0,0x06,0x00,0x20,0x06,0x00,0x20,0x07,
0xFF,0xE0,0x06,0x00,0x20,0x06,0x00,0x20,0x07,0xFF,0xE0,0x04,0x00,0x20,0x00,0x10,
0x00,0x02,0x18,0x00,0x06,0x18,0x20,0x07,0xFF,0xF0,0x0C,0x18,0x00,0x08,0x18,0x00,
0x10,0x18,0x40,0x27,0xFF,0xE0,0x00,0x18,0x00,0x00,0x18,0x00,0x00,0x18,0x08,0x7F,
0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,"星",
0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x20,0x00,0x04,0x23,0xFC,0x04,0x23,0x0C,0x3F,
0xF9,0x0C,0x04,0x21,0x0C,0x04,0x21,0x0C,0x07,0xE1,0xFC,0x04,0x21,0x0C,0x04,0x21,
0x0C,0x07,0xE1,0x0C,0x04,0x23,0x0C,0x04,0x23,0xFC,0x04,0x23,0x0C,0x3F,0xFF,0x0C,
0x04,0x02,0x0C,0x06,0x42,0x0C,0x04,0x36,0x0C,0x08,0x14,0x0C,0x10,0x08,0x4C,0x20,
0x10,0x38,0x00,0x20,0x00,0x00,0x00,0x00,"期",

}



//******************************************************************
//函数名:  GUI_DrawFont24
//功能:    显示单个24X24中文字体
//输入参数:x,y :起点坐标
//   fc:前置画笔颜色
//   bc:背景颜色
//   s:字符串地址
//   mode:模式 0,填充模式;1,叠加模式
//返回值:  无
//修改记录:无
//******************************************************************
void GUI_DrawFont24(u16 x, u16 y, u16 fc, u16 bc, u8 *s,u8 mode)
{
u8 i,j;
u16 k;
u16 HZnum;
u16 x0=x;
HZnum=sizeof(tfont24)/sizeof(typFNT_GB24); //自动统计汉字数目
LCD_SetWindows(x,y,x+24-1,y+24-1);//设置单个文字显示窗口
for (k=0; k<HZnum; k++)
{
  if ((tfont24[k].Index[0]==*(s))&&(tfont24[k].Index[1]==*(s+1)))
  {
   //LCD_SetWindows(x,y,x+24-1,y+24-1);
   for(i=0; i<24*3; i++)
   {
    for(j=0; j<8; j++)
    {
     if(!mode) //非叠加方式
     {
      if(tfont24[k].Msk&(0x80>>j)) LCD_WR_DATA_16Bit(fc);
      else LCD_WR_DATA_16Bit(bc);
     }
     else
     {
      POINT_COLOR=fc;
      if(tfont24[k].Msk&(0x80>>j)) LCD_DrawPoint(x,y);//画一个点
      x++;
      if((x-x0)==24)
      {
       x=x0;
       y++;
       break;
      }
     }
    }
   }

  }
  continue;  //查找到对应点阵字库立即退出,防止多个汉字重复取模带来影响
}
LCD_SetWindows(0,0,lcddev.width-1,lcddev.height-1);//恢复窗口为全屏
}


回复 支持 反对

使用道具 举报

发表于 2022-10-18 23:14:26 来自手机浏览器 | 显示全部楼层
买屏都有驱动吧
回复 支持 反对

使用道具 举报

发表于 2022-10-19 00:19:21 来自手机浏览器 | 显示全部楼层
手头有两pos机彩屏不知道通用不通用
回复 支持 反对

使用道具 举报

发表于 2022-10-31 12:08:36 来自手机浏览器 | 显示全部楼层
虽然不懂,先留名
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-4-20 03:04 , Processed in 0.187201 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

快速回复 返回顶部 返回列表