你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】分享关于STM32 SPI驱动ST7789 LCD ISP TFT液晶屏幕

[复制链接]
STMCU小助手 发布时间:2022-3-16 10:48
偶然的一次机会得到了一块1.3寸的彩色液晶,控制器为ST7789V,支持SPI。对应的其他大小的有2.0的和2.4的,spi用起来还是比较简单的,硬件接口线少方便,刷屏速度还是可以的。这里因为只有1.3的屏(240*240分辨率),所以只测试了1.3的,其他的因为控制器是一样的,所以基本都差不多,无非分辨率不一样。

TFT.C文件

  1. #include "fy_tft.h"

  2. #define TFT_CMD         0
  3. #define TFT_DATA        1

  4. u16 BACK_COLOR=TFT_COLOR_BLACK;
  5. u16 POINT_COLOR=TFT_COLOR_WHITE;

  6. #ifdef USE_SW_SPI
  7. void TFT_ReadWriteByte(u8 dat)
  8. {
  9.     u8 i;
  10.     for(i=0; i<8; i++)
  11.     {
  12.         TFT_SCLK_Clr();
  13.         if(dat&0x80)
  14.             TFT_SDIN_Set();
  15.         else
  16.             TFT_SDIN_Clr();
  17.         TFT_SCLK_Set();
  18.         dat<<=1;
  19.     }        
  20. }
  21. #endif

  22. static void TFT_Gpio_Configuration(void) {

  23.         //RST引脚和单片机的RST共用,单片机硬件复位TFT同时复位
  24.     GPIO_InitTypeDef  GPIO_InitStructure;

  25. #ifdef USE_SW_SPI
  26.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);
  27.         
  28.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
  29.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  30.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  31.     GPIO_Init(GPIOA, &GPIO_InitStructure);        
  32.         GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);

  33.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
  34.     GPIO_Init(GPIOB, &GPIO_InitStructure);
  35.         GPIO_SetBits(GPIOB,GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);//f-cs
  36. #else
  37.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9;
  38.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  39.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  40.     GPIO_Init(GPIOB, &GPIO_InitStructure);        
  41.         GPIO_SetBits(GPIOB,GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);
  42.         
  43. #endif
  44. }

  45. //TFT写一个字节数据
  46. //dat:写入的字节
  47. //cmd:
  48. //        0:命令
  49. //        1:数据        
  50. static void TFT_WriteByte(u8 dat,u8 cmd)
  51. {
  52.         if(cmd == TFT_CMD)        TFT_DC_L();   //命令
  53.     else TFT_DC_H();//数据   
  54.     TFT_ReadWriteByte(dat);
  55. }


  56. //函数说明:设置起始和结束地址
  57. //入口数据:x1,x2 设置列的起始和结束地址
  58. //                y1,y2 设置行的起始和结束地址
  59. //返回值:  无
  60. void LCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2)
  61. {
  62.         x2 = x2>LCD_WIDTH ? LCD_WIDTH:x2;
  63.         y2 = y2>LCD_WIDTH ? LCD_HEIGHT:y2;
  64.         
  65.     if(USE_HORIZONTAL==0)
  66.     {
  67.         TFT_WriteByte(0x2a,TFT_CMD);//列地址设置
  68.         TFT_WriteByte(x1>>8,TFT_DATA);
  69.         TFT_WriteByte(x1,TFT_DATA);
  70.         TFT_WriteByte(x2>>8,TFT_DATA);
  71.         TFT_WriteByte(x2,TFT_DATA);
  72.         TFT_WriteByte(0x2b,TFT_CMD);//行地址设置
  73.         TFT_WriteByte(y1>>8,TFT_DATA);
  74.         TFT_WriteByte(y1,TFT_DATA);
  75.         TFT_WriteByte(y2>>8,TFT_DATA);
  76.         TFT_WriteByte(y2,TFT_DATA);
  77.         TFT_WriteByte(0x2c,TFT_CMD);//储存器写
  78.     }
  79.     else if(USE_HORIZONTAL==1)
  80.     {
  81.         TFT_WriteByte(0x2a,TFT_CMD);//列地址设置
  82.         TFT_WriteByte(x1>>8,TFT_DATA);
  83.         TFT_WriteByte(x1,TFT_DATA);
  84.         TFT_WriteByte(x2>>8,TFT_DATA);
  85.         TFT_WriteByte(x2,TFT_DATA);
  86.         TFT_WriteByte(0x2b,TFT_CMD);//行地址设置
  87.         TFT_WriteByte((y1+80)>>8,TFT_DATA);
  88.         TFT_WriteByte((y1+80),TFT_DATA);
  89.         TFT_WriteByte((y2+80)>>8,TFT_DATA);
  90.         TFT_WriteByte((y2+80),TFT_DATA);
  91.         TFT_WriteByte(0x2c,TFT_CMD);//储存器写
  92.     }
  93.     else if(USE_HORIZONTAL==2)
  94.     {
  95.         TFT_WriteByte(0x2a,TFT_CMD);//列地址设置
  96.         TFT_WriteByte(x1>>8,TFT_DATA);
  97.         TFT_WriteByte(x1,TFT_DATA);
  98.         TFT_WriteByte(x2>>8,TFT_DATA);
  99.         TFT_WriteByte(x2,TFT_DATA);
  100.         TFT_WriteByte(0x2b,TFT_CMD);//行地址设置
  101.         TFT_WriteByte(y1>>8,TFT_DATA);
  102.         TFT_WriteByte(y1,TFT_DATA);
  103.         TFT_WriteByte(y2>>8,TFT_DATA);
  104.         TFT_WriteByte(y2,TFT_DATA);
  105.         TFT_WriteByte(0x2c,TFT_CMD);//储存器写
  106.     }
  107.     else
  108.     {
  109.         TFT_WriteByte(0x2a,TFT_CMD);//列地址设置
  110.         TFT_WriteByte((x1+80)>>8,TFT_DATA);
  111.         TFT_WriteByte((x1+80),TFT_DATA);
  112.         TFT_WriteByte((x2+80)>>8,TFT_DATA);
  113.         TFT_WriteByte((x2+80),TFT_DATA);
  114.         TFT_WriteByte(0x2b,TFT_CMD);//行地址设置
  115.         TFT_WriteByte(y1>>8,TFT_DATA);
  116.         TFT_WriteByte(y1,TFT_DATA);
  117.         TFT_WriteByte(y2>>8,TFT_DATA);
  118.         TFT_WriteByte(y2,TFT_DATA);
  119.         TFT_WriteByte(0x2c,TFT_CMD);//储存器写
  120.     }
  121. }
  122. void TFT_DisplayOn(void){
  123.         TFT_WriteByte(0x29,TFT_CMD);
  124. }

  125. void TFT_DisplayOff(void){
  126.         TFT_WriteByte(0x28,TFT_CMD);
  127. }
  128. //画点
  129. //x,y:起始坐标
  130. //color:颜色
  131. void TFT_DrawPoint(u16 x,u16 y,u16 color)
  132. {
  133.     LCD_Address_Set(x,y,x,y);//设置光标位置
  134.     TFT_WriteByte(color>>8,TFT_DATA);
  135.     TFT_WriteByte(color,TFT_DATA);
  136. }
  137. //填充区域
  138. //x1,y1:起始坐标
  139. //x2,y2:结束坐标
  140. //color:颜色
  141. void TFT_Fill(u16 x1,u16 y1,u16 x2,u16 y2,u16 color)
  142. {
  143.     u16 x,y;
  144.         
  145.         
  146.     LCD_Address_Set(x1,y1,x2,y2);      //设置光标位置
  147.         
  148.     for(x=x1; x<x2; x++){
  149.         for(y=y1; y<y2; y++){
  150.                         TFT_WriteByte(color>>8,TFT_DATA); //设置光标位置
  151.                         TFT_WriteByte(color,TFT_DATA); //设置光标位置
  152.                 }
  153.     }
  154. }
  155. //清屏
  156. void TFT_Clear(u16 color)
  157. {
  158.     u16 x,y;
  159.         TFT_DisplayOff();//关闭显示
  160.     LCD_Address_Set(0,0,LCD_WIDTH-1,LCD_HEIGHT-1);
  161.     for(x=0; x<LCD_WIDTH; x++){
  162.         for(y=0; y<LCD_HEIGHT; y++){        
  163.                         TFT_WriteByte(color>>8,TFT_DATA); //设置光标位置
  164.                         TFT_WriteByte(color,TFT_DATA); //设置光标位置
  165.         }
  166.     }
  167.         TFT_DisplayOn();//打开显示
  168. }

  169. //在指定位置显示一个字符,包括部分字符
  170. //函数说明:显示字符
  171. //入口数据:x,y    起点坐标
  172. //                chr    要显示的字符
  173. //                mode   1叠加方式  0非叠加方式
  174. void TFT_ShowChar(u16 x,u16 y,u8 chr,u8 fw,u8 fh,u8 mode)
  175. {
  176.     u8 temp, t, tbit;
  177.     u8 y0=y;
  178.     u8 *p;        
  179.         
  180.         u16 csize = csize=(fh/8+((fh%8)?1:0))*fw;// 得到字体一个字符对应点阵集所占的字节数        

  181.     chr=chr-' ';//得到偏移后的值

  182.     if(fw==6&&fh==8)        p = (u8 *)asc2_0608[chr];        //调用0608ascii字体
  183.     else if(fw==6&&fh==12)  p = (u8 *)asc2_0612[chr];        //调用0612ascii字体
  184.     else if(fw==8&&fh==16)  p = (u8 *)asc2_0816[chr];        //调用0612ascii字体
  185.     else if(fw==12&&fh==24) p = (u8 *)asc2_1224[chr];   //调用1224ascii字体
  186.     else return;        //没有的字库
  187.         for(t = 0; t < csize; t++)        /*遍历打印所有像素点到LCD */
  188.         {   
  189.                 temp = p[t];
  190.                 for(tbit = 0; tbit < 8; tbit++)        /* 打印一个像素点到液晶 */
  191.                 {        
  192.                         u16 color;
  193.                         
  194.                         if(temp & 0x80)        color = POINT_COLOR;
  195.                         else if(0 == mode)        color = BACK_COLOR;
  196.                         else color = ~POINT_COLOR;
  197.                         TFT_DrawPoint(x, y,color );
  198.                         
  199.                         temp <<= 1;                        
  200.                         y++;
  201.                         
  202.                         if(y >= LCD_HEIGHT) return;                /* 超区域了 */

  203.                         if((y - y0) == fh){
  204.                                 y = y0;
  205.                                 x++;
  206.                                 if(x >= LCD_WIDTH)        return;        /* 超区域了 */
  207.                                 break;
  208.                         }
  209.                 }           
  210.         }            
  211. }
  212. //m^n函数
  213. u32 mypow(u8 m,u8 n)
  214. {
  215.     u32 result=1;
  216.     while(n--)result*=m;
  217.     return result;
  218. }
  219. //显示数字
  220. //x,y :起点坐标
  221. //len :数字的位数
  222. //fw:字宽
  223. //fh:字高
  224. //num:数值(0~4294967295);
  225. void TFT_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 fw,u8 fh)
  226. {
  227.     u8 t,temp;
  228.     u8 enshow=0;
  229.     for(t=0; t<len; t++)
  230.     {
  231.         temp=(num/mypow(10,len-t-1))%10;
  232.         if(enshow==0&&t<(len-1))
  233.         {
  234.             if(temp==0)
  235.             {
  236.                 TFT_ShowChar(x+(fw)*t,y,' ',fw,fh,0);
  237.                 continue;
  238.             }
  239.             else
  240.                 enshow=1;
  241.         }
  242.         TFT_ShowChar(x+(fw)*t,y,temp+'0',fw,fh,0);
  243.     }
  244. }
  245. //在指定位置开始显示一个字符串
  246. //支持自动换行
  247. //(x,y):起始坐标
  248. //width,height:区域
  249. //str  :字符串
  250. //fw:字宽
  251. //fh:字高
  252. //mode:0,非叠加方式;1,叠加方式
  253. void TFT_ShowString(u16 x,u16 y,char *str,u8 fw,u8 fh,u8 mode)
  254. {
  255.     while((*str<='~')&&(*str>=' '))//判断是不是非法字符!
  256.     {
  257.         if(x>(LCD_WIDTH-(fw))) {
  258.             x=0;
  259.             y+=fh;
  260.         }
  261.         if(y>(LCD_HEIGHT-fh)) {
  262.             y=x=0;   //TFT_Clear();
  263.         }
  264.         TFT_ShowChar(x,y,*str,fw,fh,mode);
  265.         x+=fw;
  266.         str++;
  267.     }
  268. }
  269. //显示一个指定大小的汉字
  270. //x,y :汉字的坐标
  271. //font:汉字GBK码
  272. //fw:字宽
  273. //fh:字高
  274. //mode:0,正常显示,1,叠加显示
  275. void TFT_ShowFont(u8 x,u8 y,char *font,u8 fw,u8 fh,u8 mode)
  276. {
  277.     const char* font_table;
  278.     uint16_t fontSeq;
  279.     uint8_t temp,t,t1;
  280.     uint16_t y0=y;
  281.     uint8_t csize=(fh/8+((fh%8)?1:0))*fw;//得到自由分辨字符所占的字节数

  282.     if(fw==12 && fh==12)
  283.         font_table = font1212_table;
  284.     else if(fw==24 && fh==24)
  285.         font_table = font2424_table;
  286.     else return;/*没有的字库*/
  287.     for(fontSeq=0; fontSeq<strlen(font_table)/2; fontSeq++)/*计算font_table对应字库的数组下标*/
  288.     {
  289.         if(font_table[2*fontSeq]==font[0] && font_table[2*fontSeq+1]==font[1])
  290.             break;
  291.     }
  292.     if(fontSeq >= strlen(font_table)/2) return;/*font_table中没有font该字*/

  293.     for(t=0; t<csize; t++)
  294.     {
  295.         if(fw==12 && fh==12)
  296.             temp = font_1212[fontSeq][t];/*调用font_1212字库*/
  297.         else if(fw==24 && fh==24)
  298.             temp = font_2424[fontSeq][t];/*调用font_2424字库*/
  299.         for(t1=0; t1<8; t1++)
  300.         {
  301.                         u16 color;
  302.                         
  303.                         if(temp & 0x80)        color = POINT_COLOR;
  304.                         else if(0 == mode)        color = BACK_COLOR;
  305.                         else color = ~POINT_COLOR;
  306.                         TFT_DrawPoint(x, y,color );
  307.                         
  308.             temp<<=1;
  309.             y++;
  310.             if((y-y0)==fh)
  311.             {
  312.                 y=y0;
  313.                 x++;
  314.                 break;
  315.             }
  316.         }
  317.     }
  318. }

  319. void TFT_ShowText(u16 x,u16 y,char *str,u8 fw,u8 fh,u8 mode)
  320. {
  321.     while(*str!=0)
  322.     {
  323.         TFT_ShowFont(x,y,str,fw,fh,mode); //显示这个汉字,空心显示
  324.         str+=2;
  325.         x+=fh;//下一个汉字偏移
  326.     }
  327. }

  328. //显示图片
  329. //x,y:起点坐标
  330. //pw:图片宽(单位像素)
  331. //ph:图片高(单位像素)
  332. //p:图片起始地址
  333. void TFT_ShowPicture(u16 x,u16 y,const u8 *p,u8 pw,u8 ph)
  334. {
  335.     u8 temp,i,col,row;
  336.     u8 y0=y;
  337.     u8 width=pw;
  338.     if(x+pw>LCD_WIDTH)width=LCD_WIDTH-pw;//实际显示宽度
  339.     u8 high=ph;
  340.     if(y+ph>LCD_HEIGHT)high=LCD_HEIGHT-ph;//实际显示高度
  341.     u8 exp_col_bytes=(ph/8+((ph%8)?1:0));//显示一行的字节数
  342.     u8 act_col_bytes=(high/8+((high%8)?1:0));//实际显示一列的字节数

  343.     for(row=0; row<width; row++) //列++
  344.     {
  345.         for(col=0; col<act_col_bytes; col++) //显示一列
  346.         {
  347.             temp = p[col+row*exp_col_bytes];
  348.             for(i=0; i<8; i++)
  349.             {
  350.                                 u16 color;
  351.                                 
  352.                                 if(temp & 0x80)        color = POINT_COLOR;
  353.                                 else color = BACK_COLOR;

  354.                                 TFT_DrawPoint(x, y,color );
  355.                                 
  356.                 temp<<=1;
  357.                 y++;
  358.                 if((y-y0)==high)
  359.                 {
  360.                     y=y0;
  361.                     x++;
  362.                     break;
  363.                 }
  364.             }
  365.         }
  366.     }
  367. }


  368. //初始化ST7789VW
  369. void TFT_Configuration(void)
  370. {
  371. #ifndef USE_SW_SPI
  372.     SPI1_ChangeMode(SPI_MODE_TFT);
  373. #endif
  374.     TFT_Gpio_Configuration();
  375.     Delay_ms(100);

  376.         /* Sleep Out */
  377.     TFT_WriteByte(0x11,TFT_CMD);
  378.     /* wait for power stability */
  379.     Delay_ms(120);

  380.     /* Memory Data Access Control */
  381.     TFT_WriteByte(0x36,TFT_CMD);
  382.     if(USE_HORIZONTAL==0)TFT_WriteByte(0x00,TFT_DATA);
  383.     else if(USE_HORIZONTAL==1)TFT_WriteByte(0xC0,TFT_DATA);
  384.     else if(USE_HORIZONTAL==2)TFT_WriteByte(0x70,TFT_DATA);
  385.     else TFT_WriteByte(0xA0,TFT_DATA);

  386.     /* RGB 5-6-5-bit  */
  387.     TFT_WriteByte(0x3A,TFT_CMD);
  388.     TFT_WriteByte(0x65,TFT_DATA);

  389.     /* Porch Setting */
  390.     TFT_WriteByte(0xB2,TFT_CMD);
  391.     TFT_WriteByte(0x0C,TFT_DATA);
  392.     TFT_WriteByte(0x0C,TFT_DATA);
  393.     TFT_WriteByte(0x00,TFT_DATA);
  394.     TFT_WriteByte(0x33,TFT_DATA);
  395.     TFT_WriteByte(0x33,TFT_DATA);

  396.     /*  Gate Control */
  397.     TFT_WriteByte(0xB7,TFT_CMD);
  398.     TFT_WriteByte(0x72,TFT_DATA);

  399.     /* VCOM Setting */
  400.     TFT_WriteByte(0xBB,TFT_CMD);
  401.     TFT_WriteByte(0x3D,TFT_DATA);   //Vcom=1.625V

  402.     /* LCM Control */
  403.     TFT_WriteByte(0xC0,TFT_CMD);
  404.     TFT_WriteByte(0x2C,TFT_DATA);

  405.     /* VDV and VRH Command Enable */
  406.     TFT_WriteByte(0xC2,TFT_CMD);
  407.     TFT_WriteByte(0x01,TFT_DATA);

  408.     /* VRH Set */
  409.     TFT_WriteByte(0xC3,TFT_CMD);
  410.     TFT_WriteByte(0x19,TFT_DATA);

  411.     /* VDV Set */
  412.     TFT_WriteByte(0xC4,TFT_CMD);
  413.     TFT_WriteByte(0x20,TFT_DATA);

  414.     /* Frame Rate Control in Normal Mode */
  415.     TFT_WriteByte(0xC6,TFT_CMD);
  416.     TFT_WriteByte(0x0F,TFT_DATA);        //60MHZ

  417.     /* Power Control 1 */
  418.     TFT_WriteByte(0xD0,TFT_CMD);
  419.     TFT_WriteByte(0xA4,TFT_DATA);
  420.     TFT_WriteByte(0xA1,TFT_DATA);

  421.     /* Positive Voltage Gamma Control */
  422.     TFT_WriteByte(0xE0,TFT_CMD);
  423.     TFT_WriteByte(0xD0,TFT_DATA);
  424.     TFT_WriteByte(0x04,TFT_DATA);
  425.     TFT_WriteByte(0x0D,TFT_DATA);
  426.     TFT_WriteByte(0x11,TFT_DATA);
  427.     TFT_WriteByte(0x13,TFT_DATA);
  428.     TFT_WriteByte(0x2B,TFT_DATA);
  429.     TFT_WriteByte(0x3F,TFT_DATA);
  430.     TFT_WriteByte(0x54,TFT_DATA);
  431.     TFT_WriteByte(0x4C,TFT_DATA);
  432.     TFT_WriteByte(0x18,TFT_DATA);
  433.     TFT_WriteByte(0x0D,TFT_DATA);
  434.     TFT_WriteByte(0x0B,TFT_DATA);
  435.     TFT_WriteByte(0x1F,TFT_DATA);
  436.     TFT_WriteByte(0x23,TFT_DATA);

  437.     /* Negative Voltage Gamma Control */
  438.     TFT_WriteByte(0xE1,TFT_CMD);
  439.     TFT_WriteByte(0xD0,TFT_DATA);
  440.     TFT_WriteByte(0x04,TFT_DATA);
  441.     TFT_WriteByte(0x0C,TFT_DATA);
  442.     TFT_WriteByte(0x11,TFT_DATA);
  443.     TFT_WriteByte(0x13,TFT_DATA);
  444.     TFT_WriteByte(0x2C,TFT_DATA);
  445.     TFT_WriteByte(0x3F,TFT_DATA);
  446.     TFT_WriteByte(0x44,TFT_DATA);
  447.     TFT_WriteByte(0x51,TFT_DATA);
  448.     TFT_WriteByte(0x2F,TFT_DATA);
  449.     TFT_WriteByte(0x1F,TFT_DATA);
  450.     TFT_WriteByte(0x1F,TFT_DATA);
  451.     TFT_WriteByte(0x20,TFT_DATA);
  452.     TFT_WriteByte(0x23,TFT_DATA);

  453.     /* Display Inversion On */
  454.     TFT_WriteByte(0x21,TFT_CMD);
  455.     TFT_WriteByte(0x29,TFT_CMD);

  456.         TFT_Clear(BACK_COLOR);

  457. }


  458. /*********************************************END OF FILE**********************************************/
复制代码


TFT.h文件:

  1. #ifndef __FY_TFT_H
  2. #define __FY_TFT_H

  3. #include "fy_includes.h"


  4. //#define USE_SW_SPI

  5. #ifndef USE_SW_SPI
  6.         #define TFT_ReadWriteByte SPI1_ReadWriteByte
  7. #endif
  8. #define USE_HORIZONTAL 0  //设置横屏或者竖屏显示 0或1为竖屏 2或3为横屏

  9. #if USE_HORIZONTAL==0||USE_HORIZONTAL==1
  10.         #define LCD_WIDTH 240
  11.         #define LCD_HEIGHT 240
  12. #else
  13.         #define LCD_WIDTH 240
  14.         #define LCD_HEIGHT 240
  15. #endif

  16. #define TFT_SCLK_RCC    RCC_APB2Periph_GPIOA
  17. #define TFT_SCLK_PORT   GPIOA
  18. #define TFT_SCLK_PIN    GPIO_Pin_5
  19. #define TFT_SCLK_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_5)
  20. #define TFT_SCLK_Set() GPIO_SetBits(GPIOA,GPIO_Pin_5)

  21. #define TFT_SDIN_RCC    RCC_APB2Periph_GPIOA
  22. #define TFT_SDIN_PORT   GPIOA
  23. #define TFT_SDIN_PIN    GPIO_Pin_7
  24. #define TFT_SDIN_Clr() GPIO_ResetBits(GPIOA,GPIO_Pin_7)//DIN
  25. #define TFT_SDIN_Set() GPIO_SetBits(GPIOA,GPIO_Pin_7)


  26. #define TFT_DC_RCC    RCC_APB2Periph_GPIOB
  27. #define TFT_DC_PORT   GPIOB
  28. #define TFT_DC_PIN    GPIO_Pin_7
  29. #define TFT_DC_H() GPIO_SetBits(GPIOB,GPIO_Pin_7)
  30. #define TFT_DC_L() GPIO_ResetBits(GPIOB,GPIO_Pin_7)

  31. #define TFT_BLK_RCC    RCC_APB2Periph_GPIOB
  32. #define TFT_BLK_PORT   GPIOB
  33. #define TFT_BLK_PIN    GPIO_Pin_8
  34. #define TFT_BLK_H() GPIO_SetBits(GPIOB,GPIO_Pin_8)
  35. #define TFT_BLK_L() GPIO_ResetBits(GPIOB,GPIO_Pin_8)


  36. extern u16 BACK_COLOR;
  37. extern u16 POINT_COLOR;

  38. #define TFT_COLOR_RED                0xF800
  39. #define TFT_COLOR_GREEN                0x07E0
  40. #define TFT_COLOR_BLUE                0x001F
  41. #define TFT_COLOR_BLACK                0x0000
  42. #define TFT_COLOR_WHITE                0xFFFF
  43. #define TFT_COLOR_YELLOW    0xFFE0


  44. void TFT_Configuration(void);
  45. void TFT_DisplayOn(void);
  46. void TFT_DisplayOff(void);
  47. void TFT_Clear(u16 color);
  48. void TFT_DrawPoint(u16 x,u16 y,u16 color);
  49. void TFT_Fill(u16 x1,u16 y1,u16 x2,u16 y2,u16 color);
  50. void TFT_ShowChar(u16 x,u16 y,u8 chr,u8 fw,u8 fh,u8 mode);
  51. void TFT_ShowString(u16 x,u16 y,char *str,u8 fw,u8 fh,u8 mode);
  52. void TFT_ShowNum(u16 x,u16 y,u32 num,u8 len,u8 fw,u8 fh);
  53. void TFT_ShowText(u16 x,u16 y,char *str,u8 fw,u8 fh,u8 mode);
  54. void TFT_ShowPicture(u16 x,u16 y,const u8 *p,u8 pw,u8 ph);



  55. #endif

  56. /*********************************************END OF FILE**********************************************/
复制代码

关于SPI,源码支持硬件SPI及软件模拟SPI,默认是硬件SPI,需要软件模拟在TFT.H里面打开宏定义就好了,

SPI.C

  1. #include "fy_spi.h"

  2. SPI_InitTypeDef  SPI_InitStructure;

  3. void SPI1_Configuration(void)
  4. {
  5.     GPIO_InitTypeDef  GPIO_InitStructure;

  6.         //SPI1的时钟来源是APB2 72MHz
  7.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_SPI1, ENABLE);        //使能GPIOA、SPI1时钟

  8.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;//PA5~7复用功能输出
  9.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  10.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  11.     GPIO_Init(GPIOA, &GPIO_InitStructure);                                //初始化
  12.         GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7);

  13.     //这里只针对SPI口初始化
  14.     SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;  //设置SPI单向或者双向的数据模式:SPI设置为双线双向全双工
  15.     SPI_InitStructure.SPI_Mode = SPI_Mode_Master;                //设置SPI工作模式:设置为主SPI
  16.     SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;                //设置SPI的数据大小:SPI发送接收8位帧结构
  17.     SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;                //串行同步时钟的空闲状态为低电平
  18.     SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;        //串行同步时钟的第一个跳变沿(上升或下降)数据被采样
  19.     SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;                //NSS信号由硬件(NSS管脚)还是软件(使用SSI位)管理:内部NSS信号有SSI位控制
  20.     SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;                //定义波特率预分频的值:波特率预分频值为
  21.     SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;        //指定数据传输从MSB位还是LSB位开始:数据传输从MSB位开始
  22.     SPI_InitStructure.SPI_CRCPolynomial = 7;        //CRC值计算的多项式
  23.     SPI_Init(SPI1, &SPI_InitStructure);  //根据SPI_InitStruct中指定的参数初始化外设SPIx寄存器

  24.     SPI_Cmd(SPI1, ENABLE); //使能SPI外设
  25.         SPI1_ReadWriteByte(0xff);//启动传输        
  26. }

  27. //SPI1速度设置函数
  28. //SPI速度=fAPB2/分频系数
  29. //@ref SPI_BaudRate_Prescaler:SPI_BaudRatePrescaler_2~SPI_BaudRatePrescaler_256
  30. //fAPB2时钟一般为84Mhz:
  31. void SPI1_SetSpeed(u8 SPI_BaudRatePrescaler)
  32. {
  33.     assert_param(IS_SPI_BAUDRATE_PRESCALER(SPI_BaudRatePrescaler));//判断有效性
  34.     SPI1->CR1&=0XFFC7;//位3-5清零,用来设置波特率
  35.     SPI1->CR1|=SPI_BaudRatePrescaler;        //设置SPI1速度
  36.     SPI_Cmd(SPI1,ENABLE); //使能SPI1
  37. }

  38. //SPIx 读写一个字节
  39. //TxData:要写入的字节
  40. //返回值:读取到的字节
  41. u8 SPI1_ReadWriteByte(u8 TxData)
  42. {
  43.     u8 retry=0;
  44.     while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET) //检查指定的SPI标志位设置与否:发送缓存空标志位
  45.     {
  46.         retry++;
  47.         if(retry>200)return 0;
  48.     }
  49.     SPI_I2S_SendData(SPI1, TxData); //通过外设SPIx发送一个数据
  50.     retry=0;

  51.     while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET)//检查指定的SPI标志位设置与否:接受缓存非空标志位
  52.     {
  53.         retry++;
  54.         if(retry>200)return 0;
  55.     }
  56.     return SPI_I2S_ReceiveData(SPI1); //返回通过SPIx最近接收的数据
  57. }

  58. void SPI1_ChangeMode(_typdef_spi_mode mode)
  59. {
  60.     static _typdef_spi_mode last_mode=SPI_MODE_NRF24L01;

  61.     if(mode == last_mode)        return;
  62.         last_mode = mode;
  63.         
  64.     if(mode == SPI_MODE_NRF24L01)
  65.     {
  66.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
  67.         SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
  68.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;        //9M
  69.     }
  70.     else if(mode == SPI_MODE_LT8920)
  71.     {
  72.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
  73.         SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  74.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;        //9M
  75.     }
  76.     else if(mode == SPI_MODE_FLASH)
  77.     {
  78.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
  79.         SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  80.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;        //36M
  81.     }
  82.         else if(mode == SPI_MODE_OLED)
  83.     {
  84.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
  85.         SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  86.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;        //36M
  87.     }
  88.         else if(mode == SPI_MODE_TFT)
  89.     {
  90.         SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
  91.         SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
  92.         SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;        //36M
  93.     }
  94.     else
  95.         return;
  96.     SPI_Cmd(SPI1, DISABLE);
  97.     SPI_Init(SPI1, &SPI_InitStructure);
  98.     SPI_Cmd(SPI1, ENABLE);
  99. }
  100. /*********************************************END OF FILE********************************************/
复制代码


SPI.H

  1. #ifndef __FY_SPI_H
  2. #define __FY_SPI_H

  3. #include "fy_includes.h"


  4. typedef enum
  5. {
  6.     SPI_MODE_NRF24L01=0,
  7.     SPI_MODE_FLASH,
  8.     SPI_MODE_OLED,
  9.     SPI_MODE_TFT,
  10.         SPI_MODE_LT8920,
  11.     _SPI_MODE_MAX
  12. }_typdef_spi_mode;

  13. void SPI1_Configuration(void);         //初始化SPI口
  14. void SPI1_SetSpeed(u8 SpeedSet); //设置SPI速度   
  15. u8 SPI1_ReadWriteByte(u8 TxData);//SPI总线读写一个字节
  16. void SPI1_ChangeMode(_typdef_spi_mode mode);

  17. #endif

  18. 还有就是字库文件、图片等,这里为了方便就没有存外部的flash,直接用单片机内部的flash,

  19. FONT.C文件

  20. #include "fy_oledfont.h"

  21. //PC2LCD2002取模方式设置:阴码+逐列式+顺向+C51格式

  22. //06*08==宽*高 ASCII字符集点阵 (Terminal Greek8字体)
  23. const unsigned char asc2_0608[95][6]= {
  24.     {0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
  25.     {0x00,0x00,0x60,0xFA,0x60,0x00},/*"!",1*/
  26.     {0x00,0xE0,0xC0,0x00,0xE0,0xC0},/*""",2*/
  27.     {0x00,0x24,0x7E,0x24,0x7E,0x24},/*"#",3*/
  28.     {0x00,0x24,0xD4,0x56,0x48,0x00},/*"$",4*/
  29.     {0x00,0xC6,0xC8,0x10,0x26,0xC6},/*"%",5*/
  30.     {0x00,0x6C,0x92,0x6A,0x04,0x0A},/*"&",6*/
  31.     {0x00,0x00,0xE0,0xC0,0x00,0x00},/*"'",7*/
  32.     {0x00,0x00,0x7C,0x82,0x00,0x00},/*"(",8*/
  33.     {0x00,0x00,0x82,0x7C,0x00,0x00},/*")",9*/
  34.     {0x00,0x10,0x7C,0x38,0x7C,0x10},/*"*",10*/
  35.     {0x00,0x10,0x10,0x7C,0x10,0x10},/*"+",11*/
  36.     {0x00,0x00,0x07,0x06,0x00,0x00},/*",",12*/
  37.     {0x00,0x10,0x10,0x10,0x10,0x10},/*"-",13*/
  38.     {0x00,0x00,0x06,0x06,0x00,0x00},/*".",14*/
  39.     {0x00,0x04,0x08,0x10,0x20,0x40},/*"/",15*/
  40.     {0x00,0x7C,0x8A,0x92,0xA2,0x7C},/*"0",16*/
  41.     {0x00,0x00,0x42,0xFE,0x02,0x00},/*"1",17*/
  42.     {0x00,0x46,0x8A,0x92,0x92,0x62},/*"2",18*/
  43.     {0x00,0x44,0x92,0x92,0x92,0x6C},/*"3",19*/
  44.     {0x00,0x18,0x28,0x48,0xFE,0x08},/*"4",20*/
  45.     {0x00,0xF4,0x92,0x92,0x92,0x8C},/*"5",21*/
  46.     {0x00,0x3C,0x52,0x92,0x92,0x0C},/*"6",22*/
  47.     {0x00,0x80,0x8E,0x90,0xA0,0xC0},/*"7",23*/
  48.     {0x00,0x6C,0x92,0x92,0x92,0x6C},/*"8",24*/
  49.     {0x00,0x60,0x92,0x92,0x94,0x78},/*"9",25*/
  50.     {0x00,0x00,0x36,0x36,0x00,0x00},/*":",26*/
  51.     {0x00,0x00,0x37,0x36,0x00,0x00},/*";",27*/
  52.     {0x00,0x10,0x28,0x44,0x82,0x00},/*"<",28*/
  53.     {0x00,0x24,0x24,0x24,0x24,0x24},/*"=",29*/
  54.     {0x00,0x00,0x82,0x44,0x28,0x10},/*">",30*/
  55.     {0x00,0x40,0x80,0x9A,0x90,0x60},/*"?",31*/
  56.     {0x00,0x7C,0x82,0xBA,0xAA,0x78},/*"@",32*/
  57.     {0x00,0x7E,0x88,0x88,0x88,0x7E},/*"A",33*/
  58.     {0x00,0xFE,0x92,0x92,0x92,0x6C},/*"B",34*/
  59.     {0x00,0x7C,0x82,0x82,0x82,0x44},/*"C",35*/
  60.     {0x00,0xFE,0x82,0x82,0x82,0x7C},/*"D",36*/
  61.     {0x00,0xFE,0x92,0x92,0x92,0x82},/*"E",37*/
  62.     {0x00,0xFE,0x90,0x90,0x90,0x80},/*"F",38*/
  63.     {0x00,0x7C,0x82,0x92,0x92,0x5E},/*"G",39*/
  64.     {0x00,0xFE,0x10,0x10,0x10,0xFE},/*"H",40*/
  65.     {0x00,0x00,0x82,0xFE,0x82,0x00},/*"I",41*/
  66.     {0x00,0x0C,0x02,0x02,0x02,0xFC},/*"J",42*/
  67.     {0x00,0xFE,0x10,0x28,0x44,0x82},/*"K",43*/
  68.     {0x00,0xFE,0x02,0x02,0x02,0x02},/*"L",44*/
  69.     {0x00,0xFE,0x40,0x20,0x40,0xFE},/*"M",45*/
  70.     {0x00,0xFE,0x40,0x20,0x10,0xFE},/*"N",46*/
  71.     {0x00,0x7C,0x82,0x82,0x82,0x7C},/*"O",47*/
  72.     {0x00,0xFE,0x90,0x90,0x90,0x60},/*"P",48*/
  73.     {0x00,0x7C,0x82,0x8A,0x84,0x7A},/*"Q",49*/
  74.     {0x00,0xFE,0x90,0x90,0x98,0x66},/*"R",50*/
  75.     {0x00,0x64,0x92,0x92,0x92,0x4C},/*"S",51*/
  76.     {0x00,0x80,0x80,0xFE,0x80,0x80},/*"T",52*/
  77.     {0x00,0xFC,0x02,0x02,0x02,0xFC},/*"U",53*/
  78.     {0x00,0xF8,0x04,0x02,0x04,0xF8},/*"V",54*/
  79.     {0x00,0xFC,0x02,0x3C,0x02,0xFC},/*"W",55*/
  80.     {0x00,0xC6,0x28,0x10,0x28,0xC6},/*"X",56*/
  81.     {0x00,0xE0,0x10,0x0E,0x10,0xE0},/*"Y",57*/
  82.     {0x00,0x8E,0x92,0xA2,0xC2,0x00},/*"Z",58*/
  83.     {0x00,0x00,0xFE,0x82,0x82,0x00},/*"[",59*/
  84.     {0x00,0x40,0x20,0x10,0x08,0x04},/*"",60*/
  85.     {0x00,0x00,0x82,0x82,0xFE,0x00},/*"]",61*/
  86.     {0x00,0x20,0x40,0x80,0x40,0x20},/*"^",62*/
  87.     {0x01,0x01,0x01,0x01,0x01,0x01},/*"_",63*/
  88.     {0x00,0x00,0xC0,0xE0,0x00,0x00},/*"`",64*/
  89.     {0x00,0x04,0x2A,0x2A,0x2A,0x1E},/*"a",65*/
  90.     {0x00,0xFE,0x22,0x22,0x22,0x1C},/*"b",66*/
  91.     {0x00,0x1C,0x22,0x22,0x22,0x14},/*"c",67*/
  92.     {0x00,0x1C,0x22,0x22,0x22,0xFE},/*"d",68*/
  93.     {0x00,0x1C,0x2A,0x2A,0x2A,0x10},/*"e",69*/
  94.     {0x00,0x10,0x7E,0x90,0x90,0x00},/*"f",70*/
  95.     {0x00,0x18,0x25,0x25,0x25,0x3E},/*"g",71*/
  96.     {0x00,0xFE,0x20,0x20,0x1E,0x00},/*"h",72*/
  97.     {0x00,0x00,0x00,0xBE,0x02,0x00},/*"i",73*/
  98.     {0x00,0x02,0x01,0x21,0xBE,0x00},/*"j",74*/
  99.     {0x00,0xFE,0x08,0x14,0x22,0x00},/*"k",75*/
  100.     {0x00,0x00,0x00,0xFE,0x02,0x00},/*"l",76*/
  101.     {0x00,0x3E,0x20,0x18,0x20,0x1E},/*"m",77*/
  102.     {0x00,0x3E,0x20,0x20,0x1E,0x00},/*"n",78*/
  103.     {0x00,0x1C,0x22,0x22,0x22,0x1C},/*"o",79*/
  104.     {0x00,0x3F,0x22,0x22,0x22,0x1C},/*"p",80*/
  105.     {0x00,0x1C,0x22,0x22,0x22,0x3F},/*"q",81*/
  106.     {0x00,0x22,0x1E,0x22,0x20,0x10},/*"r",82*/
  107.     {0x00,0x10,0x2A,0x2A,0x2A,0x04},/*"s",83*/
  108.     {0x00,0x20,0x7C,0x22,0x24,0x00},/*"t",84*/
  109.     {0x00,0x3C,0x02,0x04,0x3E,0x00},/*"u",85*/
  110.     {0x00,0x38,0x04,0x02,0x04,0x38},/*"v",86*/
  111.     {0x00,0x3C,0x06,0x0C,0x06,0x3C},/*"w",87*/
  112.     {0x00,0x36,0x08,0x08,0x36,0x00},/*"x",88*/
  113.     {0x00,0x39,0x05,0x06,0x3C,0x00},/*"y",89*/
  114.     {0x00,0x26,0x2A,0x2A,0x32,0x00},/*"z",90*/
  115.     {0x00,0x10,0x7C,0x82,0x82,0x00},/*"{",91*/
  116.     {0x00,0x00,0x00,0xEE,0x00,0x00},/*"|",92*/
  117.     {0x00,0x00,0x82,0x82,0x7C,0x10},/*"}",93*/
  118.     {0x00,0x40,0x80,0x40,0x80,0x00},/*"~",94*/
  119. };

  120. //06*12==宽*高 ASCII字符集点阵 (宋体)
  121. const unsigned char asc2_0612[95][12]= {
  122.     {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
  123.     {0x00,0x00,0x00,0x00,0x3F,0x40,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/
  124.     {0x00,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x40,0x00,0x00,0x00},/*""",2*/
  125.     {0x09,0x00,0x0B,0xC0,0x3D,0x00,0x0B,0xC0,0x3D,0x00,0x09,0x00},/*"#",3*/
  126.     {0x18,0xC0,0x24,0x40,0x7F,0xE0,0x22,0x40,0x31,0x80,0x00,0x00},/*"$",4*/
  127.     {0x18,0x00,0x24,0xC0,0x1B,0x00,0x0D,0x80,0x32,0x40,0x01,0x80},/*"%",5*/
  128.     {0x03,0x80,0x1C,0x40,0x27,0x40,0x1C,0x80,0x07,0x40,0x00,0x40},/*"&",6*/
  129.     {0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
  130.     {0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x20,0x40,0x40,0x20},/*"(",8*/
  131.     {0x00,0x00,0x40,0x20,0x20,0x40,0x1F,0x80,0x00,0x00,0x00,0x00},/*")",9*/
  132.     {0x09,0x00,0x06,0x00,0x1F,0x80,0x06,0x00,0x09,0x00,0x00,0x00},/*"*",10*/
  133.     {0x04,0x00,0x04,0x00,0x3F,0x80,0x04,0x00,0x04,0x00,0x00,0x00},/*"+",11*/
  134.     {0x00,0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/
  135.     {0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00},/*"-",13*/
  136.     {0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
  137.     {0x00,0x20,0x01,0xC0,0x06,0x00,0x38,0x00,0x40,0x00,0x00,0x00},/*"/",15*/
  138.     {0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00},/*"0",16*/
  139.     {0x00,0x00,0x10,0x40,0x3F,0xC0,0x00,0x40,0x00,0x00,0x00,0x00},/*"1",17*/
  140.     {0x18,0xC0,0x21,0x40,0x22,0x40,0x24,0x40,0x18,0x40,0x00,0x00},/*"2",18*/
  141.     {0x10,0x80,0x20,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00},/*"3",19*/
  142.     {0x02,0x00,0x0D,0x00,0x11,0x00,0x3F,0xC0,0x01,0x40,0x00,0x00},/*"4",20*/
  143.     {0x3C,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x23,0x80,0x00,0x00},/*"5",21*/
  144.     {0x1F,0x80,0x24,0x40,0x24,0x40,0x34,0x40,0x03,0x80,0x00,0x00},/*"6",22*/
  145.     {0x30,0x00,0x20,0x00,0x27,0xC0,0x38,0x00,0x20,0x00,0x00,0x00},/*"7",23*/
  146.     {0x1B,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00},/*"8",24*/
  147.     {0x1C,0x00,0x22,0xC0,0x22,0x40,0x22,0x40,0x1F,0x80,0x00,0x00},/*"9",25*/
  148.     {0x00,0x00,0x00,0x00,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/
  149.     {0x00,0x00,0x00,0x00,0x04,0x60,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/
  150.     {0x00,0x00,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0x40,0x40},/*"<",28*/
  151.     {0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x00,0x00},/*"=",29*/
  152.     {0x00,0x00,0x40,0x40,0x20,0x80,0x11,0x00,0x0A,0x00,0x04,0x00},/*">",30*/
  153.     {0x18,0x00,0x20,0x00,0x23,0x40,0x24,0x00,0x18,0x00,0x00,0x00},/*"?",31*/
  154.     {0x1F,0x80,0x20,0x40,0x27,0x40,0x29,0x40,0x1F,0x40,0x00,0x00},/*"@",32*/
  155.     {0x00,0x40,0x07,0xC0,0x39,0x00,0x0F,0x00,0x01,0xC0,0x00,0x40},/*"A",33*/
  156.     {0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00},/*"B",34*/
  157.     {0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x30,0x80,0x00,0x00},/*"C",35*/
  158.     {0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00},/*"D",36*/
  159.     {0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x40,0x30,0xC0,0x00,0x00},/*"E",37*/
  160.     {0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x00,0x30,0x00,0x00,0x00},/*"F",38*/
  161.     {0x0F,0x00,0x10,0x80,0x20,0x40,0x22,0x40,0x33,0x80,0x02,0x00},/*"G",39*/
  162.     {0x20,0x40,0x3F,0xC0,0x04,0x00,0x04,0x00,0x3F,0xC0,0x20,0x40},/*"H",40*/
  163.     {0x20,0x40,0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x00,0x00},/*"I",41*/
  164.     {0x00,0x60,0x20,0x20,0x20,0x20,0x3F,0xC0,0x20,0x00,0x20,0x00},/*"J",42*/
  165.     {0x20,0x40,0x3F,0xC0,0x24,0x40,0x0B,0x00,0x30,0xC0,0x20,0x40},/*"K",43*/
  166.     {0x20,0x40,0x3F,0xC0,0x20,0x40,0x00,0x40,0x00,0x40,0x00,0xC0},/*"L",44*/
  167.     {0x3F,0xC0,0x3C,0x00,0x03,0xC0,0x3C,0x00,0x3F,0xC0,0x00,0x00},/*"M",45*/
  168.     {0x20,0x40,0x3F,0xC0,0x0C,0x40,0x23,0x00,0x3F,0xC0,0x20,0x00},/*"N",46*/
  169.     {0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00},/*"O",47*/
  170.     {0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x00,0x18,0x00,0x00,0x00},/*"P",48*/
  171.     {0x1F,0x80,0x21,0x40,0x21,0x40,0x20,0xE0,0x1F,0xA0,0x00,0x00},/*"Q",49*/
  172.     {0x20,0x40,0x3F,0xC0,0x24,0x40,0x26,0x00,0x19,0xC0,0x00,0x40},/*"R",50*/
  173.     {0x18,0xC0,0x24,0x40,0x24,0x40,0x22,0x40,0x31,0x80,0x00,0x00},/*"S",51*/
  174.     {0x30,0x00,0x20,0x40,0x3F,0xC0,0x20,0x40,0x30,0x00,0x00,0x00},/*"T",52*/
  175.     {0x20,0x00,0x3F,0x80,0x00,0x40,0x00,0x40,0x3F,0x80,0x20,0x00},/*"U",53*/
  176.     {0x20,0x00,0x3E,0x00,0x01,0xC0,0x07,0x00,0x38,0x00,0x20,0x00},/*"V",54*/
  177.     {0x38,0x00,0x07,0xC0,0x3C,0x00,0x07,0xC0,0x38,0x00,0x00,0x00},/*"W",55*/
  178.     {0x20,0x40,0x39,0xC0,0x06,0x00,0x39,0xC0,0x20,0x40,0x00,0x00},/*"X",56*/
  179.     {0x20,0x00,0x38,0x40,0x07,0xC0,0x38,0x40,0x20,0x00,0x00,0x00},/*"Y",57*/
  180.     {0x30,0x40,0x21,0xC0,0x26,0x40,0x38,0x40,0x20,0xC0,0x00,0x00},/*"Z",58*/
  181.     {0x00,0x00,0x00,0x00,0x7F,0xE0,0x40,0x20,0x40,0x20,0x00,0x00},/*"[",59*/
  182.     {0x00,0x00,0x70,0x00,0x0C,0x00,0x03,0x80,0x00,0x40,0x00,0x00},/*"",60*/
  183.     {0x00,0x00,0x40,0x20,0x40,0x20,0x7F,0xE0,0x00,0x00,0x00,0x00},/*"]",61*/
  184.     {0x00,0x00,0x20,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
  185.     {0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10},/*"_",63*/
  186.     {0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
  187.     {0x00,0x00,0x02,0x80,0x05,0x40,0x05,0x40,0x03,0xC0,0x00,0x40},/*"a",65*/
  188.     {0x20,0x00,0x3F,0xC0,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00},/*"b",66*/
  189.     {0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x06,0x40,0x00,0x00},/*"c",67*/
  190.     {0x00,0x00,0x03,0x80,0x04,0x40,0x24,0x40,0x3F,0xC0,0x00,0x40},/*"d",68*/
  191.     {0x00,0x00,0x03,0x80,0x05,0x40,0x05,0x40,0x03,0x40,0x00,0x00},/*"e",69*/
  192.     {0x00,0x00,0x04,0x40,0x1F,0xC0,0x24,0x40,0x24,0x40,0x20,0x00},/*"f",70*/
  193.     {0x00,0x00,0x02,0xE0,0x05,0x50,0x05,0x50,0x06,0x50,0x04,0x20},/*"g",71*/
  194.     {0x20,0x40,0x3F,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40},/*"h",72*/
  195.     {0x00,0x00,0x04,0x40,0x27,0xC0,0x00,0x40,0x00,0x00,0x00,0x00},/*"i",73*/
  196.     {0x00,0x10,0x00,0x10,0x04,0x10,0x27,0xE0,0x00,0x00,0x00,0x00},/*"j",74*/
  197.     {0x20,0x40,0x3F,0xC0,0x01,0x40,0x07,0x00,0x04,0xC0,0x04,0x40},/*"k",75*/
  198.     {0x20,0x40,0x20,0x40,0x3F,0xC0,0x00,0x40,0x00,0x40,0x00,0x00},/*"l",76*/
  199.     {0x07,0xC0,0x04,0x00,0x07,0xC0,0x04,0x00,0x03,0xC0,0x00,0x00},/*"m",77*/
  200.     {0x04,0x40,0x07,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40},/*"n",78*/
  201.     {0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00},/*"o",79*/
  202.     {0x04,0x10,0x07,0xF0,0x04,0x50,0x04,0x40,0x03,0x80,0x00,0x00},/*"p",80*/
  203.     {0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x50,0x07,0xF0,0x00,0x10},/*"q",81*/
  204.     {0x04,0x40,0x07,0xC0,0x02,0x40,0x04,0x00,0x04,0x00,0x00,0x00},/*"r",82*/
  205.     {0x00,0x00,0x06,0x40,0x05,0x40,0x05,0x40,0x04,0xC0,0x00,0x00},/*"s",83*/
  206.     {0x00,0x00,0x04,0x00,0x1F,0x80,0x04,0x40,0x00,0x40,0x00,0x00},/*"t",84*/
  207.     {0x04,0x00,0x07,0x80,0x00,0x40,0x04,0x40,0x07,0xC0,0x00,0x40},/*"u",85*/
  208.     {0x04,0x00,0x07,0x00,0x04,0xC0,0x01,0x80,0x06,0x00,0x04,0x00},/*"v",86*/
  209.     {0x06,0x00,0x01,0xC0,0x07,0x00,0x01,0xC0,0x06,0x00,0x00,0x00},/*"w",87*/
  210.     {0x04,0x40,0x06,0xC0,0x01,0x00,0x06,0xC0,0x04,0x40,0x00,0x00},/*"x",88*/
  211.     {0x04,0x10,0x07,0x10,0x04,0xE0,0x01,0x80,0x06,0x00,0x04,0x00},/*"y",89*/
  212.     {0x00,0x00,0x04,0x40,0x05,0xC0,0x06,0x40,0x04,0x40,0x00,0x00},/*"z",90*/
  213.     {0x00,0x00,0x00,0x00,0x04,0x00,0x7B,0xE0,0x40,0x20,0x00,0x00},/*"{",91*/
  214.     {0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0x00,0x00,0x00,0x00},/*"|",92*/
  215.     {0x00,0x00,0x40,0x20,0x7B,0xE0,0x04,0x00,0x00,0x00,0x00,0x00},/*"}",93*/
  216.     {0x40,0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x40,0x00},/*"~",94*/
  217. };

  218. const unsigned char asc2_0816[95][16]= {
  219.     {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/

  220.     {0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/

  221.     {0x00,0x00,0x08,0x00,0x30,0x00,0x40,0x00,0x08,0x00,0x30,0x00,0x40,0x00,0x00,0x00},/*""",2*/

  222.     {0x00,0x00,0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x03,0xFC,0x1E,0x20,0x00,0x00},/*"#",3*/

  223.     {0x00,0x00,0x0E,0x18,0x11,0x04,0x11,0x04,0x3F,0xFF,0x10,0x84,0x0C,0x78,0x00,0x00},/*"$",4*/

  224.     {0x0F,0x00,0x10,0x8C,0x0F,0x30,0x01,0xC0,0x06,0x78,0x18,0x84,0x00,0x78,0x00,0x00},/*"%",5*/

  225.     {0x00,0x78,0x0F,0x84,0x10,0xC4,0x11,0x34,0x0E,0x98,0x00,0xE4,0x00,0x84,0x00,0x08},/*"&",6*/

  226.     {0x00,0x00,0x48,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/

  227.     {0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x18,0x18,0x20,0x04,0x40,0x02,0x00,0x00},/*"(",8*/

  228.     {0x00,0x00,0x40,0x02,0x20,0x04,0x18,0x18,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/

  229.     {0x02,0x40,0x02,0x40,0x01,0x80,0x0F,0xF0,0x01,0x80,0x02,0x40,0x02,0x40,0x00,0x00},/*"*",10*/

  230.     {0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x07,0xF0,0x00,0x80,0x00,0x80,0x00,0x80},/*"+",11*/

  231.     {0x00,0x00,0x00,0x09,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/

  232.     {0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00},/*"-",13*/

  233.     {0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/

  234.     {0x00,0x00,0x00,0x06,0x00,0x18,0x00,0xE0,0x03,0x00,0x1C,0x00,0x20,0x00,0x00,0x00},/*"/",15*/

  235.     {0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"0",16*/

  236.     {0x00,0x00,0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00},/*"1",17*/

  237.     {0x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x10,0x84,0x0F,0x0C,0x00,0x00},/*"2",18*/

  238.     {0x00,0x00,0x0C,0x18,0x10,0x04,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00},/*"3",19*/

  239.     {0x00,0x00,0x00,0x60,0x01,0xA0,0x02,0x24,0x0C,0x24,0x1F,0xFC,0x00,0x24,0x00,0x24},/*"4",20*/

  240.     {0x00,0x00,0x1F,0x98,0x11,0x04,0x11,0x04,0x11,0x04,0x10,0x88,0x10,0x70,0x00,0x00},/*"5",21*/

  241.     {0x00,0x00,0x07,0xF0,0x08,0x88,0x11,0x04,0x11,0x04,0x09,0x04,0x00,0xF8,0x00,0x00},/*"6",22*/

  242.     {0x00,0x00,0x18,0x00,0x10,0x00,0x10,0x7C,0x11,0x80,0x16,0x00,0x18,0x00,0x00,0x00},/*"7",23*/

  243.     {0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00},/*"8",24*/

  244.     {0x00,0x00,0x0F,0x80,0x10,0x48,0x10,0x44,0x10,0x44,0x08,0x88,0x07,0xF0,0x00,0x00},/*"9",25*/

  245.     {0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/

  246.     {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/

  247.     {0x00,0x00,0x00,0x80,0x01,0x40,0x02,0x20,0x04,0x10,0x08,0x08,0x10,0x04,0x00,0x00},/*"<",28*/

  248.     {0x00,0x00,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x02,0x40,0x00,0x00},/*"=",29*/

  249.     {0x00,0x00,0x10,0x04,0x08,0x08,0x04,0x10,0x02,0x20,0x01,0x40,0x00,0x80,0x00,0x00},/*">",30*/

  250.     {0x00,0x00,0x0E,0x00,0x12,0x00,0x10,0x0C,0x10,0xEC,0x11,0x00,0x0E,0x00,0x00,0x00},/*"?",31*/

  251.     {0x03,0xE0,0x0C,0x18,0x13,0xE4,0x14,0x14,0x17,0xF4,0x08,0x14,0x07,0xE8,0x00,0x00},/*"@",32*/

  252.     {0x00,0x04,0x00,0x3C,0x03,0xC4,0x1C,0x40,0x07,0x40,0x00,0xE4,0x00,0x1C,0x00,0x04},/*"A",33*/

  253.     {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x11,0x04,0x0E,0x88,0x00,0x70,0x00,0x00},/*"B",34*/

  254.     {0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x1C,0x10,0x00,0x00},/*"C",35*/

  255.     {0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"D",36*/

  256.     {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x17,0xC4,0x10,0x04,0x08,0x18,0x00,0x00},/*"E",37*/

  257.     {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x17,0xC0,0x10,0x00,0x08,0x00,0x00,0x00},/*"F",38*/

  258.     {0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x44,0x1C,0x78,0x00,0x40,0x00,0x00},/*"G",39*/

  259.     {0x10,0x04,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x10,0x84,0x1F,0xFC,0x10,0x04},/*"H",40*/

  260.     {0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x00,0x00,0x00,0x00},/*"I",41*/

  261.     {0x00,0x03,0x00,0x01,0x10,0x01,0x10,0x01,0x1F,0xFE,0x10,0x00,0x10,0x00,0x00,0x00},/*"J",42*/

  262.     {0x10,0x04,0x1F,0xFC,0x11,0x04,0x03,0x80,0x14,0x64,0x18,0x1C,0x10,0x04,0x00,0x00},/*"K",43*/

  263.     {0x10,0x04,0x1F,0xFC,0x10,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00,0x00},/*"L",44*/

  264.     {0x10,0x04,0x1F,0xFC,0x1F,0x80,0x00,0x7C,0x1F,0x80,0x1F,0xFC,0x10,0x04,0x00,0x00},/*"M",45*/

  265.     {0x10,0x04,0x1F,0xFC,0x0C,0x04,0x03,0x00,0x00,0xE0,0x10,0x18,0x1F,0xFC,0x10,0x00},/*"N",46*/

  266.     {0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"O",47*/

  267.     {0x10,0x04,0x1F,0xFC,0x10,0x84,0x10,0x80,0x10,0x80,0x10,0x80,0x0F,0x00,0x00,0x00},/*"P",48*/

  268.     {0x07,0xF0,0x08,0x08,0x10,0x14,0x10,0x14,0x10,0x0C,0x08,0x0A,0x07,0xF2,0x00,0x00},/*"Q",49*/

  269.     {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x11,0xC0,0x11,0x30,0x0E,0x0C,0x00,0x04},/*"R",50*/

  270.     {0x00,0x00,0x0E,0x1C,0x11,0x04,0x10,0x84,0x10,0x84,0x10,0x44,0x1C,0x38,0x00,0x00},/*"S",51*/

  271.     {0x18,0x00,0x10,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x00,0x18,0x00,0x00,0x00},/*"T",52*/

  272.     {0x10,0x00,0x1F,0xF8,0x10,0x04,0x00,0x04,0x00,0x04,0x10,0x04,0x1F,0xF8,0x10,0x00},/*"U",53*/

  273.     {0x10,0x00,0x1E,0x00,0x11,0xE0,0x00,0x1C,0x00,0x70,0x13,0x80,0x1C,0x00,0x10,0x00},/*"V",54*/

  274.     {0x10,0x00,0x1F,0xC0,0x00,0x7C,0x1F,0x80,0x00,0x7C,0x1F,0xC0,0x10,0x00,0x00,0x00},/*"W",55*/

  275.     {0x10,0x04,0x18,0x0C,0x16,0x34,0x01,0xC0,0x01,0xC0,0x16,0x34,0x18,0x0C,0x10,0x04},/*"X",56*/

  276.     {0x10,0x00,0x1C,0x00,0x13,0x04,0x00,0xFC,0x13,0x04,0x1C,0x00,0x10,0x00,0x00,0x00},/*"Y",57*/

  277.     {0x08,0x04,0x10,0x1C,0x10,0x64,0x10,0x84,0x13,0x04,0x1C,0x04,0x10,0x18,0x00,0x00},/*"Z",58*/

  278.     {0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x40,0x02,0x40,0x02,0x40,0x02,0x00,0x00},/*"[",59*/

  279.     {0x00,0x00,0x20,0x00,0x1C,0x00,0x03,0x80,0x00,0x60,0x00,0x1C,0x00,0x03,0x00,0x00},/*"",60*/

  280.     {0x00,0x00,0x40,0x02,0x40,0x02,0x40,0x02,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00},/*"]",61*/

  281.     {0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00},/*"^",62*/

  282.     {0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01},/*"_",63*/

  283.     {0x00,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/

  284.     {0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x24,0x01,0x48,0x00,0xFC,0x00,0x04,0x00,0x00},/*"a",65*/

  285.     {0x08,0x00,0x0F,0xFC,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/*"b",66*/

  286.     {0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x00},/*"c",67*/

  287.     {0x00,0x00,0x00,0xF8,0x01,0x04,0x01,0x04,0x01,0x04,0x09,0x08,0x0F,0xFC,0x00,0x04},/*"d",68*/

  288.     {0x00,0x00,0x00,0xF8,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x24,0x00,0xE8,0x00,0x00},/*"e",69*/

  289.     {0x00,0x00,0x01,0x04,0x01,0x04,0x07,0xFC,0x09,0x04,0x09,0x04,0x04,0x00,0x00,0x00},/*"f",70*/

  290.     {0x00,0x00,0x00,0xD6,0x01,0x29,0x01,0x29,0x01,0x29,0x01,0xC9,0x01,0x06,0x00,0x00},/*"g",71*/

  291.     {0x08,0x04,0x0F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/*"h",72*/

  292.     {0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"i",73*/

  293.     {0x00,0x00,0x00,0x03,0x00,0x01,0x01,0x01,0x19,0x01,0x19,0xFE,0x00,0x00,0x00,0x00},/*"j",74*/

  294.     {0x08,0x04,0x0F,0xFC,0x00,0x24,0x00,0x60,0x01,0x94,0x01,0x0C,0x01,0x04,0x00,0x00},/*"k",75*/

  295.     {0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"l",76*/

  296.     {0x01,0x04,0x01,0xFC,0x01,0x04,0x01,0x00,0x01,0xFC,0x01,0x04,0x01,0x00,0x00,0xFC},/*"m",77*/

  297.     {0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/*"n",78*/

  298.     {0x00,0x00,0x00,0xF8,0x01,0x04,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0xF8,0x00,0x00},/*"o",79*/

  299.     {0x01,0x01,0x01,0xFF,0x00,0x89,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/*"p",80*/

  300.     {0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x89,0x01,0xFF,0x00,0x01},/*"q",81*/

  301.     {0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00},/*"r",82*/

  302.     {0x00,0x00,0x00,0xCC,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x98,0x00,0x00},/*"s",83*/

  303.     {0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,0x01,0x04,0x01,0x04,0x00,0x08,0x00,0x00},/*"t",84*/

  304.     {0x01,0x00,0x01,0xF8,0x00,0x04,0x00,0x04,0x00,0x04,0x01,0x08,0x01,0xFC,0x00,0x04},/*"u",85*/

  305.     {0x01,0x00,0x01,0xC0,0x01,0x30,0x00,0x0C,0x01,0x30,0x01,0xC0,0x01,0x00,0x00,0x00},/*"v",86*/

  306.     {0x01,0x80,0x01,0x70,0x00,0x0C,0x01,0x30,0x01,0xE0,0x00,0x1C,0x01,0x60,0x01,0x80},/*"w",87*/

  307.     {0x00,0x00,0x01,0x04,0x01,0x8C,0x01,0x70,0x00,0x74,0x01,0x8C,0x01,0x04,0x00,0x00},/*"x",88*/

  308.     {0x01,0x00,0x01,0x81,0x01,0x61,0x00,0x1E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00},/*"y",89*/

  309.     {0x00,0x00,0x01,0x84,0x01,0x0C,0x01,0x34,0x01,0x44,0x01,0x84,0x01,0x0C,0x00,0x00},/*"z",90*/

  310.     {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x3F,0x7C,0x40,0x02,0x40,0x02},/*"{",91*/

  311.     {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},/*"|",92*/

  312.     {0x40,0x02,0x40,0x02,0x3F,0x7C,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00} /*"}",93*/

  313. };
  314. //12*24==宽*高 ASCII字符集点阵 (宋体)
  315. const unsigned char asc2_1224[95][36]= {
  316.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  317.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
  318.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x38,
  319.     0x0F,0xFE,0x38,0x0F,0x80,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",1*/
  320.     0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x06,0x00,0x00,0x0C,0x00,0x00,0x38,0x00,0x00,
  321.     0x31,0x00,0x00,0x06,0x00,0x00,0x0C,0x00,0x00,0x38,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,/*""",2*/
  322.     0x00,0x00,0x00,0x00,0x61,0x80,0x00,0x67,0xF8,0x07,0xF9,0x80,0x00,0x61,0x80,0x00,0x61,0x80,
  323.     0x00,0x61,0x80,0x00,0x61,0x80,0x00,0x67,0xF8,0x07,0xF9,0x80,0x00,0x61,0x80,0x00,0x00,0x00,/*"#",3*/
  324.     0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0xE0,0x03,0xE0,0xF0,0x06,0x30,0x08,0x04,0x18,0x08,
  325.     0x1F,0xFF,0xFE,0x04,0x0E,0x08,0x07,0x87,0xF0,0x03,0x81,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,/*"$",4*/
  326.     0x01,0xF0,0x00,0x06,0x0C,0x00,0x04,0x04,0x08,0x06,0x0C,0x70,0x01,0xF9,0xC0,0x00,0x0E,0x00,
  327.     0x00,0x3B,0xE0,0x00,0xEC,0x18,0x07,0x08,0x08,0x04,0x0C,0x18,0x00,0x03,0xE0,0x00,0x00,0x00,/*"%",5*/
  328.     0x00,0x01,0xE0,0x00,0x07,0xF0,0x03,0xF8,0x18,0x04,0x1C,0x08,0x04,0x17,0x08,0x07,0xE1,0xD0,
  329.     0x03,0xC0,0xE0,0x00,0x23,0xB0,0x00,0x3C,0x08,0x00,0x20,0x08,0x00,0x00,0x10,0x00,0x00,0x00,/*"&",6*/
  330.     0x00,0x00,0x00,0x01,0x00,0x00,0x31,0x00,0x00,0x32,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,
  331.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"'",7*/
  332.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,
  333.     0x01,0xFF,0xC0,0x07,0x80,0xF0,0x0C,0x00,0x18,0x10,0x00,0x04,0x20,0x00,0x02,0x00,0x00,0x00,/*"(",8*/
  334.     0x00,0x00,0x00,0x20,0x00,0x02,0x10,0x00,0x04,0x0C,0x00,0x18,0x07,0x80,0xF0,0x01,0xFF,0xC0,
  335.     0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*")",9*/
  336.     0x00,0x00,0x00,0x00,0x42,0x00,0x00,0x66,0x00,0x00,0x66,0x00,0x00,0x3C,0x00,0x00,0x18,0x00,
  337.     0x03,0xFF,0xC0,0x00,0x18,0x00,0x00,0x3C,0x00,0x00,0x66,0x00,0x00,0x66,0x00,0x00,0x42,0x00,/*"*",10*/
  338.     0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,
  339.     0x01,0xFF,0xC0,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,/*"+",11*/
  340.     0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x31,0x00,0x00,0x32,0x00,0x00,0x1C,0x00,0x00,0x00,
  341.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*",",12*/
  342.     0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,
  343.     0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,/*"-",13*/
  344.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,
  345.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*".",14*/
  346.     0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x1C,0x00,0x00,0x70,0x00,0x01,0x80,0x00,0x0E,0x00,
  347.     0x00,0x38,0x00,0x00,0xC0,0x00,0x07,0x00,0x00,0x1C,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,/*"/",15*/
  348.     0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x18,0x04,0x00,0x08,
  349.     0x04,0x00,0x08,0x06,0x00,0x18,0x03,0x80,0x70,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00,/*"0",16*/
  350.     0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x08,0x03,0xFF,0xF8,
  351.     0x07,0xFF,0xF8,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,/*"1",17*/
  352.     0x00,0x00,0x00,0x01,0xC0,0x38,0x02,0xC0,0x58,0x04,0x00,0x98,0x04,0x01,0x18,0x04,0x02,0x18,
  353.     0x04,0x04,0x18,0x06,0x1C,0x18,0x03,0xF8,0x18,0x01,0xE0,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,/*"2",18*/
  354.     0x00,0x00,0x00,0x01,0xC0,0xE0,0x03,0xC0,0xF0,0x04,0x00,0x08,0x04,0x08,0x08,0x04,0x08,0x08,
  355.     0x06,0x18,0x08,0x03,0xF4,0x18,0x01,0xE7,0xF0,0x00,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,/*"3",19*/
  356.     0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x0D,0x00,0x00,0x11,0x00,0x00,0x61,0x00,0x00,0x81,0x08,
  357.     0x03,0x01,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x01,0x08,0x00,0x01,0x08,0x00,0x00,0x00,/*"4",20*/
  358.     0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0xFC,0xD0,0x06,0x08,0x08,0x06,0x10,0x08,0x06,0x10,0x08,
  359.     0x06,0x10,0x08,0x06,0x18,0x38,0x06,0x0F,0xF0,0x06,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,/*"5",21*/
  360.     0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFF,0xE0,0x03,0x84,0x30,0x02,0x08,0x18,0x04,0x10,0x08,
  361.     0x04,0x10,0x08,0x04,0x10,0x08,0x07,0x18,0x10,0x03,0x0F,0xF0,0x00,0x07,0xC0,0x00,0x00,0x00,/*"6",22*/
  362.     0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x07,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0xF8,
  363.     0x06,0x07,0xF8,0x06,0x18,0x00,0x06,0xE0,0x00,0x07,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,/*"7",23*/
  364.     0x00,0x00,0x00,0x01,0xE1,0xE0,0x03,0xF7,0xF0,0x06,0x34,0x10,0x04,0x18,0x08,0x04,0x18,0x08,
  365.     0x04,0x0C,0x08,0x04,0x0C,0x08,0x06,0x16,0x18,0x03,0xF3,0xF0,0x01,0xC1,0xE0,0x00,0x00,0x00,/*"8",24*/
  366.     0x00,0x00,0x00,0x00,0xF8,0x00,0x03,0xFC,0x30,0x03,0x06,0x38,0x04,0x02,0x08,0x04,0x02,0x08,
  367.     0x04,0x02,0x08,0x04,0x04,0x10,0x03,0x08,0xF0,0x01,0xFF,0xC0,0x00,0x7F,0x00,0x00,0x00,0x00,/*"9",25*/
  368.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x38,
  369.     0x00,0x70,0x38,0x00,0x70,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",26*/
  370.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x1A,
  371.     0x00,0x30,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*";",27*/
  372.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x14,0x00,0x00,0x22,0x00,0x00,0x41,0x00,
  373.     0x00,0x80,0x80,0x01,0x00,0x40,0x02,0x00,0x20,0x04,0x00,0x10,0x08,0x00,0x08,0x00,0x00,0x00,/*"<",28*/
  374.     0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,
  375.     0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x00,0x00,/*"=",29*/
  376.     0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x04,0x00,0x10,0x02,0x00,0x20,0x01,0x00,0x40,
  377.     0x00,0x80,0x80,0x00,0x41,0x00,0x00,0x22,0x00,0x00,0x14,0x00,0x00,0x08,0x00,0x00,0x00,0x00,/*">",30*/
  378.     0x00,0x00,0x00,0x03,0xC0,0x00,0x04,0xC0,0x00,0x04,0x00,0x00,0x08,0x00,0x38,0x08,0x0F,0x38,
  379.     0x08,0x08,0x38,0x08,0x10,0x00,0x0C,0x30,0x00,0x07,0xE0,0x00,0x03,0xC0,0x00,0x00,0x00,0x00,/*"?",31*/
  380.     0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0xFF,0xE0,0x03,0x80,0x70,0x02,0x0F,0x10,0x06,0x70,0x88,
  381.     0x04,0xC0,0x88,0x04,0x83,0x08,0x04,0x7F,0x88,0x02,0xC0,0x90,0x03,0x01,0x20,0x00,0xFE,0x40,/*"@",32*/
  382.     0x00,0x00,0x08,0x00,0x00,0x18,0x00,0x01,0xF8,0x00,0x3E,0x08,0x01,0xC2,0x00,0x07,0x02,0x00,
  383.     0x07,0xE2,0x00,0x00,0xFE,0x00,0x00,0x1F,0xC8,0x00,0x01,0xF8,0x00,0x00,0x38,0x00,0x00,0x08,/*"A",33*/
  384.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,
  385.     0x04,0x08,0x08,0x06,0x18,0x08,0x03,0xF4,0x18,0x01,0xE7,0xF0,0x00,0x01,0xE0,0x00,0x00,0x00,/*"B",34*/
  386.     0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x02,0x00,0x18,0x04,0x00,0x08,
  387.     0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x10,0x06,0x00,0x20,0x07,0x80,0xC0,0x00,0x00,0x00,/*"C",35*/
  388.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,
  389.     0x04,0x00,0x18,0x02,0x00,0x10,0x03,0x80,0x70,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00,/*"D",36*/
  390.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,
  391.     0x04,0x08,0x08,0x04,0x3E,0x08,0x04,0x00,0x08,0x06,0x00,0x18,0x01,0x00,0x60,0x00,0x00,0x00,/*"E",37*/
  392.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x00,0x04,0x08,0x00,
  393.     0x04,0x08,0x00,0x04,0x3E,0x00,0x06,0x00,0x00,0x06,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00,/*"F",38*/
  394.     0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x18,0x04,0x00,0x08,
  395.     0x04,0x02,0x08,0x04,0x02,0x08,0x02,0x03,0xF0,0x07,0x83,0xF0,0x00,0x02,0x00,0x00,0x02,0x00,/*"G",39*/
  396.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x00,0x08,0x00,0x00,0x08,0x00,
  397.     0x00,0x08,0x00,0x00,0x08,0x00,0x04,0x08,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,/*"H",40*/
  398.     0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x07,0xFF,0xF8,
  399.     0x07,0xFF,0xF8,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,/*"I",41*/
  400.     0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x07,0x00,0x00,0x01,0x04,0x00,0x01,0x04,0x00,0x01,
  401.     0x04,0x00,0x03,0x07,0xFF,0xFE,0x07,0xFF,0xFC,0x04,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,/*"J",42*/
  402.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x0C,0x08,0x00,0x18,0x00,0x00,0x3E,0x00,
  403.     0x04,0xC7,0x80,0x05,0x03,0xC8,0x06,0x00,0xF8,0x04,0x00,0x38,0x04,0x00,0x18,0x00,0x00,0x08,/*"K",43*/
  404.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,
  405.     0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x18,0x00,0x00,0x60,0x00,0x00,0x00,/*"L",44*/
  406.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0x80,0x08,0x07,0xFC,0x00,0x00,0x7F,0xC0,0x00,0x03,0xF8,
  407.     0x00,0x07,0xC0,0x00,0x78,0x00,0x07,0x80,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,/*"M",45*/
  408.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0x00,0x08,0x03,0xC0,0x00,0x00,0xE0,0x00,0x00,0x38,0x00,
  409.     0x00,0x1E,0x00,0x00,0x07,0x00,0x00,0x01,0xC0,0x04,0x00,0xF0,0x07,0xFF,0xF8,0x04,0x00,0x00,/*"N",46*/
  410.     0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x18,0x04,0x00,0x08,
  411.     0x04,0x00,0x08,0x06,0x00,0x18,0x03,0x00,0x30,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00,/*"O",47*/
  412.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x04,0x08,0x04,0x04,0x00,0x04,0x04,0x00,
  413.     0x04,0x04,0x00,0x04,0x04,0x00,0x06,0x0C,0x00,0x03,0xF8,0x00,0x01,0xF0,0x00,0x00,0x00,0x00,/*"P",48*/
  414.     0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x88,0x04,0x00,0x88,
  415.     0x04,0x00,0xC8,0x06,0x00,0x3C,0x03,0x00,0x3E,0x01,0xFF,0xE6,0x00,0x7F,0x84,0x00,0x00,0x00,/*"Q",49*/
  416.     0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x00,0x04,0x0C,0x00,
  417.     0x04,0x0F,0x00,0x04,0x0B,0xC0,0x06,0x10,0xF0,0x03,0xF0,0x38,0x01,0xE0,0x08,0x00,0x00,0x08,/*"R",50*/
  418.     0x00,0x00,0x00,0x01,0xE0,0xF8,0x03,0xF0,0x30,0x06,0x30,0x10,0x04,0x18,0x08,0x04,0x18,0x08,
  419.     0x04,0x0C,0x08,0x04,0x0C,0x08,0x02,0x06,0x18,0x02,0x07,0xF0,0x07,0x81,0xE0,0x00,0x00,0x00,/*"S",51*/
  420.     0x01,0x80,0x00,0x06,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x08,0x07,0xFF,0xF8,
  421.     0x07,0xFF,0xF8,0x04,0x00,0x08,0x04,0x00,0x00,0x04,0x00,0x00,0x06,0x00,0x00,0x01,0x80,0x00,/*"T",52*/
  422.     0x04,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xF0,0x04,0x00,0x18,0x00,0x00,0x08,0x00,0x00,0x08,
  423.     0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x04,0x00,0x10,0x07,0xFF,0xE0,0x04,0x00,0x00,/*"U",53*/
  424.     0x04,0x00,0x00,0x06,0x00,0x00,0x07,0xE0,0x00,0x07,0xFE,0x00,0x04,0x1F,0xE0,0x00,0x01,0xF8,
  425.     0x00,0x00,0x38,0x00,0x01,0xE0,0x04,0x3E,0x00,0x07,0xC0,0x00,0x06,0x00,0x00,0x04,0x00,0x00,/*"V",54*/
  426.     0x04,0x00,0x00,0x07,0xE0,0x00,0x07,0xFF,0xC0,0x04,0x1F,0xF8,0x00,0x07,0xC0,0x07,0xF8,0x00,
  427.     0x07,0xFF,0x80,0x04,0x3F,0xF8,0x00,0x07,0xC0,0x04,0xF8,0x00,0x07,0x00,0x00,0x04,0x00,0x00,/*"W",55*/
  428.     0x00,0x00,0x00,0x04,0x00,0x08,0x06,0x00,0x18,0x07,0xC0,0x78,0x05,0xF1,0xC8,0x00,0x3E,0x00,
  429.     0x00,0x1F,0x80,0x04,0x63,0xE8,0x07,0x80,0xF8,0x06,0x00,0x18,0x04,0x00,0x08,0x00,0x00,0x00,/*"X",56*/
  430.     0x04,0x00,0x00,0x06,0x00,0x00,0x07,0x80,0x00,0x07,0xE0,0x08,0x04,0x7C,0x08,0x00,0x1F,0xF8,
  431.     0x00,0x07,0xF8,0x00,0x18,0x08,0x04,0xE0,0x08,0x07,0x00,0x00,0x06,0x00,0x00,0x04,0x00,0x00,/*"Y",57*/
  432.     0x00,0x00,0x00,0x01,0x00,0x08,0x06,0x00,0x38,0x04,0x00,0xF8,0x04,0x03,0xE8,0x04,0x0F,0x08,
  433.     0x04,0x7C,0x08,0x05,0xF0,0x08,0x07,0xC0,0x08,0x07,0x00,0x18,0x04,0x00,0x60,0x00,0x00,0x00,/*"Z",58*/
  434.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFE,
  435.     0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x00,0x00,0x00,/*"[",59*/
  436.     0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x07,0x00,0x00,0x00,0xC0,0x00,0x00,0x38,0x00,
  437.     0x00,0x06,0x00,0x00,0x01,0xC0,0x00,0x00,0x30,0x00,0x00,0x0E,0x00,0x00,0x01,0x00,0x00,0x00,/*"",60*/
  438.     0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,
  439.     0x20,0x00,0x02,0x3F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"]",61*/
  440.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x00,0x30,0x00,0x00,
  441.     0x20,0x00,0x00,0x30,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"^",62*/
  442.     0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,
  443.     0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,/*"_",63*/
  444.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x10,0x00,0x00,
  445.     0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"`",64*/
  446.     0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x19,0xF8,0x00,0x1B,0x18,0x00,0x22,0x08,0x00,0x26,0x08,
  447.     0x00,0x24,0x08,0x00,0x24,0x10,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0x08,0x00,0x00,0x18,/*"a",65*/
  448.     0x00,0x00,0x00,0x04,0x00,0x00,0x07,0xFF,0xF8,0x0F,0xFF,0xF0,0x00,0x18,0x18,0x00,0x10,0x08,
  449.     0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x30,0x18,0x00,0x1F,0xF0,0x00,0x0F,0xC0,0x00,0x00,0x00,/*"b",66*/
  450.     0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x18,0x30,0x00,0x20,0x08,0x00,0x20,0x08,
  451.     0x00,0x20,0x08,0x00,0x3C,0x08,0x00,0x1C,0x10,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,/*"c",67*/
  452.     0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x38,0x18,0x00,0x20,0x08,0x00,0x20,0x08,
  453.     0x00,0x20,0x08,0x04,0x10,0x10,0x07,0xFF,0xF8,0x0F,0xFF,0xF0,0x00,0x00,0x10,0x00,0x00,0x00,/*"d",68*/
  454.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x12,0x30,0x00,0x22,0x18,
  455.     0x00,0x22,0x08,0x00,0x22,0x08,0x00,0x32,0x08,0x00,0x1E,0x10,0x00,0x0E,0x20,0x00,0x00,0x00,/*"e",69*/
  456.     0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x08,0x00,0x20,0x08,0x01,0xFF,0xF8,0x03,0xFF,0xF8,
  457.     0x06,0x20,0x08,0x04,0x20,0x08,0x04,0x20,0x08,0x07,0x20,0x00,0x03,0x00,0x00,0x00,0x00,0x00,/*"f",70*/
  458.     0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x6E,0x00,0x1F,0xF3,0x00,0x31,0xB1,0x00,0x20,0xB1,
  459.     0x00,0x20,0xB1,0x00,0x31,0x91,0x00,0x1F,0x13,0x00,0x2E,0x1E,0x00,0x20,0x0E,0x00,0x30,0x00,/*"g",71*/
  460.     0x00,0x00,0x00,0x04,0x00,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x10,0x08,0x00,0x20,0x00,
  461.     0x00,0x20,0x00,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0x08,0x00,0x00,0x00,/*"h",72*/
  462.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x06,0x3F,0xF8,
  463.     0x06,0x3F,0xF8,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,/*"i",73*/
  464.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x20,0x01,0x00,0x20,0x01,
  465.     0x00,0x20,0x03,0x06,0x3F,0xFE,0x06,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"j",74*/
  466.     0x00,0x00,0x00,0x04,0x00,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x01,0x88,0x00,0x03,0x00,
  467.     0x00,0x2F,0xC0,0x00,0x38,0xF8,0x00,0x20,0x38,0x00,0x20,0x08,0x00,0x00,0x08,0x00,0x00,0x00,/*"k",75*/
  468.     0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x07,0xFF,0xF8,
  469.     0x0F,0xFF,0xF8,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,/*"l",76*/
  470.     0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x10,0x08,0x00,0x20,0x00,0x00,0x3F,0xF8,
  471.     0x00,0x3F,0xF8,0x00,0x10,0x08,0x00,0x20,0x00,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x00,0x08,/*"m",77*/
  472.     0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x10,0x08,0x00,0x10,0x00,
  473.     0x00,0x20,0x00,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0x08,0x00,0x00,0x00,/*"n",78*/
  474.     0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x0F,0xF0,0x00,0x18,0x30,0x00,0x30,0x08,0x00,0x20,0x08,
  475.     0x00,0x20,0x08,0x00,0x30,0x08,0x00,0x18,0x30,0x00,0x0F,0xF0,0x00,0x07,0xC0,0x00,0x00,0x00,/*"o",79*/
  476.     0x00,0x00,0x00,0x00,0x20,0x01,0x00,0x3F,0xFF,0x00,0x3F,0xFF,0x00,0x10,0x11,0x00,0x20,0x09,
  477.     0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x30,0x38,0x00,0x1F,0xF0,0x00,0x0F,0xC0,0x00,0x00,0x00,/*"p",80*/
  478.     0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x38,0x18,0x00,0x20,0x08,0x00,0x20,0x08,
  479.     0x00,0x20,0x09,0x00,0x10,0x11,0x00,0x1F,0xFF,0x00,0x3F,0xFF,0x00,0x00,0x01,0x00,0x00,0x00,/*"q",81*/
  480.     0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x08,0x08,
  481.     0x00,0x10,0x08,0x00,0x20,0x08,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x00,0x00,/*"r",82*/
  482.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x78,0x00,0x1E,0x18,0x00,0x33,0x08,0x00,0x23,0x08,
  483.     0x00,0x21,0x08,0x00,0x21,0x88,0x00,0x21,0x98,0x00,0x30,0xF0,0x00,0x38,0x60,0x00,0x00,0x00,/*"s",83*/
  484.     0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0xFF,0xF0,0x03,0xFF,0xF8,
  485.     0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00,/*"t",84*/
  486.     0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x3F,0xF0,0x00,0x7F,0xF8,0x00,0x00,0x18,0x00,0x00,0x08,
  487.     0x00,0x00,0x08,0x00,0x20,0x10,0x00,0x3F,0xF8,0x00,0x7F,0xF0,0x00,0x00,0x10,0x00,0x00,0x00,/*"u",85*/
  488.     0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x3C,0x00,0x00,0x3F,0x80,0x00,0x23,0xF0,
  489.     0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x23,0x80,0x00,0x3C,0x00,0x00,0x30,0x00,0x00,0x20,0x00,/*"v",86*/
  490.     0x00,0x20,0x00,0x00,0x3C,0x00,0x00,0x3F,0xE0,0x00,0x23,0xF8,0x00,0x00,0xE0,0x00,0x27,0x00,
  491.     0x00,0x3E,0x00,0x00,0x3F,0xE0,0x00,0x21,0xF8,0x00,0x01,0xE0,0x00,0x3E,0x00,0x00,0x20,0x00,/*"w",87*/
  492.     0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x38,0x38,0x00,0x3E,0x68,0x00,0x27,0x80,
  493.     0x00,0x03,0xC8,0x00,0x2C,0xF8,0x00,0x38,0x38,0x00,0x20,0x18,0x00,0x20,0x08,0x00,0x00,0x00,/*"x",88*/
  494.     0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x30,0x03,0x00,0x3C,0x01,0x00,0x3F,0x83,0x00,0x23,0xEC,
  495.     0x00,0x00,0x70,0x00,0x23,0x80,0x00,0x3C,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0x00,/*"y",89*/
  496.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x08,0x00,0x20,0x38,0x00,0x20,0xF8,0x00,0x23,0xE8,
  497.     0x00,0x2F,0x88,0x00,0x3E,0x08,0x00,0x38,0x08,0x00,0x20,0x18,0x00,0x00,0x70,0x00,0x00,0x00,/*"z",90*/
  498.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,
  499.     0x00,0x14,0x00,0x1F,0xF7,0xFC,0x30,0x00,0x06,0x20,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,/*"{",91*/
  500.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  501.     0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"|",92*/
  502.     0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x02,0x30,0x00,0x06,0x1F,0xF7,0xFC,0x00,0x14,0x00,
  503.     0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"}",93*/
  504.     0x00,0x00,0x00,0x18,0x00,0x00,0x60,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x20,0x00,0x00,
  505.     0x10,0x00,0x00,0x08,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x0C,0x00,0x00,0x10,0x00,0x00,/*"~",94*/
  506. };


  507. const unsigned char font_1212[][24] = {

  508.     {0x00,0x10,0x04,0x10,0x38,0x20,0x00,0xC0,0x03,0x00,0xFC,0x00,0x03,0x00,0x00,0xC0,0x08,0x20,0x30,0x10,0x00,0x10,0x00,0x00},/*"火",0*/

  509.     {0x00,0x90,0xFB,0x10,0xA9,0x50,0xA9,0x50,0xA9,0x50,0xAF,0xF0,0xA9,0x50,0xA9,0x50,0xA9,0x50,0xF9,0x10,0x00,0x10,0x00,0x00},/*"星",1*/

  510.     {0x48,0x80,0x4B,0x00,0x7F,0xF0,0x8A,0x00,0x09,0x00,0x48,0x80,0x24,0x80,0x00,0x80,0xFF,0xF0,0x01,0x00,0x01,0x00,0x00,0x00},/*"科",2*/

  511.     {0x11,0x00,0x11,0x10,0xFF,0xF0,0x12,0x00,0x24,0x10,0x27,0x10,0x24,0xA0,0xFC,0x40,0x24,0xA0,0x27,0x10,0x20,0x10,0x00,0x00},/*"技",3*/

  512.     {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",4*/

  513. };

  514. const char* font1212_table = {
  515.     "火星科技 "
  516. };

  517. const unsigned char font_2424[][72] = {
  518.     {
  519.         0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x08,0x04,0x00,0x18,0x04,0x00,0x70,0x08,0x01,0x80,0x08,0x00,0x00,0x10,
  520.         0x00,0x00,0x60,0x00,0x00,0xC0,0x00,0x07,0x80,0x7F,0xFE,0x00,0x3F,0xE0,0x00,0x00,0x18,0x00,0x00,0x0E,0x00,0x00,0x11,0x80,
  521.         0x00,0x20,0xC0,0x00,0x40,0x60,0x01,0x80,0x30,0x01,0x00,0x18,0x00,0x00,0x0C,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00
  522.     },/*"火",0*/

  523.     {
  524.         0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x44,0x00,0x00,0x84,0x00,0x03,0x04,0x3F,0xCE,0x44,0x3F,0x9C,0x44,0x24,0x84,0x44,
  525.         0x24,0x84,0x44,0x24,0x84,0x44,0x24,0x84,0x44,0x24,0xBF,0xFC,0x24,0x9F,0xFC,0x24,0x84,0x44,0x24,0x84,0x44,0x24,0x84,0x44,
  526.         0x24,0x84,0x44,0x24,0x84,0xC4,0x3F,0xCC,0x44,0x00,0x04,0x04,0x00,0x00,0x0C,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00
  527.     },/*"星",1*/

  528.     {
  529.         0x00,0x00,0x00,0x00,0x80,0x20,0x00,0x80,0x40,0x10,0x81,0x80,0x10,0x86,0x00,0x10,0x9C,0x00,0x1F,0xFF,0xFF,0x1F,0xFF,0xFE,
  530.         0x20,0x88,0x00,0x20,0x8C,0x00,0x20,0x86,0x40,0x00,0x00,0x80,0x00,0x00,0x80,0x04,0x30,0x80,0x06,0x1E,0x80,0x02,0x01,0x00,
  531.         0x00,0x01,0x00,0x00,0x01,0x00,0x7F,0xFF,0xFF,0x20,0x01,0x00,0x00,0x02,0x00,0x00,0x06,0x00,0x00,0x02,0x00,0x00,0x00,0x00
  532.     },/*"科",2*/

  533.     {
  534.         0x00,0x00,0x00,0x02,0x04,0x00,0x02,0x06,0x08,0x02,0x04,0x04,0x02,0x08,0x04,0x7F,0xFF,0xFE,0x3F,0xFF,0xFC,0x02,0x10,0x00,
  535.         0x02,0x10,0x02,0x02,0x20,0x02,0x02,0x10,0x04,0x02,0x10,0x04,0x02,0x1C,0x08,0x02,0x13,0x08,0x02,0x10,0xD0,0x7F,0xF0,0x20,
  536.         0x22,0x10,0x70,0x02,0x11,0xD8,0x02,0x17,0x0C,0x02,0x1C,0x0C,0x02,0x10,0x06,0x02,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x00
  537.     },/*"技",3*/

  538.     {
  539.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  540.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  541.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  542.     },/*" ",4*/


  543. };
  544. const char* font2424_table = {
  545.     "火星科技 "
  546. };


  547. const unsigned char bmp_logo[]= {
  548. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,
  549. 0x00,0x00,0x00,0x1E,0x00,0x00,0x00,0x7E,
  550. 0x00,0x00,0x00,0xFE,0x00,0x00,0x03,0xFE,
  551. 0x00,0x00,0x0F,0xFE,0x00,0x00,0x1F,0xFE,
  552. 0x00,0x00,0x7F,0xFE,0x00,0x01,0xFF,0xFE,
  553. 0x00,0x07,0xFF,0xFE,0x00,0x0F,0xFF,0xFC,
  554. 0x00,0x3F,0xFF,0xF8,0x00,0xFF,0xFF,0xE0,
  555. 0x01,0xFF,0xFF,0x80,0x07,0xFF,0xFF,0x00,
  556. 0x0F,0xFF,0xFC,0x00,0x1F,0xFF,0xF0,0x00,
  557. 0x3F,0xFF,0xC0,0x00,0x3F,0xFF,0x80,0x00,
  558. 0x3F,0xFE,0x00,0x00,0x3F,0xFC,0x00,0x00,
  559. 0x3F,0xF0,0x00,0x00,0x3F,0xC0,0x00,0x00,
  560. 0x3F,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,
  561. 0x3E,0x00,0x00,0x00,0x3E,0x00,0x00,0x00,
  562. 0x3E,0x00,0x00,0x00,0x3F,0x80,0x00,0x00,
  563. 0x3F,0xE0,0x00,0x00,0x3F,0xF0,0x00,0x00,
  564. 0x3F,0xFC,0x00,0x00,0x3F,0xFF,0x00,0x00,
  565. 0x3F,0xFF,0x80,0x00,0x3F,0xFF,0xE0,0x00,
  566. 0x3F,0xFF,0xF8,0x00,0x0F,0xFF,0xFE,0x00,
  567. 0x07,0xFF,0xFF,0x00,0x31,0xFF,0xFF,0xC0,
  568. 0x30,0x7F,0xFF,0xF0,0x3C,0x1F,0xFF,0xF8,
  569. 0x3F,0x0F,0xFF,0xFE,0x3F,0x83,0xFF,0xFE,
  570. 0x3F,0xE0,0xFF,0xFE,0x3F,0xF8,0x7F,0xFE,
  571. 0x3F,0xFE,0x1F,0xFE,0x1F,0xFF,0x07,0xFE,
  572. 0x0F,0xFF,0xC3,0xFE,0x03,0xFF,0xF0,0xFE,
  573. 0x30,0xFF,0xF8,0x3E,0x38,0x3F,0xFE,0x0E,
  574. 0x3C,0x1F,0xFF,0x86,0x3E,0x07,0xFF,0xC0,
  575. 0x3E,0x01,0xFF,0xF0,0x3E,0x00,0xFF,0xFC,
  576. 0x3E,0x00,0x3F,0xFE,0x3E,0x06,0x0F,0xFE,
  577. 0x3E,0x07,0x87,0xFE,0x3E,0x07,0xC1,0xFE,
  578. 0x3E,0x07,0xC0,0x7E,0x3E,0x07,0xC0,0x3E,
  579. 0x3E,0x07,0xC0,0x0E,0x3E,0x07,0xC0,0x06,
  580. 0x3F,0x87,0xC0,0x00,0x3F,0xC7,0xC0,0x00,
  581. 0x3F,0xF7,0xC0,0x00,0x3F,0xFF,0xC0,0x30,
  582. 0x3F,0xFF,0xC0,0x38,0x0F,0xFF,0xC0,0x3E,
  583. 0x03,0xFF,0xE0,0x3E,0x31,0xFF,0xF8,0x3E,
  584. 0x38,0x7F,0xFC,0x3E,0x3C,0x1F,0xFF,0x3E,
  585. 0x3E,0x0F,0xFF,0xBE,0x3E,0x03,0xFF,0xBE,
  586. 0x3E,0x00,0xFF,0xBE,0x3E,0x00,0x7F,0xBE,
  587. 0x3E,0x07,0x1F,0xBE,0x3E,0x07,0x87,0xBE,
  588. 0x3E,0x07,0xC1,0xBE,0x3E,0x07,0xC1,0xBE,
  589. 0x3E,0x07,0xC0,0x3E,0x3E,0x07,0xC0,0x3E,
  590. 0x3E,0x07,0xE0,0x3E,0x3F,0x87,0xF8,0x3E,
  591. 0x3F,0xE7,0xFC,0x3E,0x3F,0xF7,0xFF,0x3E,
  592. 0x3F,0xFF,0xFF,0xBE,0x3F,0xFF,0xFF,0xBE,
  593. 0x0F,0xFF,0xFF,0xBE,0x03,0xFF,0xFF,0xBE,
  594. 0x31,0xFF,0xFF,0xBE,0x30,0x7F,0xDF,0xBE,
  595. 0x3C,0x1F,0xC7,0xBE,0x3E,0x0F,0xC1,0xBE,
  596. 0x3E,0x03,0xC0,0xBE,0x3E,0x00,0xC0,0x3E,
  597. 0x3E,0x00,0x00,0x3E,0x3E,0x06,0x00,0x3E,
  598. 0x3E,0x07,0x00,0x3E,0x3E,0x07,0xC0,0x3E,
  599. 0x3E,0x07,0xC0,0x3E,0x3E,0x07,0xC0,0x3E,
  600. 0x3E,0x07,0xC0,0x3E,0x3E,0x07,0xC0,0x3E,
  601. 0x3E,0x07,0xC0,0x3E,0x3E,0x07,0xC0,0x3E,
  602. 0x3E,0x07,0xC0,0x3E,0x3E,0x07,0xC0,0x3E,
  603. 0x1E,0x07,0xC0,0x3E,0x0E,0x07,0xC0,0x3E,
  604. 0x0E,0x07,0xC0,0x3E,0x00,0x07,0xF0,0x3E,
  605. 0x00,0x07,0xFC,0x3E,0x00,0x07,0xFF,0x3E,
  606. 0x00,0x07,0xFF,0xBE,0x00,0x03,0xFF,0xFE,
  607. 0x00,0x01,0xFF,0xFE,0x00,0x00,0x7F,0xFE,
  608. 0x00,0x00,0x1F,0xFE,0x00,0x00,0x0F,0xFE,
  609. 0x00,0x00,0x03,0xFE,0x00,0x00,0x00,0xFE,
  610. 0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x1E,
  611. 0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,
  612. };
  613. /*********************************************END OF FILE**********************************************/
复制代码


FONT.H文件

  1. #ifndef __FY_OLEDFONT_H
  2. #define __FY_OLEDFONT_H

  3. extern const unsigned char asc2_0608[95][6];
  4. extern const unsigned char asc2_0612[95][12];
  5. extern const unsigned char asc2_0816[95][16];
  6. extern const unsigned char asc2_1224[95][36];
  7. extern const unsigned char font_1212[][24];
  8. extern const unsigned char font_2424[][72];
  9. extern const char* font1212_table;
  10. extern const char* font2424_table;
  11. extern const unsigned char bmp_logo[];
  12. #endif


  13. /*********************************************END OF FILE****************************
复制代码


收藏 评论0 发布时间:2022-3-16 10:48

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版