OLED

  • OLED(Organic Light Emitting Diode):有机发光二极管
  • OLED显示屏:性能优异的新型显示屏,具有功耗低、相应速度快、宽视角、轻薄柔韧等特点
  • 0.96寸OLED模块:小巧玲珑、占用接口少、简单易用,是电子设计中非常常见的显示屏模块
  • 供电:3~5.5V,通信协议:I2C/SPI,分辨率:128*64

image.png
image.png

代码编写

I2C引脚初始化与配置

  1. /*引脚配置*/
  2. #define OLED_W_SCL(x) GPIO_WriteBit(GPIOB, GPIO_Pin_8, (BitAction)(x))
  3. #define OLED_W_SDA(x) GPIO_WriteBit(GPIOB, GPIO_Pin_9, (BitAction)(x))
  4. /*引脚初始化*/
  5. void OLED_I2C_Init(void)
  6. {
  7. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  8. GPIO_InitTypeDef GPIO_InitStructure;
  9. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
  10. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  11. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  12. GPIO_Init(GPIOB, &GPIO_InitStructure);
  13. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  14. GPIO_Init(GPIOB, &GPIO_InitStructure);
  15. OLED_W_SCL(1);
  16. OLED_W_SDA(1);
  17. }

I2C的启动

  1. /**
  2. * @brief I2C开始
  3. * @param 无
  4. * @retval 无
  5. */
  6. void OLED_I2C_Start(void)
  7. {
  8. OLED_W_SDA(1);
  9. OLED_W_SCL(1);
  10. OLED_W_SDA(0);
  11. OLED_W_SCL(0);
  12. }

image.png

I2C的停止

  1. /**
  2. * @brief I2C停止
  3. * @param 无
  4. * @retval 无
  5. */
  6. void OLED_I2C_Stop(void)
  7. {
  8. OLED_W_SDA(0);
  9. OLED_W_SCL(1);
  10. OLED_W_SDA(1);
  11. }

image.png

I2C发送一个字节

  1. /**
  2. * @brief I2C发送一个字节
  3. * @param Byte 要发送的一个字节
  4. * @retval 无
  5. */
  6. void OLED_I2C_SendByte(uint8_t Byte)
  7. {
  8. uint8_t i;
  9. for (i = 0; i < 8; i++)
  10. {
  11. OLED_W_SDA(Byte & (0x80 >> i));//1000 0000 循环右移 并和要传输的数据取&,
  12. //相当于一个一个的把高电平写上,其他位暂时取0
  13. OLED_W_SCL(1); //每发送一个比特位,都要SCL高低电平转化一下
  14. OLED_W_SCL(0);
  15. }
  16. OLED_W_SCL(1); //额外的一个时钟,不处理应答信号
  17. OLED_W_SCL(0);
  18. }

image.png

OLED写命令

  1. /**
  2. * @brief OLED写命令
  3. * @param Command 要写入的命令
  4. * @retval 无
  5. */
  6. void OLED_WriteCommand(uint8_t Command)
  7. {
  8. OLED_I2C_Start();
  9. OLED_I2C_SendByte(0x78); //从机地址
  10. OLED_I2C_SendByte(0x00); //写命令
  11. OLED_I2C_SendByte(Command);
  12. OLED_I2C_Stop();
  13. }

OLED写数据

  1. /**
  2. * @brief OLED写数据
  3. * @param Data 要写入的数据
  4. * @retval 无
  5. */
  6. void OLED_WriteData(uint8_t Data)
  7. {
  8. OLED_I2C_Start();
  9. OLED_I2C_SendByte(0x78); //从机地址
  10. OLED_I2C_SendByte(0x40); //写数据
  11. OLED_I2C_SendByte(Data);
  12. OLED_I2C_Stop();
  13. }

OLED光标设置

  1. /**
  2. * @brief OLED设置光标位置
  3. * @param Y 以左上角为原点,向下方向的坐标,范围:0~7
  4. * @param X 以左上角为原点,向右方向的坐标,范围:0~127
  5. * @retval 无
  6. */
  7. void OLED_SetCursor(uint8_t Y, uint8_t X)
  8. {
  9. OLED_WriteCommand(0xB0 | Y); //设置Y位置
  10. OLED_WriteCommand(0x10 | ((X & 0xF0) >> 4)); //设置X位置高4位
  11. OLED_WriteCommand(0x00 | (X & 0x0F)); //设置X位置低4位
  12. }

OLED清屏

  1. /**
  2. * @brief OLED清屏
  3. * @param 无
  4. * @retval 无
  5. */
  6. void OLED_Clear(void)
  7. {
  8. uint8_t i, j;
  9. for (j = 0; j < 8; j++)
  10. {
  11. OLED_SetCursor(j, 0);
  12. for(i = 0; i < 128; i++)
  13. {
  14. OLED_WriteData(0x00);
  15. }
  16. }
  17. }

OLED显示字符与字符串

  1. /**
  2. * @brief OLED显示一个字符
  3. * @param Line 行位置,范围:1~4
  4. * @param Column 列位置,范围:1~16
  5. * @param Char 要显示的一个字符,范围:ASCII可见字符
  6. * @retval 无
  7. */
  8. void OLED_ShowChar(uint8_t Line, uint8_t Column, char Char)
  9. {
  10. uint8_t i;
  11. OLED_SetCursor((Line - 1) * 2, (Column - 1) * 8); //设置光标位置在上半部分
  12. for (i = 0; i < 8; i++)
  13. {
  14. OLED_WriteData(OLED_F8x16[Char - ' '][i]); //显示上半部分内容
  15. }
  16. OLED_SetCursor((Line - 1) * 2 + 1, (Column - 1) * 8); //设置光标位置在下半部分
  17. for (i = 0; i < 8; i++)
  18. {
  19. OLED_WriteData(OLED_F8x16[Char - ' '][i + 8]); //显示下半部分内容
  20. }
  21. }
  22. /**
  23. * @brief OLED显示字符串
  24. * @param Line 起始行位置,范围:1~4
  25. * @param Column 起始列位置,范围:1~16
  26. * @param String 要显示的字符串,范围:ASCII可见字符
  27. * @retval 无
  28. */
  29. void OLED_ShowString(uint8_t Line, uint8_t Column, char *String)
  30. {
  31. uint8_t i;
  32. for (i = 0; String[i] != '\0'; i++)
  33. {
  34. OLED_ShowChar(Line, Column + i, String[i]);
  35. }
  36. }

OLED数字显示

  1. /**
  2. * @brief OLED次方函数
  3. * @retval 返回值等于X的Y次方
  4. */
  5. uint32_t OLED_Pow(uint32_t X, uint32_t Y)
  6. {
  7. uint32_t Result = 1;
  8. while (Y--)
  9. {
  10. Result *= X;
  11. }
  12. return Result;
  13. }
  14. /**
  15. * @brief OLED显示数字(十进制,正数)
  16. * @param Line 起始行位置,范围:1~4
  17. * @param Column 起始列位置,范围:1~16
  18. * @param Number 要显示的数字,范围:0~4294967295
  19. * @param Length 要显示数字的长度,范围:1~10
  20. * @retval 无
  21. */
  22. void OLED_ShowNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length)
  23. {
  24. uint8_t i;
  25. for (i = 0; i < Length; i++)
  26. {
  27. OLED_ShowChar(Line, Column + i, Number / OLED_Pow(10, Length - i - 1) % 10 + '0');
  28. }
  29. }
  30. /**
  31. * @brief OLED显示数字(十进制,带符号数)
  32. * @param Line 起始行位置,范围:1~4
  33. * @param Column 起始列位置,范围:1~16
  34. * @param Number 要显示的数字,范围:-2147483648~2147483647
  35. * @param Length 要显示数字的长度,范围:1~10
  36. * @retval 无
  37. */
  38. void OLED_ShowSignedNum(uint8_t Line, uint8_t Column, int32_t Number, uint8_t Length)
  39. {
  40. uint8_t i;
  41. uint32_t Number1;
  42. if (Number >= 0)
  43. {
  44. OLED_ShowChar(Line, Column, '+');
  45. Number1 = Number;
  46. }
  47. else
  48. {
  49. OLED_ShowChar(Line, Column, '-');
  50. Number1 = -Number;
  51. }
  52. for (i = 0; i < Length; i++)
  53. {
  54. OLED_ShowChar(Line, Column + i + 1, Number1 / OLED_Pow(10, Length - i - 1) % 10 + '0');
  55. }
  56. }
  57. /**
  58. * @brief OLED显示数字(十六进制,正数)
  59. * @param Line 起始行位置,范围:1~4
  60. * @param Column 起始列位置,范围:1~16
  61. * @param Number 要显示的数字,范围:0~0xFFFFFFFF
  62. * @param Length 要显示数字的长度,范围:1~8
  63. * @retval 无
  64. */
  65. void OLED_ShowHexNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length)
  66. {
  67. uint8_t i, SingleNumber;
  68. for (i = 0; i < Length; i++)
  69. {
  70. SingleNumber = Number / OLED_Pow(16, Length - i - 1) % 16;
  71. if (SingleNumber < 10)
  72. {
  73. OLED_ShowChar(Line, Column + i, SingleNumber + '0');
  74. }
  75. else
  76. {
  77. OLED_ShowChar(Line, Column + i, SingleNumber - 10 + 'A');
  78. }
  79. }
  80. }
  81. /**
  82. * @brief OLED显示数字(二进制,正数)
  83. * @param Line 起始行位置,范围:1~4
  84. * @param Column 起始列位置,范围:1~16
  85. * @param Number 要显示的数字,范围:0~1111 1111 1111 1111
  86. * @param Length 要显示数字的长度,范围:1~16
  87. * @retval 无
  88. */
  89. void OLED_ShowBinNum(uint8_t Line, uint8_t Column, uint32_t Number, uint8_t Length)
  90. {
  91. uint8_t i;
  92. for (i = 0; i < Length; i++)
  93. {
  94. OLED_ShowChar(Line, Column + i, Number / OLED_Pow(2, Length - i - 1) % 2 + '0');
  95. }
  96. }

OLED初始化

  1. /**
  2. * @brief OLED初始化
  3. * @param 无
  4. * @retval 无
  5. */
  6. void OLED_Init(void)
  7. {
  8. uint32_t i, j;
  9. for (i = 0; i < 1000; i++) //上电延时
  10. {
  11. for (j = 0; j < 1000; j++);
  12. }
  13. OLED_I2C_Init(); //端口初始化
  14. OLED_WriteCommand(0xAE); //关闭显示
  15. OLED_WriteCommand(0xD5); //设置显示时钟分频比/振荡器频率
  16. OLED_WriteCommand(0x80);
  17. OLED_WriteCommand(0xA8); //设置多路复用率
  18. OLED_WriteCommand(0x3F);
  19. OLED_WriteCommand(0xD3); //设置显示偏移
  20. OLED_WriteCommand(0x00);
  21. OLED_WriteCommand(0x40); //设置显示开始行
  22. OLED_WriteCommand(0xA1); //设置左右方向,0xA1正常 0xA0左右反置
  23. OLED_WriteCommand(0xC8); //设置上下方向,0xC8正常 0xC0上下反置
  24. OLED_WriteCommand(0xDA); //设置COM引脚硬件配置
  25. OLED_WriteCommand(0x12);
  26. OLED_WriteCommand(0x81); //设置对比度控制
  27. OLED_WriteCommand(0xCF);
  28. OLED_WriteCommand(0xD9); //设置预充电周期
  29. OLED_WriteCommand(0xF1);
  30. OLED_WriteCommand(0xDB); //设置VCOMH取消选择级别
  31. OLED_WriteCommand(0x30);
  32. OLED_WriteCommand(0xA4); //设置整个显示打开/关闭
  33. OLED_WriteCommand(0xA6); //设置正常/倒转显示
  34. OLED_WriteCommand(0x8D); //设置充电泵
  35. OLED_WriteCommand(0x14);
  36. OLED_WriteCommand(0xAF); //开启显示
  37. OLED_Clear(); //OLED清屏
  38. }

取字模

  1. #ifndef __OLED_FONT_H
  2. #define __OLED_FONT_H
  3. /*OLED字模库,宽8像素,高16像素*/
  4. const uint8_t OLED_F8x16[][16]=
  5. {
  6. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  7. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
  8. 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,
  9. 0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//! 1
  10. 0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,
  11. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" 2
  12. 0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,
  13. 0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 3
  14. 0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,
  15. 0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 4
  16. 0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,
  17. 0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 5
  18. 0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,
  19. 0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//& 6
  20. 0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,
  21. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//' 7
  22. 0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,
  23. 0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 8
  24. 0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,
  25. 0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 9
  26. 0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,
  27. 0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 10
  28. 0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,
  29. 0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+ 11
  30. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  31. 0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 12
  32. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  33. 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 13
  34. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  35. 0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 14
  36. 0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,
  37. 0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 15
  38. 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,
  39. 0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 16
  40. 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,
  41. 0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 17
  42. 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,
  43. 0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 18
  44. 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,
  45. 0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 19
  46. 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,
  47. 0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 20
  48. 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,
  49. 0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 21
  50. 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,
  51. 0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 22
  52. 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,
  53. 0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 23
  54. 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,
  55. 0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 24
  56. 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,
  57. 0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 25
  58. 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,
  59. 0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 26
  60. 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  61. 0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 27
  62. 0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,
  63. 0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//< 28
  64. 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,
  65. 0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//= 29
  66. 0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,
  67. 0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//> 30
  68. 0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,
  69. 0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 31
  70. 0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,
  71. 0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@ 32
  72. 0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,
  73. 0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 33
  74. 0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,
  75. 0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 34
  76. 0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,
  77. 0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 35
  78. 0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,
  79. 0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 36
  80. 0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,
  81. 0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 37
  82. 0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,
  83. 0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 38
  84. 0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,
  85. 0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 39
  86. 0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,
  87. 0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 40
  88. 0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,
  89. 0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 41
  90. 0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,
  91. 0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 42
  92. 0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,
  93. 0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 43
  94. 0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,
  95. 0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 44
  96. 0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,
  97. 0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 45
  98. 0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,
  99. 0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 46
  100. 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,
  101. 0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 47
  102. 0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,
  103. 0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 48
  104. 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,
  105. 0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 49
  106. 0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,
  107. 0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 50
  108. 0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,
  109. 0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 51
  110. 0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,
  111. 0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 52
  112. 0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,
  113. 0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 53
  114. 0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,
  115. 0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 54
  116. 0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,
  117. 0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 55
  118. 0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,
  119. 0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 56
  120. 0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,
  121. 0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 57
  122. 0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,
  123. 0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 58
  124. 0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,
  125. 0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 59
  126. 0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,
  127. 0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 60
  128. 0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,
  129. 0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 61
  130. 0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,
  131. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 62
  132. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  133. 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 63
  134. 0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,
  135. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//` 64
  136. 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,
  137. 0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 65
  138. 0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,
  139. 0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 66
  140. 0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
  141. 0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 67
  142. 0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,
  143. 0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 68
  144. 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,
  145. 0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 69
  146. 0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,
  147. 0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 70
  148. 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,
  149. 0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 71
  150. 0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,
  151. 0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 72
  152. 0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,
  153. 0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 73
  154. 0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,
  155. 0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 74
  156. 0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,
  157. 0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 75
  158. 0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,
  159. 0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 76
  160. 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
  161. 0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 77
  162. 0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,
  163. 0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 78
  164. 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,
  165. 0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 79
  166. 0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,
  167. 0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 80
  168. 0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,
  169. 0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 81
  170. 0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,
  171. 0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 82
  172. 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,
  173. 0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 83
  174. 0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,
  175. 0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 84
  176. 0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,
  177. 0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 85
  178. 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,
  179. 0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 86
  180. 0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,
  181. 0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 87
  182. 0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,
  183. 0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 88
  184. 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,
  185. 0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 89
  186. 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,
  187. 0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 90
  188. 0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,
  189. 0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 91
  190. 0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,
  191. 0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 92
  192. 0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,
  193. 0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 93
  194. 0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,
  195. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~ 94
  196. };
  197. #endif

image.png
image.png