364 lines
18 KiB
C
364 lines
18 KiB
C
#include "bsp_lcd_st7565.h"
|
||
|
||
const uint8_t LCD_FONT6x8[][6];
|
||
const uint8_t LCD_FONT8x16[][16];
|
||
|
||
static uint8_t bsp_lcd_brightness = 90;
|
||
|
||
static void bsp_lcd_send_cmd(uint8_t cmd);
|
||
static void bsp_lcd_send_dat(const uint8_t *dat_buf, uint16_t dat_len);
|
||
static void bsp_lcd_set_cursor(uint8_t column, uint8_t page);
|
||
static void bsp_lcd_6x8_char(uint8_t y, uint8_t x, char ch);
|
||
static void bsp_lcd_8x16_char(uint8_t y, uint8_t x, char ch);
|
||
|
||
static void bsp_lcd_send_cmd(uint8_t cmd)
|
||
{
|
||
HAL_GPIO_WritePin(LCD_DC_GPIO_Port, LCD_DC_Pin, GPIO_PIN_RESET); //发送指令
|
||
HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_RESET);
|
||
HAL_SPI_Transmit(&BSP_LCD_SPI, &cmd, 1, 200);
|
||
HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_SET);
|
||
}
|
||
|
||
static void bsp_lcd_send_byte(uint8_t byte)
|
||
{
|
||
HAL_GPIO_WritePin(LCD_DC_GPIO_Port, LCD_DC_Pin, GPIO_PIN_SET); //发送数据
|
||
HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_RESET);
|
||
HAL_SPI_Transmit(&BSP_LCD_SPI, &byte, 1, 200);
|
||
HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_SET);
|
||
}
|
||
|
||
static void bsp_lcd_send_bytes(uint8_t *bytes, uint8_t bytes_count)
|
||
{
|
||
HAL_GPIO_WritePin(LCD_DC_GPIO_Port, LCD_DC_Pin, GPIO_PIN_SET); //发送数据
|
||
HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_RESET);
|
||
HAL_SPI_Transmit(&BSP_LCD_SPI, bytes, bytes_count, 200);
|
||
HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_SET);
|
||
}
|
||
|
||
static void bsp_lcd_init_regs(void)
|
||
{
|
||
bsp_lcd_send_cmd(0xE2);
|
||
HAL_Delay(5);
|
||
bsp_lcd_send_cmd(0x2C); /* 升压步骤1 */
|
||
HAL_Delay(5);
|
||
bsp_lcd_send_cmd(0x2E); /* 升压步骤2 */
|
||
HAL_Delay(5);
|
||
bsp_lcd_send_cmd(0x2F); /* 升压步骤3 */
|
||
HAL_Delay(5);
|
||
bsp_lcd_send_cmd(0x26); /* 粗调对比度,可设置范围20~27 */
|
||
bsp_lcd_send_cmd(0x81); /* 微调对比度 */
|
||
bsp_lcd_send_cmd(0x18); /* 微调对比度的值,可设置范围0~63 */
|
||
bsp_lcd_send_cmd(0xA2); /* 1/9偏压比(bias) */
|
||
bsp_lcd_send_cmd(0xC8); /* 行扫描顺序:从上到下 */
|
||
bsp_lcd_send_cmd(0xA0); /* 列扫描顺序:从左到右 */
|
||
bsp_lcd_send_cmd(0x40); /* 起始行:从第一行开始 */
|
||
}
|
||
|
||
static void bsp_lcd_set_cursor(uint8_t column, uint8_t page)
|
||
{
|
||
bsp_lcd_send_cmd(0xB0 + page);
|
||
bsp_lcd_send_cmd(0x10 + (column >> 4));
|
||
bsp_lcd_send_cmd(column & 0x0F);
|
||
}
|
||
|
||
static void bsp_lcd_6x8_char(uint8_t y, uint8_t x, char ch)
|
||
{
|
||
bsp_lcd_set_cursor(x, y);
|
||
bsp_lcd_send_bytes((uint8_t*)&LCD_FONT6x8[(uint8_t)(ch - 32)][0], 6);
|
||
}
|
||
|
||
static void bsp_lcd_8x16_char(uint8_t y, uint8_t x, char ch)
|
||
{
|
||
bsp_lcd_set_cursor(x, y);
|
||
bsp_lcd_send_bytes((uint8_t*)&LCD_FONT8x16[(uint8_t)(ch - 32)][0], 8);
|
||
bsp_lcd_set_cursor(x, y + 1);
|
||
bsp_lcd_send_bytes((uint8_t*)&LCD_FONT8x16[(uint8_t)(ch - 32)][8], 8);
|
||
}
|
||
|
||
void bsp_lcd_clear(void)
|
||
{
|
||
uint8_t line_buffer[BSP_LCD_X_PIXELS] = { 0 };
|
||
|
||
for (uint8_t i = 0; i < BSP_LCD_Y_PIXELS / 8; i ++) {
|
||
bsp_lcd_set_cursor(0, i);
|
||
bsp_lcd_send_bytes(line_buffer, BSP_LCD_X_PIXELS);
|
||
}
|
||
}
|
||
|
||
void bsp_lcd_set_bl_brightness(uint8_t brightness)
|
||
{
|
||
if (brightness == 0) {
|
||
HAL_TIM_PWM_Stop(&BSP_LCD_BL_PWM_TIM, BSP_LCD_BL_PWM_CH);
|
||
} else {
|
||
uint32_t oc = __HAL_TIM_GET_AUTORELOAD(&BSP_LCD_BL_PWM_TIM) * brightness / 100;
|
||
__HAL_TIM_SET_COMPARE(&BSP_LCD_BL_PWM_TIM, BSP_LCD_BL_PWM_CH, oc);
|
||
HAL_TIM_PWM_Start(&BSP_LCD_BL_PWM_TIM, BSP_LCD_BL_PWM_CH);
|
||
}
|
||
}
|
||
|
||
void bsp_lcd_init(void)
|
||
{
|
||
HAL_GPIO_WritePin(LCD_RST_GPIO_Port, LCD_RST_Pin, GPIO_PIN_RESET);
|
||
HAL_Delay(10);
|
||
HAL_GPIO_WritePin(LCD_RST_GPIO_Port, LCD_RST_Pin, GPIO_PIN_SET); //复位LCD
|
||
HAL_Delay(10);
|
||
|
||
bsp_lcd_init_regs(); //初始化寄存器
|
||
|
||
bsp_lcd_clear(); //清屏
|
||
bsp_lcd_send_cmd(0xAF); //开显示
|
||
|
||
HAL_TIM_Base_Start(&BSP_LCD_BL_PWM_TIM);
|
||
bsp_lcd_set_bl_brightness(bsp_lcd_brightness);
|
||
}
|
||
|
||
void bsp_lcd_6x8_str(uint8_t y, uint8_t x, const char *str)
|
||
{
|
||
while(*str != '\0') {
|
||
if(x > BSP_LCD_X_PIXELS - 6 || *str == '\n') {
|
||
x = 0;
|
||
y ++;
|
||
if(y >= BSP_LCD_Y_PIXELS / 8) {
|
||
break;
|
||
}
|
||
} else if(*str<32 || *str>127) {
|
||
continue;
|
||
}
|
||
|
||
bsp_lcd_6x8_char(y, x, *str);
|
||
|
||
x += 6;
|
||
str ++;
|
||
}
|
||
}
|
||
|
||
void bsp_lcd_8x16_str(uint8_t y, uint8_t x, const char *str)
|
||
{
|
||
while(*str) {
|
||
if(x > BSP_LCD_X_PIXELS - 8 || *str == '\n') {
|
||
x = 0;
|
||
y += 2;
|
||
if(y >= BSP_LCD_Y_PIXELS / 8) {
|
||
break;
|
||
}
|
||
} else if(*str < 32 || *str > 127) {
|
||
continue;
|
||
}
|
||
|
||
bsp_lcd_8x16_char(y, x, *str);
|
||
|
||
x += 8;
|
||
str ++;
|
||
}
|
||
}
|
||
|
||
void bsp_lcd_bitmap(uint8_t x0, uint8_t y0, uint8_t x_lenth, uint8_t y_lenth, const uint8_t *bmp_tab)
|
||
{
|
||
for(uint8_t y = 0; y < y_lenth; y ++) {
|
||
bsp_lcd_set_cursor(x0, y0 + y);
|
||
bsp_lcd_send_bytes((uint8_t*)bmp_tab + x_lenth * y, x_lenth);
|
||
}
|
||
}
|
||
|
||
/**
|
||
* @brief 6*8的点阵字库
|
||
*
|
||
*/
|
||
const uint8_t LCD_FONT6x8[][6] = {
|
||
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, // ' '
|
||
{0x00, 0x00, 0x00, 0x2f, 0x00, 0x00}, // !
|
||
{0x00, 0x00, 0x07, 0x00, 0x07, 0x00}, // "
|
||
{0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14}, // #
|
||
{0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12}, // $
|
||
{0x00, 0x62, 0x64, 0x08, 0x13, 0x23}, // %
|
||
{0x00, 0x36, 0x49, 0x55, 0x22, 0x50}, // &
|
||
{0x00, 0x00, 0x05, 0x03, 0x00, 0x00}, // '
|
||
{0x00, 0x00, 0x1c, 0x22, 0x41, 0x00}, // (
|
||
{0x00, 0x00, 0x41, 0x22, 0x1c, 0x00}, // )
|
||
{0x00, 0x14, 0x08, 0x3E, 0x08, 0x14}, // *
|
||
{0x00, 0x08, 0x08, 0x3E, 0x08, 0x08}, // +
|
||
{0x00, 0x00, 0x00, 0xA0, 0x60, 0x00}, // ,
|
||
{0x00, 0x08, 0x08, 0x08, 0x08, 0x08}, // -
|
||
{0x00, 0x00, 0x60, 0x60, 0x00, 0x00}, // .
|
||
{0x00, 0x20, 0x10, 0x08, 0x04, 0x02}, // /
|
||
{0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E}, // 0
|
||
{0x00, 0x00, 0x42, 0x7F, 0x40, 0x00}, // 1
|
||
{0x00, 0x42, 0x61, 0x51, 0x49, 0x46}, // 2
|
||
{0x00, 0x21, 0x41, 0x45, 0x4B, 0x31}, // 3
|
||
{0x00, 0x18, 0x14, 0x12, 0x7F, 0x10}, // 4
|
||
{0x00, 0x27, 0x45, 0x45, 0x45, 0x39}, // 5
|
||
{0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30}, // 6
|
||
{0x00, 0x01, 0x71, 0x09, 0x05, 0x03}, // 7
|
||
{0x00, 0x36, 0x49, 0x49, 0x49, 0x36}, // 8
|
||
{0x00, 0x06, 0x49, 0x49, 0x29, 0x1E}, // 9
|
||
{0x00, 0x00, 0x36, 0x36, 0x00, 0x00}, // :
|
||
{0x00, 0x00, 0x56, 0x36, 0x00, 0x00}, // ;
|
||
{0x00, 0x08, 0x14, 0x22, 0x41, 0x00}, // <
|
||
{0x00, 0x14, 0x14, 0x14, 0x14, 0x14}, // =
|
||
{0x00, 0x00, 0x41, 0x22, 0x14, 0x08}, // >
|
||
{0x00, 0x02, 0x01, 0x51, 0x09, 0x06}, // ?
|
||
{0x00, 0x32, 0x49, 0x59, 0x51, 0x3E}, // @
|
||
{0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C}, // A
|
||
{0x00, 0x7F, 0x49, 0x49, 0x49, 0x36}, // B
|
||
{0x00, 0x3E, 0x41, 0x41, 0x41, 0x22}, // C
|
||
{0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C}, // D
|
||
{0x00, 0x7F, 0x49, 0x49, 0x49, 0x41}, // E
|
||
{0x00, 0x7F, 0x09, 0x09, 0x09, 0x01}, // F
|
||
{0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A}, // G
|
||
{0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F}, // H
|
||
{0x00, 0x00, 0x41, 0x7F, 0x41, 0x00}, // I
|
||
{0x00, 0x20, 0x40, 0x41, 0x3F, 0x01}, // J
|
||
{0x00, 0x7F, 0x08, 0x14, 0x22, 0x41}, // K
|
||
{0x00, 0x7F, 0x40, 0x40, 0x40, 0x40}, // L
|
||
{0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F}, // M
|
||
{0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F}, // N
|
||
{0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E}, // O
|
||
{0x00, 0x7F, 0x09, 0x09, 0x09, 0x06}, // P
|
||
{0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E}, // Q
|
||
{0x00, 0x7F, 0x09, 0x19, 0x29, 0x46}, // R
|
||
{0x00, 0x46, 0x49, 0x49, 0x49, 0x31}, // S
|
||
{0x00, 0x01, 0x01, 0x7F, 0x01, 0x01}, // T
|
||
{0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F}, // U
|
||
{0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F}, // V
|
||
{0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F}, // W
|
||
{0x00, 0x63, 0x14, 0x08, 0x14, 0x63}, // X
|
||
{0x00, 0x07, 0x08, 0x70, 0x08, 0x07}, // Y
|
||
{0x00, 0x61, 0x51, 0x49, 0x45, 0x43}, // Z
|
||
{0x00, 0x00, 0x7F, 0x41, 0x41, 0x00}, // [
|
||
{0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55}, // '\'
|
||
{0x00, 0x00, 0x41, 0x41, 0x7F, 0x00}, // ]
|
||
{0x00, 0x04, 0x02, 0x01, 0x02, 0x04}, // ^
|
||
{0x00, 0x40, 0x40, 0x40, 0x40, 0x40}, // _
|
||
{0x00, 0x00, 0x01, 0x02, 0x04, 0x00}, // '
|
||
{0x00, 0x20, 0x54, 0x54, 0x54, 0x78}, // a
|
||
{0x00, 0x7F, 0x48, 0x44, 0x44, 0x38}, // b
|
||
{0x00, 0x38, 0x44, 0x44, 0x44, 0x20}, // c
|
||
{0x00, 0x38, 0x44, 0x44, 0x48, 0x7F}, // d
|
||
{0x00, 0x38, 0x54, 0x54, 0x54, 0x18}, // e
|
||
{0x00, 0x08, 0x7E, 0x09, 0x01, 0x02}, // f
|
||
{0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C}, // g
|
||
{0x00, 0x7F, 0x08, 0x04, 0x04, 0x78}, // h
|
||
{0x00, 0x00, 0x44, 0x7D, 0x40, 0x00}, // i
|
||
{0x00, 0x40, 0x80, 0x84, 0x7D, 0x00}, // j
|
||
{0x00, 0x7F, 0x10, 0x28, 0x44, 0x00}, // k
|
||
{0x00, 0x00, 0x41, 0x7F, 0x40, 0x00}, // l
|
||
{0x00, 0x7C, 0x04, 0x18, 0x04, 0x78}, // m
|
||
{0x00, 0x7C, 0x08, 0x04, 0x04, 0x78}, // n
|
||
{0x00, 0x38, 0x44, 0x44, 0x44, 0x38}, // o
|
||
{0x00, 0xFC, 0x24, 0x24, 0x24, 0x18}, // p
|
||
{0x00, 0x18, 0x24, 0x24, 0x18, 0xFC}, // q
|
||
{0x00, 0x7C, 0x08, 0x04, 0x04, 0x08}, // r
|
||
{0x00, 0x48, 0x54, 0x54, 0x54, 0x20}, // s
|
||
{0x00, 0x04, 0x3F, 0x44, 0x40, 0x20}, // t
|
||
{0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C}, // u
|
||
{0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C}, // v
|
||
{0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C}, // w
|
||
{0x00, 0x44, 0x28, 0x10, 0x28, 0x44}, // x
|
||
{0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C}, // y
|
||
{0x00, 0x44, 0x64, 0x54, 0x4C, 0x44}, // z
|
||
{0x00, 0x08, 0x3E, 0x41, 0x00, 0x00}, // {
|
||
{0x00, 0x00, 0x7F, 0x00, 0x00, 0x00}, // |
|
||
{0x00, 0x00, 0x41, 0x3E, 0x08, 0x00}, // }
|
||
};
|
||
|
||
/**
|
||
* @brief 8*16的点阵字库
|
||
*
|
||
*/
|
||
const uint8_t LCD_FONT8x16[][16] = {
|
||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ' '
|
||
{0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00}, // !
|
||
{0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // "
|
||
{0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00}, // #
|
||
{0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00}, // $
|
||
{0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00}, // %
|
||
{0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10}, // &
|
||
{0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // '
|
||
{0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00}, // (
|
||
{0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00}, // )
|
||
{0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00}, // *
|
||
{0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00}, // +
|
||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00}, // ,
|
||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01}, // -
|
||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00}, // .
|
||
{0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00}, // /
|
||
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00}, // 0
|
||
{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00}, // 1
|
||
{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00}, // 2
|
||
{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00}, // 3
|
||
{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00}, // 4
|
||
{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00}, // 5
|
||
{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00}, // 6
|
||
{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00}, // 7
|
||
{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00}, // 8
|
||
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00}, // 9
|
||
{0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00}, // :
|
||
{0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00}, // ;
|
||
{0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00}, // <
|
||
{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00}, // =
|
||
{0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00}, // >
|
||
{0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00}, // ?
|
||
{0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00}, // @
|
||
{0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20}, // A
|
||
{0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00}, // B
|
||
{0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00}, // C
|
||
{0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00}, // D
|
||
{0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00}, // E
|
||
{0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00}, // F
|
||
{0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00}, // G
|
||
{0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20}, // H
|
||
{0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00}, // I
|
||
{0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00}, // J
|
||
{0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00}, // K
|
||
{0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00}, // L
|
||
{0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00}, // M
|
||
{0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00}, // N
|
||
{0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00}, // O
|
||
{0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00}, // P
|
||
{0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00}, // Q
|
||
{0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20}, // R
|
||
{0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00}, // S
|
||
{0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00}, // T
|
||
{0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00}, // U
|
||
{0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00}, // V
|
||
{0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00}, // W
|
||
{0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20}, // X
|
||
{0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00}, // Y
|
||
{0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00}, // Z
|
||
{0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00}, // [
|
||
{0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00}, // '\'
|
||
{0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00}, // ]
|
||
{0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // ^
|
||
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80}, // _
|
||
{0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}, // `
|
||
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20}, // a
|
||
{0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00}, // b
|
||
{0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00}, // c
|
||
{0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20}, // d
|
||
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00}, // e
|
||
{0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00}, // f
|
||
{0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00}, // g
|
||
{0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20}, // h
|
||
{0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00}, // i
|
||
{0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00}, // j
|
||
{0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00}, // k
|
||
{0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00}, // l
|
||
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F}, // m
|
||
{0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20}, // n
|
||
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00}, // o
|
||
{0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00}, // p
|
||
{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80}, // q
|
||
{0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00}, // r
|
||
{0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00}, // s
|
||
{0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00}, // t
|
||
{0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20}, // u
|
||
{0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00}, // v
|
||
{0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00}, // w
|
||
{0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00}, // x
|
||
{0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00}, // y
|
||
{0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00}, // z
|
||
{0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40}, // {
|
||
{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00}, // |
|
||
{0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00}, // }
|
||
};
|