天天看点

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

0.96 OLED 的内存分布

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)
STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

0.96寸OLED的分辨率是12864,也就是由12864个格子组成,在其内部,被划分为:

  • 8个页(PAGE),128个列(SEG)
  • 每个页由纵向排布的8个格子组成,也就是128*(88)=12864
  • 每一个格子表示一个bit的图像数据

OLED的地址和寄存器地址

既然是使用IIC进行通讯,就必须在写数据的时候依次发送OLED地址和寄存器地址

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)
  • 我们一般只向OLED写数据而不读数据,因此其地址为:01111000,也就是0x78
    STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)
    STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)
  • Co这一位一般是0
  • D/C#是数据和命令选择位,命令是0,数据是1
  • 因此可以说,命令寄存器的地址是:00000000,也就是0x00
  • 数据寄存器的地址是:01000000,也就是0x40

往OLED写命令或数据

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)
  • 总结起来就是,每次写命令或数据都要有如下步骤
  1. IIC起始信号
  2. IIC发送OLED地址:0x78
  3. 应答信号
  4. IIC发送寄存器地址(命令或数据)
  5. 应答信号
  6. IIC发送命令或数据
  7. 应答信号
  8. IIC结束信号

OLED命令表

基本命令表

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

滚动命令表

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)
STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)
STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

地址设置表

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)
STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

硬件配置命令表

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

时序&驱动方案设置命令表

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

内存寻址模式

页寻址模式

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

水平寻址模式

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

垂直寻址模式

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

一些重要命令

设置列地址

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

为页寻址模式设置页地址

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)
  • B0,B1,B2,B3,B4,B5,B6,B7每一个代表一个页,共八个页

为页寻址模式设置行地址

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

设置内存寻址模式

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

代码部分 (必须先初始化IIC)

取模工具

使用的是pctolcd2002

取模设置

STM32 0.96寸0.91寸OLED IIC接口0.96 OLED 的内存分布OLED的地址和寄存器地址往OLED写命令或数据OLED命令表内存寻址模式一些重要命令代码部分 (必须先初始化IIC)

写命令

void WriteCmd(unsigned char I2C_Command)//写命令
{
     OLED_IICx_Start();
     OLED_IICx_WriteByte(0x78); //OLED地址
     OLED_IICx_WaitAck();
     OLED_IICx_WriteByte(0x00);//寄存器地址
     OLED_IICx_WaitAck();
     OLED_IICx_WriteByte(I2C_Command);
     OLED_IICx_WaitAck();
     OLED_IICx_Stop();
}
           

写数据

void WriteDat(unsigned char I2C_Data)//写数据
{
     OLED_IICx_Start();
     OLED_IICx_WriteByte(0x78); //OLED地址
     OLED_IICx_WaitAck();
     OLED_IICx_WriteByte(0x40);//寄存器地址
     OLED_IICx_WaitAck();
     OLED_IICx_WriteByte(I2C_Data);
     OLED_IICx_WaitAck();
     OLED_IICx_Stop();
}
           

OLED初始化

提前定义一个二维数组用于存放内存数据:

//OLEd初始化
void OLED_Init(void)
{
     delay_ms(200);  //初始化之前的延时很重要!

#if ResolutionRatio == R12864

     WriteCmd(0xA8); //设置分辨率
     WriteCmd(0x3F); //128*64:0x3f  128*32:0x1f

     WriteCmd(0xDA); //设置COM硬件引脚配置,适应分辨率
     WriteCmd(0x12); //0x12:0.96-128*64    0x02:0.96-128*32

#elif ResolutionRatio == R12832

     WriteCmd(0xA8); //设置分辨率
     WriteCmd(0x1F); //128*64:0x3f  128*32:0x1f

     WriteCmd(0xDA); //设置COM硬件引脚配置,适应分辨率
     WriteCmd(0x02); //0x12:0.96-128*64    0x02:0.96-128*32
#endif

     WriteCmd(0xD3); //设置显示偏移
     WriteCmd(0x00); //默认值00 没有偏移

     WriteCmd(0x40); //设置显示开始行   0到63   第【5:0】位 01[xxxxx]  默认这五位是 000000B

     WriteCmd(0xA1); //段segment重映射,对于IIC通讯的四脚OLED要设置成0xA1,如果设置成0xA1的话显示会反置

     WriteCmd(0x81); //对比度设置指令
     WriteCmd(0xFF); //亮度调节 0x00~0xff 即 1~255(亮度设置,越大越亮) 对比度的值

     WriteCmd(0xA4); //0xa4,输出遵循RAM内容    0xa5,输出忽略RAM内容

     WriteCmd(0xA6); //设置显示方式,正常显示:0xA6,反相显示:0xA7

     WriteCmd(0xD5); //设置显示时钟分频/振荡器频率
     WriteCmd(0xf0); //设置分率

     WriteCmd(0x8D); //充电泵设置
     WriteCmd(0x14); //0x14:允许在显示开启的时候使用  0x10:不允许在显示开启的时候使用

     WriteCmd(0xAE); //显示关闭 0xAF是开启  0xAE是关闭
    
     WriteCmd(0x20); //设置内存地址模式 有三种模式:水平,垂直,页寻址(默认)
     WriteCmd(0x02); //水平:0x00   垂直:0x01   页寻址:0x02
    
     WriteCmd(0xB0); //为页寻址模式设置页面开始地址,0-7
    
     WriteCmd(0xC8); //设置COM扫描方向 【0xc0上下反置COM0到COM N-1 左到右 】 【0xc8正常 COM N-1到COM0  右到左】
    
     WriteCmd(0x00); //设置低列地址
     WriteCmd(0x10); //设置高列地址
    
     WriteCmd(0x40); //设置显示开始行   0到63   第【5:0】位 01[xxxxx]  默认这五位是 000000b
    
     WriteCmd(0xD9); //设置预充电时期
     WriteCmd(0x22); //

     WriteCmd(0xDB); //Set VCOMH Deselect Level 不是很懂,按照默认的设置就行了
     WriteCmd(0x20); //默认是0x20  0.77xVcc

     WriteCmd(0xAF); //设置完毕,显示开启 0xAF是开启  0xAE是关闭
}

           

OLED显示开启

//开启OLED显示 
void OLED_Display_On(void)
{
     WriteCmd(0X8D);  //SET DCDC命令
     WriteCmd(0X24);  //DCDC ON,电荷泵,也称为开关电容式电压变换器
     WriteCmd(0XAF);  //DISPLAY ON
}

           

OLED显示关闭

//关闭OLED显示    
void OLED_Display_Off(void)
{
     WriteCmd(0X8D);  //SET DCDC命令
     WriteCmd(0X20);  //DCDC OFF
     WriteCmd(0XAE);  //DISPLAY OFF
}
           

OLED画点

//画点
void OLED_DrawPoint(uint8_t x, uint8_t y, uint8_t t)
{
     uint8_t page, row, point_pos = 0;
     if (x > 127 || y > 63)
          return; //超出范围
     page = y / 8;
     row = y % 8;
     point_pos = 1 << (7 - row); //计算点在页的位置
     if (t)
          OLED_GRAM[x][page] |= point_pos; //写1
     else
          OLED_GRAM[x][page] &= ~point_pos; //写0

     //左上角是(0,0)
}
           

更新内存

//更新显示的点到OLED
void OLED_RefreshGram(void)
{
     uint8_t i,n;             
     for(i=0;i<8;i++)   //每次设置一个页
     { 
          WriteCmd (0xb0+i);    //设置页地址(0~7)       /**高列与低列地址 比如液晶模块的第100列地址十六进制为 0x[6][4]
          WriteCmd (0x00);      //设置显示位置—列低地址    那么此指令由 2 个字节来表达: 0x1[6],0x0[4]
          WriteCmd (0x10);      //设置显示位置—列高地址       
          for(n=0;n<128;n++)
               WriteDat(OLED_GRAM[n][i]);//更新之前使用的OLED_DrawPoint
     }  
}

           

填充区域

//x1,y1,x2,y2 填充区域的对角坐标
//确保x1<=x2;y1<=y2 0<=x1<=127 0<=y1<=63         
//dot:0,清空;1,填充      
void OLED_Fill(uint8_t x1,uint8_t y1,uint8_t x2,uint8_t y2,uint8_t dot) 
{ 
     uint8_t x,y; 
     for(x=x1;x<=x2;x++)
     {
          for(y=y1;y<=y2;y++)
               OLED_DrawPoint(x,y,dot);
     }                                                                    
     OLED_RefreshGram();//更新显示
}

           

OLED显示中文

提供一个OLED显示的思路

void OLED_ShowChinese16x16(uint8_t x, uint8_t y, uint8_t *Ch)
{
     uint8_t i, j, t, m, n,l;
     for (i = 0; *(Ch + i) != '\0'; i++)
     {
          l=0;//不需要换页
          for (j = 0; j < 32; j++) //把16*16的中文放在了 1*32的数组元素上,数组每一位是一个十六进制,所以相当于放在了8*32空间里,中文的上半部分是前16位。后半部分是16~32位
          {
               if(j==16)//中文前半部分已经写进内存
               {
                    l=8;//换到下一页
                    x-=16;//横坐标重置
               }
               t = 0x01;
               n = chinese16x16[*(Ch + i) - 48][j] & t;//获取中文的位置和取到最低位
               for (m = 0; m < 8; m++)//移了8次位,也就是从对低位判断到最高位
               {
                    if (n)//判断这一位是1还是0
                         OLED_DrawPoint(x, y + m + l, 1); //如果这一位是一就画点  否则就不画
                    else
                         OLED_DrawPoint(x, y + m + l, 0);
                    t = t << 1;//左移一位
                    n = chinese16x16[*(Ch + i) - 48][j] & t; //重新获取中文像素点的位置
               }
               x++;//右移一位,每次是写一页中的一列
          }
     }
     OLED_RefreshGram(); //更新像素
}
           

chinese16x16数组:

const unsigned char chinese16x16[][32] =
{
{0x00,0x00,0x0F,0x08,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x08,0x0F,0x00,0x00,0x00,0x00,0x00,0xF0,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0xF0,0x00,0x00,0x00},/*"中",0*/
{0x10,0x10,0x10,0x1C,0x13,0x10,0x90,0x70,0x10,0x10,0x13,0x1C,0x10,0x10,0x10,0x00,0x01,0x01,0x02,0x02,0x04,0x88,0x50,0x20,0x50,0x88,0x04,0x02,0x02,0x01,0x01,0x00},/*"文",1*/
}
           

显示字符串

void OLED_ShowStr(uint8_t x, uint8_t y,uint8_t *Str,uint8_t mode)
{
     uint8_t N;
     uint8_t j, t, m, n, l = 0;
     for(N=0; *(Str+N) != '\0';N++)//如果该字符不是空字符就不断的输出,知道遇见空字符,每一个字符串的结尾的后面都会跟着一个\0表示结束
     {
          switch (mode)
          {
          case 12: //字符分辨率为12*12
          {
               l = 0;
               for (j = 0; j < 24; j++)
               {
                    if (j == 12)
                    {
                         l = 8;
                         x -= 12;
                    }
                    t = 0x01;
                    n = ascii12x12[*(Str + N) - 32][j] & t; //得到字符的位置 每次取一位,判断是这一位是1还是0
                    for (m = 0; m < 8; m++)
                    {
                         if (n)
                              OLED_DrawPoint(x, y + m + l, 1); //写1
                         else
                              OLED_DrawPoint(x, y + m + l, 0); //写0
                         t = t << 1;
                         n = ascii12x12[*(Str + N) - 32][j] & t;
                    }
                    x++;
               }
          };break;
          case 127:  //字符分辨率为12*7
          {
               l = 0;
               for (j = 0; j < 14; j++)
               {
                    if (j == 7)
                    {
                         l = 8;
                         x -= 7;
                    }
                    t = 0x01;
                    n = ascii12x7[*(Str + N) - 32][j] & t;
                    for (m = 0; m < 8; m++) // 竖直上8
                    {
                         if (n)
                              OLED_DrawPoint(x, y + m + l, 1);
                         else
                              OLED_DrawPoint(x, y + m + l, 0);
                         t = t << 1;
                         n = ascii12x7[*(Str + N) - 32][j] & t;
                    }
                    x++;
               }
          };break;
          default:
               return;
          };
     }
     OLED_RefreshGram();
    
}
           

字库:

const unsigned char ascii12x12[][24] =
{    
// 1     2    3       4    5   6    7    8    9    10   11   12   13   14   15   16   17  18    19   20   21   22   23    24  
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/

{0x00,0x00,0x00,0x1C,0x3F,0x3F,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/

{0x00,0x00,0x38,0x38,0x00,0x00,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/

{0x00,0x00,0x08,0x3F,0x3F,0x08,0x3F,0x3F,0x08,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xE0,0x80,0xE0,0xE0,0x80,0x00,0x00,0x00},/*"#",3*/

{0x00,0x00,0x18,0x3C,0xE6,0xE3,0x31,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x30,0x30,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"$",4*/

{0x00,0x30,0x78,0x49,0x7B,0x36,0x0C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x80,0x60,0xF0,0x90,0xF0,0x60,0x00,0x00,0x00},/*"%",5*/

{0x00,0x00,0x1B,0x3F,0x24,0x3D,0x19,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xC0,0xE0,0x20,0x00,0x00,0x00},/*"&",6*/

{0x00,0x00,0x00,0x00,0x38,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/

{0x00,0x00,0x00,0x07,0x1F,0x38,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x30,0x00,0x00,0x00,0x00,0x00,0x00},/*"(",8*/

{0x00,0x00,0x00,0x20,0x38,0x1F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00},/*")",9*/

{0x00,0x00,0x02,0x0A,0x0F,0x07,0x0F,0x0A,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x00},/*"*",10*/

{0x00,0x00,0x02,0x02,0x0F,0x0F,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00},/*"+",11*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x70,0x70,0x00,0x00,0x00,0x00,0x00},/*",",12*/

{0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00},/*".",14*/

{0x00,0x00,0x00,0x00,0x03,0x0F,0x3C,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"/",15*/

{0x00,0x00,0x00,0x1F,0x3F,0x21,0x2C,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xA0,0x20,0xE0,0xC0,0x00,0x00,0x00},/*"0",16*/

{0x00,0x00,0x08,0x08,0x18,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00},/*"1",17*/

{0x00,0x00,0x18,0x38,0x21,0x23,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xA0,0x20,0x20,0x20,0x00,0x00,0x00,0x00},/*"2",18*/

{0x00,0x00,0x18,0x38,0x22,0x22,0x3F,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"3",19*/

{0x00,0x00,0x01,0x3F,0x3E,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0xE0,0xE0,0x80,0x00,0x00,0x00},/*"4",20*/

{0x00,0x00,0x3E,0x3E,0x22,0x22,0x23,0x21,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0x00},/*"5",21*/

{0x00,0x00,0x07,0x0F,0x3C,0x34,0x27,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"6",22*/

{0x00,0x00,0x20,0x20,0x23,0x2F,0x3C,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"7",23*/

{0x00,0x00,0x1D,0x3F,0x26,0x23,0x3F,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"8",24*/

{0x00,0x00,0x1E,0x3F,0x21,0x21,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x60,0xE0,0x80,0x00,0x00,0x00,0x00,0x00},/*"9",25*/

{0x00,0x00,0x00,0x00,0x0C,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00},/*":",26*/

{0x00,0x00,0x00,0x00,0x0C,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x70,0x70,0x00,0x00,0x00,0x00,0x00},/*";",27*/

{0x00,0x00,0x02,0x07,0x0D,0x18,0x30,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x20,0x00,0x00,0x00,0x00},/*"<",28*/

{0x00,0x00,0x05,0x05,0x05,0x05,0x05,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"=",29*/

{0x00,0x00,0x20,0x30,0x18,0x0D,0x07,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00},/*">",30*/

{0x00,0x00,0x18,0x38,0x23,0x27,0x3C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00},/*"?",31*/

{0x00,0x1F,0x3F,0x20,0x23,0x27,0x24,0x3F,0x1F,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xA0,0xA0,0xA0,0xA0,0x00,0x00,0x00},/*"@",32*/

{0x00,0x00,0x0F,0x1F,0x31,0x31,0x1F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"A",33*/

{0x00,0x00,0x3F,0x3F,0x22,0x22,0x3F,0x1D,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"B",34*/

{0x00,0x00,0x1F,0x3F,0x20,0x20,0x38,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"C",35*/

{0x00,0x00,0x3F,0x3F,0x20,0x30,0x1F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0x00},/*"D",36*/

{0x00,0x00,0x3F,0x3F,0x22,0x22,0x22,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00},/*"E",37*/

{0x00,0x00,0x3F,0x3F,0x22,0x22,0x22,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"F",38*/

{0x00,0x00,0x1F,0x3F,0x20,0x21,0x39,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"G",39*/

{0x00,0x00,0x3F,0x3F,0x02,0x02,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"H",40*/

{0x00,0x00,0x00,0x20,0x3F,0x3F,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xE0,0xE0,0x20,0x00,0x00,0x00,0x00,0x00},/*"I",41*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"J",42*/

{0x00,0x00,0x3F,0x3F,0x02,0x0F,0x3D,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x80,0xE0,0x60,0x00,0x00,0x00,0x00},/*"K",43*/

{0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00},/*"L",44*/

{0x00,0x00,0x3F,0x3F,0x08,0x07,0x08,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00},/*"M",45*/

{0x00,0x00,0x3F,0x3F,0x0C,0x06,0x03,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00},/*"N",46*/

{0x00,0x00,0x1F,0x3F,0x20,0x20,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"O",47*/

{0x00,0x00,0x3F,0x3F,0x22,0x22,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"P",48*/

{0x00,0x00,0x1F,0x3F,0x20,0x20,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x30,0xF0,0xC0,0x00,0x00,0x00,0x00},/*"Q",49*/

{0x00,0x00,0x3F,0x3F,0x22,0x23,0x3F,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"R",50*/

{0x00,0x00,0x18,0x3C,0x26,0x23,0x31,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x60,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"S",51*/

{0x00,0x00,0x20,0x20,0x3F,0x3F,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*"T",52*/

{0x00,0x00,0x3F,0x3F,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"U",53*/

{0x00,0x00,0x3F,0x3F,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x60,0xC0,0x80,0x00,0x00,0x00,0x00},/*"V",54*/

{0x00,0x00,0x3F,0x3F,0x00,0x07,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"W",55*/

{0x00,0x00,0x30,0x39,0x0E,0x07,0x39,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"X",56*/

{0x00,0x00,0x3C,0x3E,0x03,0x03,0x3E,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*"Y",57*/

{0x00,0x00,0x20,0x21,0x23,0x26,0x3C,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00},/*"Z",58*/

{0x00,0x00,0x00,0x3F,0x3F,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"[",59*/

{0x00,0x00,0x30,0x3C,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0x30,0x00,0x00,0x00,0x00},/*"\",60*/

{0x00,0x00,0x00,0x20,0x20,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00},/*"]",61*/

{0x00,0x00,0x20,0x60,0xC0,0xC0,0x60,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"_",63*/

{0x00,0x00,0x00,0x80,0xC0,0xE0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/

{0x00,0x00,0x00,0x09,0x09,0x09,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"a",65*/

{0x00,0x00,0x3F,0x3F,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"b",66*/

{0x00,0x00,0x07,0x0F,0x08,0x08,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0x60,0x40,0x00,0x00,0x00,0x00},/*"c",67*/

{0x00,0x00,0x07,0x0F,0x08,0x08,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"d",68*/

{0x00,0x00,0x07,0x0F,0x09,0x09,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00},/*"e",69*/

{0x00,0x00,0x02,0x1F,0x3F,0x22,0x22,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"f",70*/

{0x00,0x00,0x07,0x0F,0x08,0x08,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xF0,0xF0,0x00,0x00,0x00,0x00},/*"g",71*/

{0x00,0x00,0x3F,0x3F,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"h",72*/

{0x00,0x00,0x08,0x08,0x6F,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0xE0,0xE0,0x20,0x20,0x00,0x00,0x00,0x00},/*"i",73*/

{0x00,0x00,0x00,0x08,0x08,0x6F,0x6F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00},/*"j",74*/

{0x00,0x00,0x3F,0x3F,0x01,0x03,0x0E,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x80,0xE0,0x60,0x00,0x00,0x00,0x00},/*"k",75*/

{0x00,0x00,0x20,0x20,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0xE0,0xE0,0x20,0x20,0x00,0x00,0x00,0x00},/*"l",76*/

{0x00,0x00,0x0F,0x0F,0x08,0x0F,0x08,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0xC0,0x00,0xE0,0xE0,0x00,0x00,0x00},/*"m",77*/

{0x00,0x00,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"n",78*/

{0x00,0x00,0x07,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"o",79*/

{0x00,0x00,0x0F,0x0F,0x08,0x08,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"p",80*/

{0x00,0x00,0x07,0x0F,0x08,0x08,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xF0,0xF0,0x00,0x00,0x00,0x00},/*"q",81*/

{0x00,0x00,0x0F,0x0F,0x02,0x04,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"r",82*/

{0x00,0x00,0x06,0x0F,0x09,0x09,0x09,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x20,0x20,0xE0,0xC0,0x00,0x00,0x00,0x00},/*"s",83*/

{0x00,0x00,0x08,0x3F,0x3F,0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0x20,0x00,0x00,0x00,0x00},/*"t",84*/

{0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x20,0xE0,0xE0,0x00,0x00,0x00,0x00},/*"u",85*/

{0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x60,0x60,0xC0,0x80,0x00,0x00,0x00,0x00},/*"v",86*/

{0x00,0x00,0x0F,0x0F,0x00,0x07,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x60,0x80,0x60,0xE0,0x80,0x00,0x00,0x00},/*"w",87*/

{0x00,0x00,0x0C,0x0E,0x03,0x03,0x0E,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0x80,0x80,0xE0,0x60,0x00,0x00,0x00,0x00},/*"x",88*/

{0x00,0x00,0x0F,0x0F,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0x20,0x30,0xF0,0xC0,0x00,0x00,0x00,0x00},/*"y",89*/

{0x00,0x00,0x08,0x08,0x09,0x0B,0x0E,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xA0,0x20,0x20,0x20,0x00,0x00,0x00,0x00},/*"z",90*/

{0x00,0x00,0x01,0x03,0x1E,0x3C,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0x70,0x00,0x00,0x00,0x00,0x00,0x00},/*"{",91*/

{0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00},/*"|",92*/

{0x00,0x00,0x00,0x20,0x3C,0x1E,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xF0,0x80,0x00,0x00,0x00,0x00,0x00},/*"}",93*/

{0x00,0x18,0x30,0x20,0x30,0x18,0x08,0x18,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
         
};

const unsigned char ascii12x7[][14] =
{
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/

{0x00,0x00,0x00,0x3E,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00},/*"!",1*/

{0x00,0x00,0x20,0xC0,0x20,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/

{0x00,0x09,0x3F,0x09,0x3F,0x09,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00,0x00},/*"#",3*/

{0x00,0x18,0x24,0x7F,0x22,0x11,0x00,0x00,0x80,0x40,0xE0,0x40,0x80,0x00},/*"$",4*/

{0x00,0x1C,0x22,0x1F,0x0B,0x34,0x03,0x00,0x00,0xC0,0x00,0x80,0x40,0x80},/*"%",5*/

{0x00,0x03,0x1C,0x27,0x18,0x07,0x04,0x00,0x80,0x40,0x40,0x80,0x40,0x80},/*"&",6*/

{0x00,0x20,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/

{0x00,0x00,0x00,0x1F,0x60,0x80,0x00,0x00,0x00,0x00,0x00,0xC0,0x20,0x00},/*"(",8*/

{0x00,0x00,0x80,0x60,0x1F,0x00,0x00,0x00,0x00,0x20,0xC0,0x00,0x00,0x00},/*")",9*/

{0x00,0x09,0x06,0x1F,0x06,0x09,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00},/*"*",10*/

{0x00,0x00,0x04,0x04,0x1F,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"+",11*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xC0,0x00,0x00,0x00,0x00},/*",",12*/

{0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"-",13*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00},/*".",14*/

{0x00,0x00,0x00,0x03,0x0C,0x30,0x40,0x00,0x20,0xC0,0x00,0x00,0x00,0x00},/*"/",15*/

{0x00,0x1F,0x20,0x20,0x20,0x1F,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00},/*"0",16*/

{0x00,0x00,0x10,0x3F,0x00,0x00,0x00,0x00,0x00,0x40,0xC0,0x40,0x00,0x00},/*"1",17*/

{0x00,0x18,0x21,0x22,0x24,0x18,0x00,0x00,0xC0,0x40,0x40,0x40,0x40,0x00},/*"2",18*/

{0x00,0x10,0x20,0x24,0x24,0x1B,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00},/*"3",19*/

{0x00,0x03,0x05,0x19,0x3F,0x01,0x00,0x00,0x00,0x00,0x40,0xC0,0x40,0x00},/*"4",20*/

{0x00,0x3E,0x24,0x24,0x24,0x23,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00},/*"5",21*/

{0x00,0x0F,0x12,0x24,0x24,0x13,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00},/*"6",22*/

{0x00,0x00,0x20,0x23,0x2C,0x30,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00},/*"7",23*/

{0x00,0x1B,0x24,0x24,0x24,0x1B,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00},/*"8",24*/

{0x00,0x1C,0x22,0x22,0x24,0x1F,0x00,0x00,0x80,0x40,0x40,0x80,0x00,0x00},/*"9",25*/

{0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00},/*":",26*/

{0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00},/*";",27*/

{0x00,0x00,0x06,0x09,0x10,0x20,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x00},/*"<",28*/

{0x00,0x0A,0x0A,0x0A,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"=",29*/

{0x00,0x00,0x20,0x10,0x09,0x06,0x00,0x00,0x00,0x40,0x80,0x00,0x00,0x00},/*">",30*/

{0x00,0x18,0x20,0x23,0x24,0x18,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00},/*"?",31*/

{0x00,0x0F,0x10,0x27,0x2F,0x21,0x1E,0x00,0x00,0x80,0x40,0x40,0x40,0x80},/*"@",32*/

{0x00,0x00,0x07,0x39,0x0F,0x01,0x00,0x00,0x40,0xC0,0x00,0x00,0xC0,0x40},/*"A",33*/

{0x00,0x20,0x3F,0x24,0x24,0x1B,0x00,0x00,0x40,0xC0,0x40,0x40,0x80,0x00},/*"B",34*/

{0x00,0x1F,0x20,0x20,0x20,0x30,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00},/*"C",35*/

{0x00,0x20,0x3F,0x20,0x20,0x1F,0x00,0x00,0x40,0xC0,0x40,0x40,0x80,0x00},/*"D",36*/

{0x00,0x20,0x3F,0x24,0x2E,0x30,0x00,0x00,0x40,0xC0,0x40,0x40,0xC0,0x00},/*"E",37*/

{0x00,0x20,0x3F,0x24,0x2E,0x30,0x00,0x00,0x40,0xC0,0x40,0x00,0x00,0x00},/*"F",38*/

{0x00,0x0F,0x10,0x20,0x22,0x33,0x02,0x00,0x00,0x80,0x40,0x40,0x80,0x00},/*"G",39*/

{0x00,0x20,0x3F,0x04,0x04,0x3F,0x20,0x00,0x40,0xC0,0x00,0x00,0xC0,0x40},/*"H",40*/

{0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,0x40,0x40,0xC0,0x40,0x40,0x00},/*"I",41*/

{0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x30,0x10,0x10,0xE0,0x00,0x00},/*"J",42*/

{0x00,0x20,0x3F,0x24,0x0A,0x31,0x20,0x00,0x40,0xC0,0x40,0x00,0xC0,0x40},/*"K",43*/

{0x00,0x20,0x3F,0x20,0x00,0x00,0x00,0x00,0x40,0xC0,0x40,0x40,0x40,0xC0},/*"L",44*/

{0x20,0x3F,0x3C,0x03,0x3C,0x3F,0x20,0x40,0xC0,0x00,0xC0,0x00,0xC0,0x40},/*"M",45*/

{0x00,0x20,0x3F,0x0C,0x23,0x3F,0x20,0x00,0x40,0xC0,0x40,0x00,0xC0,0x00},/*"N",46*/

{0x00,0x1F,0x20,0x20,0x20,0x1F,0x00,0x00,0x80,0x40,0x40,0x40,0x80,0x00},/*"O",47*/

{0x00,0x20,0x3F,0x24,0x24,0x18,0x00,0x00,0x40,0xC0,0x40,0x00,0x00,0x00},/*"P",48*/

{0x00,0x1F,0x21,0x21,0x20,0x1F,0x00,0x00,0x80,0x40,0x40,0xE0,0xA0,0x00},/*"Q",49*/

{0x00,0x20,0x3F,0x24,0x26,0x19,0x00,0x00,0x40,0xC0,0x40,0x00,0xC0,0x40},/*"R",50*/

{0x00,0x18,0x24,0x24,0x22,0x31,0x00,0x00,0xC0,0x40,0x40,0x40,0x80,0x00},/*"S",51*/

{0x00,0x30,0x20,0x3F,0x20,0x30,0x00,0x00,0x00,0x40,0xC0,0x40,0x00,0x00},/*"T",52*/

{0x00,0x20,0x3F,0x00,0x00,0x3F,0x20,0x00,0x00,0x80,0x40,0x40,0x80,0x00},/*"U",53*/

{0x00,0x20,0x3E,0x01,0x07,0x38,0x20,0x00,0x00,0x00,0xC0,0x00,0x00,0x00},/*"V",54*/

{0x00,0x3C,0x03,0x3E,0x03,0x3C,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00,0x00},/*"W",55*/

{0x00,0x20,0x39,0x06,0x39,0x20,0x00,0x00,0x40,0xC0,0x00,0xC0,0x40,0x00},/*"X",56*/

{0x00,0x20,0x3C,0x03,0x3C,0x20,0x00,0x00,0x00,0x40,0xC0,0x40,0x00,0x00},/*"Y",57*/

{0x00,0x30,0x21,0x26,0x38,0x20,0x00,0x00,0x40,0xC0,0x40,0x40,0xC0,0x00},/*"Z",58*/

{0x00,0x00,0x00,0xFF,0x80,0x80,0x00,0x00,0x00,0x00,0xE0,0x20,0x20,0x00},/*"[",59*/

{0x00,0x00,0x60,0x1C,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00},/*"\",60*/

{0x00,0x00,0x80,0x80,0xFF,0x00,0x00,0x00,0x00,0x20,0x20,0xE0,0x00,0x00},/*"]",61*/

{0x00,0x00,0x40,0x80,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10},/*"_",63*/

{0x00,0x00,0x80,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/

{0x00,0x00,0x02,0x05,0x05,0x03,0x00,0x00,0x00,0x80,0x40,0x40,0xC0,0x40},/*"a",65*/

{0x00,0x40,0x7F,0x04,0x04,0x03,0x00,0x00,0x00,0xC0,0x40,0x40,0x80,0x00},/*"b",66*/

{0x00,0x00,0x03,0x04,0x04,0x06,0x00,0x00,0x00,0x80,0x40,0x40,0x80,0x00},/*"c",67*/

{0x00,0x00,0x03,0x04,0x44,0x7F,0x00,0x00,0x00,0x80,0x40,0x40,0xC0,0x40},/*"d",68*/

{0x00,0x00,0x03,0x05,0x05,0x03,0x00,0x00,0x00,0x80,0x40,0x40,0x40,0x00},/*"e",69*/

{0x00,0x00,0x04,0x3F,0x44,0x44,0x20,0x00,0x00,0x40,0xC0,0x40,0x40,0x00},/*"f",70*/

{0x00,0x00,0x02,0x05,0x05,0x06,0x04,0x00,0x00,0xA0,0x50,0x50,0x50,0x20},/*"g",71*/

{0x00,0x40,0x7F,0x04,0x04,0x03,0x00,0x00,0x40,0xC0,0x40,0x00,0xC0,0x40},/*"h",72*/

{0x00,0x00,0x04,0x67,0x00,0x00,0x00,0x00,0x00,0x40,0xC0,0x40,0x00,0x00},/*"i",73*/

{0x00,0x00,0x00,0x04,0x67,0x00,0x00,0x00,0x10,0x10,0x10,0xE0,0x00,0x00},/*"j",74*/

{0x00,0x40,0x7F,0x01,0x06,0x04,0x00,0x00,0x40,0xC0,0x00,0x80,0x40,0x00},/*"k",75*/

{0x00,0x40,0x40,0x7F,0x00,0x00,0x00,0x00,0x40,0x40,0xC0,0x40,0x40,0x00},/*"l",76*/

{0x00,0x07,0x04,0x07,0x04,0x03,0x00,0x00,0xC0,0x00,0xC0,0x00,0xC0,0x00},/*"m",77*/

{0x00,0x04,0x07,0x04,0x04,0x03,0x00,0x00,0x40,0xC0,0x40,0x00,0xC0,0x40},/*"n",78*/

{0x00,0x00,0x03,0x04,0x04,0x03,0x00,0x00,0x00,0x80,0x40,0x40,0x80,0x00},/*"o",79*/

{0x00,0x04,0x07,0x04,0x04,0x03,0x00,0x00,0x10,0xF0,0x50,0x40,0x80,0x00},/*"p",80*/

{0x00,0x00,0x03,0x04,0x04,0x07,0x00,0x00,0x00,0x80,0x40,0x50,0xF0,0x10},/*"q",81*/

{0x00,0x04,0x07,0x02,0x04,0x04,0x00,0x00,0x40,0xC0,0x40,0x00,0x00,0x00},/*"r",82*/

{0x00,0x00,0x06,0x05,0x05,0x04,0x00,0x00,0x00,0x40,0x40,0x40,0xC0,0x00},/*"s",83*/

{0x00,0x00,0x04,0x1F,0x04,0x04,0x00,0x00,0x00,0x00,0xC0,0x40,0x40,0x00},/*"t",84*/

{0x00,0x04,0x07,0x00,0x04,0x07,0x00,0x00,0x00,0x80,0x40,0x40,0xC0,0x40},/*"u",85*/

{0x00,0x04,0x07,0x00,0x07,0x04,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00},/*"v",86*/

{0x00,0x06,0x01,0x07,0x01,0x06,0x00,0x00,0x00,0xC0,0x00,0xC0,0x00,0x00},/*"w",87*/

{0x00,0x04,0x06,0x01,0x06,0x04,0x00,0x00,0x40,0xC0,0x00,0xC0,0x40,0x00},/*"x",88*/

{0x00,0x04,0x07,0x00,0x00,0x07,0x04,0x00,0x10,0x10,0xA0,0xC0,0x00,0x00},/*"y",89*/

{0x00,0x00,0x04,0x05,0x06,0x04,0x00,0x00,0x00,0x40,0xC0,0x40,0x40,0x00},/*"z",90*/

{0x00,0x00,0x00,0x04,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0xE0,0x20,0x00},/*"{",91*/

{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00},/*"|",92*/

{0x00,0x00,0x80,0xFB,0x04,0x00,0x00,0x00,0x00,0x20,0xE0,0x00,0x00,0x00},/*"}",93*/

{0x00,0x40,0x80,0x80,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"~",94*/
    
};