首页 > 技术文章 > 0.96寸OLED显示屏STM32F103C8T6 IIC驱动程序

jiayezi 2022-01-13 15:12 原文

0.96寸OLED显示屏的IIC驱动程序有很多现成的示例,但大部分编程风格实在是让程序阅读起来很困难,所以本伽椰子重新梳理了一下驱动程序,使得其更方便阅读,具体代码内容如下:

1、滴答时钟

DRIVE_SYSTICK.h

1 #ifndef _DRIVE_SYSTICK_H_
2 #define _DRIVE_SYSTICK_H_
3 #include "stm32f10x.h"
4 
5 void LibDriveSystickInit(void);
6 void LibDriveSystickDelay_us(uint32_t Dus);
7 void LibDriveSystickDelay_ms(uint32_t Dms);
8 #endif

DRIVE_SYSTICK.c

 1 #include "DRIVE_SYSTICK.h"
 2 
 3 
 4  /*************************************************
 5  函 数 名 称 : LibDriveSystickInit
 6  功 能 描 述 : 滴答时钟初始化
 7  被 调用清单 : 无
 8  调 用 清 单 : 
 9  输 入 参 数 : 无
10  输 出 参 数 : 无
11  返 回 参 数 : 无
12  其        他 : 无
13 *************************************************/
14 void LibDriveSystickInit(void)
15 {
16         SysTick->LOAD = 1000;
17         SysTick->VAL    = 0;
18         SysTick->CTRL = 0;
19 }
20 
21  /*************************************************
22  函 数 名 称 : LibDriveSystickDelay_us
23  功 能 描 述 : 滴答时钟微妙级延时
24  被 调用清单 : 无
25  调 用 清 单 : 
26  输 入 参 数 : dus待延时微妙数
27  输 出 参 数 : 无
28  返 回 参 数 : 无
29  其        他 : 无
30 *************************************************/
31 void LibDriveSystickDelay_us(uint32_t Dus)
32 {
33         if((Dus == 0) || (Dus > 700000))
34         {
35                 return;
36         }
37         SysTick->LOAD  =    Dus*22-1;
38         SysTick->VAL      = 0;
39         SysTick->CTRL |= 1;
40 
41         while((SysTick->CTRL & (1<<16)) == 0);
42         SysTick->CTRL = 0;
43 }
44 
45  /*************************************************
46  函 数 名 称 : LibDriveSystickDelay_ms
47  功 能 描 述 :滴答时钟毫秒级延时
48  被 调用清单 : 无
49  调 用 清 单 : 
50  输 入 参 数 : dms待延时毫秒数
51  输 出 参 数 : 无
52  返 回 参 数 : 无
53  其        他 : 无
54 *************************************************/
55 void LibDriveSystickDelay_ms(uint32_t Dms)
56 {
57         while(Dms >= 700)
58         {
59                 LibDriveSystickDelay_us(700000);
60                 Dms -= 700;
61         }
62         if(Dms < 700)
63         {
64                 LibDriveSystickDelay_us(Dms*1000);
65         }
66 }

APP_SYSTICK.h

1 #ifndef _APP_SYSTICK_H_
2 #define _APP_SYSTICK_H_
3 #include "DRIVE_SYSTICK.h"
4 
5 void FunAppSystickInit(void);
6 
7 #endif

APP_SYSTICK.c

 1 #include "APP_SYSTICK.h"
 2 
 3 /*************************************************
 4  函 数 名 称 : FunAppOledDisplayTurn
 5  功 能 描 述 : 屏幕旋转180°
 6  被 调用清单 : 无
 7  调 用 清 单 : 
 8  输 入 参 数 : Mode == 0正常显示 Mode == 1反转显示
 9  输 出 参 数 : 无
10  返 回 参 数 : 无
11  其                他 : 无
12 *************************************************/
13 void FunAppSystickInit(void)
14 {
15         LibDriveSystickInit();
16 }

2、IIC通讯驱动程序

DRIVE_I2C2.h

 1 #ifndef _DRIVE_I2C2_H_
 2 #define _DRIVE_I2C2_H_
 3 #include "stm32f10x.h"
 4 #include "DRIVE_SYSTICK.h"
 5 
 6 #define SDA_H    GPIO_SetBits(GPIOB, GPIO_Pin_11)
 7 #define    SDA_L GPIO_ResetBits(GPIOB, GPIO_Pin_11)
 8 #define SCL_H GPIO_SetBits(GPIOB, GPIO_Pin_10)
 9 #define SCL_L GPIO_ResetBits(GPIOB, GPIO_Pin_10)
10 #define SDA_IN GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_11)
11 
12 void LibDriveI2c2Init(void);
13 void LibDriveI2c2Start(void);
14 void LibDriveI2c2Stop(void);
15 void LibDriveI2c2SendAck(uint8_t Ack);
16 void LibDriveI2c2WriteByte(uint8_t Data);
17 uint8_t LibDriveI2c2Read(void);
18 uint8_t LibDriveI2c2CheckAck(void);
19 
20 #endif

DRIVE_I2C2.c

  1 #include "DRIVE_I2C2.h"
  2 
  3 /*************************************************
  4  函 数 名 称 : LibDriveI2c2Init
  5  功 能 描 述 : I2C2初始化
  6  被 调用清单 : 无
  7  调 用 清 单 : 
  8  输 入 参 数 : 无
  9  输 出 参 数 : 无
 10  返 回 参 数 : 无
 11  其            他 : 无
 12 *************************************************/
 13 void LibDriveI2c2Init(void)
 14 {
 15         GPIO_InitTypeDef GPIO_InitStruct;
 16         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
 17         
 18         GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
 19         GPIO_InitStruct.GPIO_Pin    = GPIO_Pin_10 | GPIO_Pin_11;
 20         GPIO_InitStruct.GPIO_Speed= GPIO_Speed_50MHz;
 21         GPIO_Init(GPIOB, &GPIO_InitStruct);
 22 }
 23 
 24 /*************************************************
 25  函 数 名 称 : LibDriveI2c2Start
 26  功 能 描 述 : I2C2开始信号
 27  被 调用清单 : 无
 28  调 用 清 单 : 
 29  输 入 参 数 : 无
 30  输 出 参 数 : 无
 31  返 回 参 数 : 无
 32  其            他 : 无
 33 *************************************************/
 34 void LibDriveI2c2Start(void)
 35 {
 36         SCL_L;
 37         SDA_H;
 38         
 39         SCL_H;
 40         LibDriveSystickDelay_us(5);
 41         SDA_L;
 42         LibDriveSystickDelay_us(5);     
 43         SCL_L;
 44 }
 45 
 46 /*************************************************
 47  函 数 名 称 : LibDriveI2c2Stop
 48  功 能 描 述 : I2C2停止信号
 49  被 调用清单 : 无
 50  调 用 清 单 : 
 51  输 入 参 数 : 无
 52  输 出 参 数 : 无
 53  返 回 参 数 : 无
 54  其            他 : 无
 55 *************************************************/
 56 void LibDriveI2c2Stop(void)
 57 {
 58         SCL_L;
 59         SDA_L;
 60         
 61         SCL_H;
 62         LibDriveSystickDelay_us(5); 
 63         SDA_H;
 64         LibDriveSystickDelay_us(5); 
 65 }
 66 
 67 /*************************************************
 68  函 数 名 称 : LibDriveI2c2SendAck
 69  功 能 描 述 : I2C2发送回复
 70  被 调用清单 : 无
 71  调 用 清 单 : 
 72  输 入 参 数 : Ack 回复状态
 73  输 出 参 数 : 无
 74  返 回 参 数 : 无
 75  其            他 : 无
 76 *************************************************/
 77 void LibDriveI2c2SendAck(uint8_t Ack)
 78 {
 79         if (Ack) //不应答
 80         {
 81                 SCL_L;
 82                 LibDriveSystickDelay_us(5); 
 83                 SDA_H;
 84                 LibDriveSystickDelay_us(1); 
 85                 SCL_H;
 86                 LibDriveSystickDelay_us(5); 
 87         }
 88         else if (Ack == 0) //应答
 89         {
 90                 SCL_L;
 91                 LibDriveSystickDelay_us(5); 
 92                 SDA_L;
 93                 LibDriveSystickDelay_us(1); 
 94                 SCL_H;
 95                 LibDriveSystickDelay_us(5); 
 96         }
 97         SCL_L;
 98 }
 99 
100 /*************************************************
101  函 数 名 称 : LibDriveI2c2WriteByte
102  功 能 描 述 : I2C2写一个字节
103  被 调用清单 : 无
104  调 用 清 单 : 
105  输 入 参 数 : Data 待发送数据
106  输 出 参 数 : 无
107  返 回 参 数 : 无
108  其            他 : 无
109 *************************************************/
110 void LibDriveI2c2WriteByte(uint8_t Data)
111 {
112         uint8_t localIte = 0;
113         for (localIte = 0; localIte < 8; localIte++)
114         {
115                 SCL_L;                 //可以改变数据线
116                 LibDriveSystickDelay_us(5); 
117                 if (Data & 0x80) 
118                 {
119                         SDA_H;
120                 }
121                 else            
122                 {
123                         SDA_L;
124                 }
125                 LibDriveSystickDelay_us(1); 
126                 SCL_H;               //从机时钟线拉高 从机才可以读此位数据
127                 LibDriveSystickDelay_us(5); 
128                 Data = Data << 1;    
129         }
130         SCL_L;                      //安全
131 }
132 
133 /*************************************************
134  函 数 名 称 : LibDriveI2c2Read
135  功 能 描 述 : I2C2读取数据
136  被 调用清单 : 无
137  调 用 清 单 : 
138  输 入 参 数 : 无
139  输 出 参 数 : 无
140  返 回 参 数 : 所读取到的数据(一个字节)
141  其            他 : 无
142 *************************************************/
143 uint8_t LibDriveI2c2Read(void)
144 {
145         uint8_t localData = 0;
146         uint8_t localIte = 0;
147         
148         /*把数线的模式改为输入模式*/
149         SCL_L;                   //可以改变数据线
150         SDA_H;                   //输入模式
151         
152         /*接收八位数据*/
153         for (localIte = 0; localIte < 8; localIte++)
154         {
155                 SCL_L;                //拉低时钟线,从机发送一个位数据
156                 LibDriveSystickDelay_us(5); 
157                 SCL_H;                //主机读
158                 LibDriveSystickDelay_us(5); 
159                 localData = localData << 1;
160                 if (SDA_IN)
161                 {
162                         localData = localData | 0x01;
163                 }
164         }
165         SCL_L;                   //安全
166         return localData;
167 }
168 
169 /*************************************************
170  函 数 名 称 : LibDriveI2c2CheckAck
171  功 能 描 述 : I2C2检查回复状态
172  被 调用清单 : 无
173  调 用 清 单 : 
174  输 入 参 数 : 无
175  输 出 参 数 : 无
176  返 回 参 数 : 应答返回1 无应答放回0
177  其            他 : 无
178 *************************************************/
179 uint8_t LibDriveI2c2CheckAck(void)
180 {
181         uint8_t Ack = 0;
182         /*将数据线的模式改变为输入模式*/
183         SCL_L;
184         SDA_H;
185         /*检测应答位信号*/
186         SCL_L;                       //从机可以发送应答信号/不应答信号
187         LibDriveSystickDelay_us(5); 
188         
189         SCL_H;                     //主机可以读应答信号
190         LibDriveSystickDelay_us(5); 
191         if (SDA_IN)                       //应答
192         {
193             Ack = 1;
194         }
195         SCL_L;                       //安全
196         return Ack;
197 }

 3、OLED驱动程序

APP_OLED.h

 1 #ifndef _APP_OLED_H_
 2 #define _APP_OLED_H_
 3 #include "DRIVE_I2C2.h"
 4 #include <stdlib.h>
 5 
 6 #define OLED_CMD  0//写命令
 7 #define OLED_DATA 1//写数据
 8 
 9 void FunAppOledInit(void);
10 void FunAppOledWriteByte(uint8_t Data, uint8_t Mode);
11 void FunAppOledDisPlayOn(void);
12 void FunAppOledDisPlayOff(void);
13 void FunAppOledClear(void);
14 void FunAppOledRefresh(void);
15 void FunAppOledDrawPoint(uint8_t X, uint8_t Y);
16 void FunAppOledClearPoint(uint8_t X, uint8_t Y);
17 void FunAppOledDrawLine(uint8_t X1, uint8_t Y1, uint8_t X2, uint8_t Y2);
18 void FunAppOledDrawCircle(uint8_t X, uint8_t Y, uint8_t R);
19 void FunAppOledShowChar(uint8_t X, uint8_t Y, uint8_t Chr, uint8_t Size);
20 void FunAppOledShowString(uint8_t X, uint8_t Y, uint8_t * Chr, uint8_t Size);
21 void FunAppOledShowNum(uint8_t X, uint8_t Y, uint32_t Num, uint8_t Len, uint8_t Size);
22 void FunAppOledShowChinese(uint8_t X, uint8_t Y, uint8_t Num, uint8_t Size);
23 void FunAppOledScrollDisplay(uint8_t Num, uint8_t Space);
24 void FunAppOledWriteBP(uint8_t X, uint8_t Y);
25 void FunAppOledShowPicture(uint8_t X1, uint8_t Y1, uint8_t X2, uint8_t Y2, uint8_t *Bmp);
26 void FunAppOledColorTurn(uint8_t Mode);
27 void FunAppOledDisplayTurn(uint8_t Mode);
28 uint32_t FunAppOledPow(uint8_t Num, uint8_t Index);
29 #endif

APP_OLED.c

  1 #include "APP_OLED.h"
  2 #include "OLED_FONT.h"
  3 
  4 static uint8_t OLED_GRAM[144][8];
  5 
  6 /*************************************************
  7  函 数 名 称 : FunAppOledInit
  8  功 能 描 述 : OLED初始化
  9  被 调用清单 : 无
 10  调 用 清 单 : 
 11  输 入 参 数 : 无
 12  输 出 参 数 : 无
 13  返 回 参 数 : 无
 14  其                他 : 无
 15 *************************************************/
 16 void FunAppOledInit(void)
 17 {
 18         LibDriveI2c2Init();
 19         LibDriveSystickDelay_ms(100);
 20         FunAppOledWriteByte(0xAE,OLED_CMD);//--turn off oled panel
 21         FunAppOledWriteByte(0x00,OLED_CMD);//---set low column address
 22         FunAppOledWriteByte(0x10,OLED_CMD);//---set high column address
 23         FunAppOledWriteByte(0x40,OLED_CMD);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)
 24         FunAppOledWriteByte(0x81,OLED_CMD);//--set contrast control register
 25         FunAppOledWriteByte(0xCF,OLED_CMD);// Set SEG Output Current Brightness
 26         FunAppOledWriteByte(0xA1,OLED_CMD);//--Set SEG/Column Mapping     0xa0左右反置 0xa1正常
 27         FunAppOledWriteByte(0xC8,OLED_CMD);//Set COM/Row Scan Direction   0xc0上下反置 0xc8正常
 28         FunAppOledWriteByte(0xA6,OLED_CMD);//--set normal display
 29         FunAppOledWriteByte(0xA8,OLED_CMD);//--set multiplex ratio(1 to 64)
 30         FunAppOledWriteByte(0x3f,OLED_CMD);//--1/64 duty
 31         FunAppOledWriteByte(0xD3,OLED_CMD);//-set display offset    Shift Mapping RAM Counter (0x00~0x3F)
 32         FunAppOledWriteByte(0x00,OLED_CMD);//-not offset
 33         FunAppOledWriteByte(0xd5,OLED_CMD);//--set display clock divide ratio/oscillator frequency
 34         FunAppOledWriteByte(0x80,OLED_CMD);//--set divide ratio, Set Clock as 100 Frames/Sec
 35         FunAppOledWriteByte(0xD9,OLED_CMD);//--set pre-charge period
 36         FunAppOledWriteByte(0xF1,OLED_CMD);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
 37         FunAppOledWriteByte(0xDA,OLED_CMD);//--set com pins hardware configuration
 38         FunAppOledWriteByte(0x12,OLED_CMD);
 39         FunAppOledWriteByte(0xDB,OLED_CMD);//--set vcomh
 40         FunAppOledWriteByte(0x40,OLED_CMD);//Set VCOM Deselect Level
 41         FunAppOledWriteByte(0x20,OLED_CMD);//-Set Page Addressing Mode (0x00/0x01/0x02)
 42         FunAppOledWriteByte(0x02,OLED_CMD);//
 43         FunAppOledWriteByte(0x8D,OLED_CMD);//--set Charge Pump enable/disable
 44         FunAppOledWriteByte(0x14,OLED_CMD);//--set(0x10) disable
 45         FunAppOledWriteByte(0xA4,OLED_CMD);// Disable Entire Display On (0xa4/0xa5)
 46         FunAppOledWriteByte(0xA6,OLED_CMD);// Disable Inverse Display On (0xa6/a7) 
 47         FunAppOledWriteByte(0xAF,OLED_CMD);
 48         FunAppOledClear();
 49 }
 50 
 51 /*************************************************
 52  函 数 名 称 : FunAppOledWriteByte
 53  功 能 描 述 : OLED写入一字节
 54  被 调用清单 : 无
 55  调 用 清 单 : 
 56  输 入 参 数 : Data待写入数据,Mode数据写入模式,为0为写指令为1为写数据
 57  输 出 参 数 : 无
 58  返 回 参 数 : 无
 59  其                他 : 无
 60 *************************************************/
 61 void FunAppOledWriteByte(uint8_t Data, uint8_t Mode)
 62 {
 63         uint8_t localAck = 0;
 64         LibDriveI2c2Start();
 65         LibDriveI2c2WriteByte(0x78);
 66         localAck = LibDriveI2c2CheckAck();
 67         if(localAck)
 68         {
 69                 LibDriveI2c2Stop();
 70         }
 71         if(Mode)
 72         {
 73                 LibDriveI2c2WriteByte(0x40);
 74         }
 75         else
 76         {
 77                 LibDriveI2c2WriteByte(0x00);
 78         }
 79         
 80         localAck = LibDriveI2c2CheckAck();
 81         if(localAck)
 82         {
 83                 LibDriveI2c2Stop();
 84         }
 85         LibDriveI2c2WriteByte(Data);
 86         
 87         localAck = LibDriveI2c2CheckAck();
 88         if(localAck)
 89         {
 90                 LibDriveI2c2Stop();
 91         }
 92         LibDriveI2c2Stop();
 93 }
 94 
 95 /*************************************************
 96  函 数 名 称 : FunAppOledDisPlayOn
 97  功 能 描 述 : 开启OLED显示
 98  被 调用清单 : 无
 99  调 用 清 单 : 
100  输 入 参 数 : 无
101  输 出 参 数 : 无
102  返 回 参 数 : 无
103  其                他 : 无
104 *************************************************/
105 void FunAppOledDisPlayOn(void)
106 {
107     FunAppOledWriteByte(0x8D, OLED_CMD);//电荷泵使能
108     FunAppOledWriteByte(0x14, OLED_CMD);//开启电荷泵
109     FunAppOledWriteByte(0xAE, OLED_CMD);//点亮屏幕
110 }
111 
112 /*************************************************
113  函 数 名 称 : FunAppOledDisPlayOn
114  功 能 描 述 : 关闭OLED显示
115  被 调用清单 : 无
116  调 用 清 单 : 
117  输 入 参 数 : 无
118  输 出 参 数 : 无
119  返 回 参 数 : 无
120  其                他 : 无
121 *************************************************/
122 void FunAppOledDisPlayOff(void)
123 {
124     FunAppOledWriteByte(0x8D, OLED_CMD);//电荷泵使能
125     FunAppOledWriteByte(0x10, OLED_CMD);//关闭电荷泵
126     FunAppOledWriteByte(0xAF, OLED_CMD);//关闭屏幕
127 }
128 
129 /*************************************************
130  函 数 名 称 : FunAppOledRefresh
131  功 能 描 述 : 更新显示
132  被 调用清单 : 无
133  调 用 清 单 : 
134  输 入 参 数 : 无
135  输 出 参 数 : 无
136  返 回 参 数 : 无
137  其                他 : 无
138 *************************************************/
139 void FunAppOledRefresh(void)
140 {
141         uint8_t localIte = 0;
142         uint8_t localNum = 0;
143     
144         for (localIte = 0; localIte < 8; localIte++)
145         {
146                 FunAppOledWriteByte(0xB0 + localIte, OLED_CMD);
147                 FunAppOledWriteByte(0x00           , OLED_CMD);
148                 FunAppOledWriteByte(0x10                     , OLED_CMD);
149                 for (localNum = 0; localNum < 128; localNum++)
150                 {
151                         FunAppOledWriteByte(OLED_GRAM[localNum][localIte], OLED_DATA);
152                 }
153         }
154 }
155 
156 /*************************************************
157  函 数 名 称 : FunAppOledClear
158  功 能 描 述 : 清屏
159  被 调用清单 : 无
160  调 用 清 单 : 
161  输 入 参 数 : 无
162  输 出 参 数 : 无
163  返 回 参 数 : 无
164  其                他 : 无
165 *************************************************/
166 void FunAppOledClear(void)
167 {
168         uint8_t localIte = 0;
169         uint8_t localNum = 0;
170     
171         for (localIte = 0; localIte < 8; localIte++)
172         {
173                 for (localNum = 0; localNum < 128; localNum++)
174                 {
175                         OLED_GRAM[localNum][localIte] = 0;
176                 }
177         }
178         FunAppOledRefresh();
179 }
180 
181 /*************************************************
182  函 数 名 称 : FunAppOledDrawPoint
183  功 能 描 述 : 画点
184  被 调用清单 : 无
185  调 用 清 单 : 
186  输 入 参 数 : X(0 ~ 127) , Y(0 ~ 63)
187  输 出 参 数 : 无
188  返 回 参 数 : 无
189  其                他 : 无
190 *************************************************/
191 void FunAppOledDrawPoint(uint8_t X, uint8_t Y)
192 {
193         uint8_t localI = 0;
194         uint8_t localM = 0;
195         uint8_t localN = 0;
196         
197         localI = Y / 8;
198         localM = Y % 8;
199         localN = 1 << localM;
200         OLED_GRAM[X][localI] |= localN;
201 }
202 
203 /*************************************************
204  函 数 名 称 : FunAppOledClearPoint
205  功 能 描 述 : 清除一个点
206  被 调用清单 : 无
207  调 用 清 单 : 
208  输 入 参 数 : X(0 ~ 127) , Y(0 ~ 63)
209  输 出 参 数 : 无
210  返 回 参 数 : 无
211  其                他 : 无
212 *************************************************/
213 void FunAppOledClearPoint(uint8_t X, uint8_t Y)
214 {
215         uint8_t localI = 0;
216         uint8_t localM = 0;
217         uint8_t localN = 0;
218     
219         localI = Y / 8;
220         localM = Y % 8;
221         localN = 1 << localM;
222     
223         OLED_GRAM[X][localI] = ~OLED_GRAM[X][localI];
224         OLED_GRAM[X][localI] |= localN;
225         OLED_GRAM[X][localI] = ~OLED_GRAM[X][localI];
226 }
227 
228 /*************************************************
229  函 数 名 称 : FunAppOledDrawLine
230  功 能 描 述 : 画线
231  被 调用清单 : 无
232  调 用 清 单 : 
233  输 入 参 数 : X(0 ~ 127) , Y(0 ~ 63)  (X1 , Y1)第一个点坐标(X2 , Y2)第二个点坐标
234  输 出 参 数 : 无
235  返 回 参 数 : 无
236  其                他 : 无
237 *************************************************/
238 void FunAppOledDrawLine(uint8_t X1, uint8_t Y1, uint8_t X2, uint8_t Y2)
239 {
240         uint8_t localIte = 0;
241         uint8_t localK0 = 0;
242         uint8_t localK1 = 0;
243         uint8_t localK2 = 0;
244         
245         if ((X2 > 128)|| (Y2 > 64) || (X1 > X2) || (Y1 > Y2))
246         {
247                 return ;
248         }
249         
250         if (X1 == X2)            //竖线
251         {
252                 for (localIte = 0; localIte < (Y2 - Y1); localIte++)
253                 {
254                         FunAppOledDrawPoint(X1, (Y1 + localIte));
255                 }
256         }
257         else if (Y1 == Y2)//横线
258         {
259                 for (localIte = 0; localIte < (X2 - X1); localIte++)
260                 {
261                         FunAppOledDrawPoint((X1 + localIte), Y1);
262                 }
263         }
264         else                         //斜线
265         {
266                 localK0 = Y2 - Y1;
267                 localK1 = X2 - X1;
268                 localK2 = (localK0 * 10) / localK1;
269                 for (localIte = 0; localIte < (X2 - X1); localIte++)
270                 {
271                         FunAppOledDrawPoint((X1 + localIte), (Y1 + ((localIte * localK2) / 10)));
272                 }
273         }
274 }
275 
276 /*************************************************
277  函 数 名 称 : FunAppOledDrawCircle
278  功 能 描 述 : 画圆
279  被 调用清单 : 无
280  调 用 清 单 : 
281  输 入 参 数 : X(0 ~ 127) , Y(0 ~ 63)  (X , Y)圆心坐标 R半径
282  输 出 参 数 : 无
283  返 回 参 数 : 无
284  其                他 : 无
285 *************************************************/
286 void FunAppOledDrawCircle(uint8_t X, uint8_t Y, uint8_t R)
287 {
288         int localA = 0;
289         int localB = 0;
290         int localN = 0;
291         
292         localB = R;
293         while((2 * localB * localB) >= (R * R))
294         {
295                 FunAppOledDrawPoint(X + localA, Y - localB);
296                 FunAppOledDrawPoint(X - localA, Y - localB);
297                 FunAppOledDrawPoint(X - localA, Y + localB);
298                 FunAppOledDrawPoint(X + localA, Y + localB);
299             
300                 FunAppOledDrawPoint(X + localB, Y - localA);
301                 FunAppOledDrawPoint(X - localB, Y - localA);
302                 FunAppOledDrawPoint(X - localB, Y + localA);
303                 FunAppOledDrawPoint(X + localB, Y + localA);
304             
305                 localA++;
306                 localN = ((localA * localA) + (localB * localB)) - (R * R);//计算画的点离圆心的距离
307                 if (localN > 0 )
308                 {
309                         localA--;
310                         localB--;
311                 }
312         }
313 }
314 
315 /*************************************************
316  函 数 名 称 : FunAppOledShowChar
317  功 能 描 述 : 显示一个字符
318  被 调用清单 : 无
319  调 用 清 单 : 
320  输 入 参 数 : X(0 ~ 127) , Y(0 ~ 63)  (X , Y)起点坐标 Chr待显示字符 Size字体大小
321  输 出 参 数 : 无
322  返 回 参 数 : 无
323  其                他 : 无
324 *************************************************/
325 void FunAppOledShowChar(uint8_t X, uint8_t Y, uint8_t Chr, uint8_t Size)
326 {
327         uint8_t localIte  = 0;
328         uint8_t localIte1 = 0;
329         uint8_t localTemp = 0;
330         uint8_t localSize = 0;
331         uint8_t localChr  = 0;
332         uint8_t localY        = 0;
333     
334         localY = Y;
335         localSize = ((Size / 8) + ((Size % 8) ? 1 : 0)) * (Size / 2);//得到字体一个字符对应点阵集所占字节数
336         localChr     = Chr - ' ';                                                                             //计算偏移后的值
337         for (localIte = 0; localIte < localSize; localIte++)
338         {
339                 if (Size == 12)
340                 {
341                         localTemp = asc2_1206[localChr][localIte];//调用1206字体
342                 }
343                 else if (Size == 16)
344                 {
345                         localTemp = asc2_1608[localChr][localIte];//调用1608字体
346                 }
347                 else if (Size == 24)
348                 {
349                         localTemp = asc2_2412[localChr][localIte];//调用2412字体
350                 }
351                 else
352                 {
353                         return ;
354                 }
355                 
356                 for (localIte1 = 0; localIte1 < 8; localIte1++)
357                 {
358                         if (localTemp & 0x80)
359                         {
360                                 FunAppOledDrawPoint(X, Y);
361                         }
362                         else
363                         {
364                                 FunAppOledClearPoint(X, Y);
365                         }
366                         localTemp <<= 1;
367                         Y++;
368                         if ((Y - localY) == Size)
369                         {
370                                 Y = localY;
371                                 X++;
372                                 break;
373                         }
374                 }
375         }
376 }
377 
378 /*************************************************
379  函 数 名 称 : FunAppOledShowString
380  功 能 描 述 : 显示字符串
381  被 调用清单 : 无
382  调 用 清 单 : 
383  输 入 参 数 : X(0 ~ 127) , Y(0 ~ 63)  (X , Y)起点坐标 Chr待显示字符串 Size字体大小
384  输 出 参 数 : 无
385  返 回 参 数 : 无
386  其                他 : 无
387 *************************************************/
388 void FunAppOledShowString(uint8_t X, uint8_t Y, uint8_t * Chr, uint8_t Size)
389 {
390         while((*Chr >= ' ') && (*Chr <= '~'))//判断是不是非法字符
391         {
392                 FunAppOledShowChar(X, Y, *Chr, Size);
393                 X += Size / 2;
394                 if (X > (128 - Size))                        //换行
395                 {
396                         X = 0;
397                         Y += 2;
398                 }
399                 Chr++;
400         }
401 }
402 
403 /*************************************************
404  函 数 名 称 : FunAppOledPow
405  功 能 描 述 : 计算一个数据的次方
406  被 调用清单 : 无
407  调 用 清 单 : 
408  输 入 参 数 : Num底数,Index指数
409  输 出 参 数 : 无
410  返 回 参 数 : 计算后的值
411  其                他 : 无
412 *************************************************/
413 uint32_t FunAppOledPow(uint8_t Num, uint8_t Index)
414 {
415         uint32_t localRes = 1;
416         while(Index--)
417         {
418                 localRes *= Num;
419         }
420         return localRes;
421 }
422 
423 /*************************************************
424  函 数 名 称 : FunAppOledShowNum
425  功 能 描 述 : 显示数字
426  被 调用清单 : 无
427  调 用 清 单 : 
428  输 入 参 数 : (X , Y)起点坐标   Len数字的位数  Size字体大小
429  输 出 参 数 : 无
430  返 回 参 数 : 无
431  其                他 : 无
432 *************************************************/
433 void FunAppOledShowNum(uint8_t X, uint8_t Y, uint32_t Num, uint8_t Len, uint8_t Size)
434 {
435         uint8_t localIte  = 0;
436         uint8_t localTemp = 0;
437         
438         for (localIte = 0; localIte < Len; localIte++)
439         {
440                 localTemp = (Num / FunAppOledPow(10, Len - localIte - 1)) % 10;
441                 if (localTemp == 0)
442                 {
443                         FunAppOledShowChar((X + (Size / 2) * localIte), Y, '0', Size);
444                 }
445                 else
446                 {
447                         FunAppOledShowChar((X + (Size / 2) * localIte), Y, (localTemp + '0'), Size);
448                 }
449         }
450 }
451 
452 /*************************************************
453  函 数 名 称 : FunAppOledShowChinese
454  功 能 描 述 : 显示汉字
455  被 调用清单 : 无
456  调 用 清 单 : 
457  输 入 参 数 : (X , Y)起点坐标   Num汉字对应序号 Size字体大小
458  输 出 参 数 : 无
459  返 回 参 数 : 无
460  其                他 : 无
461 *************************************************/
462 void FunAppOledShowChinese(uint8_t X, uint8_t Y, uint8_t Num, uint8_t Size)
463 {
464         uint8_t localIte0  = 0;
465         uint8_t localIte1  = 0;
466         uint8_t localCount = 0;
467       uint8_t localTemp  = 0;
468         uint8_t localChr     = 0;
469         uint8_t localX          = 0;
470         uint8_t localY          = 0;
471         uint8_t localSize  = 0;
472     
473         localX = X;
474         localY = Y;
475         localSize = Size / 8;
476         
477         while (localSize--)
478         {
479                 localChr = (Num * Size / 8) + localCount;
480                 localCount++;
481                 
482                 for (localIte0 = 0; localIte0 < Size; localIte0++)
483                 {
484                         if (Size == 16)
485                         {
486                                 localTemp = Hzk0[localChr][localIte0];    //调用16*16字体
487                         }
488                         else if (Size == 24)
489                         {
490                                 localTemp = Hzk2[localChr][localIte0];    //调用24*24字体
491                         }
492                         else if (Size == 32)
493                         {
494                                 localTemp = Hzk3[localChr][localIte0];    //调用32*32字体
495                         }
496                         else if (Size == 64)
497                         {
498                                 localTemp = Hzk4[localChr][localIte0];    //调用64*64字体
499                         }
500                         else
501                         {
502                                 return ;
503                         }
504                         
505                         for (localIte1 = 0; localIte1 < 8; localIte1++)
506                         {
507                                 if (localTemp & 0x01)
508                                 {
509                                         FunAppOledDrawPoint(X, Y);
510                                 }
511                                 else
512                                 {
513                                         FunAppOledClearPoint(X, Y);
514                                 }
515                                 localTemp >>= 1;
516                                 Y++;
517                         }
518                         X++;
519                         if ((X - localX) == Size)
520                         {
521                                 X = localX;
522                                 localY = localY + 8;
523                         }
524                         Y = localY;
525                 }
526         }
527 }
528 
529 /*************************************************
530  函 数 名 称 : FunAppOledScrollDisplay
531  功 能 描 述 : 左移显示
532  被 调用清单 : 无
533  调 用 清 单 : 
534  输 入 参 数 : Num显示汉字的个数,Space每一遍显示的间隔
535  输 出 参 数 : 无
536  返 回 参 数 : 无
537  其                他 : 无
538 *************************************************/
539 void FunAppOledScrollDisplay(uint8_t Num, uint8_t Space)
540 {
541         uint8_t localIte0 = 0;
542         uint8_t localIte1 = 0;
543         uint8_t localIte2 = 0;
544         uint8_t localIte3 = 0;
545         uint8_t localIte4 = 0;
546         uint8_t localNum  = 0;
547         uint8_t localTemp = 0;
548         
549         while (1)
550         {
551                 if (localNum == 0)
552                 {
553                         FunAppOledShowChinese(128, 24, localTemp, 16);//写入一个汉字保存在OLED_GRAM中
554                         localTemp++;
555                 }
556                 
557                 if (localTemp == Num)
558                 {
559                         for (localIte0 = 0; localIte0 < (16 * Space); localIte0++)//显示间隔
560                         {
561                                 for (localIte1 = 0; localIte1 < 144; localIte1++)
562                                 {
563                                         for (localIte2 = 0; localIte2 < 8; localIte2++)
564                                         {
565                                                 OLED_GRAM[localIte1 - 1][localIte2] = OLED_GRAM[localIte1][localIte2];
566                                         }
567                                 }
568                                 FunAppOledRefresh();
569                         }
570                         localTemp = 0;
571                 }
572                 localNum++;
573                 if (localNum == 16)
574                 {
575                         localNum = 0;
576                 }
577                 for (localIte3 = 0; localIte3 < 144; localIte3++)                            //左移
578                 {
579                         for (localIte4 = 0; localIte4 < 8; localIte4++)
580                         {
581                                 OLED_GRAM[localIte3 - 1][localIte4] = OLED_GRAM[localIte3][localIte4];
582                         }
583                 }
584                 FunAppOledRefresh();
585         }
586 }
587 
588 /*************************************************
589  函 数 名 称 : FunAppOledWriteBP
590  功 能 描 述 : 配置写入数据的起始位置
591  被 调用清单 : 无
592  调 用 清 单 : 
593  输 入 参 数 : (X , Y)起始位置坐标
594  输 出 参 数 : 无
595  返 回 参 数 : 无
596  其                他 : 无
597 *************************************************/
598 void FunAppOledWriteBP(uint8_t X, uint8_t Y)
599 {
600         FunAppOledWriteByte((0xB0 + Y), OLED_CMD);
601         FunAppOledWriteByte(((X & 0xF0) >> 4) | 0x10, OLED_CMD);
602         FunAppOledWriteByte((X & 0x0F) | 0x01, OLED_CMD);
603 }
604 
605 /*************************************************
606  函 数 名 称 : FunAppOledShowPicture
607  功 能 描 述 : 显示图片
608  被 调用清单 : 无
609  调 用 清 单 : 
610  输 入 参 数 : (X1 , Y1)起始坐标  (X2 , Y2)终点坐标 Bmp要写入的图片数组
611  输 出 参 数 : 无
612  返 回 参 数 : 无
613  其                他 : 无
614 *************************************************/
615 void FunAppOledShowPicture(uint8_t X1, uint8_t Y1, uint8_t X2, uint8_t Y2, uint8_t *Bmp)
616 {
617         uint32_t localIte0 = 0;
618         uint8_t localX = 0; 
619         uint8_t    localY = 0;
620         
621         if ((localY % 8) == 0)
622         {
623                 localY = 0;
624         }
625         else
626         {
627                 localY += 1;
628         }
629         
630         for (localY = Y1; localY < Y2; localY++)
631         {
632                 FunAppOledWriteBP(X1, localY);
633                 for (localX = X1; localX < X2; localX++)
634                 {
635                         FunAppOledWriteByte(Bmp[localIte0], OLED_DATA);
636                         localIte0++;
637                 }
638         }
639 }
640 
641 /*************************************************
642  函 数 名 称 : FunAppOledColorTurn
643  功 能 描 述 : 反显函数
644  被 调用清单 : 无
645  调 用 清 单 : 
646  输 入 参 数 : Mode == 0正常显示, Mode == 1反色显示
647  输 出 参 数 : 无
648  返 回 参 数 : 无
649  其                他 : 无
650 *************************************************/
651 void FunAppOledColorTurn(uint8_t Mode)
652 {
653         if (Mode == 0)
654         {
655                 FunAppOledWriteByte(0xA6, OLED_CMD);//正常显示    
656         }
657         
658         if (Mode == 1)
659         {
660                 FunAppOledWriteByte(0xA7, OLED_CMD);//反色显示
661         }
662 }
663 
664 /*************************************************
665  函 数 名 称 : FunAppOledDisplayTurn
666  功 能 描 述 : 屏幕旋转180°
667  被 调用清单 : 无
668  调 用 清 单 : 
669  输 入 参 数 : Mode == 0正常显示 Mode == 1反转显示
670  输 出 参 数 : 无
671  返 回 参 数 : 无
672  其                他 : 无
673 *************************************************/
674 void FunAppOledDisplayTurn(uint8_t Mode)
675 {
676         if (Mode == 0)
677         {
678                 FunAppOledWriteByte(0xC8, OLED_CMD);//正常显示
679                 FunAppOledWriteByte(0xA1, OLED_CMD);    
680         }
681         
682         if (Mode == 1)
683         {
684                 FunAppOledWriteByte(0xC0, OLED_CMD);//反转显示
685                 FunAppOledWriteByte(0xA0, OLED_CMD);    
686         }
687 }

4、字体

OLED_FONT.h

  1 /************************************************************
  2  * Copyright (C) 2021 , 伽椰子真可爱
  3  * All right reserved.
  4  * 文件名称:OLED_FONT.h
  5  * 作    者:高弟(GaoDi)
  6  * 原始版本:V1.0
  7  * 创建日期:2022/1/10
  8  * 文件描述:OLED字体
  9  * 函数列表:
 10  *           
 11  * 历    史:
 12  *             <作者>    <时间>    <版本>    <功能描述>
 13  *        
 14  * **********************************************************/
 15 #ifndef _OLED_FONT_H_
 16 #define _OLED_FONT_H_
 17 
 18 //常用ASCII表
 19 //偏移量32
 20 //ASCII字符集
 21 //偏移量32
 22 //大小:12*6
 23 /************************************6*8的点阵************************************/
 24 //12*12 ASCII字符集点阵
 25 const unsigned char asc2_1206[95][12]={
 26 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
 27 {0x00,0x00,0x00,0x00,0x3F,0x40,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/
 28 {0x00,0x00,0x30,0x00,0x40,0x00,0x30,0x00,0x40,0x00,0x00,0x00},/*""",2*/
 29 {0x09,0x00,0x0B,0xC0,0x3D,0x00,0x0B,0xC0,0x3D,0x00,0x09,0x00},/*"#",3*/
 30 {0x18,0xC0,0x24,0x40,0x7F,0xE0,0x22,0x40,0x31,0x80,0x00,0x00},/*"$",4*/
 31 {0x18,0x00,0x24,0xC0,0x1B,0x00,0x0D,0x80,0x32,0x40,0x01,0x80},/*"%",5*/
 32 {0x03,0x80,0x1C,0x40,0x27,0x40,0x1C,0x80,0x07,0x40,0x00,0x40},/*"&",6*/
 33 {0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
 34 {0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x80,0x20,0x40,0x40,0x20},/*"(",8*/
 35 {0x00,0x00,0x40,0x20,0x20,0x40,0x1F,0x80,0x00,0x00,0x00,0x00},/*")",9*/
 36 {0x09,0x00,0x06,0x00,0x1F,0x80,0x06,0x00,0x09,0x00,0x00,0x00},/*"*",10*/
 37 {0x04,0x00,0x04,0x00,0x3F,0x80,0x04,0x00,0x04,0x00,0x00,0x00},/*"+",11*/
 38 {0x00,0x10,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/
 39 {0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00},/*"-",13*/
 40 {0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
 41 {0x00,0x20,0x01,0xC0,0x06,0x00,0x38,0x00,0x40,0x00,0x00,0x00},/*"/",15*/
 42 {0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00},/*"0",16*/
 43 {0x00,0x00,0x10,0x40,0x3F,0xC0,0x00,0x40,0x00,0x00,0x00,0x00},/*"1",17*/
 44 {0x18,0xC0,0x21,0x40,0x22,0x40,0x24,0x40,0x18,0x40,0x00,0x00},/*"2",18*/
 45 {0x10,0x80,0x20,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00},/*"3",19*/
 46 {0x02,0x00,0x0D,0x00,0x11,0x00,0x3F,0xC0,0x01,0x40,0x00,0x00},/*"4",20*/
 47 {0x3C,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x23,0x80,0x00,0x00},/*"5",21*/
 48 {0x1F,0x80,0x24,0x40,0x24,0x40,0x34,0x40,0x03,0x80,0x00,0x00},/*"6",22*/
 49 {0x30,0x00,0x20,0x00,0x27,0xC0,0x38,0x00,0x20,0x00,0x00,0x00},/*"7",23*/
 50 {0x1B,0x80,0x24,0x40,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00},/*"8",24*/
 51 {0x1C,0x00,0x22,0xC0,0x22,0x40,0x22,0x40,0x1F,0x80,0x00,0x00},/*"9",25*/
 52 {0x00,0x00,0x00,0x00,0x08,0x40,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/
 53 {0x00,0x00,0x00,0x00,0x04,0x60,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/
 54 {0x00,0x00,0x04,0x00,0x0A,0x00,0x11,0x00,0x20,0x80,0x40,0x40},/*"<",28*/
 55 {0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x09,0x00,0x00,0x00},/*"=",29*/
 56 {0x00,0x00,0x40,0x40,0x20,0x80,0x11,0x00,0x0A,0x00,0x04,0x00},/*">",30*/
 57 {0x18,0x00,0x20,0x00,0x23,0x40,0x24,0x00,0x18,0x00,0x00,0x00},/*"?",31*/
 58 {0x1F,0x80,0x20,0x40,0x27,0x40,0x29,0x40,0x1F,0x40,0x00,0x00},/*"@",32*/
 59 {0x00,0x40,0x07,0xC0,0x39,0x00,0x0F,0x00,0x01,0xC0,0x00,0x40},/*"A",33*/
 60 {0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x40,0x1B,0x80,0x00,0x00},/*"B",34*/
 61 {0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x30,0x80,0x00,0x00},/*"C",35*/
 62 {0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00},/*"D",36*/
 63 {0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x40,0x30,0xC0,0x00,0x00},/*"E",37*/
 64 {0x20,0x40,0x3F,0xC0,0x24,0x40,0x2E,0x00,0x30,0x00,0x00,0x00},/*"F",38*/
 65 {0x0F,0x00,0x10,0x80,0x20,0x40,0x22,0x40,0x33,0x80,0x02,0x00},/*"G",39*/
 66 {0x20,0x40,0x3F,0xC0,0x04,0x00,0x04,0x00,0x3F,0xC0,0x20,0x40},/*"H",40*/
 67 {0x20,0x40,0x20,0x40,0x3F,0xC0,0x20,0x40,0x20,0x40,0x00,0x00},/*"I",41*/
 68 {0x00,0x60,0x20,0x20,0x20,0x20,0x3F,0xC0,0x20,0x00,0x20,0x00},/*"J",42*/
 69 {0x20,0x40,0x3F,0xC0,0x24,0x40,0x0B,0x00,0x30,0xC0,0x20,0x40},/*"K",43*/
 70 {0x20,0x40,0x3F,0xC0,0x20,0x40,0x00,0x40,0x00,0x40,0x00,0xC0},/*"L",44*/
 71 {0x3F,0xC0,0x3C,0x00,0x03,0xC0,0x3C,0x00,0x3F,0xC0,0x00,0x00},/*"M",45*/
 72 {0x20,0x40,0x3F,0xC0,0x0C,0x40,0x23,0x00,0x3F,0xC0,0x20,0x00},/*"N",46*/
 73 {0x1F,0x80,0x20,0x40,0x20,0x40,0x20,0x40,0x1F,0x80,0x00,0x00},/*"O",47*/
 74 {0x20,0x40,0x3F,0xC0,0x24,0x40,0x24,0x00,0x18,0x00,0x00,0x00},/*"P",48*/
 75 {0x1F,0x80,0x21,0x40,0x21,0x40,0x20,0xE0,0x1F,0xA0,0x00,0x00},/*"Q",49*/
 76 {0x20,0x40,0x3F,0xC0,0x24,0x40,0x26,0x00,0x19,0xC0,0x00,0x40},/*"R",50*/
 77 {0x18,0xC0,0x24,0x40,0x24,0x40,0x22,0x40,0x31,0x80,0x00,0x00},/*"S",51*/
 78 {0x30,0x00,0x20,0x40,0x3F,0xC0,0x20,0x40,0x30,0x00,0x00,0x00},/*"T",52*/
 79 {0x20,0x00,0x3F,0x80,0x00,0x40,0x00,0x40,0x3F,0x80,0x20,0x00},/*"U",53*/
 80 {0x20,0x00,0x3E,0x00,0x01,0xC0,0x07,0x00,0x38,0x00,0x20,0x00},/*"V",54*/
 81 {0x38,0x00,0x07,0xC0,0x3C,0x00,0x07,0xC0,0x38,0x00,0x00,0x00},/*"W",55*/
 82 {0x20,0x40,0x39,0xC0,0x06,0x00,0x39,0xC0,0x20,0x40,0x00,0x00},/*"X",56*/
 83 {0x20,0x00,0x38,0x40,0x07,0xC0,0x38,0x40,0x20,0x00,0x00,0x00},/*"Y",57*/
 84 {0x30,0x40,0x21,0xC0,0x26,0x40,0x38,0x40,0x20,0xC0,0x00,0x00},/*"Z",58*/
 85 {0x00,0x00,0x00,0x00,0x7F,0xE0,0x40,0x20,0x40,0x20,0x00,0x00},/*"[",59*/
 86 {0x00,0x00,0x70,0x00,0x0C,0x00,0x03,0x80,0x00,0x40,0x00,0x00},/*"\",60*/
 87 {0x00,0x00,0x40,0x20,0x40,0x20,0x7F,0xE0,0x00,0x00,0x00,0x00},/*"]",61*/
 88 {0x00,0x00,0x20,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
 89 {0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10},/*"_",63*/
 90 {0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
 91 {0x00,0x00,0x02,0x80,0x05,0x40,0x05,0x40,0x03,0xC0,0x00,0x40},/*"a",65*/
 92 {0x20,0x00,0x3F,0xC0,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00},/*"b",66*/
 93 {0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x06,0x40,0x00,0x00},/*"c",67*/
 94 {0x00,0x00,0x03,0x80,0x04,0x40,0x24,0x40,0x3F,0xC0,0x00,0x40},/*"d",68*/
 95 {0x00,0x00,0x03,0x80,0x05,0x40,0x05,0x40,0x03,0x40,0x00,0x00},/*"e",69*/
 96 {0x00,0x00,0x04,0x40,0x1F,0xC0,0x24,0x40,0x24,0x40,0x20,0x00},/*"f",70*/
 97 {0x00,0x00,0x02,0xE0,0x05,0x50,0x05,0x50,0x06,0x50,0x04,0x20},/*"g",71*/
 98 {0x20,0x40,0x3F,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40},/*"h",72*/
 99 {0x00,0x00,0x04,0x40,0x27,0xC0,0x00,0x40,0x00,0x00,0x00,0x00},/*"i",73*/
100 {0x00,0x10,0x00,0x10,0x04,0x10,0x27,0xE0,0x00,0x00,0x00,0x00},/*"j",74*/
101 {0x20,0x40,0x3F,0xC0,0x01,0x40,0x07,0x00,0x04,0xC0,0x04,0x40},/*"k",75*/
102 {0x20,0x40,0x20,0x40,0x3F,0xC0,0x00,0x40,0x00,0x40,0x00,0x00},/*"l",76*/
103 {0x07,0xC0,0x04,0x00,0x07,0xC0,0x04,0x00,0x03,0xC0,0x00,0x00},/*"m",77*/
104 {0x04,0x40,0x07,0xC0,0x04,0x40,0x04,0x00,0x03,0xC0,0x00,0x40},/*"n",78*/
105 {0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x40,0x03,0x80,0x00,0x00},/*"o",79*/
106 {0x04,0x10,0x07,0xF0,0x04,0x50,0x04,0x40,0x03,0x80,0x00,0x00},/*"p",80*/
107 {0x00,0x00,0x03,0x80,0x04,0x40,0x04,0x50,0x07,0xF0,0x00,0x10},/*"q",81*/
108 {0x04,0x40,0x07,0xC0,0x02,0x40,0x04,0x00,0x04,0x00,0x00,0x00},/*"r",82*/
109 {0x00,0x00,0x06,0x40,0x05,0x40,0x05,0x40,0x04,0xC0,0x00,0x00},/*"s",83*/
110 {0x00,0x00,0x04,0x00,0x1F,0x80,0x04,0x40,0x00,0x40,0x00,0x00},/*"t",84*/
111 {0x04,0x00,0x07,0x80,0x00,0x40,0x04,0x40,0x07,0xC0,0x00,0x40},/*"u",85*/
112 {0x04,0x00,0x07,0x00,0x04,0xC0,0x01,0x80,0x06,0x00,0x04,0x00},/*"v",86*/
113 {0x06,0x00,0x01,0xC0,0x07,0x00,0x01,0xC0,0x06,0x00,0x00,0x00},/*"w",87*/
114 {0x04,0x40,0x06,0xC0,0x01,0x00,0x06,0xC0,0x04,0x40,0x00,0x00},/*"x",88*/
115 {0x04,0x10,0x07,0x10,0x04,0xE0,0x01,0x80,0x06,0x00,0x04,0x00},/*"y",89*/
116 {0x00,0x00,0x04,0x40,0x05,0xC0,0x06,0x40,0x04,0x40,0x00,0x00},/*"z",90*/
117 {0x00,0x00,0x00,0x00,0x04,0x00,0x7B,0xE0,0x40,0x20,0x00,0x00},/*"{",91*/
118 {0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xF0,0x00,0x00,0x00,0x00},/*"|",92*/
119 {0x00,0x00,0x40,0x20,0x7B,0xE0,0x04,0x00,0x00,0x00,0x00,0x00},/*"}",93*/
120 {0x40,0x00,0x80,0x00,0x40,0x00,0x20,0x00,0x20,0x00,0x40,0x00},/*"~",94*/
121 };  
122 //16*16 ASCII字符集点阵
123 const unsigned char asc2_1608[95][16]={      
124 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
125 {0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/
126 {0x00,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x08,0x00,0x30,0x00,0x60,0x00,0x00,0x00},/*""",2*/
127 {0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x03,0xFC,0x1E,0x20,0x02,0x20,0x00,0x00},/*"#",3*/
128 {0x00,0x00,0x0E,0x18,0x11,0x04,0x3F,0xFF,0x10,0x84,0x0C,0x78,0x00,0x00,0x00,0x00},/*"$",4*/
129 {0x0F,0x00,0x10,0x84,0x0F,0x38,0x00,0xC0,0x07,0x78,0x18,0x84,0x00,0x78,0x00,0x00},/*"%",5*/
130 {0x00,0x78,0x0F,0x84,0x10,0xC4,0x11,0x24,0x0E,0x98,0x00,0xE4,0x00,0x84,0x00,0x08},/*"&",6*/
131 {0x08,0x00,0x68,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
132 {0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xE0,0x18,0x18,0x20,0x04,0x40,0x02,0x00,0x00},/*"(",8*/
133 {0x00,0x00,0x40,0x02,0x20,0x04,0x18,0x18,0x07,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/
134 {0x02,0x40,0x02,0x40,0x01,0x80,0x0F,0xF0,0x01,0x80,0x02,0x40,0x02,0x40,0x00,0x00},/*"*",10*/
135 {0x00,0x80,0x00,0x80,0x00,0x80,0x0F,0xF8,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x00},/*"+",11*/
136 {0x00,0x01,0x00,0x0D,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/
137 {0x00,0x00,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80},/*"-",13*/
138 {0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
139 {0x00,0x00,0x00,0x06,0x00,0x18,0x00,0x60,0x01,0x80,0x06,0x00,0x18,0x00,0x20,0x00},/*"/",15*/
140 {0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"0",16*/
141 {0x00,0x00,0x08,0x04,0x08,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"1",17*/
142 {0x00,0x00,0x0E,0x0C,0x10,0x14,0x10,0x24,0x10,0x44,0x11,0x84,0x0E,0x0C,0x00,0x00},/*"2",18*/
143 {0x00,0x00,0x0C,0x18,0x10,0x04,0x11,0x04,0x11,0x04,0x12,0x88,0x0C,0x70,0x00,0x00},/*"3",19*/
144 {0x00,0x00,0x00,0xE0,0x03,0x20,0x04,0x24,0x08,0x24,0x1F,0xFC,0x00,0x24,0x00,0x00},/*"4",20*/
145 {0x00,0x00,0x1F,0x98,0x10,0x84,0x11,0x04,0x11,0x04,0x10,0x88,0x10,0x70,0x00,0x00},/*"5",21*/
146 {0x00,0x00,0x07,0xF0,0x08,0x88,0x11,0x04,0x11,0x04,0x18,0x88,0x00,0x70,0x00,0x00},/*"6",22*/
147 {0x00,0x00,0x1C,0x00,0x10,0x00,0x10,0xFC,0x13,0x00,0x1C,0x00,0x10,0x00,0x00,0x00},/*"7",23*/
148 {0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x38,0x00,0x00},/*"8",24*/
149 {0x00,0x00,0x07,0x00,0x08,0x8C,0x10,0x44,0x10,0x44,0x08,0x88,0x07,0xF0,0x00,0x00},/*"9",25*/
150 {0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0C,0x03,0x0C,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/
151 {0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/
152 {0x00,0x00,0x00,0x80,0x01,0x40,0x02,0x20,0x04,0x10,0x08,0x08,0x10,0x04,0x00,0x00},/*"<",28*/
153 {0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x00},/*"=",29*/
154 {0x00,0x00,0x10,0x04,0x08,0x08,0x04,0x10,0x02,0x20,0x01,0x40,0x00,0x80,0x00,0x00},/*">",30*/
155 {0x00,0x00,0x0E,0x00,0x12,0x00,0x10,0x0C,0x10,0x6C,0x10,0x80,0x0F,0x00,0x00,0x00},/*"?",31*/
156 {0x03,0xE0,0x0C,0x18,0x13,0xE4,0x14,0x24,0x17,0xC4,0x08,0x28,0x07,0xD0,0x00,0x00},/*"@",32*/
157 {0x00,0x04,0x00,0x3C,0x03,0xC4,0x1C,0x40,0x07,0x40,0x00,0xE4,0x00,0x1C,0x00,0x04},/*"A",33*/
158 {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x11,0x04,0x0E,0x88,0x00,0x70,0x00,0x00},/*"B",34*/
159 {0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x04,0x10,0x08,0x1C,0x10,0x00,0x00},/*"C",35*/
160 {0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"D",36*/
161 {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x04,0x17,0xC4,0x10,0x04,0x08,0x18,0x00,0x00},/*"E",37*/
162 {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x17,0xC0,0x10,0x00,0x08,0x00,0x00,0x00},/*"F",38*/
163 {0x03,0xE0,0x0C,0x18,0x10,0x04,0x10,0x04,0x10,0x44,0x1C,0x78,0x00,0x40,0x00,0x00},/*"G",39*/
164 {0x10,0x04,0x1F,0xFC,0x10,0x84,0x00,0x80,0x00,0x80,0x10,0x84,0x1F,0xFC,0x10,0x04},/*"H",40*/
165 {0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x04,0x00,0x00,0x00,0x00},/*"I",41*/
166 {0x00,0x03,0x00,0x01,0x10,0x01,0x10,0x01,0x1F,0xFE,0x10,0x00,0x10,0x00,0x00,0x00},/*"J",42*/
167 {0x10,0x04,0x1F,0xFC,0x11,0x04,0x03,0x80,0x14,0x64,0x18,0x1C,0x10,0x04,0x00,0x00},/*"K",43*/
168 {0x10,0x04,0x1F,0xFC,0x10,0x04,0x00,0x04,0x00,0x04,0x00,0x04,0x00,0x0C,0x00,0x00},/*"L",44*/
169 {0x10,0x04,0x1F,0xFC,0x1F,0x00,0x00,0xFC,0x1F,0x00,0x1F,0xFC,0x10,0x04,0x00,0x00},/*"M",45*/
170 {0x10,0x04,0x1F,0xFC,0x0C,0x04,0x03,0x00,0x00,0xE0,0x10,0x18,0x1F,0xFC,0x10,0x00},/*"N",46*/
171 {0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF0,0x00,0x00},/*"O",47*/
172 {0x10,0x04,0x1F,0xFC,0x10,0x84,0x10,0x80,0x10,0x80,0x10,0x80,0x0F,0x00,0x00,0x00},/*"P",48*/
173 {0x07,0xF0,0x08,0x18,0x10,0x24,0x10,0x24,0x10,0x1C,0x08,0x0A,0x07,0xF2,0x00,0x00},/*"Q",49*/
174 {0x10,0x04,0x1F,0xFC,0x11,0x04,0x11,0x00,0x11,0xC0,0x11,0x30,0x0E,0x0C,0x00,0x04},/*"R",50*/
175 {0x00,0x00,0x0E,0x1C,0x11,0x04,0x10,0x84,0x10,0x84,0x10,0x44,0x1C,0x38,0x00,0x00},/*"S",51*/
176 {0x18,0x00,0x10,0x00,0x10,0x04,0x1F,0xFC,0x10,0x04,0x10,0x00,0x18,0x00,0x00,0x00},/*"T",52*/
177 {0x10,0x00,0x1F,0xF8,0x10,0x04,0x00,0x04,0x00,0x04,0x10,0x04,0x1F,0xF8,0x10,0x00},/*"U",53*/
178 {0x10,0x00,0x1E,0x00,0x11,0xE0,0x00,0x1C,0x00,0x70,0x13,0x80,0x1C,0x00,0x10,0x00},/*"V",54*/
179 {0x1F,0xC0,0x10,0x3C,0x00,0xE0,0x1F,0x00,0x00,0xE0,0x10,0x3C,0x1F,0xC0,0x00,0x00},/*"W",55*/
180 {0x10,0x04,0x18,0x0C,0x16,0x34,0x01,0xC0,0x01,0xC0,0x16,0x34,0x18,0x0C,0x10,0x04},/*"X",56*/
181 {0x10,0x00,0x1C,0x00,0x13,0x04,0x00,0xFC,0x13,0x04,0x1C,0x00,0x10,0x00,0x00,0x00},/*"Y",57*/
182 {0x08,0x04,0x10,0x1C,0x10,0x64,0x10,0x84,0x13,0x04,0x1C,0x04,0x10,0x18,0x00,0x00},/*"Z",58*/
183 {0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFE,0x40,0x02,0x40,0x02,0x40,0x02,0x00,0x00},/*"[",59*/
184 {0x00,0x00,0x30,0x00,0x0C,0x00,0x03,0x80,0x00,0x60,0x00,0x1C,0x00,0x03,0x00,0x00},/*"\",60*/
185 {0x00,0x00,0x40,0x02,0x40,0x02,0x40,0x02,0x7F,0xFE,0x00,0x00,0x00,0x00,0x00,0x00},/*"]",61*/
186 {0x00,0x00,0x00,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00},/*"^",62*/
187 {0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01},/*"_",63*/
188 {0x00,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
189 {0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04},/*"a",65*/
190 {0x10,0x00,0x1F,0xFC,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/*"b",66*/
191 {0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x00},/*"c",67*/
192 {0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x11,0x08,0x1F,0xFC,0x00,0x04},/*"d",68*/
193 {0x00,0x00,0x00,0xF8,0x01,0x44,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xC8,0x00,0x00},/*"e",69*/
194 {0x00,0x00,0x01,0x04,0x01,0x04,0x0F,0xFC,0x11,0x04,0x11,0x04,0x11,0x00,0x18,0x00},/*"f",70*/
195 {0x00,0x00,0x00,0xD6,0x01,0x29,0x01,0x29,0x01,0x29,0x01,0xC9,0x01,0x06,0x00,0x00},/*"g",71*/
196 {0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/*"h",72*/
197 {0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"i",73*/
198 {0x00,0x00,0x00,0x03,0x00,0x01,0x01,0x01,0x19,0x01,0x19,0xFE,0x00,0x00,0x00,0x00},/*"j",74*/
199 {0x10,0x04,0x1F,0xFC,0x00,0x24,0x00,0x40,0x01,0xB4,0x01,0x0C,0x01,0x04,0x00,0x00},/*"k",75*/
200 {0x00,0x00,0x10,0x04,0x10,0x04,0x1F,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00},/*"l",76*/
201 {0x01,0x04,0x01,0xFC,0x01,0x04,0x01,0x00,0x01,0xFC,0x01,0x04,0x01,0x00,0x00,0xFC},/*"m",77*/
202 {0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04},/*"n",78*/
203 {0x00,0x00,0x00,0xF8,0x01,0x04,0x01,0x04,0x01,0x04,0x01,0x04,0x00,0xF8,0x00,0x00},/*"o",79*/
204 {0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00},/*"p",80*/
205 {0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x01,0x05,0x01,0xFF,0x00,0x01},/*"q",81*/
206 {0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00},/*"r",82*/
207 {0x00,0x00,0x00,0xCC,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x24,0x01,0x98,0x00,0x00},/*"s",83*/
208 {0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,0x01,0x04,0x01,0x04,0x00,0x00,0x00,0x00},/*"t",84*/
209 {0x01,0x00,0x01,0xF8,0x00,0x04,0x00,0x04,0x00,0x04,0x01,0x08,0x01,0xFC,0x00,0x04},/*"u",85*/
210 {0x01,0x00,0x01,0x80,0x01,0x70,0x00,0x0C,0x00,0x10,0x01,0x60,0x01,0x80,0x01,0x00},/*"v",86*/
211 {0x01,0xF0,0x01,0x0C,0x00,0x30,0x01,0xC0,0x00,0x30,0x01,0x0C,0x01,0xF0,0x01,0x00},/*"w",87*/
212 {0x00,0x00,0x01,0x04,0x01,0x8C,0x00,0x74,0x01,0x70,0x01,0x8C,0x01,0x04,0x00,0x00},/*"x",88*/
213 {0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00},/*"y",89*/
214 {0x00,0x00,0x01,0x84,0x01,0x0C,0x01,0x34,0x01,0x44,0x01,0x84,0x01,0x0C,0x00,0x00},/*"z",90*/
215 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x3E,0xFC,0x40,0x02,0x40,0x02},/*"{",91*/
216 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00},/*"|",92*/
217 {0x00,0x00,0x40,0x02,0x40,0x02,0x3E,0xFC,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"}",93*/
218 {0x00,0x00,0x60,0x00,0x80,0x00,0x80,0x00,0x40,0x00,0x40,0x00,0x20,0x00,0x20,0x00},/*"~",94*/
219 };  
220 //24*24 ASICII字符集点阵
221 const unsigned char asc2_2412[95][36]={      
222 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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*/
223 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x80,0x38,0x0F,0xFE,0x38,0x0F,0x80,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",1*/
224 {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x06,0x00,0x00,0x0C,0x00,0x00,0x38,0x00,0x00,0x31,0x00,0x00,0x06,0x00,0x00,0x0C,0x00,0x00,0x38,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00},/*""",2*/
225 {0x00,0x00,0x00,0x00,0x61,0x80,0x00,0x67,0xF8,0x07,0xF9,0x80,0x00,0x61,0x80,0x00,0x61,0x80,0x00,0x61,0x80,0x00,0x61,0x80,0x00,0x67,0xF8,0x07,0xF9,0x80,0x00,0x61,0x80,0x00,0x00,0x00},/*"#",3*/
226 {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0xE0,0x03,0xE0,0xF0,0x06,0x30,0x08,0x04,0x18,0x08,0x1F,0xFF,0xFE,0x04,0x0E,0x08,0x07,0x87,0xF0,0x03,0x81,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*"$",4*/
227 {0x01,0xF0,0x00,0x06,0x0C,0x00,0x04,0x04,0x08,0x06,0x0C,0x70,0x01,0xF9,0xC0,0x00,0x0E,0x00,0x00,0x3B,0xE0,0x00,0xEC,0x18,0x07,0x08,0x08,0x04,0x0C,0x18,0x00,0x03,0xE0,0x00,0x00,0x00},/*"%",5*/
228 {0x00,0x01,0xE0,0x00,0x07,0xF0,0x03,0xF8,0x18,0x04,0x1C,0x08,0x04,0x17,0x08,0x07,0xE1,0xD0,0x03,0xC0,0xE0,0x00,0x23,0xB0,0x00,0x3C,0x08,0x00,0x20,0x08,0x00,0x00,0x10,0x00,0x00,0x00},/*"&",6*/
229 {0x00,0x00,0x00,0x01,0x00,0x00,0x31,0x00,0x00,0x32,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"'",7*/
230 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x01,0xFF,0xC0,0x07,0x80,0xF0,0x0C,0x00,0x18,0x10,0x00,0x04,0x20,0x00,0x02,0x00,0x00,0x00},/*"(",8*/
231 {0x00,0x00,0x00,0x20,0x00,0x02,0x10,0x00,0x04,0x0C,0x00,0x18,0x07,0x80,0xF0,0x01,0xFF,0xC0,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*")",9*/
232 {0x00,0x00,0x00,0x00,0x42,0x00,0x00,0x66,0x00,0x00,0x66,0x00,0x00,0x3C,0x00,0x00,0x18,0x00,0x03,0xFF,0xC0,0x00,0x18,0x00,0x00,0x3C,0x00,0x00,0x66,0x00,0x00,0x66,0x00,0x00,0x42,0x00},/*"*",10*/
233 {0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x01,0xFF,0xC0,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00},/*"+",11*/
234 {0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x31,0x00,0x00,0x32,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*",",12*/
235 {0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00},/*"-",13*/
236 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*".",14*/
237 {0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x1C,0x00,0x00,0x70,0x00,0x01,0x80,0x00,0x0E,0x00,0x00,0x38,0x00,0x00,0xC0,0x00,0x07,0x00,0x00,0x1C,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00},/*"/",15*/
238 {0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x18,0x04,0x00,0x08,0x04,0x00,0x08,0x06,0x00,0x18,0x03,0x80,0x70,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00},/*"0",16*/
239 {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x08,0x01,0x00,0x08,0x01,0x00,0x08,0x03,0xFF,0xF8,0x07,0xFF,0xF8,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",17*/
240 {0x00,0x00,0x00,0x01,0xC0,0x38,0x02,0xC0,0x58,0x04,0x00,0x98,0x04,0x01,0x18,0x04,0x02,0x18,0x04,0x04,0x18,0x06,0x1C,0x18,0x03,0xF8,0x18,0x01,0xE0,0xF8,0x00,0x00,0x00,0x00,0x00,0x00},/*"2",18*/
241 {0x00,0x00,0x00,0x01,0xC0,0xE0,0x03,0xC0,0xF0,0x04,0x00,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x06,0x18,0x08,0x03,0xF4,0x18,0x01,0xE7,0xF0,0x00,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00},/*"3",19*/
242 {0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x0D,0x00,0x00,0x11,0x00,0x00,0x61,0x00,0x00,0x81,0x08,0x03,0x01,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x01,0x08,0x00,0x01,0x08,0x00,0x00,0x00},/*"4",20*/
243 {0x00,0x00,0x00,0x00,0x00,0xE0,0x07,0xFC,0xD0,0x06,0x08,0x08,0x06,0x10,0x08,0x06,0x10,0x08,0x06,0x10,0x08,0x06,0x18,0x38,0x06,0x0F,0xF0,0x06,0x07,0xC0,0x00,0x00,0x00,0x00,0x00,0x00},/*"5",21*/
244 {0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFF,0xE0,0x03,0x84,0x30,0x02,0x08,0x18,0x04,0x10,0x08,0x04,0x10,0x08,0x04,0x10,0x08,0x07,0x18,0x10,0x03,0x0F,0xF0,0x00,0x07,0xC0,0x00,0x00,0x00},/*"6",22*/
245 {0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x07,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0xF8,0x06,0x07,0xF8,0x06,0x18,0x00,0x06,0xE0,0x00,0x07,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00},/*"7",23*/
246 {0x00,0x00,0x00,0x01,0xE1,0xE0,0x03,0xF7,0xF0,0x06,0x34,0x10,0x04,0x18,0x08,0x04,0x18,0x08,0x04,0x0C,0x08,0x04,0x0C,0x08,0x06,0x16,0x18,0x03,0xF3,0xF0,0x01,0xC1,0xE0,0x00,0x00,0x00},/*"8",24*/
247 {0x00,0x00,0x00,0x00,0xF8,0x00,0x03,0xFC,0x30,0x03,0x06,0x38,0x04,0x02,0x08,0x04,0x02,0x08,0x04,0x02,0x08,0x04,0x04,0x10,0x03,0x08,0xF0,0x01,0xFF,0xC0,0x00,0x7F,0x00,0x00,0x00,0x00},/*"9",25*/
248 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x38,0x00,0x70,0x38,0x00,0x70,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*":",26*/
249 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x1A,0x00,0x30,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*";",27*/
250 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x14,0x00,0x00,0x22,0x00,0x00,0x41,0x00,0x00,0x80,0x80,0x01,0x00,0x40,0x02,0x00,0x20,0x04,0x00,0x10,0x08,0x00,0x08,0x00,0x00,0x00},/*"<",28*/
251 {0x00,0x00,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x21,0x00,0x00,0x00,0x00},/*"=",29*/
252 {0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x08,0x04,0x00,0x10,0x02,0x00,0x20,0x01,0x00,0x40,0x00,0x80,0x80,0x00,0x41,0x00,0x00,0x22,0x00,0x00,0x14,0x00,0x00,0x08,0x00,0x00,0x00,0x00},/*">",30*/
253 {0x00,0x00,0x00,0x03,0xC0,0x00,0x04,0xC0,0x00,0x04,0x00,0x00,0x08,0x00,0x38,0x08,0x0F,0x38,0x08,0x08,0x38,0x08,0x10,0x00,0x0C,0x30,0x00,0x07,0xE0,0x00,0x03,0xC0,0x00,0x00,0x00,0x00},/*"?",31*/
254 {0x00,0x00,0x00,0x00,0x3F,0x80,0x00,0xFF,0xE0,0x03,0x80,0x70,0x02,0x0F,0x10,0x06,0x70,0x88,0x04,0xC0,0x88,0x04,0x83,0x08,0x04,0x7F,0x88,0x02,0xC0,0x90,0x03,0x01,0x20,0x00,0xFE,0x40},/*"@",32*/
255 {0x00,0x00,0x08,0x00,0x00,0x18,0x00,0x01,0xF8,0x00,0x3E,0x08,0x01,0xC2,0x00,0x07,0x02,0x00,0x07,0xE2,0x00,0x00,0xFE,0x00,0x00,0x1F,0xC8,0x00,0x01,0xF8,0x00,0x00,0x38,0x00,0x00,0x08},/*"A",33*/
256 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x06,0x18,0x08,0x03,0xF4,0x18,0x01,0xE7,0xF0,0x00,0x01,0xE0,0x00,0x00,0x00},/*"B",34*/
257 {0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x02,0x00,0x18,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x10,0x06,0x00,0x20,0x07,0x80,0xC0,0x00,0x00,0x00},/*"C",35*/
258 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x18,0x02,0x00,0x10,0x03,0x80,0x70,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00},/*"D",36*/
259 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x08,0x08,0x04,0x3E,0x08,0x04,0x00,0x08,0x06,0x00,0x18,0x01,0x00,0x60,0x00,0x00,0x00},/*"E",37*/
260 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x00,0x04,0x08,0x00,0x04,0x08,0x00,0x04,0x3E,0x00,0x06,0x00,0x00,0x06,0x00,0x00,0x01,0x80,0x00,0x00,0x00,0x00},/*"F",38*/
261 {0x00,0x00,0x00,0x00,0x3F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x18,0x04,0x00,0x08,0x04,0x02,0x08,0x04,0x02,0x08,0x02,0x03,0xF0,0x07,0x83,0xF0,0x00,0x02,0x00,0x00,0x02,0x00},/*"G",39*/
262 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x04,0x08,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08},/*"H",40*/
263 {0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},/*"I",41*/
264 {0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x07,0x00,0x00,0x01,0x04,0x00,0x01,0x04,0x00,0x01,0x04,0x00,0x03,0x07,0xFF,0xFE,0x07,0xFF,0xFC,0x04,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00},/*"J",42*/
265 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x0C,0x08,0x00,0x18,0x00,0x00,0x3E,0x00,0x04,0xC7,0x80,0x05,0x03,0xC8,0x06,0x00,0xF8,0x04,0x00,0x38,0x04,0x00,0x18,0x00,0x00,0x08},/*"K",43*/
266 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x18,0x00,0x00,0x60,0x00,0x00,0x00},/*"L",44*/
267 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0x80,0x08,0x07,0xFC,0x00,0x00,0x7F,0xC0,0x00,0x03,0xF8,0x00,0x07,0xC0,0x00,0x78,0x00,0x07,0x80,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08},/*"M",45*/
268 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0x00,0x08,0x03,0xC0,0x00,0x00,0xE0,0x00,0x00,0x38,0x00,0x00,0x1E,0x00,0x00,0x07,0x00,0x00,0x01,0xC0,0x04,0x00,0xF0,0x07,0xFF,0xF8,0x04,0x00,0x00},/*"N",46*/
269 {0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x18,0x04,0x00,0x08,0x04,0x00,0x08,0x06,0x00,0x18,0x03,0x00,0x30,0x01,0xFF,0xE0,0x00,0x7F,0x80,0x00,0x00,0x00},/*"O",47*/
270 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x04,0x08,0x04,0x04,0x00,0x04,0x04,0x00,0x04,0x04,0x00,0x04,0x04,0x00,0x06,0x0C,0x00,0x03,0xF8,0x00,0x01,0xF0,0x00,0x00,0x00,0x00},/*"P",48*/
271 {0x00,0x00,0x00,0x00,0x7F,0x80,0x01,0xFF,0xE0,0x03,0x80,0x70,0x06,0x00,0x88,0x04,0x00,0x88,0x04,0x00,0xC8,0x06,0x00,0x3C,0x03,0x00,0x3E,0x01,0xFF,0xE6,0x00,0x7F,0x84,0x00,0x00,0x00},/*"Q",49*/
272 {0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x08,0x08,0x04,0x08,0x00,0x04,0x0C,0x00,0x04,0x0F,0x00,0x04,0x0B,0xC0,0x06,0x10,0xF0,0x03,0xF0,0x38,0x01,0xE0,0x08,0x00,0x00,0x08},/*"R",50*/
273 {0x00,0x00,0x00,0x01,0xE0,0xF8,0x03,0xF0,0x30,0x06,0x30,0x10,0x04,0x18,0x08,0x04,0x18,0x08,0x04,0x0C,0x08,0x04,0x0C,0x08,0x02,0x06,0x18,0x02,0x07,0xF0,0x07,0x81,0xE0,0x00,0x00,0x00},/*"S",51*/
274 {0x01,0x80,0x00,0x06,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x08,0x07,0xFF,0xF8,0x07,0xFF,0xF8,0x04,0x00,0x08,0x04,0x00,0x00,0x04,0x00,0x00,0x06,0x00,0x00,0x01,0x80,0x00},/*"T",52*/
275 {0x04,0x00,0x00,0x07,0xFF,0xE0,0x07,0xFF,0xF0,0x04,0x00,0x18,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x04,0x00,0x10,0x07,0xFF,0xE0,0x04,0x00,0x00},/*"U",53*/
276 {0x04,0x00,0x00,0x06,0x00,0x00,0x07,0xE0,0x00,0x07,0xFE,0x00,0x04,0x1F,0xE0,0x00,0x01,0xF8,0x00,0x00,0x38,0x00,0x01,0xE0,0x04,0x3E,0x00,0x07,0xC0,0x00,0x06,0x00,0x00,0x04,0x00,0x00},/*"V",54*/
277 {0x04,0x00,0x00,0x07,0xE0,0x00,0x07,0xFF,0xC0,0x04,0x1F,0xF8,0x00,0x07,0xC0,0x07,0xF8,0x00,0x07,0xFF,0x80,0x04,0x3F,0xF8,0x00,0x07,0xC0,0x04,0xF8,0x00,0x07,0x00,0x00,0x04,0x00,0x00},/*"W",55*/
278 {0x00,0x00,0x00,0x04,0x00,0x08,0x06,0x00,0x18,0x07,0xC0,0x78,0x05,0xF1,0xC8,0x00,0x3E,0x00,0x00,0x1F,0x80,0x04,0x63,0xE8,0x07,0x80,0xF8,0x06,0x00,0x18,0x04,0x00,0x08,0x00,0x00,0x00},/*"X",56*/
279 {0x04,0x00,0x00,0x06,0x00,0x00,0x07,0x80,0x00,0x07,0xE0,0x08,0x04,0x7C,0x08,0x00,0x1F,0xF8,0x00,0x07,0xF8,0x00,0x18,0x08,0x04,0xE0,0x08,0x07,0x00,0x00,0x06,0x00,0x00,0x04,0x00,0x00},/*"Y",57*/
280 {0x00,0x00,0x00,0x01,0x00,0x08,0x06,0x00,0x38,0x04,0x00,0xF8,0x04,0x03,0xE8,0x04,0x0F,0x08,0x04,0x7C,0x08,0x05,0xF0,0x08,0x07,0xC0,0x08,0x07,0x00,0x18,0x04,0x00,0x60,0x00,0x00,0x00},/*"Z",58*/
281 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFE,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x00,0x00,0x00},/*"[",59*/
282 {0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x07,0x00,0x00,0x00,0xC0,0x00,0x00,0x38,0x00,0x00,0x06,0x00,0x00,0x01,0xC0,0x00,0x00,0x30,0x00,0x00,0x0E,0x00,0x00,0x01,0x00,0x00,0x00},/*"\",60*/
283 {0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x20,0x00,0x02,0x3F,0xFF,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"]",61*/
284 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x00,0x30,0x00,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"^",62*/
285 {0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x01},/*"_",63*/
286 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x10,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"`",64*/
287 {0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x19,0xF8,0x00,0x1B,0x18,0x00,0x22,0x08,0x00,0x26,0x08,0x00,0x24,0x08,0x00,0x24,0x10,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0x08,0x00,0x00,0x18},/*"a",65*/
288 {0x00,0x00,0x00,0x04,0x00,0x00,0x07,0xFF,0xF8,0x0F,0xFF,0xF0,0x00,0x18,0x18,0x00,0x10,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x30,0x18,0x00,0x1F,0xF0,0x00,0x0F,0xC0,0x00,0x00,0x00},/*"b",66*/
289 {0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x18,0x30,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x3C,0x08,0x00,0x1C,0x10,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00},/*"c",67*/
290 {0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x38,0x18,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x04,0x10,0x10,0x07,0xFF,0xF8,0x0F,0xFF,0xF0,0x00,0x00,0x10,0x00,0x00,0x00},/*"d",68*/
291 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x12,0x30,0x00,0x22,0x18,0x00,0x22,0x08,0x00,0x22,0x08,0x00,0x32,0x08,0x00,0x1E,0x10,0x00,0x0E,0x20,0x00,0x00,0x00},/*"e",69*/
292 {0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x08,0x00,0x20,0x08,0x01,0xFF,0xF8,0x03,0xFF,0xF8,0x06,0x20,0x08,0x04,0x20,0x08,0x04,0x20,0x08,0x07,0x20,0x00,0x03,0x00,0x00,0x00,0x00,0x00},/*"f",70*/
293 {0x00,0x00,0x00,0x00,0x00,0x0E,0x00,0x0E,0x6E,0x00,0x1F,0xF3,0x00,0x31,0xB1,0x00,0x20,0xB1,0x00,0x20,0xB1,0x00,0x31,0x91,0x00,0x1F,0x13,0x00,0x2E,0x1E,0x00,0x20,0x0E,0x00,0x30,0x00},/*"g",71*/
294 {0x00,0x00,0x00,0x04,0x00,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x10,0x08,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0x08,0x00,0x00,0x00},/*"h",72*/
295 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x06,0x3F,0xF8,0x06,0x3F,0xF8,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},/*"i",73*/
296 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x03,0x00,0x20,0x01,0x00,0x20,0x01,0x00,0x20,0x03,0x06,0x3F,0xFE,0x06,0x3F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"j",74*/
297 {0x00,0x00,0x00,0x04,0x00,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x01,0x88,0x00,0x03,0x00,0x00,0x2F,0xC0,0x00,0x38,0xF8,0x00,0x20,0x38,0x00,0x20,0x08,0x00,0x00,0x08,0x00,0x00,0x00},/*"k",75*/
298 {0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x08,0x04,0x00,0x08,0x04,0x00,0x08,0x07,0xFF,0xF8,0x0F,0xFF,0xF8,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00},/*"l",76*/
299 {0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x10,0x08,0x00,0x20,0x00,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x10,0x08,0x00,0x20,0x00,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x00,0x08},/*"m",77*/
300 {0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x10,0x08,0x00,0x10,0x00,0x00,0x20,0x00,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x1F,0xF8,0x00,0x00,0x08,0x00,0x00,0x00},/*"n",78*/
301 {0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x0F,0xF0,0x00,0x18,0x30,0x00,0x30,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x30,0x08,0x00,0x18,0x30,0x00,0x0F,0xF0,0x00,0x07,0xC0,0x00,0x00,0x00},/*"o",79*/
302 {0x00,0x00,0x00,0x00,0x20,0x01,0x00,0x3F,0xFF,0x00,0x3F,0xFF,0x00,0x10,0x11,0x00,0x20,0x09,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x30,0x38,0x00,0x1F,0xF0,0x00,0x0F,0xC0,0x00,0x00,0x00},/*"p",80*/
303 {0x00,0x00,0x00,0x00,0x07,0xC0,0x00,0x1F,0xF0,0x00,0x38,0x18,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x09,0x00,0x10,0x11,0x00,0x1F,0xFF,0x00,0x3F,0xFF,0x00,0x00,0x01,0x00,0x00,0x00},/*"q",81*/
304 {0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x3F,0xF8,0x00,0x3F,0xF8,0x00,0x08,0x08,0x00,0x10,0x08,0x00,0x20,0x08,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x00,0x00,0x00},/*"r",82*/
305 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x78,0x00,0x1E,0x18,0x00,0x33,0x08,0x00,0x23,0x08,0x00,0x21,0x08,0x00,0x21,0x88,0x00,0x21,0x98,0x00,0x30,0xF0,0x00,0x38,0x60,0x00,0x00,0x00},/*"s",83*/
306 {0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0xFF,0xF0,0x03,0xFF,0xF8,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x00,0x00},/*"t",84*/
307 {0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x3F,0xF0,0x00,0x7F,0xF8,0x00,0x00,0x18,0x00,0x00,0x08,0x00,0x00,0x08,0x00,0x20,0x10,0x00,0x3F,0xF8,0x00,0x7F,0xF0,0x00,0x00,0x10,0x00,0x00,0x00},/*"u",85*/
308 {0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x3C,0x00,0x00,0x3F,0x80,0x00,0x23,0xF0,0x00,0x00,0x78,0x00,0x00,0x70,0x00,0x23,0x80,0x00,0x3C,0x00,0x00,0x30,0x00,0x00,0x20,0x00},/*"v",86*/
309 {0x00,0x20,0x00,0x00,0x3C,0x00,0x00,0x3F,0xE0,0x00,0x23,0xF8,0x00,0x00,0xE0,0x00,0x27,0x00,0x00,0x3E,0x00,0x00,0x3F,0xE0,0x00,0x21,0xF8,0x00,0x01,0xE0,0x00,0x3E,0x00,0x00,0x20,0x00},/*"w",87*/
310 {0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x20,0x08,0x00,0x38,0x38,0x00,0x3E,0x68,0x00,0x27,0x80,0x00,0x03,0xC8,0x00,0x2C,0xF8,0x00,0x38,0x38,0x00,0x20,0x18,0x00,0x20,0x08,0x00,0x00,0x00},/*"x",88*/
311 {0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x30,0x03,0x00,0x3C,0x01,0x00,0x3F,0x83,0x00,0x23,0xEC,0x00,0x00,0x70,0x00,0x23,0x80,0x00,0x3C,0x00,0x00,0x20,0x00,0x00,0x20,0x00,0x00,0x00,0x00},/*"y",89*/
312 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x08,0x00,0x20,0x38,0x00,0x20,0xF8,0x00,0x23,0xE8,0x00,0x2F,0x88,0x00,0x3E,0x08,0x00,0x38,0x08,0x00,0x20,0x18,0x00,0x00,0x70,0x00,0x00,0x00},/*"z",90*/
313 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x14,0x00,0x1F,0xF7,0xFC,0x30,0x00,0x06,0x20,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00},/*"{",91*/
314 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"|",92*/
315 {0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x02,0x30,0x00,0x06,0x1F,0xF7,0xFC,0x00,0x14,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"}",93*/
316 {0x00,0x00,0x00,0x18,0x00,0x00,0x60,0x00,0x00,0x40,0x00,0x00,0x40,0x00,0x00,0x20,0x00,0x00,0x10,0x00,0x00,0x08,0x00,0x00,0x04,0x00,0x00,0x04,0x00,0x00,0x0C,0x00,0x00,0x10,0x00,0x00},/*"~",94*/
317 };
318 
319 unsigned char Hzk0[22][16]={
320 
321 {0x80,0x60,0xF8,0x07,0x10,0xFF,0x10,0x10,0xF0,0x00,0xF8,0x08,0x08,0xF8,0x00,0x00},
322 {0x00,0x00,0xFF,0x40,0x30,0x0F,0x40,0x80,0x7F,0x00,0x7F,0x20,0x20,0x7F,0x00,0x00},/*"伽",0*/
323 /* (16 X 16 , 宋体 )*/
324 {0x10,0x90,0xFF,0x90,0x02,0xFE,0x22,0x22,0xFE,0x02,0x00,0xFE,0x42,0xB2,0x0E,0x00},
325 {0x06,0x01,0xFF,0x00,0x11,0x1F,0x11,0x09,0xFF,0x08,0x00,0xFF,0x08,0x10,0x0F,0x00},/*"椰",1*/
326 /* (16 X 16 , 宋体 )*/
327 {0x80,0x82,0x82,0x82,0x82,0x82,0x82,0xE2,0xA2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00},
328 {0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"子",2*/
329 /* (16 X 16 , 宋体 )*/
330 {0x00,0x04,0x04,0xF4,0x54,0x54,0x54,0x5F,0x54,0x54,0x54,0xF4,0x04,0x04,0x00,0x00},
331 {0x10,0x10,0x90,0x5F,0x35,0x15,0x15,0x15,0x15,0x15,0x35,0x5F,0x90,0x10,0x10,0x00},/*"真",3*/
332 /* (16 X 16 , 宋体 )*/
333 {0x00,0x02,0x02,0xF2,0x12,0x12,0x12,0xF2,0x02,0x02,0x02,0xFE,0x02,0x02,0x02,0x00},
334 {0x00,0x00,0x00,0x0F,0x04,0x04,0x04,0x0F,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00},/*"可",4*/
335 /* (16 X 16 , 宋体 )*/
336 {0x80,0x64,0x2C,0x34,0x24,0x24,0xEC,0x32,0x22,0x22,0x32,0x2E,0x23,0xA2,0x60,0x00},
337 {0x00,0x41,0x21,0x91,0x89,0x87,0x4D,0x55,0x25,0x25,0x55,0x4D,0x81,0x80,0x80,0x00},/*"爱",5*/
338 /* (16 X 16 , 宋体 )*/
339 
340 };
341 
342 unsigned char Hzk1[22][16]={
343 {0x00,0x00,0xF0,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0xF0,0x00,0x00,0x00},
344 {0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x0F,0x00,0x00,0x00},/*"中",0*/
345 
346 {0x40,0x40,0x40,0x5F,0x55,0x55,0x55,0x75,0x55,0x55,0x55,0x5F,0x40,0x40,0x40,0x00},
347 {0x00,0x40,0x20,0x0F,0x09,0x49,0x89,0x79,0x09,0x09,0x09,0x0F,0x20,0x40,0x00,0x00},/*"景",1*/
348 
349 {0x00,0xFE,0x02,0x42,0x4A,0xCA,0x4A,0x4A,0xCA,0x4A,0x4A,0x42,0x02,0xFE,0x00,0x00},
350 {0x00,0xFF,0x40,0x50,0x4C,0x43,0x40,0x40,0x4F,0x50,0x50,0x5C,0x40,0xFF,0x00,0x00},/*"园",2*/
351 
352 {0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x88,0xF8,0x00,0x00,0x00},
353 {0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x7F,0x88,0x88,0x88,0x88,0x9F,0x80,0xF0,0x00},/*"电",3*/
354 
355 {0x80,0x82,0x82,0x82,0x82,0x82,0x82,0xE2,0xA2,0x92,0x8A,0x86,0x82,0x80,0x80,0x00},
356 {0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"子",4*/
357 
358 {0x24,0x24,0xA4,0xFE,0xA3,0x22,0x00,0x22,0xCC,0x00,0x00,0xFF,0x00,0x00,0x00,0x00},
359 {0x08,0x06,0x01,0xFF,0x00,0x01,0x04,0x04,0x04,0x04,0x04,0xFF,0x02,0x02,0x02,0x00},/*"科",5*/
360 
361 {0x10,0x10,0x10,0xFF,0x10,0x90,0x08,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x08,0x00},
362 {0x04,0x44,0x82,0x7F,0x01,0x80,0x80,0x40,0x43,0x2C,0x10,0x28,0x46,0x81,0x80,0x00},/*"技",6*/
363 
364 {0x04,0x04,0x04,0x84,0xE4,0x3C,0x27,0x24,0x24,0x24,0x24,0xE4,0x04,0x04,0x04,0x00},
365 {0x04,0x02,0x01,0x00,0xFF,0x09,0x09,0x09,0x09,0x49,0x89,0x7F,0x00,0x00,0x00,0x00},/*"有",0*/
366 
367 {0x00,0xFE,0x22,0x5A,0x86,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00},
368 {0x00,0xFF,0x04,0x08,0x07,0x00,0xFF,0x40,0x20,0x03,0x0C,0x14,0x22,0x41,0x40,0x00},/*"限",1*/
369 
370 {0x00,0x80,0x40,0x20,0x18,0x06,0x80,0x00,0x07,0x18,0x20,0x40,0x80,0x00,0x00,0x00},
371 {0x01,0x00,0x20,0x70,0x28,0x26,0x21,0x20,0x20,0x24,0x38,0x60,0x00,0x01,0x01,0x00},/*"公",2*/
372 
373 {0x00,0x10,0x12,0x92,0x92,0x92,0x92,0x92,0x92,0x12,0x12,0x02,0xFE,0x00,0x00,0x00},
374 {0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x3F,0x00,0x40,0x80,0x7F,0x00,0x00,0x00},/*"司",3*/
375 
376 };
377 
378 unsigned char Hzk2[3][72]={
379 {0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xFC,0x84,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0x00,0x00,0x00},
380 {0x00,0x00,0x00,0xFF,0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x7F,0x00,0x00,0x00},
381 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},    /*"中",0*/
382 };
383 
384 unsigned char Hzk3[4][128]={
385 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
386 {0x00,0x00,0x00,0x00,0xFF,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFF,0xFF,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFF,0x03,0x00,0x00,0x00,0x00},
387 {0x00,0x00,0x00,0x00,0x1F,0x1F,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0xFF,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x1F,0x00,0x00,0x00,0x00,0x00},
388 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"中",0*/
389 };
390 
391 unsigned char Hzk4[8][512]={
392 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xF8,0xF0,0xF0,0x70,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
393 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
394 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFE,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0xFF,0xFF,0xFF,0xFF,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0xFF,0xFF,0xFF,0xFF,0x07,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
395 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
396 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,0xFF,0xFF,0xFF,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
397 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
398 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
399 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x0F,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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*/
400 };
401 
402 unsigned char IronManPic[72][16] = {
403         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
404         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
405         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
406         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
407         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
408         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
409         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
410         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
411         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
412         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
413         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
414         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
415         {0x00,0x00,0x00,0x03,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xF0,0x00},
416         {0x00,0x00,0x00,0x00,0x00,0x7E,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x7B,0xFF},
417         {0xF0,0x00,0x00,0x00,0x00,0x00,0x01,0xEF,0xFB,0xF0,0x00,0x00,0x00,0x00,0x00,0x03},
418         {0xCF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x03,0x9F,0x9F,0xF0,0x00,0x00,0x00,0x00},
419         {0x00,0x07,0x3F,0x7E,0x70,0x00,0x00,0x00,0x00,0x00,0x06,0x33,0xF7,0x00,0x00,0x00},
420         {0x00,0x00,0x00,0x0E,0x73,0xF3,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x73,0xFB,0x90},
421         {0x00,0x00,0x00,0x00,0x00,0x0E,0x73,0xF9,0xB0,0x00,0x00,0x00,0x00,0x00,0x0F,0x7F},
422         {0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x0F,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00},
423         {0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFE,0x30,0x00,0x00,0x00},
424         {0x00,0x00,0x0D,0xFF,0xF7,0x10,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x03,0x80,0x00},
425         {0x00,0x00,0x00,0x00,0x1F,0xF8,0x01,0xC0,0x00,0x00,0x00,0x00,0x00,0x1C,0x7E,0x00},
426         {0xF0,0x00,0x00,0x00,0x00,0x00,0x38,0x7F,0x80,0x30,0x00,0x00,0x00,0x00,0x00,0x70},
427         {0xFF,0x80,0x10,0x00,0x00,0x00,0x00,0x00,0x70,0xFD,0x80,0x00,0x00,0x00,0x00,0x00},
428         {0x01,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFC,0x00,0x00,0x00,0x00},
429         {0x00,0x00,0x03,0xBF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x7F,0xF0,0x00,0x00},
430         {0x00,0x00,0x00,0x00,0x07,0x7F,0xF0,0x00,0x00,0x00,0x00,0x7F,0x80,0x0F,0xFF,0xB0},
431         {0x00,0x00,0x00,0x1F,0xFF,0xE0,0x0F,0xFF,0xB8,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x8F},
432         {0xFF,0xB8,0x00,0x00,0x03,0xEF,0xFF,0xFF,0xFF,0xEF,0x1C,0x07,0xF0,0x03,0x8F,0xFF},
433         {0xFF,0xFF,0xFF,0x8C,0x0F,0xF0,0x07,0x1C,0x00,0x3C,0x7D,0xFF,0x8C,0x1C,0x00,0x0F},
434         {0xFE,0x00,0x1E,0x3F,0xFF,0x8E,0x7F,0xF0,0x0F,0xFE,0x00,0x1F,0x1F,0xFF,0x87,0x7F},
435         {0xF0,0x1C,0x30,0x00,0x0F,0x03,0xFF,0xC3,0xDD,0xF0,0x1C,0x20,0x00,0x0F,0x00,0x77},
436         {0xC3,0xFF,0xF0,0x1F,0xFC,0x00,0x0F,0x00,0x77,0xE3,0xFF,0xF0,0x18,0x3F,0xFC,0x07},
437         {0x00,0x7F,0xF0,0xFF,0x00,0x18,0x06,0x7C,0x07,0x00,0x6F,0xF0,0x7E,0x00,0x18,0x06},
438         {0x0C,0x06,0x00,0x67,0xF8,0x7C,0x00,0x18,0x06,0x04,0x04,0x00,0x67,0x9F,0xFC,0x00},
439         {0x18,0x06,0x04,0x04,0x00,0x67,0x9F,0xFC,0x00,0x18,0x06,0x04,0x04,0x00,0x67,0xF8},
440         {0x7C,0x00,0x18,0x06,0x3C,0x07,0x00,0x67,0xF0,0x7E,0x00,0x18,0x0F,0xFC,0x07,0x00},
441         {0x7F,0xF0,0xFF,0x00,0x1F,0xFF,0x00,0x07,0x00,0x7F,0xE3,0xFF,0xF0,0x1C,0x20,0x00},
442         {0x0F,0x00,0x77,0xC3,0xFF,0xF0,0x1C,0x30,0x00,0x0F,0x01,0xF7,0xC3,0xDD,0xF0,0x0F},
443         {0xFE,0x00,0x1F,0x0F,0xFF,0x87,0x7F,0xF0,0x0F,0xFE,0x00,0x1E,0x3F,0xFF,0x8E,0x7F},
444         {0xF0,0x07,0x1C,0x00,0x1E,0x7F,0xFF,0x8C,0x1C,0x00,0x03,0x9F,0xFF,0xFF,0xFF,0xFF},
445         {0x8C,0x0F,0xF0,0x03,0xCF,0xFF,0xFF,0xFF,0xEF,0x1C,0x07,0xF0,0x00,0xFF,0xFF,0xFF},
446         {0xEF,0xFF,0xB8,0x00,0x00,0x00,0x3F,0xFF,0xFC,0x0F,0xFF,0xB8,0x00,0x00,0x00,0x00},
447         {0xFF,0xE0,0x0F,0xFF,0xB0,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x7F,0xF0,0x00,0x00},
448         {0x00,0x00,0x00,0x00,0x03,0x7F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xBF,0xF0},
449         {0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x01},
450         {0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0xFD,0x80,0x00,0x00,0x00,0x00},
451         {0x00,0x00,0x70,0xFF,0x80,0x10,0x00,0x00,0x00,0x00,0x00,0x38,0x7F,0x80,0x30,0x00},
452         {0x00,0x00,0x00,0x00,0x1C,0x7E,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x1F,0xF8,0x01},
453         {0xC0,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x0D},
454         {0xFF,0xF7,0x10,0x00,0x00,0x00,0x00,0x00,0x0F,0xFF,0xFE,0x30,0x00,0x00,0x00,0x00},
455         {0x00,0x0F,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x0F,0x7F,0xFF,0xF0,0x00,0x00},
456         {0x00,0x00,0x00,0x0F,0x7F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x0E,0x73,0xF9,0xB0},
457         {0x00,0x00,0x00,0x00,0x00,0x0E,0x73,0xFB,0x90,0x00,0x00,0x00,0x00,0x00,0x0E,0x73},
458         {0xF3,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x33,0xF7,0x00,0x00,0x00,0x00,0x00,0x00},
459         {0x07,0x3F,0x7E,0x70,0x00,0x00,0x00,0x00,0x00,0x03,0x9F,0x9F,0xF0,0x00,0x00,0x00},
460         {0x00,0x00,0x03,0xCF,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x01,0xEF,0xFB,0xF0,0x00},
461         {0x00,0x00,0x00,0x00,0x00,0x7B,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0xFF},
462         {0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0xF0,0x00,0x00,0x00,0x00,0x00,0x00},
463         {0x03,0xFF,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
464         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
465         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
466         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
467         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
468         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
469         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
470         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
471         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
472         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
473         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
474         {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
475 };
476 
477 #endif

5、main函数

 1 #include "APP_TIMER.h"
 2 #include "APP_LED.h"
 3 #include "APP_OLED.h"
 4 #include "APP_SYSTICk.h"
 5 
 6 /*************************************************
 7  函 数 名 称 : FunInit
 8  功 能 描 述 : 功能函数初始化
 9  被 调用清单 : 无
10  调 用 清 单 : 
11  输 入 参 数 : 无
12  输 出 参 数 : 无
13  返 回 参 数 : 无
14  其        他 : 无
15 *************************************************/
16 void FunInit(void)
17 {
18         FunAppSystickInit();    //滴答时钟初始化
19         FunAppTimerInit();        //1ms定时器初始化
20         FunAppLedInit();          //LED初始化
21         FunAppOledInit();            //OLED初始化
22 }
23 
24 /*************************************************
25  函 数 名 称 : FunBody
26  功 能 描 述 : main函数函数体
27  被 调用清单 : 无
28  调 用 清 单 : 
29  输 入 参 数 : 无
30  输 出 参 数 : 无
31  返 回 参 数 : 无
32  其              他 : 无
33 *************************************************/
34 void FunBody(void)
35 {
36         FunAppOledColorTurn(0);
37         FunAppOledDisplayTurn(0);
38         FunAppOledRefresh();
39         while(1)
40         {
41                 FunAppLedCtrol();
42                 FunAppOledShowChinese(0,0,0,16);//
43                 FunAppOledShowChinese(18,0,1,16);//
44                 FunAppOledShowChinese(36,0,2,16);//
45                 FunAppOledShowChinese(54,0,3,16);//
46                 FunAppOledShowChinese(72,0,4,16);//
47                 FunAppOledShowChinese(90,0,5,16);//
48                 FunAppOledRefresh();
49         }    
50 }
51 
52 /*************************************************
53  函 数 名 称 : main
54  功 能 描 述 : 程序入口
55  被 调用清单 : 无
56  调 用 清 单 : 
57  输 入 参 数 : 无
58  输 出 参 数 : 无
59  返 回 参 数 : 无
60  其              他 : 无
61 *************************************************/
62 int main(void)
63 {
64         FunInit();
65         FunBody();
66 }

 

 

 

字模软件获取链接:https://pan.baidu.com/s/1izJZvIjRcbeuxBBsYb04mw  提取码:1sot

字模软件使用方法:

一、对文字取字模:

1、选择字符模式

 

 

 2、在选项里进行格式设置,并点击确定保存

 3、输入文字,点击生成字模

 

 

 二、对图片取字模

1、选择图片模式

 

2、打开选项对格式进行设置

 

 

 

 3、打开一个BMP格式的图片

 

 

4、点击生成字模

 

推荐阅读