温馨提示:本篇博客文章仅仅是OLED屏幕的驱动代码,其余代码(温度,时间显示代码)见本人主页其它文章......
注意!!!!请拷贝整个keil工程出来再打开,在文件夹内文件路径太长keil5会打开失败!!!!
完整工程和资料包下载:https://download.csdn.net/download/qq_34885669/11640003
注意!!!!请拷贝整个keil工程出来再打开,在文件夹内文件路径太长keil5会打开失败!!!!
第一部分:IIC协议代码头文件 (iic.h)
#ifndef IIC_H
#define IIC_H
#include "delay.h"
#include "sys.h"
#include "stdio.h"
#include "usart.h"
#include "string.h"
#include "sys.h"void IIC_Init(void);
void IIC_ACK(void);
void IIC_NACK(void);
u8 IIC_wait_ACK(void);
void IIC_Start(void);
void IIC_Stop(void);
void IIC_SendByte(u8 byte);
u8 IIC_RcvByte(void);
#endif
第二部分:IIC协议代码文件 (iic.c)
#include "stm32f10x.h"
#include "iic.h"#define write 0
#define read 1
//IIC总线地址接口定义
#define SCL PAout(4)
#define SDA_OUT PAout(5)
#define SDA_IN PAin(5)
#define IIC_INPUT_MODE_SET() {GPIOA->CRL&=0xFF0FFFFF;GPIOA->CRL|=0x00800000;}
#define IIC_OUTPUT_MODE_SET() {GPIOA->CRL&=0xFF0FFFFF;GPIOA->CRL|=0x00300000;}void IIC_Init(void)
{/*1.开时钟*/RCC->APB2ENR |= 1<<2;/*2.设置GPIO模式*/GPIOA->CRL &= 0xFF00FFFF;GPIOA->CRL |= 0x00330000;/*3.设置GPIO空闲电平*/GPIOA->ODR |= 0x3<<4; //printf("IIC_Init OK!\n");
} /*******************************************************************
功能:启动I2C总线,即发送I2C起始条件. SCL为高电平期间 SDA出现下降沿
********************************************************************/
void IIC_Start(void)
{IIC_OUTPUT_MODE_SET();SDA_OUT=1;SCL=1;SDA_OUT=0;SCL=0;
}/*******************************************************************
功能:结束I2C总线,即发送I2C结束条件. SCL为高电平期间 SDA出现上升沿
********************************************************************/
void IIC_Stop(void)
{IIC_OUTPUT_MODE_SET();SDA_OUT=0; SCL=1;SDA_OUT=1;
}/*主机发送ACK*/
void IIC_ACK(void)
{IIC_OUTPUT_MODE_SET();SCL=0; SDA_OUT=0; SCL=1; SCL=0;
}/*主机不发送ACK*/
void IIC_NACK(void)
{IIC_OUTPUT_MODE_SET();SCL=0;SDA_OUT=1; SCL=1; SCL=0;
}/*主机等待从机的ACK*/
u8 IIC_wait_ACK(void)
{u8 t = 200;IIC_OUTPUT_MODE_SET();SDA_OUT=1;//8位发送完后释放数据线,准备接收应答位 SCL=0;IIC_INPUT_MODE_SET();while(SDA_IN)//等待应答{t--;DelayUs(1); if(t==0){SCL=0;return 1;}} SCL=1;SCL=0; return 0;
}/*******************************************************************
字节数据发送函数
函数原型: void SendByte(UCHAR c);
功能:将数据c发送出去,可以是地址,也可以是数据
********************************************************************/
void IIC_SendByte(u8 byte)
{u8 BitCnt;IIC_OUTPUT_MODE_SET();SCL=0;for(BitCnt=0;BitCnt<8;BitCnt++)//要传送的数据长度为8位{if(byte&0x80) SDA_OUT=1;//判断发送位else SDA_OUT=0; byte<<=1;SCL=1;SCL=0;}
}
/*******************************************************************字节数据接收函数
函数原型: UCHAR RcvByte();
功能: 用来接收从器件传来的数据
********************************************************************/
u8 IIC_RcvByte(void)
{u8 retc;u8 BitCnt;retc=0; IIC_INPUT_MODE_SET();//置数据线为输入方式 for(BitCnt=0;BitCnt<8;BitCnt++){ SCL=0; //置时钟线为低,准备接收数据位DelayUs(1); SCL=1; //置时钟线为高使数据线上数据有效 retc=retc<<1;if(SDA_IN) retc |=1;//读数据位,接收的数据位放入retc中 }SCL=0; return(retc);
}
第三部分:OLED代码头文件 (oled_iic.h)
#ifndef OLED_IIC_H
#define OLED_IIC_H
#include "stm32f10x.h"#define OLED_ON 0xFF //亮
#define OLED_OFF 0x00 //灭
#define high 1
#define low 0
#define Brightness 0xCF
#define X_WIDTH 128
#define Y_WIDTH 64/*OLED IIC通讯相关宏定义*/
#define OLED_CMD 0 //写命令
#define OLED_DATA 1 //写数据
#define IIC_ADD_WC 0x78 //IIC通讯写命令时的地址
#define IIC_ADD_WD 0x78 //IIC通讯写数据时的地址
#define IIC_CONC 0x00 //控制字节指定下一个字节为命令
#define IIC_COND 0x40 //控制字节指定下一个字节为数据SS/*SSD1306 基础命令定义*/
#define SET_CONTRAST_CONTROL 0x81 //对比度设置命令,取值范围1-255,复位值:0x7F
#define SET_DISPLAY_ON 0xAF //开显示命令
#define SET_DISPLAY_OFF 0xAE //关显示命令
#define ENTIRE_DISPLAY_ON_A4 0xA4 //全局显示关闭
#define ENTIRE_DISPLAY_ON_A5 0xA5 //全局显示开启
#define NORMAL_DISPLAY 0xA6 //给GDDRAM值为0,熄灭像素;给GDDRAM值为1,点亮像素
#define INVERSE_DISPLAY 0xA7 //给GDDRAM值为0,点亮像素;给GDDRAM值为1,熄灭像素/*SSD1306 滚动显示命令定义*/
#define HORIZONTAL_SCROLL_SETUP_RIGHT 0x26 //向右水平移动
#define HORIZONTAL_SCROLL_SETUP_LEFT 0x27 //向左水平移动
#define HORIZONTAL_SCROLL_SETUP_AE 0x00 //配置水平移动时,需要的虚拟字节
#define HORIZONTAL_SCROLL_SETUP_F 0xFF //配置水平移动时,需要的虚拟字节
#define ACTIVATE_SCROLL 0x2F //开启滚动显示功能
#define DEACTIVATE_SCROLL 0x2E //关闭滚动显示功能
#define SET_VERTICAL_SCROLL_AREA 0xA3 //设置垂直滚动范围命令
#define HV_SCROLL_SRTEP_RIGHT 0x29 //向右水平移动
#define HV_SCROLL_SRTEP_LEFT 0x2A //向左水平移动/*SSD1306 地址设置命令定义*/
#define SET_MEMORY_ADDR_MODE 0x20 //设置地址模式:0x00,列地址模式;0x01,行地址模式;0x10,页地址模式/*SSD1306 硬件配置命令定义*/
#define SET_SEGMENT_REMAP_A0 0xA0 //列地址0映射到SEG0
#define SET_SEGMENT_REMAP_A1 0xA1 //列地址0映射到SEG127
#define SET_MULTIPLEX_RATIO 0xA8 //设置驱动路数
#define SET_COM_SCAN_DIRECTION_C0 0xC0 //扫描方向从COM0-->COM[N-1]
#define SET_COM_SCAN_DIRECTION_C8 0xC8 //扫描方向从COM[N-1]-->COM0
#define SET_DISPLAY_OFFSET 0xD3 //设置行显示偏移
#define SET_COM_PINS_CONFIG 0xDA //设置COM硬件引脚配置命令/*SSD1306 显示时钟和驱动相关命令定义*/
#define SET_DISPLAY_CLOCK 0xD5 //设置时钟分频因子、振荡频率
#define SET_PRECHARGE_PERIOD 0xD9 //设置预充电周期
#define SET_VCOMH_DESELECT_L 0xDB //设置VCOMH电源倍率
#define CHARGE_PUMP_SET 0x8D //电荷泵设置/*显示字符类型定义*/
#define TYPE_12X06 0x01 //显示12*06字符
#define TYPE_16X08 0x02 //显示16*08字符
#define TYPE_16X16 0x03 //显示16*16字符extern u8 Old_Menu_Page;
extern u8 Display_Fleg;
extern u8 OLED_GRAM[8][128];
extern u8 Menu_Page;
extern u8 Display_Fleg;
extern u8 Data_buff[25];void OLED_WR_Byte(u8 dat,u8 cmd);
void OLED_Display_On(void);
void OLED_Display_Off(void);
void OLED_Clear(void);
void OLED_Init(void);
void OLED_Draw_Point(u8 x,u8 y,u8 c);
void OLED_Refresh_Screen(void);
void LCD_ShowFont(u32 x,u32 y,u32 w,u32 h,u8 *p);
void OLED_SetCursorAddrese(u8 x,u8 y);
void OLED_PageClear(u8 page);
void OLED_DisplayString(u8 x,u8 y,u8 width,u8 height,u8 *str);
u8 Oled_Display(u8 x ,u8 y ,u8 width , u8 height);
void OLED_Menu_Display(void);#endif
第四部分:OLED代码文件 (oled_iic.c)
#include "delay.h"
#include "oled_iic.h"
#include "word.h"
#include "string.h"
#include "math.h"
#include "DS18B20.h"
#include "key.h"
#include "DS1302.h"
#include "iic.h"u8 OLED_GRAM[8][128];/*定义OLED显存数组*//*
函数功能: 向SSD1106写入一个字节
函数参数: dat:要写入的数据/命令cmd:数据/命令标志 0表示命令 1表示数据
*/
void OLED_WR_Byte(u8 dat,u8 cmd)
{IIC_Start(); //开始传输IIC_SendByte(0x78); //传输地址IIC_wait_ACK(); //接收1306返回的确认信号if(cmd) IIC_SendByte(0x40); //发送控制字节,写数据else IIC_SendByte(0x00); //发送控制字节,写命令 IIC_wait_ACK(); //接收1306返回的确认信号IIC_SendByte(dat); //发送数据字节IIC_wait_ACK(); //接收1306返回的确认信号IIC_Stop(); //结束传输
}/*********************OLED初始化************************************/
void OLED_Init(void)
{IIC_Init();DelayMs(500); //初始化之前的延时很重要!OLED_WR_Byte(0xAE,OLED_CMD); //关闭显示OLED_WR_Byte(0x00,OLED_CMD);//设置低列地址OLED_WR_Byte(0x10,OLED_CMD);//设置高列地址OLED_WR_Byte(0x40,OLED_CMD);//设置起始行地址,集映射RAM显示起始行(0x00~0x3F)OLED_WR_Byte(0x81,OLED_CMD);//设置对比度控制寄存器OLED_WR_Byte(0xCF,OLED_CMD);//设置SEG输出电流亮度OLED_WR_Byte(0xA1,OLED_CMD);//段重定义设置,bit0:0,0->0;1,0->127; 0xa0左右反置 0xa1正常OLED_WR_Byte(0xC8,OLED_CMD);//设置COM扫描方向;bit3:0,普通模式;1,重定义模式 COM[N-1]->COM0;N:驱动路数 0xc0上下反置 0xc8正常OLED_WR_Byte(0xA6,OLED_CMD);//设置正常显示(设置显示方式;bit0:1,反相显示;0,正常显示 )OLED_WR_Byte(0xA8,OLED_CMD);//设置驱动路数 设置多路复用比(1比64)OLED_WR_Byte(0x3F,OLED_CMD);//1/64 duty(默认0X3F(1/64))OLED_WR_Byte(0xD3,OLED_CMD);//设置显示偏移位移映射RAM计数器(0x00~0x3F)OLED_WR_Byte(0x00,OLED_CMD);//-not offsetOLED_WR_Byte(0xD5,OLED_CMD);//设置显示时钟分频比/振荡器频率OLED_WR_Byte(0x80,OLED_CMD);//设置分频比,设置时钟为100帧/秒OLED_WR_Byte(0xD9,OLED_CMD);//设置预充电周期OLED_WR_Byte(0xF1,OLED_CMD);//设置预充15个时钟,放电1个时钟([3:0],PHASE 1;[7:4],PHASE 2;)OLED_WR_Byte(0xDA,OLED_CMD);//设置COM硬件引脚配置OLED_WR_Byte(0x12,OLED_CMD);//[5:4]配置OLED_WR_Byte(0xDB,OLED_CMD);//设置VCOMH 电压倍率OLED_WR_Byte(0x40,OLED_CMD);//Set VCOM 释放电压([6:4] 000,0.65*vcc;001,0.77*vcc;011,0.83*vcc;)OLED_WR_Byte(0x20,OLED_CMD);//设置页面寻址模式(0x00/0x01/0x02)OLED_WR_Byte(0x02,OLED_CMD);//[1:0],00,列地址模式;01,行地址模式;10,页地址模式;默认10;OLED_WR_Byte(0x8D,OLED_CMD);//设置充电泵启用/禁用OLED_WR_Byte(0x14,OLED_CMD);//设置(0x10禁用,0x14启用)OLED_WR_Byte(0xA4,OLED_CMD);// 全局显示开启;bit0:1,开启;0,关闭;(白屏/黑屏) (0xa4/0xa5)OLED_WR_Byte(0xA6,OLED_CMD);// 设置显示方式;bit0:1,反相显示;0,正常显示 (0xa6/a7) OLED_WR_Byte(0xAF,OLED_CMD);//开启显示 OLED_Clear();OLED_SetCursorAddrese(0,0);//printf("OLED Init OK !\n");
}
/*函数功能:开启OLED显示 */
void OLED_Display_On(void)
{OLED_WR_Byte(0X8D,OLED_CMD); //SET DCDC命令(设置电荷泵)OLED_WR_Byte(0X14,OLED_CMD); //DCDC ON (开启电荷泵)OLED_WR_Byte(0XAF,OLED_CMD); //DISPLAY ON(OLED唤醒)
}
/*函数功能:关闭OLED显示*/ void OLED_Display_Off(void)
{OLED_WR_Byte(0X8D,OLED_CMD); //SET DCDC命令 (设置电荷泵)OLED_WR_Byte(0X10,OLED_CMD); //DCDC OFF (关闭电荷泵)OLED_WR_Byte(0XAE,OLED_CMD); //DISPLAY OFF (OLED休眠)
}/*
函数功能:清屏函数,清完屏,整个屏幕是黑色的!
说明: 清屏就是向OLED里写0对于OLED屏,0就不显示,1才会在屏幕上显示出来一个点
*/
void OLED_Clear(void)
{ u8 i,n; for(i=0;i<8;i++){OLED_WR_Byte(0xB0+i,OLED_CMD);//设置页地址(0~7)OLED_WR_Byte(0x00,OLED_CMD); //设置显示位置―列低地址OLED_WR_Byte(0x10,OLED_CMD); //设置显示位置―列高地址 for(n=0;n<128;n++){OLED_WR_Byte(0x00,OLED_DATA);}}
}
/*
函数功能:在显存数组上画一个点
函数参数:x,y为点的横纵坐标 c为这个点的亮灭(1亮0灭)
参数范围:x 0~128 y 0~8
每一个数据是 低位在前,高位在后
*/
void OLED_Draw_Point(u8 x,u8 y,u8 c)
{u8 page,addr;page = y/8; //显存的页地址addr = y%8; //显存的一个字节数据中c所在的位置 if(c) OLED_GRAM[page][x] |= 1<<addr;else OLED_GRAM[page][x] &= ~(1<<addr);
}/*
函数功能: 设置光标位置
函数参数: x列的起始位置(0~127)y页的起始位置(0~7)
比如: 0x8 高4位0000 低4位1000
*/
void OLED_SetCursorAddrese(u8 x,u8 y)
{OLED_WR_Byte(0xB0+y,OLED_CMD); //设置页地址//第6列显示数据 6被分成2个4位(高位和低位)。OLED_WR_Byte((x&0xF0)>>4|0x10,OLED_CMD);//设置列高起始地址(半字节)OLED_WR_Byte((x&0x0F)|0x00,OLED_CMD); //设置列低起始地址(半字节)
}
/*****************************************************
** 函数名称:OLED_VerticalDisplay
** 函数功能:实现OLED垂直滚动范围配置
** 参 数:1.toprow:设置滚动起始行
** 2.scrollrow:设置滚动行数
** 注意:toprow+scrollrow<64
** 函数返回:无
******************************************************/
void OLED_VerticalDisplay(u8 toprow,u8 scrollrow)
{OLED_WR_Byte(SET_VERTICAL_SCROLL_AREA,OLED_CMD);OLED_WR_Byte(toprow,OLED_CMD);OLED_WR_Byte(scrollrow,OLED_CMD);
}/*****************************************************
** 函数名称:OledScrollStop
** 函数功能:关闭滚屏功能
******************************************************/
void OledScrollStop(void)
{OLED_WR_Byte(DEACTIVATE_SCROLL,OLED_CMD);
}/*
函数功能: 按页清屏 (0~7)
*/
void OLED_PageClear(u8 page)
{u8 j;OLED_WR_Byte(0xB0+page,OLED_CMD); //设置页地址OLED_WR_Byte(0x10,OLED_CMD); //设置列高起始地址(半字节)OLED_WR_Byte(0x00,OLED_CMD); //设置列低起始地址(半字节)for(j=0;j<128;j++){OLED_WR_Byte(0,OLED_DATA); //写数据}
}/*
函数功能:更新显存到OLED屏幕上*/
void OLED_Refresh_Screen(void)
{u8 page,list; //定义页地址和列地址for(page=0;page<8;page++){OLED_WR_Byte(0xB0+page,OLED_CMD); //设置页地址(0~7)OLED_WR_Byte(0x00,OLED_CMD); //设置显示位置―列低地址OLED_WR_Byte(0x10,OLED_CMD); //设置显示位置―列高地址 for(list=0;list<128;list++){OLED_WR_Byte(OLED_GRAM[page][list],OLED_DATA);}}memset(OLED_GRAM,0,sizeof(OLED_GRAM)); /*清空显存数组*/
}u8 Oled_Display(u8 x ,u8 y ,u8 width , u8 height)
{u8 i,j;if(width>128) width=128;if(height>64) height=64;/*1. OLED显示屏初始化*/OLED_Clear(); //清屏for(i=0;i<height/8;i++){OLED_WR_Byte(0xB0+i,OLED_CMD); //设置页地址(0~7)OLED_WR_Byte(0x00,OLED_CMD); //设置显示位置―列低地址OLED_WR_Byte(0x10,OLED_CMD); //设置显示位置―列高地址 for(j=0;j<width;j++){
// OLED_WR_Byte(BMP[i][j],OLED_DATA);}}DelayMs(10);return 0;
}void OLED_DisplayString(u8 x,u8 y,u8 width,u8 height,u8 *str)
{u8 addr=0,i;u16 font=0;while(*str!='\0') //连续显示{//取模从空格开始的,计算下标//写8*16ASCII字符的上半部分if(*str >= ' '&& *str <= '~') //显示英文{addr=*str-' '; //取模从空格开始的,计算下标//写8*16ASCII字符的上半部分OLED_SetCursorAddrese(x,y); //设置光标的位置for(i=0;i<width/2;i++) //横向写width列{OLED_WR_Byte(ASCII_8_16[addr][i],OLED_DATA); }//写8*16ASCII字符的下半部分OLED_SetCursorAddrese(x,y+1); //设置光标的位置for(i=0;i<width/2;i++) //横向写width列{OLED_WR_Byte(ASCII_8_16[addr][i+width/2],OLED_DATA); }str++;//继续显示下一个字符x+=width/2; //在下一个位置继续显示数据 }else //显示中文{OLED_SetCursorAddrese(x,y); //设置光标的位置font=((*str)<<8)+(*(str+1));switch(font){case 0xCEC2:addr=0;break;//温case 0xCAAA:addr=1;break;//湿case 0xB6C8:addr=2;break;//度case 0xCAFD:addr=3;break;//数case 0xBEDD:addr=4;break;//据case 0xB3C9:addr=5;break;//成case 0xB9A6:addr=6;break;//功case 0xB7A2:addr=7;break;//发case 0xCBCD:addr=8;break;//送case 0xC1AC:addr=9;break;//连case 0xBDD3:addr=10;break;//接case 0xB7FE:addr=11;break;//服case 0xCEF1:addr=12;break;//务case 0xC6F7:addr=13;break;//器case 0xC9CF:addr=14;break;//上case 0xCFC2:addr=15;break;//下case 0xCFDE:addr=16;break;//限case 0xD6B5:addr=17;break;//值case 0xC9E8:addr=18;break;//设case 0xD6C3:addr=19;break;//置case 0xB4AB:addr=20;break;//传case 0xD6DC:addr=21;break;//周case 0xC6DA:addr=22;break;//期case 0xBFD8:addr=23;break;//控case 0xD6C6:addr=24;break;//制case 0xB2CE:addr=25;break;//参case 0xD7DC:addr=26;break;//总case 0xB1ED:addr=27;break;//表case 0xB1B8:addr=28;break;//备case 0xCDF8:addr=29;break;//网case 0xC2E7:addr=30;break;//络case 0xD0C5:addr=31;break;//信case 0xCFA2:addr=32;break;//息case 0xCAA7:addr=33;break;//失case 0xB0DC:addr=34;break;//败case 0xB1A3:addr=35;break;//保case 0xB4E6:addr=36;break;//存case 0xB9FD:addr=37;break;//过case 0xB8DF:addr=38;break;//高case 0xA1E6:addr=39;break;//℃case 0xD0C7:addr=40;break;//星case 0xC8D5:addr=42;break;//日case 0xD2BB:addr=43;break;//一case 0xB6FE:addr=44;break;//二case 0xC8FD:addr=45;break;//三case 0xCBC4:addr=46;break;//四case 0xCEE5:addr=47;break;//五case 0xC1F9:addr=48;break;//六case 0xC4EA:addr=49;break;//年case 0xD4C2:addr=50;break;//月default : break;}for(i=0;i<width;i++) //横向写width列{OLED_WR_Byte(ChineseFont_16_16[addr][i],OLED_DATA); }//写8*16ASCII字符的下半部分OLED_SetCursorAddrese(x,y+1); //设置光标的位置for(i=0;i<width;i++) //横向写width列{OLED_WR_Byte(ChineseFont_16_16[addr][i+width],OLED_DATA); }str+=2;//继续显示下一个字符x+=width; //在下一个位置继续显示数据}}
}
void OLED_Menu_Display()
{OLED_DisplayString(0,0,16,16,"OLED 参数设置");OLED_DisplayString(0,2,16,16,"Do you konwn ?");OLED_DisplayString(0,4,16,16,"I LOVE YOU !");OLED_DisplayString(0,6,16,16,"I'm so sorry !!!");
}
第五部分:字库代码头文件(word.h)
#ifndef WORD_H
#define WORD_H
#include "stm32f10x.h"
#include "stdio.h"
extern const unsigned char ChineseFont_128_64[][128];
extern const unsigned char font_6[];
extern const u8 ASCII_8_16[][16];
extern const u8 ChineseFont_16_16[][32];
extern unsigned char F16x16[];
extern const unsigned char F6x8[][6];
extern const unsigned char F8X16[];
extern unsigned char BMP1[];
extern unsigned char BMP2[];
#endif
第六部分:字库代码文件(word.c)
#include "word.h"// ASCII编码8*16英文字符
const u8 ASCII_8_16[][16]=
{
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*" ",0*/
{0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x00,0x00,0x00,0x00},/*"!",1*/
{0x00,0x10,0x0C,0x02,0x10,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*""",2*/
{0x00,0x40,0xC0,0x78,0x40,0xC0,0x78,0x00,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x00},/*"#",3*/
{0x00,0x70,0x88,0x88,0xFC,0x08,0x30,0x00,0x00,0x18,0x20,0x20,0xFF,0x21,0x1E,0x00},/*"$",4*/
{0xF0,0x08,0xF0,0x80,0x60,0x18,0x00,0x00,0x00,0x31,0x0C,0x03,0x1E,0x21,0x1E,0x00},/*"%",5*/
{0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x2C,0x19,0x27,0x21,0x10},/*"&",6*/
{0x00,0x12,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,0x00,0xE0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x0F,0x01,0x01,0x01},/*"+",11*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x90,0x70,0x00,0x00,0x00,0x00,0x00},/*",",12*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00},/*"-",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00},/*".",14*/
{0x00,0x00,0x00,0x00,0xC0,0x38,0x04,0x00,0x00,0x60,0x18,0x07,0x00,0x00,0x00,0x00},/*"/",15*/
{0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00},/*"0",16*/
{0x00,0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00},/*"1",17*/
{0x00,0x70,0x08,0x08,0x08,0x08,0xF0,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00},/*"2",18*/
{0x00,0x30,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x18,0x20,0x21,0x21,0x22,0x1C,0x00},/*"3",19*/
{0x00,0x00,0x80,0x40,0x30,0xF8,0x00,0x00,0x00,0x06,0x05,0x24,0x24,0x3F,0x24,0x24},/*"4",20*/
{0x00,0xF8,0x88,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x20,0x20,0x20,0x11,0x0E,0x00},/*"5",21*/
{0x00,0xE0,0x10,0x88,0x88,0x90,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x20,0x1F,0x00},/*"6",22*/
{0x00,0x18,0x08,0x08,0x88,0x68,0x18,0x00,0x00,0x00,0x00,0x3E,0x01,0x00,0x00,0x00},/*"7",23*/
{0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00},/*"8",24*/
{0x00,0xF0,0x08,0x08,0x08,0x10,0xE0,0x00,0x00,0x01,0x12,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,0x00,0xE0,0x00,0x00,0x00,0x00},/*";",27*/
{0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00},/*"<",28*/
{0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x02,0x00},/*"=",29*/
{0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00},/*">",30*/
{0x00,0x70,0x48,0x08,0x08,0x88,0x70,0x00,0x00,0x00,0x00,0x30,0x37,0x00,0x00,0x00},/*"?",31*/
{0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x28,0x2F,0x28,0x17,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,0x01,0x3E,0x01,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,0x10,0x28,0x28,0x30,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*/
{0x08,0xF8,0x00,0xF8,0x00,0xF8,0x08,0x00,0x00,0x03,0x3E,0x01,0x3E,0x03,0x00,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,0x04,0x38,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,0x04,0x00,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,0x00,0x00,0x00,0x00,0x19,0x24,0x24,0x12,0x3F,0x20,0x00},/*"a",65*/
{0x10,0xF0,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,0x80,0x80,0x80,0x90,0xF0,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20},/*"d",68*/
{0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x24,0x24,0x24,0x24,0x17,0x00},/*"e",69*/
{0x00,0x80,0x80,0xE0,0x90,0x90,0x20,0x00,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*/
{0x10,0xF0,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*/
{0x10,0xF0,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x06,0x29,0x30,0x20,0x00},/*"k",75*/
{0x00,0x10,0x10,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,0x91,0x20,0x20,0x11,0x0E,0x00},/*"p",80*/
{0x00,0x00,0x00,0x80,0x80,0x00,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0x91,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,0x10,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,0x80,0x80,0x80,0x00,0x00,0x03,0x0C,0x30,0x0C,0x03,0x00,0x00},/*"v",86*/
{0x80,0x80,0x00,0x80,0x80,0x00,0x80,0x80,0x01,0x0E,0x30,0x0C,0x07,0x38,0x06,0x01},/*"w",87*/
{0x00,0x80,0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x20,0x31,0x0E,0x2E,0x31,0x20,0x00},/*"x",88*/
{0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x81,0x86,0x78,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,0x00,0xFC,0x02,0x02,0x00,0x00,0x00,0x00,0x01,0x3E,0x40,0x40},/*"{",91*/
{0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},/*"|",92*/
{0x02,0x02,0xFC,0x00,0x00,0x00,0x00,0x00,0x40,0x40,0x3E,0x01,0x00,0x00,0x00,0x00},/*"}",93*/
{0x00,0x80,0x40,0x80,0x80,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00},/*"~",94*/
};const u8 ChineseFont_16_16[][32]=
{
{0x10,0x60,0x02,0x8C,0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00,0x04,0x04,0x7E,0x01,0x40,0x7E,0x42,0x42,0x7E,0x42,0x7E,0x42,0x42,0x7E,0x40,0x00},/*"温",0*/
{0x10,0x60,0x02,0x8C,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00,0x04,0x04,0x7E,0x01,0x44,0x48,0x50,0x7F,0x40,0x40,0x7F,0x50,0x48,0x44,0x40,0x00},/*"湿",1*/
{0x00,0x00,0xFC,0x24,0x24,0x24,0xFC,0x25,0x26,0x24,0xFC,0x24,0x24,0x24,0x04,0x00,0x40,0x30,0x8F,0x80,0x84,0x4C,0x55,0x25,0x25,0x25,0x55,0x4C,0x80,0x80,0x80,0x00},/*"度",2*/
{0x90,0x52,0x34,0x10,0xFF,0x10,0x34,0x52,0x80,0x70,0x8F,0x08,0x08,0xF8,0x08,0x00,0x82,0x9A,0x56,0x63,0x22,0x52,0x8E,0x00,0x80,0x40,0x33,0x0C,0x33,0x40,0x80,0x00},/*"数",3*/
{0x10,0x10,0xFF,0x10,0x90,0x00,0xFE,0x92,0x92,0x92,0xF2,0x92,0x92,0x9E,0x80,0x00,0x42,0x82,0x7F,0x01,0x80,0x60,0x1F,0x00,0xFC,0x44,0x47,0x44,0x44,0xFC,0x00,0x00},/*"据",4*/
{0x00,0x00,0xF8,0x88,0x88,0x88,0x88,0x08,0x08,0xFF,0x08,0x09,0x0A,0xC8,0x08,0x00,0x80,0x60,0x1F,0x00,0x10,0x20,0x1F,0x80,0x40,0x21,0x16,0x18,0x26,0x41,0xF8,0x00},/*"成",5*/
{0x08,0x08,0x08,0xF8,0x08,0x08,0x08,0x10,0x10,0xFF,0x10,0x10,0x10,0xF0,0x00,0x00,0x10,0x30,0x10,0x1F,0x08,0x88,0x48,0x30,0x0E,0x01,0x40,0x80,0x40,0x3F,0x00,0x00},/*"功",6*/
{0x00,0x00,0x18,0x16,0x10,0xD0,0xB8,0x97,0x90,0x90,0x90,0x92,0x94,0x10,0x00,0x00,0x00,0x20,0x10,0x8C,0x83,0x80,0x41,0x46,0x28,0x10,0x28,0x44,0x43,0x80,0x80,0x00},/*"发",7*/
{0x40,0x40,0x42,0xCC,0x00,0x88,0x89,0x8E,0x88,0xF8,0x88,0x8C,0x8B,0x88,0x80,0x00,0x00,0x40,0x20,0x1F,0x20,0x40,0x50,0x48,0x46,0x41,0x42,0x44,0x58,0x40,0x40,0x00},/*"送",8*/
{0x40,0x40,0x42,0xCC,0x00,0x04,0x44,0x64,0x5C,0x47,0xF4,0x44,0x44,0x44,0x04,0x00,0x00,0x40,0x20,0x1F,0x20,0x44,0x44,0x44,0x44,0x44,0x7F,0x44,0x44,0x44,0x44,0x00},/*"连",9*/
{0x10,0x10,0x10,0xFF,0x10,0x50,0x44,0x54,0x65,0xC6,0x44,0x64,0x54,0x44,0x40,0x00,0x04,0x44,0x82,0x7F,0x01,0x82,0x82,0x4A,0x56,0x23,0x22,0x52,0x4E,0x82,0x02,0x00},/*"接",10*/
{0x00,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0xFE,0x82,0x82,0x92,0xA2,0x9E,0x00,0x00,0x80,0x60,0x1F,0x02,0x42,0x82,0x7F,0x00,0xFF,0x40,0x2F,0x10,0x2C,0x43,0x80,0x00},/*"服",11*/
{0x00,0x00,0x90,0x88,0x4C,0x57,0xA4,0x24,0x54,0x54,0x8C,0x84,0x00,0x00,0x00,0x00,0x01,0x01,0x80,0x42,0x22,0x1A,0x07,0x02,0x42,0x82,0x42,0x3E,0x01,0x01,0x01,0x00},/*"务",12*/
{0x80,0x80,0x9E,0x92,0x92,0x92,0x9E,0xE0,0x80,0x9E,0xB2,0xD2,0x92,0x9E,0x80,0x00,0x08,0x08,0xF4,0x94,0x92,0x92,0xF1,0x00,0x01,0xF2,0x92,0x94,0x94,0xF8,0x08,0x00},/*"器",13*/
{0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x00,0x00,0x40,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00},/*"上",14*/
{0x02,0x02,0x02,0x02,0x02,0x02,0xFE,0x02,0x02,0x42,0x82,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x01,0x06,0x00,0x00,0x00},/*"下",15*/
{0x00,0xFE,0x22,0x5A,0x86,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00,0x00,0xFF,0x04,0x08,0x07,0x00,0xFF,0x40,0x20,0x03,0x0C,0x14,0x22,0x41,0x40,0x00},/*"限",16*/
{0x00,0x80,0x60,0xF8,0x07,0x04,0xE4,0xA4,0xA4,0xBF,0xA4,0xA4,0xE4,0x04,0x00,0x00,0x01,0x00,0x00,0xFF,0x40,0x40,0x7F,0x4A,0x4A,0x4A,0x4A,0x4A,0x7F,0x40,0x40,0x00},/*"值",17*/
{0x40,0x40,0x42,0xCC,0x00,0x40,0xA0,0x9E,0x82,0x82,0x82,0x9E,0xA0,0x20,0x20,0x00,0x00,0x00,0x00,0x3F,0x90,0x88,0x40,0x43,0x2C,0x10,0x28,0x46,0x41,0x80,0x80,0x00},/*"设",18*/
{0x00,0x17,0x15,0xD5,0x55,0x57,0x55,0x7D,0x55,0x57,0x55,0xD5,0x15,0x17,0x00,0x00,0x40,0x40,0x40,0x7F,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0x40,0x40,0x40,0x00},/*"置",19*/
{0x00,0x80,0x60,0xF8,0x07,0x40,0x48,0x48,0xE8,0x5F,0x48,0x48,0x48,0x40,0x40,0x00,0x01,0x00,0x00,0xFF,0x00,0x00,0x02,0x0B,0x12,0x22,0xD2,0x0A,0x06,0x00,0x00,0x00},/*"传",20*/
{0x00,0x00,0xFE,0x82,0x92,0x92,0x92,0xFE,0x92,0x92,0x92,0x82,0xFE,0x00,0x00,0x00,0x80,0x60,0x1F,0x00,0x00,0x1E,0x12,0x12,0x12,0x1E,0x40,0x80,0x7F,0x00,0x00,0x00},/*"周",21*/
{0x00,0x04,0xFF,0x24,0x24,0x24,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,0x88,0x48,0x2F,0x09,0x09,0x19,0xAF,0x48,0x30,0x0F,0x02,0x42,0x82,0x7F,0x00,0x00},/*"期",22*/
{0x10,0x10,0x10,0xFF,0x90,0x20,0x98,0x48,0x28,0x09,0x0E,0x28,0x48,0xA8,0x18,0x00,0x02,0x42,0x81,0x7F,0x00,0x40,0x40,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x40,0x00},/*"控",23*/
{0x40,0x50,0x4E,0x48,0x48,0xFF,0x48,0x48,0x48,0x40,0xF8,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x3E,0x02,0x02,0xFF,0x12,0x22,0x1E,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00},/*"制",24*/
{0x00,0x20,0x20,0xA8,0x6C,0x2A,0x39,0x28,0xA8,0x2A,0x6C,0xA8,0x20,0x20,0x00,0x00,0x02,0x82,0x81,0x90,0x92,0x4A,0x49,0x45,0x24,0x22,0x10,0x08,0x01,0x02,0x02,0x00},/*"参",25*/
{0x00,0x00,0x00,0xF1,0x12,0x14,0x10,0x10,0x10,0x14,0x12,0xF1,0x00,0x00,0x00,0x00,0x40,0x30,0x00,0x03,0x39,0x41,0x41,0x45,0x59,0x41,0x41,0x73,0x00,0x08,0x30,0x00},/*"总",26*/
{0x00,0x04,0x24,0x24,0x24,0x24,0x24,0xFF,0x24,0x24,0x24,0x24,0x24,0x04,0x00,0x00,0x21,0x21,0x11,0x09,0xFD,0x83,0x41,0x23,0x05,0x09,0x11,0x29,0x25,0x41,0x41,0x00},/*"表",27*/
{0x80,0x90,0x90,0x48,0x4C,0x57,0x24,0x24,0x24,0x54,0x4C,0x44,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00},/*"备",28*/
{0x00,0xFE,0x02,0x22,0x42,0x82,0x72,0x02,0x22,0x42,0x82,0x72,0x02,0xFE,0x00,0x00,0x00,0xFF,0x10,0x08,0x06,0x01,0x0E,0x10,0x08,0x06,0x01,0x4E,0x80,0x7F,0x00,0x00},/*"网",29*/
{0x20,0x30,0xAC,0x63,0x30,0x20,0x10,0x18,0xA7,0x44,0xA4,0x14,0x0C,0x00,0x00,0x00,0x22,0x67,0x22,0x12,0x12,0x04,0x02,0xFD,0x44,0x44,0x44,0x45,0xFD,0x02,0x02,0x00},/*"络",30*/
{0x00,0x80,0x60,0xF8,0x07,0x00,0x04,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x04,0x00,0x01,0x00,0x00,0xFF,0x00,0x00,0x00,0xF9,0x49,0x49,0x49,0x49,0x49,0xF9,0x00,0x00},/*"信",31*/
{0x00,0x00,0x00,0xFC,0x54,0x54,0x56,0x55,0x54,0x54,0x54,0xFC,0x00,0x00,0x00,0x00,0x40,0x30,0x00,0x03,0x39,0x41,0x41,0x45,0x59,0x41,0x41,0x73,0x00,0x08,0x30,0x00},/*"息",32*/
{0x00,0x40,0x30,0x1E,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00,0x81,0x81,0x41,0x21,0x11,0x0D,0x03,0x01,0x03,0x0D,0x11,0x21,0x41,0x81,0x81,0x00},/*"失",33*/
{0x00,0xFE,0x02,0xFA,0x02,0xFE,0x40,0x20,0xD8,0x17,0x10,0x10,0xF0,0x10,0x10,0x00,0x80,0x47,0x30,0x0F,0x10,0x67,0x80,0x40,0x21,0x16,0x08,0x16,0x21,0x40,0x80,0x00},/*"败",34*/
{0x00,0x80,0x60,0xF8,0x07,0x00,0x3E,0x22,0x22,0xE2,0x22,0x22,0x3E,0x00,0x00,0x00,0x01,0x00,0x00,0xFF,0x20,0x11,0x09,0x05,0x03,0xFF,0x03,0x05,0x09,0x11,0x20,0x00},/*"保",35*/
{0x04,0x04,0x84,0xE4,0x1C,0x07,0x24,0x24,0x24,0x24,0xA4,0x64,0x24,0x04,0x04,0x00,0x02,0x01,0x00,0xFF,0x00,0x02,0x02,0x42,0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x00},/*"存",36*/
{0x40,0x40,0x42,0xCC,0x00,0x08,0x48,0x88,0x08,0x08,0x08,0xFF,0x08,0x08,0x08,0x00,0x00,0x40,0x20,0x1F,0x20,0x40,0x40,0x41,0x40,0x48,0x50,0x4F,0x40,0x40,0x40,0x00},/*"过",37*/
{0x04,0x04,0x04,0x04,0xF4,0x94,0x95,0x96,0x94,0x94,0xF4,0x04,0x04,0x04,0x04,0x00,0x00,0xFE,0x02,0x02,0x7A,0x4A,0x4A,0x4A,0x4A,0x4A,0x7A,0x02,0x82,0xFE,0x00,0x00},/*"高",38*/
{0x06,0x09,0x09,0xE6,0xF8,0x0C,0x04,0x02,0x02,0x02,0x02,0x02,0x04,0x1E,0x00,0x00,0x00,0x00,0x00,0x07,0x1F,0x30,0x20,0x40,0x40,0x40,0x40,0x40,0x20,0x10,0x00,0x00},/*"℃",39*/
{0x00,0x00,0x00,0xBE,0x2A,0x2A,0x2A,0xEA,0x2A,0x2A,0x2A,0x3E,0x00,0x00,0x00,0x00,0x00,0x44,0x42,0x49,0x49,0x49,0x49,0x7F,0x49,0x49,0x49,0x49,0x41,0x40,0x00,0x00},/*"星",40*/
{0x00,0x04,0xFF,0x24,0x24,0x24,0xFF,0x04,0x00,0xFE,0x22,0x22,0x22,0xFE,0x00,0x00,0x88,0x48,0x2F,0x09,0x09,0x19,0xAF,0x48,0x30,0x0F,0x02,0x42,0x82,0x7F,0x00,0x00},/*"期",41*/
{0x00,0x00,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0x82,0x82,0xFE,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,0x00,0x00},/*"日",42*/
{0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"一",43*/
{0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x00},/*"二",44*/
{0x00,0x04,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x84,0x04,0x00,0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00},/*"三",45*/
{0x00,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00,0x00,0x7F,0x28,0x24,0x23,0x20,0x20,0x20,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00},/*"四",46*/
{0x00,0x02,0x42,0x42,0x42,0xC2,0x7E,0x42,0x42,0x42,0x42,0xC2,0x02,0x02,0x00,0x00,0x40,0x40,0x40,0x40,0x78,0x47,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x00},/*"五",47*/
{0x20,0x20,0x20,0x20,0x20,0x20,0x21,0x22,0x2C,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x01,0x02,0x04,0x18,0x60,0x00,0x00},/*"六",48*/
{0x00,0x20,0x18,0xC7,0x44,0x44,0x44,0x44,0xFC,0x44,0x44,0x44,0x44,0x04,0x00,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00},/*"年",49*/
{0x00,0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0xFE,0x00,0x00,0x00,0x80,0x40,0x30,0x0F,0x02,0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x00,0x00,0x00},/*"月",50*/
{0x00,0xF8,0x01,0x06,0x00,0xF0,0x12,0x12,0x12,0xF2,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x1F,0x11,0x11,0x11,0x1F,0x00,0x40,0x80,0x7F,0x00,0x00},/*"间",51*/
};
第七部分:主函数
#include "stm32f10x.h"
#include "usart.h"
#include "iic.h"
#include "oled_iic.h"
#include "word.h"int main(void)
{USARTx_Init(USART1,72,115200); //串口1波特率初始化OLED_Init(); //OLED显示屏初始化while(1){OLED_Menu_Display();}
}