基于RT-Thread+STM32F407的蜂鸣器音乐播放器(进阶版)

此篇在上篇 : 《基于RT-Thread+STM32F407的蜂鸣器音乐播放器》的基础上加上了0.96寸的OLED屏幕实时显示播放器名称、播放状态、当前播放歌曲、播放进度和音量大小等信息

第一步 开启IIC驱动程序

本项目用到的0.96寸的OLED屏幕为IIC驱动,所以需要开启RT-Thread的IIC驱动
在这里插入图片描述
在这里插入图片描述

第二步 添加Up主写好的oled驱动程序以及字库

在这里插入图片描述

第三步 开启按键刷屏

在这里插入图片描述在这里插入图片描述

第四步 开启切歌刷屏

在这里插入图片描述在这里插入图片描述

第五步 加入到main.c里初始化,开启oled线程

在这里插入图片描述在这里插入图片描述在这里插入图片描述

成果展示

基于RT-Thread+STM32F407的蜂鸣器音乐播放器

附件

oled.c文件

/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date           Author       Notes
* 2022-3-25      Lake      the first version
*/

#include <rtdevice.h>

#include <drv_common.h>
#include "fontpic.h"
#include "oled.h"
#include "player.h"

extern struct player player;
char oledprintf=1;          //按键触发oled屏幕刷新信息

static struct rt_i2c_bus_device *i2c_bus=RT_NULL;

rt_err_t WriteCmd(struct rt_i2c_bus_device *bus, rt_uint8_t data)
{
    rt_uint8_t buf[2];
    struct rt_i2c_msg msgs;

    buf[0] = 0x00;
    buf[1] = data;


    msgs.addr = OLED_ADDR;
    msgs.flags = RT_I2C_WR;
    msgs.buf = buf;
    msgs.len = 2;

    /* 调用I2C设备接口传输数据 */
    if (rt_i2c_transfer(bus, &msgs, 1) == 1)
    {
        return RT_EOK;
    }
    else
    {
        return -RT_ERROR;
    }
}

rt_err_t WriteDat(struct rt_i2c_bus_device *bus, rt_uint8_t data)
{
    rt_uint8_t buf[2];
    struct rt_i2c_msg msgs;

    buf[0] = 0x40;
    buf[1] = data;


    msgs.addr = OLED_ADDR;
    msgs.flags = RT_I2C_WR;
    msgs.buf = buf;
    msgs.len = 2;

    /* 调用I2C设备接口传输数据 */
    if (rt_i2c_transfer(bus, &msgs, 1) == 1)
    {
        return RT_EOK;
    }
    else
    {
        return -RT_ERROR;
    }
}

void OLED_INIT(void)
{
    rt_thread_mdelay(100);

    WriteCmd(i2c_bus,0xAE); //display off
    WriteCmd(i2c_bus,0x20); //Set Memory Addressing Mode
    WriteCmd(i2c_bus,0x10); //00,Horizontal Addressing Mode;01,Vertical Addressing Mode;10,Page Addressing Mode (RESET);11,Invalid
    WriteCmd(i2c_bus,0xb0); //Set Page Start Address for Page Addressing Mode,0-7
    WriteCmd(i2c_bus,0xc8); //Set COM Output Scan Direction
    WriteCmd(i2c_bus,0x00); //---set low column address
    WriteCmd(i2c_bus,0x10); //---set high column address
    WriteCmd(i2c_bus,0x40); //--set start line address
    WriteCmd(i2c_bus,0x81); //--set contrast control register
    WriteCmd(i2c_bus,0xff); //亮度调节 0x00~0xff
    WriteCmd(i2c_bus,0xa1); //--set segment re-map 0 to 127
    WriteCmd(i2c_bus,0xa6); //--set normal display
    WriteCmd(i2c_bus,0xa8); //--set multiplex ratio(1 to 64)
    WriteCmd(i2c_bus,0x3F); //
    WriteCmd(i2c_bus,0xa4); //0xa4,Output follows RAM content;0xa5,Output ignores RAM content
    WriteCmd(i2c_bus,0xd3); //-set display offset
    WriteCmd(i2c_bus,0x00); //-not offset
    WriteCmd(i2c_bus,0xd5); //--set display clock divide ratio/oscillator frequency
    WriteCmd(i2c_bus,0xf0); //--set divide ratio
    WriteCmd(i2c_bus,0xd9); //--set pre-charge period
    WriteCmd(i2c_bus,0x22); //
    WriteCmd(i2c_bus,0xda); //--set com pins hardware configuration
    WriteCmd(i2c_bus,0x12);
    WriteCmd(i2c_bus,0xdb); //--set vcomh
    WriteCmd(i2c_bus,0x20); //0x20,0.77xVcc
    WriteCmd(i2c_bus,0x8d); //--set DC-DC enable
    WriteCmd(i2c_bus,0x14); //
    WriteCmd(i2c_bus,0xaf); //--turn on oled panel

}

/**
 * @brief  OLED_Fill,填充整个屏幕
 * @param  fill_Data:要填充的数据
   * @retval 无
 */
void OLED_FILL(unsigned char fill_data) //全屏填充
{
    unsigned char m,n;
    for(m=0;m<8;m++){
        WriteCmd(i2c_bus,0xb0+m);
        WriteCmd(i2c_bus,0x00);
        WriteCmd(i2c_bus,0x10);

        for(n=0;n<128;n++){
            WriteDat(i2c_bus,fill_data);
        }
    }
}

/**
 * @brief  OLED_CLS,清屏
 * @param  无
   * @retval 无
 */
void OLED_CLS(void)//OLED清屏
{
    OLED_FILL(0x00);
}

/**
 * @brief  OLED_ON,将OLED从休眠中唤醒
 * @param  无
   * @retval 无
 */
void OLED_ON(void)
{
    WriteCmd(i2c_bus,0X8D);  //设置电荷泵
    WriteCmd(i2c_bus,0X14);  //开启电荷泵
    WriteCmd(i2c_bus,0XAF);  //OLED唤醒
}

/**
 * @brief  OLED_OFF,让OLED休眠 -- 休眠模式下,OLED功耗不到10uA
 * @param  无
   * @retval 无
 */
void OLED_OFF(void)
{
    WriteCmd(i2c_bus,0X8D);  //设置电荷泵
    WriteCmd(i2c_bus,0X10);  //关闭电荷泵
    WriteCmd(i2c_bus,0XAE);  //OLED休眠
}



/**
  * @brief  OLED_SetPos,设置光标
  * @param  x,光标x位置
    *                   y,光标y位置
  * @retval 无
  */
void OLED_SetPos(unsigned char x, unsigned char y) //设置起始点坐标
{
    WriteCmd(i2c_bus,0xb0+y);
    WriteCmd(i2c_bus,((x&0xf0)>>4)|0x10);
    WriteCmd(i2c_bus,(x&0x0f)|0x01);
}






 /**
  * @brief  OLED_ShowStr,显示codetab.h中的ASCII字符,有6*8和8*16可选择
  * @param  x,y : 起始点坐标(x:0~127, y:0~7);
    *                   ch[] :- 要显示的字符串;
    *                   TextSize : 字符大小(1:6*8 ; 2:8*16)
    * @retval 无
  */
void OLED_ShowStr(unsigned char x, unsigned char y, unsigned char ch[], unsigned char TextSize)
{
    unsigned char c = 0,i = 0,j = 0;
    switch(TextSize)
    {
        case _6X8:
        {
            while(ch[j] != '\0')
            {
                c = ch[j] - 32;
                if(x > 126)
                {
                    x = 0;
                    y++;
                }
                OLED_SetPos(x,y);
                for(i=0;i<6;i++)
                    WriteDat(i2c_bus,F6x8[c][i]);
                x += 6;
                j++;
            }
        }break;
        case _6X12:
        {
            while(ch[j] != '\0')
            {
                c = ch[j] - 32;
                if(x > 126)
                {
                    x = 0;
                    y+=2;
                }
                OLED_SetPos(x,y);
                for(i=0;i<6;i++)
                    WriteDat(i2c_bus,F6X12[c*12+i]);
                OLED_SetPos(x,y+1);
                for(i=0;i<6;i++)
                    WriteDat(i2c_bus,F6X12[c*12+i+6]);
                x += 6;
                j++;
            }
        }break;
        case _8X16:
        {
            while(ch[j] != '\0')
            {
                c = ch[j] - 32;
                if(x > 120)
                {
                    x = 0;
                    y+=2;
                }
                OLED_SetPos(x,y);
                for(i=0;i<8;i++)
                    WriteDat(i2c_bus,F8X16[c*16+i]);
                OLED_SetPos(x,y+1);
                for(i=0;i<8;i++)
                    WriteDat(i2c_bus,F8X16[c*16+i+8]);
                x += 8;
                j++;
            }
        }break;

    }
}


void OLED_ShowCN(unsigned char x, unsigned char y,const char p[], unsigned char N)
{
    unsigned char wm=0;
    unsigned int  adder=32*N;
    OLED_SetPos(x , y);
    for(wm = 0;wm < 16;wm++)
    {
        WriteDat(i2c_bus,p[adder]);
        adder += 1;
    }
    OLED_SetPos(x,y + 1);
    for(wm = 0;wm < 16;wm++)
    {
        WriteDat(i2c_bus,p[adder]);
        adder += 1;
    }
}

void OLED_ShowCnStr(unsigned char x0, unsigned char y0, const char *s, unsigned char N)
{
    unsigned char n=0;
    unsigned char x;
    unsigned char y;
    unsigned char wm=0;
    unsigned int  adder=0;
    x=x0;
    y=y0;
    for(n=0;n<N;n++)
    {
        OLED_ShowCN(x,y,s,n);
        x+=16;
        if(x>(128-16))
        {
           x=0;
           y+=2;
           if(y>6)
           y=0;
        }
    }
}


void OLED_DrawBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1, unsigned char BMP[])
{
    unsigned int j=0;
    unsigned char x,y;

  if(y1%8==0)
        y = y1/8;
  else
        y = y1/8 + 1;
    for(y=y0;y<y1;y++)
    {
        OLED_SetPos(x0,y);
    for(x=x0;x<x1;x++)
        {
            WriteDat(i2c_bus,BMP[j++]);
        }
    }
}


int Oled_show(player_t player)
{

    /* 打印播放状态 */
    if (PLAYER_RUNNING == player->status){
        OLED_ShowCnStr(32,2,Play16,4);
    }
    else{
        OLED_ShowCnStr(32,2,Suspend16,4);
    }

    /* 打印当前歌曲 */
    if(player->song_current == 1){
        OLED_ShowCnStr(0,4,Two_tigers16,8);
    }
    else if (player->song_current == 2) {
        OLED_ShowCnStr(0,4,girl_waving_wings16,8);
    }
    else if (player->song_current == 3) {
        OLED_ShowCnStr(0,4,Same_song16,8);
    }
    else if (player->song_current == 4) {
        OLED_ShowCnStr(0,4,Two_butterflies16,8);
    }
    else {
        OLED_ShowCnStr(0,4,no_song16,8);
    }


    return 0;
}

static void oled_entry(void *parameter)
{
    static char olednum=0;
    player_t playeroled = &player;
    char temp[2];

    while (1)
    {
            if (PLAYER_RUNNING == playeroled->status)
            olednum++;

            if(olednum>10){
                olednum=0;
                player_show(&player);
            }


            if(oledprintf==1)
            {
                Oled_show(&player);
                oledprintf=0;
            }

            temp[0]=(playeroled->song_time_pass * 100 / playeroled->song_time_all)/10+48;
            temp[1]=(playeroled->song_time_pass * 100 / playeroled->song_time_all)%10+48;
            OLED_ShowStr(32, 6, temp, _8X16);

            temp[0]=(playeroled->volume)/10+48;
            temp[1]=(playeroled->volume)%10+48;
            OLED_ShowStr(96, 6, temp, _8X16);

            rt_thread_mdelay(100);
    }
}


int oled_start()
{
    static rt_thread_t oled_thread = RT_NULL;
    /* 创建oled显示线程 */
    oled_thread = rt_thread_create("oled", /* 线程名字是oled */
                                    oled_entry, /* 线程回调的处理函数 */
                                    RT_NULL, /* 函数的入口参数 */
                                    1024, /* 栈大小k */
                                    21,
                                    10); /* 周期性定时器 */
    /* 启动定时器 */
    if (oled_thread != RT_NULL)
        rt_thread_startup(oled_thread);

    return 0;
}



int oled_init(void)
{
    i2c_bus=(struct rt_i2c_bus_device *)rt_device_find("i2c1");
    if(i2c_bus==RT_NULL){
        rt_kprintf("no device \n");
    }else{
        rt_kprintf("find device \n");
    }
    OLED_INIT();     //初始化oled程序段
    OLED_CLS();
    OLED_DrawBMP(32, 0, 96, 8, pic1);
    rt_thread_mdelay(100);
    OLED_ShowCnStr(8,0,AppName16,7);
    OLED_ShowCnStr(32,2,Playsta16,4);
    OLED_ShowCnStr(0,4,no_song16,8);
    OLED_ShowCnStr(0,6,Progress_volume,8);

    oled_start();

    return 0;
}

oled.h文件

/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date           Author       Notes
* 2018-10-17     flybreak      the first version
*/

#ifndef OLED_H
#define OLED_H




#define OLED_I2C_BUS_NAME "i2c1"
#define OLED_ADDR 0x3c //从机地址 0011 1100 原来是0x78 记得右移1位
//extern  struct rt_i2c_bus_device *i2c_bus;

#define _6X8 0
#define _6X12 1
#define _8X16 2

//extern unsigned char BMP1[];
//extern unsigned char pic1[];
//extern unsigned char xin[];

rt_err_t WriteCmd(struct rt_i2c_bus_device *bus, rt_uint8_t data);
rt_err_t WriteDat(struct rt_i2c_bus_device *bus, rt_uint8_t data);

void OLED_INIT(void);
void OLED_FILL(unsigned char fill_data);
void OLED_CLS(void);
void OLED_SetPos(unsigned char x, unsigned char y); //设置起始点坐标
//void OLED_ShowStr(unsigned char x, unsigned char y, unsigned char ch[]);
void OLED_ShowStr(unsigned char x, unsigned char y, unsigned char ch[],  unsigned char TextSize);
void OLED_ShowCN(unsigned char x, unsigned char y,const char p[], unsigned char N);
void OLED_ShowCnStr(unsigned char x0, unsigned char y0, const char *s, unsigned char N);
void OLED_ShowGB_String(unsigned char x0,unsigned char y0,const char *s,unsigned char wide,unsigned char high);
void OLED_DrawBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char BMP[]);
int oled_start();
int oled_init(void);

#endif

fontppic.c文件

/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2022-04-18     Lake_ZHC       the first version
 */


#include "fontpic.h"

/**
  ******************************************************************************
  * @attention  *
    *
    * 1. 128*64点整OLED模块功能演示程序的字表;
    * 2. 字表由打包资料中的“取字软件”计算得出;
    * 3. 取字方式 -- 共阴、列行式、逆向输出
    *
  *
  ******************************************************************************
  ******************************************************************************
  */


/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********忘川音乐播放器*/
extern unsigned char AppName16[] =
{
        0x04,0x04,0x04,0xFC,0x84,0x84,0x85,0x86,0x84,0x84,0x84,0x84,0x84,0x04,0x04,0x00,0x40,0x38,0x00,0x00,0x3C,0x40,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x08,0x30,0x00,/*"忘",0*/
        0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x80,0x40,0x30,0x0F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,/*"川",1*/
        0x40,0x40,0x44,0x44,0x54,0x64,0x45,0x46,0x44,0x64,0x54,0x44,0x44,0x40,0x40,0x00,0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00,/*"音",2*/
        0x00,0x00,0xE0,0x9C,0x84,0x84,0x84,0xF4,0x82,0x82,0x83,0x82,0x80,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x06,0x40,0x80,0x7F,0x00,0x00,0x02,0x04,0x08,0x30,0x00,0x00,/*"乐",3*/
        0x10,0x10,0xFF,0x10,0x90,0x82,0x56,0x3A,0x12,0x7F,0x11,0x39,0x55,0x90,0x80,0x00,0x42,0x82,0x7F,0x01,0x00,0x00,0xFF,0x49,0x49,0x7F,0x49,0x49,0xFF,0x00,0x00,0x00,/*"播",4*/
        0x08,0x08,0xF9,0x4A,0x48,0xC8,0x48,0x20,0xD8,0x17,0x10,0x10,0xF0,0x10,0x10,0x00,0x40,0x30,0x0F,0x20,0x40,0x3F,0x80,0x40,0x21,0x16,0x08,0x16,0x21,0x40,0x80,0x00,/*"放",5*/
        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 /*"器",6*/
};

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********播放状态*/
extern unsigned char Playsta16[] =
{
        0x10,0x10,0xFF,0x10,0x90,0x82,0x56,0x3A,0x12,0x7F,0x11,0x39,0x55,0x90,0x80,0x00,0x42,0x82,0x7F,0x01,0x00,0x00,0xFF,0x49,0x49,0x7F,0x49,0x49,0xFF,0x00,0x00,0x00,/*"播",0*/
        0x08,0x08,0xF9,0x4A,0x48,0xC8,0x48,0x20,0xD8,0x17,0x10,0x10,0xF0,0x10,0x10,0x00,0x40,0x30,0x0F,0x20,0x40,0x3F,0x80,0x40,0x21,0x16,0x08,0x16,0x21,0x40,0x80,0x00,/*"放",1*/
        0x00,0x08,0x30,0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x22,0x2C,0x20,0x00,0x04,0x04,0x02,0x01,0xFF,0x80,0x40,0x30,0x0E,0x01,0x06,0x18,0x20,0x40,0x80,0x00,/*"状",2*/
        0x00,0x04,0x84,0x84,0x44,0x24,0x54,0x8F,0x14,0x24,0x44,0x84,0x84,0x04,0x00,0x00,0x41,0x39,0x00,0x00,0x3C,0x40,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x09,0x31,0x00,/*"态",3*/
};

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********正在播放*/
extern unsigned char Play16[] =
{
        0x00,0x02,0x02,0xC2,0x02,0x02,0x02,0xFE,0x82,0x82,0x82,0x82,0x82,0x02,0x00,0x00,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,/*"正",0*/
        0x08,0x08,0x88,0xC8,0x38,0x0C,0x0B,0x08,0x08,0xE8,0x08,0x08,0x08,0x08,0x08,0x00,0x02,0x01,0x00,0xFF,0x40,0x41,0x41,0x41,0x41,0x7F,0x41,0x41,0x41,0x41,0x40,0x00,/*"在",1*/
        0x10,0x10,0xFF,0x10,0x90,0x82,0x56,0x3A,0x12,0x7F,0x11,0x39,0x55,0x90,0x80,0x00,0x42,0x82,0x7F,0x01,0x00,0x00,0xFF,0x49,0x49,0x7F,0x49,0x49,0xFF,0x00,0x00,0x00,/*"播",2*/
        0x08,0x08,0xF9,0x4A,0x48,0xC8,0x48,0x20,0xD8,0x17,0x10,0x10,0xF0,0x10,0x10,0x00,0x40,0x30,0x0F,0x20,0x40,0x3F,0x80,0x40,0x21,0x16,0x08,0x16,0x21,0x40,0x80,0x00 /*"放",3*/
};

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********暂停播放*/
extern unsigned char Suspend16[] =
{
        0x82,0x9A,0x96,0x93,0xFA,0x52,0x52,0x80,0x7E,0x12,0x12,0x12,0xF1,0x11,0x10,0x00,0x00,0x01,0x00,0xFE,0x93,0x92,0x93,0x92,0x92,0x92,0x92,0xFE,0x03,0x00,0x00,0x00,/*"暂",0*/
        0x80,0x60,0xF8,0x07,0x00,0x04,0x74,0x54,0x55,0x56,0x54,0x54,0x74,0x04,0x00,0x00,0x00,0x00,0xFF,0x00,0x03,0x01,0x05,0x45,0x85,0x7D,0x05,0x05,0x05,0x01,0x03,0x00,/*"停",1*/
        0x10,0x10,0xFF,0x10,0x90,0x82,0x56,0x3A,0x12,0x7F,0x11,0x39,0x55,0x90,0x80,0x00,0x42,0x82,0x7F,0x01,0x00,0x00,0xFF,0x49,0x49,0x7F,0x49,0x49,0xFF,0x00,0x00,0x00,/*"播",2*/
        0x08,0x08,0xF9,0x4A,0x48,0xC8,0x48,0x20,0xD8,0x17,0x10,0x10,0xF0,0x10,0x10,0x00,0x40,0x30,0x0F,0x20,0x40,0x3F,0x80,0x40,0x21,0x16,0x08,0x16,0x21,0x40,0x80,0x00 /*"放",3*/
};

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********两只老虎*/
extern unsigned char Two_tigers16[] =
{
        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,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,
        0x02,0xE2,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0xE2,0x02,0x00,0x00,0xFF,0x00,0x08,0x06,0x01,0x16,0x08,0x06,0x01,0x02,0x4C,0x80,0x7F,0x00,0x00,/*"两",0*/
        0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x23,0x19,0x01,0x01,0x01,0x01,0x01,0x09,0x13,0x20,0xC0,0x00,0x00,/*"只",1*/
        0x20,0x20,0x24,0x24,0x24,0x24,0xBF,0x64,0x24,0x34,0x28,0x24,0x22,0x20,0x20,0x00,0x10,0x08,0x04,0x02,0x3F,0x45,0x44,0x44,0x42,0x42,0x42,0x41,0x78,0x00,0x00,0x00,/*"老",2*/
        0x00,0x00,0xF8,0x08,0x48,0x48,0x48,0xFF,0x4A,0x2A,0x2A,0x0A,0xCA,0x18,0x00,0x00,0x80,0x60,0x1F,0x80,0x40,0x20,0x1C,0x04,0x05,0x05,0x7D,0x81,0x81,0xE0,0x00,0x00,/*"虎",3*/
        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,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
};

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********挥舞着翅膀的女孩*/
extern unsigned char girl_waving_wings16[] =
{
        0x10,0x10,0x10,0xFF,0x10,0x98,0x26,0x22,0xE2,0x3A,0xA2,0x22,0x22,0x2A,0x06,0x00,0x04,0x44,0x82,0x7F,0x01,0x10,0x10,0x13,0x12,0x12,0xFF,0x12,0x12,0x12,0x10,0x00,/*"挥",0*/
        0x00,0x94,0x92,0x93,0xFE,0x92,0xFE,0x92,0xFE,0x92,0xFE,0x92,0x92,0x92,0x00,0x00,0x80,0x88,0x44,0x57,0x24,0x14,0x0C,0x00,0x34,0x24,0x24,0xFF,0x24,0x24,0x20,0x00,/*"舞",1*/
        0x40,0x44,0x54,0x54,0x55,0xD6,0x74,0x5C,0x54,0x56,0x55,0x54,0x54,0x44,0x40,0x00,0x08,0x08,0x04,0x02,0xFF,0x55,0x55,0x55,0x55,0x55,0x55,0xFF,0x00,0x00,0x00,0x00,/*"着",2*/
        0x48,0xC8,0x48,0x7F,0x48,0xC8,0x08,0x12,0xA2,0xFE,0x00,0x12,0xA2,0xFE,0x00,0x00,0x80,0x41,0x26,0x18,0x16,0x21,0x40,0x49,0x50,0x4F,0x40,0x49,0x50,0x4F,0x40,0x00,/*"翅",3*/
        0x00,0xFE,0x22,0x22,0xFE,0x80,0x64,0x2C,0x34,0xA5,0x26,0x34,0x2C,0xA4,0x60,0x00,0x80,0x7F,0x02,0x82,0xFF,0x00,0x82,0x62,0x1E,0x0A,0x4B,0x8A,0x7A,0x02,0x00,0x00,/*"膀",4*/
        0x00,0xF8,0x0C,0x0B,0x08,0x08,0xF8,0x40,0x30,0x8F,0x08,0x08,0x08,0xF8,0x00,0x00,0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,0x43,0x80,0x40,0x3F,0x00,0x00,/*"的",5*/
        0x20,0x20,0x20,0x20,0xA0,0x70,0x2F,0x20,0x20,0x20,0xE0,0x20,0x20,0x20,0x20,0x00,0x00,0x80,0x80,0x46,0x45,0x28,0x28,0x10,0x18,0x26,0x21,0x40,0x80,0x00,0x00,0x00,/*"女",6*/
        0x02,0x02,0x02,0xF2,0x8A,0x46,0x08,0x88,0xC8,0xA8,0x99,0x8E,0x88,0x48,0x28,0x00,0x02,0x42,0x81,0x7F,0x00,0x00,0x88,0x88,0x44,0x44,0x22,0x11,0x28,0x44,0x82,0x00/*"孩",7*/
};


/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********同一首歌*/
extern unsigned char Same_song16[] =
{
        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,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,0xFE,0x02,0x12,0x92,0x92,0x92,0x92,0x92,0x92,0x12,0x02,0xFE,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x1F,0x08,0x08,0x08,0x08,0x1F,0x40,0x80,0x7F,0x00,0x00,/*"同",0*/
        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,/*"一",1*/
        0x04,0x04,0xE4,0x25,0x26,0x34,0x2C,0x24,0x24,0x24,0x26,0x25,0xE4,0x04,0x04,0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,/*"首",2*/
        0x82,0xBA,0xAA,0xAA,0xBA,0x82,0xBE,0x82,0x20,0x18,0x0F,0xC8,0x08,0x28,0x18,0x00,0x00,0x1E,0x12,0x12,0x5E,0x80,0x7F,0x00,0x80,0x60,0x1C,0x03,0x1C,0x60,0x80,0x00,/*"歌",3*/
        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,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

};

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********两只蝴蝶*/
extern unsigned char Two_butterflies16[] =
{
        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,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,
        0x02,0xE2,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0xE2,0x02,0x00,0x00,0xFF,0x00,0x08,0x06,0x01,0x16,0x08,0x06,0x01,0x02,0x4C,0x80,0x7F,0x00,0x00,/*"两",0*/
        0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x23,0x19,0x01,0x01,0x01,0x01,0x01,0x09,0x13,0x20,0xC0,0x00,0x00,/*"只",1*/
        0xF8,0x08,0xFF,0x08,0xF8,0x00,0x88,0xFF,0x88,0x00,0xFE,0x22,0x22,0xFE,0x00,0x00,0x23,0x61,0x3F,0x11,0x39,0x00,0x1F,0x10,0x9F,0x60,0x1F,0x42,0x82,0x7F,0x00,0x00,/*"蝴",2*/
        0xF8,0x08,0xFF,0x08,0xF8,0x00,0x08,0xFE,0x08,0x7F,0x48,0x48,0x7F,0x08,0x08,0x00,0x23,0x61,0x3F,0x11,0x39,0x40,0x44,0x25,0x15,0x0D,0xFF,0x0D,0x15,0x25,0x45,0x00,/*"蝶",3*/
        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,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

};

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********当前没有播放歌曲*/
extern unsigned char no_song16[] =
{
0x00,0x40,0x42,0x44,0x58,0x40,0x40,0x7F,0x40,0x40,0x50,0x48,0xC6,0x00,0x00,0x00,0x00,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00,/*"当",0*/
0x08,0x08,0xE8,0x29,0x2E,0x28,0xE8,0x08,0x08,0xC8,0x0C,0x0B,0xE8,0x08,0x08,0x00,0x00,0x00,0xFF,0x09,0x49,0x89,0x7F,0x00,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,0x00,/*"前",1*/
0x10,0x60,0x02,0xCC,0x80,0x40,0x20,0x1E,0x02,0x02,0x02,0x3E,0x40,0x40,0x40,0x00,0x04,0x04,0x7E,0x01,0x80,0x80,0x83,0x4D,0x51,0x21,0x51,0x49,0x87,0x80,0x80,0x00,/*"没",2*/
0x04,0x04,0x04,0x84,0xE4,0x3C,0x27,0x24,0x24,0x24,0x24,0xE4,0x04,0x04,0x04,0x00,0x04,0x02,0x01,0x00,0xFF,0x09,0x09,0x09,0x09,0x49,0x89,0x7F,0x00,0x00,0x00,0x00,/*"有",3*/
0x10,0x10,0xFF,0x10,0x90,0x82,0x56,0x3A,0x12,0x7F,0x11,0x39,0x55,0x90,0x80,0x00,0x42,0x82,0x7F,0x01,0x00,0x00,0xFF,0x49,0x49,0x7F,0x49,0x49,0xFF,0x00,0x00,0x00,/*"播",4*/
0x08,0x08,0xF9,0x4A,0x48,0xC8,0x48,0x20,0xD8,0x17,0x10,0x10,0xF0,0x10,0x10,0x00,0x40,0x30,0x0F,0x20,0x40,0x3F,0x80,0x40,0x21,0x16,0x08,0x16,0x21,0x40,0x80,0x00,/*"放",5*/
0x82,0xBA,0xAA,0xAA,0xBA,0x82,0xBE,0x82,0x20,0x18,0x0F,0xC8,0x08,0x28,0x18,0x00,0x00,0x1E,0x12,0x12,0x5E,0x80,0x7F,0x00,0x80,0x60,0x1C,0x03,0x1C,0x60,0x80,0x00,/*"歌",6*/
0x00,0xF0,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0xF0,0x00,0x00,0x00,0xFF,0x42,0x42,0x42,0x7F,0x42,0x42,0x42,0x7F,0x42,0x42,0x42,0xFF,0x00,0x00/*"曲",7*/
};

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********进:  % 音:  % */
extern unsigned char Progress_volume[] =
{
        0x40,0x40,0x42,0xCC,0x00,0x80,0x88,0x88,0xFF,0x88,0x88,0xFF,0x88,0x88,0x80,0x00,0x00,0x40,0x20,0x1F,0x20,0x40,0x50,0x4C,0x43,0x40,0x40,0x5F,0x40,0x40,0x40,0x00,/*"进",0*/
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",1*/
        0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/*"00",2*/
        0xF0,0x08,0xF0,0x80,0x60,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x0C,0x03,0x1E,0x21,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"%0",3*/
        0x40,0x40,0x44,0x44,0x54,0x64,0x45,0x46,0x44,0x64,0x54,0x44,0x44,0x40,0x40,0x00,0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0x00,/*"音",4*/
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",5*/
        0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,/*"00",6*/
        0xF0,0x08,0xF0,0x80,0x60,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x0C,0x03,0x1E,0x21,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00/*"%0",7*/
};
/************************************6*8的点阵************************************/
const unsigned char F6x8[][6] =
{
        {0x00, 0x00, 0x00, 0x00, 0x00, 0x00},// sp
        {0x00, 0x00, 0x00, 0x2f, 0x00, 0x00},// !
        {0x00, 0x00, 0x07, 0x00, 0x07, 0x00},// "
        {0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14},// #
        {0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12},// $
        {0x00, 0x62, 0x64, 0x08, 0x13, 0x23},// %
        {0x00, 0x36, 0x49, 0x55, 0x22, 0x50},// &
        {0x00, 0x00, 0x05, 0x03, 0x00, 0x00},// '
        {0x00, 0x00, 0x1c, 0x22, 0x41, 0x00},// (
        {0x00, 0x00, 0x41, 0x22, 0x1c, 0x00},// )
        {0x00, 0x14, 0x08, 0x3E, 0x08, 0x14},// *
        {0x00, 0x08, 0x08, 0x3E, 0x08, 0x08},// +
        {0x00, 0x00, 0x00, 0xA0, 0x60, 0x00},// ,
        {0x00, 0x08, 0x08, 0x08, 0x08, 0x08},// -
        {0x00, 0x00, 0x60, 0x60, 0x00, 0x00},// .
        {0x00, 0x20, 0x10, 0x08, 0x04, 0x02},// /
        {0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E},// 0
        {0x00, 0x00, 0x42, 0x7F, 0x40, 0x00},// 1
        {0x00, 0x42, 0x61, 0x51, 0x49, 0x46},// 2
        {0x00, 0x21, 0x41, 0x45, 0x4B, 0x31},// 3
        {0x00, 0x18, 0x14, 0x12, 0x7F, 0x10},// 4
        {0x00, 0x27, 0x45, 0x45, 0x45, 0x39},// 5
        {0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30},// 6
        {0x00, 0x01, 0x71, 0x09, 0x05, 0x03},// 7
        {0x00, 0x36, 0x49, 0x49, 0x49, 0x36},// 8
        {0x00, 0x06, 0x49, 0x49, 0x29, 0x1E},// 9
        {0x00, 0x00, 0x36, 0x36, 0x00, 0x00},// :
        {0x00, 0x00, 0x56, 0x36, 0x00, 0x00},// ;
        {0x00, 0x08, 0x14, 0x22, 0x41, 0x00},// <
        {0x00, 0x14, 0x14, 0x14, 0x14, 0x14},// =
        {0x00, 0x00, 0x41, 0x22, 0x14, 0x08},// >
        {0x00, 0x02, 0x01, 0x51, 0x09, 0x06},// ?
        {0x00, 0x32, 0x49, 0x59, 0x51, 0x3E},// @
        {0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C},// A
        {0x00, 0x7F, 0x49, 0x49, 0x49, 0x36},// B
        {0x00, 0x3E, 0x41, 0x41, 0x41, 0x22},// C
        {0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C},// D
        {0x00, 0x7F, 0x49, 0x49, 0x49, 0x41},// E
        {0x00, 0x7F, 0x09, 0x09, 0x09, 0x01},// F
        {0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A},// G
        {0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F},// H
        {0x00, 0x00, 0x41, 0x7F, 0x41, 0x00},// I
        {0x00, 0x20, 0x40, 0x41, 0x3F, 0x01},// J
        {0x00, 0x7F, 0x08, 0x14, 0x22, 0x41},// K
        {0x00, 0x7F, 0x40, 0x40, 0x40, 0x40},// L
        {0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F},// M
        {0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F},// N
        {0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E},// O
        {0x00, 0x7F, 0x09, 0x09, 0x09, 0x06},// P
        {0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E},// Q
        {0x00, 0x7F, 0x09, 0x19, 0x29, 0x46},// R
        {0x00, 0x46, 0x49, 0x49, 0x49, 0x31},// S
        {0x00, 0x01, 0x01, 0x7F, 0x01, 0x01},// T
        {0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F},// U
        {0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F},// V
        {0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F},// W
        {0x00, 0x63, 0x14, 0x08, 0x14, 0x63},// X
        {0x00, 0x07, 0x08, 0x70, 0x08, 0x07},// Y
        {0x00, 0x61, 0x51, 0x49, 0x45, 0x43},// Z
        {0x00, 0x00, 0x7F, 0x41, 0x41, 0x00},// [
        {0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55},// 55
        {0x00, 0x00, 0x41, 0x41, 0x7F, 0x00},// ]
        {0x00, 0x04, 0x02, 0x01, 0x02, 0x04},// ^
        {0x00, 0x40, 0x40, 0x40, 0x40, 0x40},// _
        {0x00, 0x00, 0x01, 0x02, 0x04, 0x00},// '
        {0x00, 0x20, 0x54, 0x54, 0x54, 0x78},// a
        {0x00, 0x7F, 0x48, 0x44, 0x44, 0x38},// b
        {0x00, 0x38, 0x44, 0x44, 0x44, 0x20},// c
        {0x00, 0x38, 0x44, 0x44, 0x48, 0x7F},// d
        {0x00, 0x38, 0x54, 0x54, 0x54, 0x18},// e
        {0x00, 0x08, 0x7E, 0x09, 0x01, 0x02},// f
        {0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C},// g
        {0x00, 0x7F, 0x08, 0x04, 0x04, 0x78},// h
        {0x00, 0x00, 0x44, 0x7D, 0x40, 0x00},// i
        {0x00, 0x40, 0x80, 0x84, 0x7D, 0x00},// j
        {0x00, 0x7F, 0x10, 0x28, 0x44, 0x00},// k
        {0x00, 0x00, 0x41, 0x7F, 0x40, 0x00},// l
        {0x00, 0x7C, 0x04, 0x18, 0x04, 0x78},// m
        {0x00, 0x7C, 0x08, 0x04, 0x04, 0x78},// n
        {0x00, 0x38, 0x44, 0x44, 0x44, 0x38},// o
        {0x00, 0xFC, 0x24, 0x24, 0x24, 0x18},// p
        {0x00, 0x18, 0x24, 0x24, 0x18, 0xFC},// q
        {0x00, 0x7C, 0x08, 0x04, 0x04, 0x08},// r
        {0x00, 0x48, 0x54, 0x54, 0x54, 0x20},// s
        {0x00, 0x04, 0x3F, 0x44, 0x40, 0x20},// t
        {0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C},// u
        {0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C},// v
        {0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C},// w
        {0x00, 0x44, 0x28, 0x10, 0x28, 0x44},// x
        {0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C},// y
        {0x00, 0x44, 0x64, 0x54, 0x4C, 0x44},// z
        {0x14, 0x14, 0x14, 0x14, 0x14, 0x14}// horiz lines
};

/************************************6*12的点阵************************************/
const unsigned char F6X12[]=
{
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/
        0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,/*"!",1*/
        0x00,0x0C,0x02,0x0C,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*""",2*/
        0x90,0xD0,0xBC,0xD0,0xBC,0x90,0x00,0x03,0x00,0x03,0x00,0x00,/*"#",3*/
        0x18,0x24,0xFE,0x44,0x8C,0x00,0x03,0x02,0x07,0x02,0x01,0x00,/*"$",4*/
        0x18,0x24,0xD8,0xB0,0x4C,0x80,0x00,0x03,0x00,0x01,0x02,0x01,/*"%",5*/
        0xC0,0x38,0xE4,0x38,0xE0,0x00,0x01,0x02,0x02,0x01,0x02,0x02,/*"&",6*/
        0x08,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"'",7*/
        0x00,0x00,0x00,0xF8,0x04,0x02,0x00,0x00,0x00,0x01,0x02,0x04,/*"(",8*/
        0x00,0x02,0x04,0xF8,0x00,0x00,0x00,0x04,0x02,0x01,0x00,0x00,/*")",9*/
        0x90,0x60,0xF8,0x60,0x90,0x00,0x00,0x00,0x01,0x00,0x00,0x00,/*"*",10*/
        0x20,0x20,0xFC,0x20,0x20,0x00,0x00,0x00,0x01,0x00,0x00,0x00,/*"+",11*/
        0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x06,0x00,0x00,0x00,0x00,/*",",12*/
        0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"-",13*/
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,/*".",14*/
        0x00,0x80,0x60,0x1C,0x02,0x00,0x04,0x03,0x00,0x00,0x00,0x00,/*"/",15*/
        0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*"0",16*/
        0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00,/*"1",17*/
        0x18,0x84,0x44,0x24,0x18,0x00,0x03,0x02,0x02,0x02,0x02,0x00,/*"2",18*/
        0x08,0x04,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*"3",19*/
        0x40,0xB0,0x88,0xFC,0x80,0x00,0x00,0x00,0x00,0x03,0x02,0x00,/*"4",20*/
        0x3C,0x24,0x24,0x24,0xC4,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*"5",21*/
        0xF8,0x24,0x24,0x2C,0xC0,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*"6",22*/
        0x0C,0x04,0xE4,0x1C,0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00,/*"7",23*/
        0xD8,0x24,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*"8",24*/
        0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x03,0x02,0x02,0x01,0x00,/*"9",25*/
        0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,/*":",26*/
        0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,/*";",27*/
        0x00,0x20,0x50,0x88,0x04,0x02,0x00,0x00,0x00,0x00,0x01,0x02,/*"<",28*/
        0x90,0x90,0x90,0x90,0x90,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"=",29*/
        0x00,0x02,0x04,0x88,0x50,0x20,0x00,0x02,0x01,0x00,0x00,0x00,/*">",30*/
        0x18,0x04,0xC4,0x24,0x18,0x00,0x00,0x00,0x02,0x00,0x00,0x00,/*"?",31*/
        0xF8,0x04,0xE4,0x94,0xF8,0x00,0x01,0x02,0x02,0x02,0x02,0x00,/*"@",32*/
        0x00,0xE0,0x9C,0xF0,0x80,0x00,0x02,0x03,0x00,0x00,0x03,0x02,/*"A",33*/
        0x04,0xFC,0x24,0x24,0xD8,0x00,0x02,0x03,0x02,0x02,0x01,0x00,/*"B",34*/
        0xF8,0x04,0x04,0x04,0x0C,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*"C",35*/
        0x04,0xFC,0x04,0x04,0xF8,0x00,0x02,0x03,0x02,0x02,0x01,0x00,/*"D",36*/
        0x04,0xFC,0x24,0x74,0x0C,0x00,0x02,0x03,0x02,0x02,0x03,0x00,/*"E",37*/
        0x04,0xFC,0x24,0x74,0x0C,0x00,0x02,0x03,0x02,0x00,0x00,0x00,/*"F",38*/
        0xF0,0x08,0x04,0x44,0xCC,0x40,0x00,0x01,0x02,0x02,0x01,0x00,/*"G",39*/
        0x04,0xFC,0x20,0x20,0xFC,0x04,0x02,0x03,0x00,0x00,0x03,0x02,/*"H",40*/
        0x04,0x04,0xFC,0x04,0x04,0x00,0x02,0x02,0x03,0x02,0x02,0x00,/*"I",41*/
        0x00,0x04,0x04,0xFC,0x04,0x04,0x06,0x04,0x04,0x03,0x00,0x00,/*"J",42*/
        0x04,0xFC,0x24,0xD0,0x0C,0x04,0x02,0x03,0x02,0x00,0x03,0x02,/*"K",43*/
        0x04,0xFC,0x04,0x00,0x00,0x00,0x02,0x03,0x02,0x02,0x02,0x03,/*"L",44*/
        0xFC,0x3C,0xC0,0x3C,0xFC,0x00,0x03,0x00,0x03,0x00,0x03,0x00,/*"M",45*/
        0x04,0xFC,0x30,0xC4,0xFC,0x04,0x02,0x03,0x02,0x00,0x03,0x00,/*"N",46*/
        0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*"O",47*/
        0x04,0xFC,0x24,0x24,0x18,0x00,0x02,0x03,0x02,0x00,0x00,0x00,/*"P",48*/
        0xF8,0x84,0x84,0x04,0xF8,0x00,0x01,0x02,0x02,0x07,0x05,0x00,/*"Q",49*/
        0x04,0xFC,0x24,0x64,0x98,0x00,0x02,0x03,0x02,0x00,0x03,0x02,/*"R",50*/
        0x18,0x24,0x24,0x44,0x8C,0x00,0x03,0x02,0x02,0x02,0x01,0x00,/*"S",51*/
        0x0C,0x04,0xFC,0x04,0x0C,0x00,0x00,0x02,0x03,0x02,0x00,0x00,/*"T",52*/
        0x04,0xFC,0x00,0x00,0xFC,0x04,0x00,0x01,0x02,0x02,0x01,0x00,/*"U",53*/
        0x04,0x7C,0x80,0xE0,0x1C,0x04,0x00,0x00,0x03,0x00,0x00,0x00,/*"V",54*/
        0x1C,0xE0,0x3C,0xE0,0x1C,0x00,0x00,0x03,0x00,0x03,0x00,0x00,/*"W",55*/
        0x04,0x9C,0x60,0x9C,0x04,0x00,0x02,0x03,0x00,0x03,0x02,0x00,/*"X",56*/
        0x04,0x1C,0xE0,0x1C,0x04,0x00,0x00,0x02,0x03,0x02,0x00,0x00,/*"Y",57*/
        0x0C,0x84,0x64,0x1C,0x04,0x00,0x02,0x03,0x02,0x02,0x03,0x00,/*"Z",58*/
        0x00,0x00,0xFE,0x02,0x02,0x00,0x00,0x00,0x07,0x04,0x04,0x00,/*"[",59*/
        0x00,0x0E,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x00,/*"\",60*/
        0x00,0x02,0x02,0xFE,0x00,0x00,0x00,0x04,0x04,0x07,0x00,0x00,/*"]",61*/
        0x00,0x04,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"^",62*/
        0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x08,0x08,0x08,0x08,0x08,/*"_",63*/
        0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"`",64*/
        0x00,0x40,0xA0,0xA0,0xC0,0x00,0x00,0x01,0x02,0x02,0x03,0x02,/*"a",65*/
        0x04,0xFC,0x20,0x20,0xC0,0x00,0x00,0x03,0x02,0x02,0x01,0x00,/*"b",66*/
        0x00,0xC0,0x20,0x20,0x60,0x00,0x00,0x01,0x02,0x02,0x02,0x00,/*"c",67*/
        0x00,0xC0,0x20,0x24,0xFC,0x00,0x00,0x01,0x02,0x02,0x03,0x02,/*"d",68*/
        0x00,0xC0,0xA0,0xA0,0xC0,0x00,0x00,0x01,0x02,0x02,0x02,0x00,/*"e",69*/
        0x00,0x20,0xF8,0x24,0x24,0x04,0x00,0x02,0x03,0x02,0x02,0x00,/*"f",70*/
        0x00,0x40,0xA0,0xA0,0x60,0x20,0x00,0x07,0x0A,0x0A,0x0A,0x04,/*"g",71*/
        0x04,0xFC,0x20,0x20,0xC0,0x00,0x02,0x03,0x02,0x00,0x03,0x02,/*"h",72*/
        0x00,0x20,0xE4,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00,/*"i",73*/
        0x00,0x00,0x20,0xE4,0x00,0x00,0x08,0x08,0x08,0x07,0x00,0x00,/*"j",74*/
        0x04,0xFC,0x80,0xE0,0x20,0x20,0x02,0x03,0x02,0x00,0x03,0x02,/*"k",75*/
        0x04,0x04,0xFC,0x00,0x00,0x00,0x02,0x02,0x03,0x02,0x02,0x00,/*"l",76*/
        0xE0,0x20,0xE0,0x20,0xC0,0x00,0x03,0x00,0x03,0x00,0x03,0x00,/*"m",77*/
        0x20,0xE0,0x20,0x20,0xC0,0x00,0x02,0x03,0x02,0x00,0x03,0x02,/*"n",78*/
        0x00,0xC0,0x20,0x20,0xC0,0x00,0x00,0x01,0x02,0x02,0x01,0x00,/*"o",79*/
        0x20,0xE0,0x20,0x20,0xC0,0x00,0x08,0x0F,0x0A,0x02,0x01,0x00,/*"p",80*/
        0x00,0xC0,0x20,0x20,0xE0,0x00,0x00,0x01,0x02,0x0A,0x0F,0x08,/*"q",81*/
        0x20,0xE0,0x40,0x20,0x20,0x00,0x02,0x03,0x02,0x00,0x00,0x00,/*"r",82*/
        0x00,0x60,0xA0,0xA0,0x20,0x00,0x00,0x02,0x02,0x02,0x03,0x00,/*"s",83*/
        0x00,0x20,0xF8,0x20,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x00,/*"t",84*/
        0x20,0xE0,0x00,0x20,0xE0,0x00,0x00,0x01,0x02,0x02,0x03,0x02,/*"u",85*/
        0x20,0xE0,0x20,0x80,0x60,0x20,0x00,0x00,0x03,0x01,0x00,0x00,/*"v",86*/
        0x60,0x80,0xE0,0x80,0x60,0x00,0x00,0x03,0x00,0x03,0x00,0x00,/*"w",87*/
        0x20,0x60,0x80,0x60,0x20,0x00,0x02,0x03,0x00,0x03,0x02,0x00,/*"x",88*/
        0x20,0xE0,0x20,0x80,0x60,0x20,0x08,0x08,0x07,0x01,0x00,0x00,/*"y",89*/
        0x00,0x20,0xA0,0x60,0x20,0x00,0x00,0x02,0x03,0x02,0x02,0x00,/*"z",90*/
        0x00,0x00,0x20,0xDE,0x02,0x00,0x00,0x00,0x00,0x07,0x04,0x00,/*"{",91*/
        0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x0F,0x00,0x00,/*"|",92*/
        0x00,0x02,0xDE,0x20,0x00,0x00,0x00,0x04,0x07,0x00,0x00,0x00,/*"}",93*/
        0x02,0x01,0x02,0x04,0x04,0x02,0x00,0x00,0x00,0x00,0x00,0x00/*"~",94*/
};

/************************************8*16的点阵************************************/
const unsigned char F8X16[]=
{
  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,0x30,0x00,0x00,0x00,//! 1
  0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" 2
  0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 3
  0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 4
  0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 5
  0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//& 6
  0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//' 7
  0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 8
  0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 9
  0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 10
  0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+ 11
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 12
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 13
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 14
  0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 15
  0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 16
  0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 17
  0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 18
  0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 19
  0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 20
  0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 21
  0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 22
  0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 23
  0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 24
  0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 25
  0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 26
  0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 27
  0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//< 28
  0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//= 29
  0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//> 30
  0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 31
  0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@ 32
  0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 33
  0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 34
  0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 35
  0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 36
  0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 37
  0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 38
  0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 39
  0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 40
  0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 41
  0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 42
  0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 43
  0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 44
  0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 45
  0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 46
  0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 47
  0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 48
  0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 49
  0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 50
  0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 51
  0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 52
  0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 53
  0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 54
  0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 55
  0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 56
  0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 57
  0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 58
  0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 59
  0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 60
  0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 61
  0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 62
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 63
  0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//` 64
  0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 65
  0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 66
  0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 67
  0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 68
  0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 69
  0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 70
  0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 71
  0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 72
  0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 73
  0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 74
  0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 75
  0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 76
  0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 77
  0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 78
  0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 79
  0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 80
  0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 81
  0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 82
  0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 83
  0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 84
  0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 85
  0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 86
  0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 87
  0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 88
  0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 89
  0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 90
  0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 91
  0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 92
  0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 93
  0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00//~ 94
};




unsigned char pic1[] = {
    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,0xE0,0xC0,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0xFE,0x1F,0x1F,0xFE,0xF0,0x80,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF0,0xFC,0x1F,0x07,0x00,0x00,0x00,0x00,0x07,0x3F,0xFC,0xE0,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,0x02,0x02,0x06,0x0E,0x0E,0x1E,0x3E,0x7E,0x6E,0xCE,0xCE,0x8E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0F,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x0F,0x0F,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x0E,0x8E,0xCE,0xEE,0x6E,0x7E,0x3E,0x1E,0x0E,0x0E,0x06,0x02,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x06,0x0E,0x1C,0x18,0xF0,0xF0,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xF0,0xF8,0x1C,0x1C,0x0E,0x07,0x03,0x03,0x01,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,0xC0,0xF8,0x7F,0x0F,0x01,0x00,0x00,0x00,0x80,0x80,0xC0,0xE0,0x70,0x30,0x38,0x38,0x70,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x03,0x1F,0xFE,0xF0,0x80,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,0xE0,0xFC,0xFF,0x63,0x30,0x38,0x1C,0x0C,0x06,0x07,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x07,0x0E,0x1C,0x18,0x38,0x70,0x67,0xFF,0xFC,0xE0,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,0x04,0x03,0x01,0x01,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,0x01,0x03,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
    /*"鈽�",0*/

};

fontpic.h文件

/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2022-04-18     Lake_ZHC       the first version
 */

#ifndef FONTPIC_H
#define FONTPIC_H



typedef struct
{
    char index[2];    //汉字索引
    char matrix[32];  //汉字字模
}GB_1616_TYPE;



typedef struct
{
    char index[2];    //汉字索引
    char matrix[24];  //汉字字模
}GB_1212_TYPE;



//ASCII字符集: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~



/**
  ******************************************************************************
  * @attention  *
    *
    * 1. 128*64点整OLED模块功能演示程序的字表;
    * 2. 字表由打包资料中的“取字软件”计算得出;
    * 3. 取字方式 -- 共阴、列行式、逆向输出
    *
  *
  ******************************************************************************
  */

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********忘川音乐播放器*/
extern unsigned char AppName16[] ;

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********播放状态*/
extern unsigned char Playsta16[];

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********正在播放*/
extern unsigned char Play16[] ;

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********暂停播放*/
extern unsigned char Suspend16[] ;

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********两只老虎*/
extern unsigned char Two_tigers16[];

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********挥舞着翅膀的女孩*/
extern unsigned char girl_waving_wings16[] ;


/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********同一首歌*/
extern unsigned char Same_song16[] ;

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********两只蝴蝶*/
extern unsigned char Two_butterflies16[] ;

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********当前没有播放歌曲*/
extern unsigned char no_song16[];

/***************************16*16的点阵字体取模方式:共阴——列行式——逆向输出********进:  % 音:  % */
extern unsigned char Progress_volume[];

/************************************6*8的点阵************************************/
extern const unsigned char F6x8[][6] ;

/************************************6*12的点阵************************************/
extern const unsigned char F6X12[];

/************************************8*16的点阵************************************/
extern const unsigned char F8X16[];



extern unsigned char pic1[];



#endif
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值