STM32HAL库 0.96寸4针OLED驱动代码
单片机:STM32F103C8T6
软件版本:STM32CubeMX 4.20.1
单片机固件包:STM32Cube_FW_F1_V1.4.0
本代码是参考网络上的部分程序代码编写,仅用于学习和交流。希望能给各位读者些许帮助。
oled.c代码:
/*************************************************
// 文件说明: 0.96寸4针OLED驱动代码
// 创 建 人: mnWu522
// 日期: 2019-12-30
// 修 改 人:
// 修改日期: 20xx-xx-xx
*************************************************/
#include "oled.h"
#include "oledfont.h"
#include "tim.h"
//OLED两个引脚初始化
void OLED_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
OLED_GPIO_CLK_ENABLE();
GPIO_InitStruct.Pin = OLED_SCK_PIN | OLED_SDA_PIN;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOx_OLED_PORT,&GPIO_InitStruct);
OLED_SDA_OFF();
OLED_SCK_ON();
}
//OLED初始化
void OLED_Init(void)
{
uint8_t i;
for(i=0;i<25;i++)
{
OLED_Send_Cmd(OLED_Init_cmd[i]);
}
}
//
void OLED_IIC_Start(void)
{
OLED_SDA_ON();
Delay_us(1);
OLED_SCK_ON();
Delay_us(1);
OLED_SDA_OFF();
Delay_us(3);
OLED_SCK_OFF();
OLED_IIC_Write(0x78);
}
//
void OLED_IIC_Stop(void)
{
OLED_SDA_OFF();
Delay_us(1);
OLED_SCK_ON();
Delay_us(3);
OLED_SDA_ON();
}
//OLED发送指令函数
void OLED_Send_Cmd(uint8_t command)
{
OLED_IIC_Start();
OLED_IIC_Write(0x00);
OLED_IIC_Write(command);
OLED_IIC_Stop();
}
//OLED发送显示8点数据函数
void OLED_Send_Data(uint8_t data)
{
OLED_IIC_Start();
OLED_IIC_Write(0x40);
OLED_IIC_Write(data);
OLED_IIC_Stop();
}
//OLED设置列数 128列 0~127
void OLED_Set_Column(uint8_t column)
{
OLED_Send_Cmd(0x10|(column>>4));//设置列地址高位
OLED_Send_Cmd(0x00|(column&0x0f));//设置列地址低位
}
//OLED设置大行数 8大行 0~7 每大行由8小行组成
void OLED_Set_Page(uint8_t line)
{
OLED_Send_Cmd(0xb0+line);
}
//OLED清屏函数 黑屏
void OLED_ALL_Clear(void)
{
uint8_t line,column;
for(line=0;line<8;line++)
{
OLED_Set_Page(line);
OLED_Set_Column(0);
for(column=0;column<128;column++)
{
OLED_Send_Data(0x00);
}
}
}
//OLED清屏函数 第一大行黄色 其他7大行蓝色
void OLED_ALL_Full(void)
{
uint8_t line,column;
for(line=0;line<8;line++)
{
OLED_Set_Page(line);
OLED_Set_Column(0);
for(column=0;column<128;column++)
{
OLED_Send_Data(0xff);
}
}
}
//OLED写入1Byte数据
void OLED_IIC_Write(uint8_t date)
{
uint8_t i, temp;
temp = date;
for(i=0; i<8; i++)
{
OLED_SCK_OFF();
if((temp&0x80) == 0)
{
OLED_SDA_OFF();
}
else
{
OLED_SDA_ON();
}
temp = temp << 1;
Delay_us(1);
OLED_SCK_ON();
Delay_us(1);
}
OLED_SCK_OFF();
Delay_us(1);
OLED_SDA_ON();
Delay_us(1);
OLED_SCK_ON();
Delay_us(1);
OLED_SCK_OFF();
Delay_us(1);
}
//OLED显示一个8x6的ASCII码符号
void OLED_Draw_8_6_ASCII(uint8_t line,uint8_t column,int ASCII_num)
{
int i;
OLED_Set_Page(line);
OLED_Set_Column(column);
for(i=0;i<6;i++)
{
OLED_Send_Data(ASCII8x6[ASCII_num][i]);
}
}
//OLED显示一个16x8的ASCII码符号
void OLED_Draw_16_8_ASCII(uint8_t line,uint8_t column,int ASCII_num)
{
int i;
OLED_Set_Page(line);
OLED_Set_Column(column);
for(i=0;i<8;i++)
{
OLED_Send_Data(ASCII16x8[ASCII_num][i]);
}
OLED_Set_Page(line+1);
OLED_Set_Column(column);
for(i=8;i<16;i++)
{
OLED_Send_Data(ASCII16x8[ASCII_num][i]);
}
}
//OLED显示一个16x16的汉字符号
void OLED_Draw_16_16_Hz(uint8_t line,uint8_t column,int Hz_num)
{
int i;
OLED_Set_Page(line);
OLED_Set_Column(column);
for(i=0;i<16;i++)
{
OLED_Send_Data(Hz16x16[Hz_num][i]);
}
OLED_Set_Page(line+1);
OLED_Set_Column(column);
for(i=16;i<32;i++)
{
OLED_Send_Data(Hz16x16[Hz_num][i]);
}
}
oled.h代码:
#ifndef __OLED_H__
#define __OLED_H__
#include "stm32f1xx_hal.h"
///
#define OLED_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
#define GPIOx_OLED_PORT GPIOB
#define OLED_SCK_PIN GPIO_PIN_12
#define OLED_SCK_ON() HAL_GPIO_WritePin(GPIOx_OLED_PORT, OLED_SCK_PIN, GPIO_PIN_SET)
#define OLED_SCK_OFF() HAL_GPIO_WritePin(GPIOx_OLED_PORT, OLED_SCK_PIN, GPIO_PIN_RESET)
#define OLED_SCK_TOGGLE() HAL_GPIO_TogglePin(GPIOx_OLED_PORT, OLED_SCK_PIN)
#define OLED_SDA_PIN GPIO_PIN_13
#define OLED_SDA_ON() HAL_GPIO_WritePin(GPIOx_OLED_PORT, OLED_SDA_PIN, GPIO_PIN_SET)
#define OLED_SDA_OFF() HAL_GPIO_WritePin(GPIOx_OLED_PORT, OLED_SDA_PIN, GPIO_PIN_RESET)
#define OLED_SDA_TOGGLE() HAL_GPIO_TogglePin(GPIOx_OLED_PORT, OLED_SDA_PIN)
///
void OLED_GPIO_Init(void);
void OLED_Init(void);
void OLED_IIC_Start(void);
void OLED_IIC_Stop(void);
void OLED_Send_Cmd(uint8_t);
void OLED_Send_Data(uint8_t);
void OLED_Set_Column(uint8_t);
void OLED_Set_Page(uint8_t);
void OLED_ALL_Clear(void);
void OLED_ALL_Full(void);
void OLED_IIC_Write(uint8_t);
void OLED_Draw_8_6_ASCII(uint8_t,uint8_t,int);
void OLED_Draw_16_8_ASCII(uint8_t,uint8_t,int);
void OLED_Draw_16_16_Hz(uint8_t,uint8_t,int);
#endif
oledfont.h代码:
#ifndef __OLEDFONT_H__
#define __OLEDFONT_H__
#include "stm32f1xx_hal.h"
const uint8_t OLED_Init_cmd[25]=
{
0xAE,//关闭显示
0xD5,//设置时钟分频因子,震荡频率
0x80,//[3:0],分频因子;[7:4],震荡频率
0xA8,//设置驱动路数
0X3F,//默认0X3F(1/64)
0xD3,//设置显示偏移
0X00,//默认为0
0x40,//设置显示开始行 [5:0],行数
0x8D,//电荷泵设置
0x14,//bit2,开启/关闭
0x20,//设置内存地址模式
0x02,//[1:0],00,列地址模式;01,行地址模式;10,页地址模式;默认10;
0xA1,//段重定义设置,bit0:0,0->0;1,0->127;
0xC8,//设置COM扫描方向;bit3:0,普通模式;1,重定义模式 COM[N-1]->COM0;N:驱动路数
0xDA,//设置COM硬件引脚配置
0x12,//[5:4]配置
0x81,//对比度设置
0xEF,//1~255;默认0X7F (亮度设置,越大越亮)
0xD9,//设置预充电周期
0xf1,//[3:0],PHASE 1;[7:4],PHASE 2;
0xDB,//设置VCOMH 电压倍率
0x30,//[6:4] 000,0.65*vcc;001,0.77*vcc;011,0.83*vcc;
0xA4,//全局显示开启;bit0:1,开启;0,关闭;(白屏/黑屏)
0xA6,//设置显示方式;bit0:1,反相显示;0,正常显示
0xAF,//开启显示
};
//8*6 ASCII字符集点阵
const unsigned char ASCII8x6[92][6] =
{
{0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },// sp /0
{0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },// ! /1
{0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },// " /2
{0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },// # /3
{0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },// $ /4
{0x00, 0x62, 0x64, 0x08, 0x13, 0x23 },// % /5
{0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },// & /6
{0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },// ' /7
{0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },// ( /8
{0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },// ) /9
{0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },// * /10
{0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },// + /11
{0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },// , /12
{0x08, 0x08, 0x08, 0x08, 0x08, 0x08 },// - /13
{0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },// . /14
{0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },// / /15
{0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },// 0 /16
{0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },// 1 /17
{0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },// 2 /18
{0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },// 3 /19
{0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },// 4 /20
{0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },// 5 /21
{0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },// 6 /22
{0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },// 7 /23
{0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },// 8 /24
{0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },// 9 /25
{0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },// : /26
{0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },// ; /27
{0x08, 0x1C, 0x2A, 0x49, 0x08, 0x08 },// < /28
{0x14, 0x14, 0x14, 0x14, 0x14, 0x14 },// = /29
{0x08, 0x08, 0x49, 0x2A, 0x1C, 0x08 },// > /30
{0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },// ? /31
{0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },// @ /32
{0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },// A /33
{0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },// B /34
{0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },// C /35
{0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },// D /36
{0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },// E /37
{0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },// F /38
{0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },// G /39
{0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },// H /40
{0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },// I /41
{0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },// J /42
{0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },// K /43
{0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },// L /44
{0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },// M /45
{0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },// N /46
{0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },// O /47
{0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },// P /48
{0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },// Q /49
{0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },// R /50
{0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },// S /51
{0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },// T /52
{0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },// U /53
{0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },// V /54
{0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },// W /55
{0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },// X /56
{0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },// Y /57
{0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },// Z /58
{0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },// [ /59
{0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 },// 55 /60
{0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },// ] /61
{0x04, 0x02, 0xFF, 0x02, 0x04, 0x00 },// ^ /62
{0x00, 0x20, 0x40, 0xFF, 0x40, 0x20 },// _ /63
{0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },// ' /64
{0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },// a /65
{0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },// b /66
{0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },// c /67
{0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },// d /68
{0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },// e /69
{0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },// f /70
{0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },// g /71
{0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },// h /72
{0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },// i /73
{0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },// j /74
{0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },// k /75
{0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },// l /76
{0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },// m /77
{0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },// n /78
{0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },// o /79
{0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },// p /80
{0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },// q /81
{0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },// r /82
{0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },// s /83
{0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },// t /84
{0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },// u /85
{0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },// v /86
{0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },// w /87
{0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },// x /88
{0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },// y /89
{0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },// z /90
};
//16*8 ASCII字符集点阵
const unsigned char ASCII16x8[95][16]=
{
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//sp /0
{0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00},//! /1
{0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//" /2
{0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00},//# /3
{0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00},//$ /4
{0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00},//% /5
{0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10},//& /6
{0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//' /7
{0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00},//( /8
{0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00},//) /9
{0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00},//* /10
{0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00},//+ /11
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00},//, /12
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01},//- /13
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00},//. /14
{0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00},/// /15
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},//0 /16
{0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},//1 /17
{0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},//2 /18
{0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00},//3 /19
{0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00},//4 /20
{0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00},//5 /21
{0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00},//6 /22
{0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00},//7 /23
{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},//8 /24
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00},//9 /25
{0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00},//: /26
{0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00},//; /27
{0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00},//< /28
{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00},//= /29
{0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00},//> /30
{0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00},//? /31
{0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00},//@ /32
{0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20},//A /33
{0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00},//B /34
{0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00},//C /35
{0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00},//D /36
{0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00},//E /37
{0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00},//F /38
{0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00},//G /39
{0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20},//H /40
{0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},//I /41
{0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00},//J /42
{0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00},//K /43
{0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00},//L /44
{0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00},//M /45
{0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00},//N /46
{0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00},//O /47
{0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00},//P /48
{0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00},//Q /49
{0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20},//R /50
{0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00},//S /51
{0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00},//T /52
{0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00},//U /53
{0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00},//V /54
{0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00},//W /55
{0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20},//X /56
{0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00},//Y /57
{0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00},//Z /58
{0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00},//[ /59
{0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00},//\ /60
{0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00},//] /61
{0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//^ /62
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},//_ /63
{0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//` /64
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20},//a /65
{0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00},//b /66
{0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00},//c /67
{0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20},//d /68
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00},//e /69
{0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},//f /70
{0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00},//g /71
{0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20},//h /72
{0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},//i /73
{0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00},//j /74
{0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00},//k /75
{0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00},//l /76
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F},//m /77
{0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20},//n /78
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00},//o /79
{0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00},//p /80
{0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80},//q /81
{0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00},//r /82
{0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00},//s /83
{0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00},//t /84
{0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20},//u /85
{0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00},//v /86
{0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00},//w /87
{0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00},//x /88
{0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00},//y /89
{0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00},//z /90
{0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40},//{ /91
{0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00},//} /92
{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},//| /93
{0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01},// ~ /94
};
//部分汉字
const unsigned char Hz16x16[4][32]=
{
{0x20,0x30,0xAC,0x63,0x20,0x58,0x20,0xF8,0x4F,0x48,0x49,0xFA,0x48,0x48,0x08,0x00,
0x22,0x67,0x22,0x12,0x12,0x12,0x00,0xFF,0x22,0x22,0x22,0x3F,0x22,0x22,0x20,0x00},//维 /0
{0x00,0x00,0x10,0x10,0x98,0xA4,0x47,0x44,0xA4,0x54,0x0C,0x04,0x00,0x00,0x00,0x00,
0x00,0x81,0x89,0x89,0x44,0x44,0x4A,0x31,0x21,0x11,0x09,0x05,0x03,0x00,0x00,0x00},//多 /1
{0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x20,0x40,0x80,0x00,0x00,
0x08,0x04,0x03,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x01,0x0E,0x00},//小 /2
{0x80,0x82,0x82,0x82,0x82,0x82,0x82,0xE2,0xA2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//子 /3
};
#endif