#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire);
#define charw 16
#define charh 16
static const unsigned char PROGMEM zhe[]={0x02,0x08,0x42,0x1C,0x22,0x60,0x22,
0x40,0x0F,0xC0,0x82,0x40,0x42,0x7E,0x52,0xC8,0x13,0x48,0x2E,0x48,0xE2,0x48,0x22,0x48,0x22,0x48,0x22,0x48,0x2A,0x88,0x05,0x08};
static const unsigned char PROGMEM da[]={0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x01,0x00,
0x02,0x80,0x02,0x80,0x04,0x40,0x04,0x40,0x08,0x20,0x10,0x10,0x20,0x08,0xC0,0x06,};
static const unsigned char PROGMEM ning[]={0x02,0x00,0x01,0x00,0x01,0x00,0x7F,0xFE,0x40,0x02,0x80,0x04,0x00,0x00,0x3F,0xF8,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,
};
static const unsigned char PROGMEM bo[]={0x00,0x20,0x20,0x20,0x10,0x20,0x13,0xFE,0x82,0x22,0x42,0x24,0x4A,0x20,0x0B,0xFC,
0x12,0x84,0x12,0x88,0xE2,0x48,0x22,0x50,0x22,0x20,0x24,0x50,0x24,0x88,0x09,0x06,
};
static const unsigned char PROGMEM li[]={0x00,0x00,0x01,0xFC,0xFD,0x24,0x11,0x24,0x11,0xFC,0x11,0x24,0x11,0x24,0x7D,0xFC,
0x10,0x20,0x10,0x20,0x11,0xFC,0x10,0x20,0x1C,0x20,0xE0,0x20,0x43,0xFE,0x00,0x00,
};
static const unsigned char PROGMEM gong[]={0x00,0x00,0x00,0x00,0x7F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,
};
static const unsigned char PROGMEM xue[]={0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,0x7F,0xFE,0x40,0x02,0x80,0x04,0x1F,0xE0,
0x00,0x40,0x01,0x80,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,
};
static const unsigned char PROGMEM yuan[]={0x00,0x40,0x78,0x20,0x4B,0xFE,0x52,0x02,0x54,0x04,0x61,0xF8,0x50,0x00,0x48,0x00,
0x4B,0xFE,0x48,0x90,0x68,0x90,0x50,0x90,0x41,0x12,0x41,0x12,0x42,0x0E,0x44,0x00,
};
static const unsigned char PROGMEM jiang[]={0x08,0x20,0x08,0x20,0xFF,0xFE,0x08,0x20,0x00,0x80,0x08,0xF8,0x49,0x10,0x2A,0xA0,
0x28,0x50,0x08,0x90,0x1B,0xFE,0x29,0x10,0x48,0x90,0x88,0x90,0x08,0x10,0x08,0x30,};
static const unsigned char PROGMEM jie[]={0x01,0x00,0x01,0x00,0x01,0x00,0x7F,0xFC,0x03,0x80,0x05,0x40,0x09,0x20,0x11,0x10,
0x21,0x08,0xC1,0x06,0x01,0x00,0x00,0x00,0x24,0x88,0x22,0x44,0x42,0x44,0x80,0x04,
};
static const unsigned char PROGMEM peng[]={0x00,0x10,0x77,0x20,0x55,0x7C,0x55,0x44,0x55,0x64,0x77,0x54,0x55,0x44,0x55,0x4C,
0x55,0x40,0x77,0x7E,0x55,0x02,0x55,0x02,0x55,0x7A,0xB5,0x02,0x89,0x0A,0x13,0x04,
};
static const unsigned char PROGMEM shu[]={0x08,0x20,0x49,0x20,0x2A,0x20,0x08,0x3E,0xFF,0x44,0x2A,0x44,0x49,0x44,0x88,0xA4,
0x10,0x28,0xFE,0x28,0x22,0x10,0x42,0x10,0x64,0x28,0x18,0x28,0x34,0x44,0xC2,0x82,
};
static const unsigned char PROGMEM ju[]={0x20,0x00,0x23,0xFC,0x22,0x04,0x22,0x04,0xFB,0xFC,0x22,0x20,0x22,0x20,0x2B,0xFE,
0x32,0x20,0xE2,0x20,0x22,0xFC,0x22,0x84,0x22,0x84,0x24,0x84,0xA4,0xFC,0x48,0x84,
};
static const unsigned char PROGMEM j[]={0x00,0x40,0x20,0x40,0x10,0x40,0x10,0x40,0x00,0x40,0x00,0x40,0xF7,0xFE,0x10,0x40,
0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x14,0x40,0x18,0x40,0x10,0x40,0x00,0x40,
};
static const unsigned char PROGMEM suan[]={0x20,0x40,0x3E,0x7E,0x48,0x90,0x80,0x00,0x3F,0xF8,0x20,0x08,0x3F,0xF8,0x20,0x08,
0x3F,0xF8,0x20,0x08,0x3F,0xF8,0x08,0x20,0xFF,0xFE,0x08,0x20,0x10,0x20,0x20,0x20,
};
static const unsigned char PROGMEM ji[]={0x10,0x00,0x11,0xF0,0x11,0x10,0x11,0x10,0xFD,0x10,0x11,0x10,0x31,0x10,0x39,0x10,
0x55,0x10,0x55,0x10,0x91,0x10,0x11,0x12,0x11,0x12,0x12,0x12,0x12,0x0E,0x14,0x00,
};
static const unsigned char *hanzi[]={zhe,da,ning,bo,li,gong,xue,yuan};
static const unsigned char *mingzi[]={jiang,jie,peng};
static const unsigned char *xueyuan[]={shu,ju,xue,yuan};
static const unsigned char *banji[]={j,suan,ji};
void setup() {
// put your setup code here, to run once:
display.begin(SSD1306_SWITCHCAPVCC,0x3C);
delay(10);
}
void loop() {
// put your main code here, to run repeatedly:
int i;
display.clearDisplay();
for(int i=0;i<=7;i++)
display.drawBitmap(i*16,24,hanzi[i],charw,charh,WHITE);
//从24行,0列开始,输出内容为 浙大宁波理工学院,每个字大小为16*16,颜色为白色
display.display();
delay(2000);
display.clearDisplay(); //清理缓存
display.clearDisplay();
for(int i=0;i<=2;i++)
display.drawBitmap(i*16,24,mingzi[i],charw,charh,WHITE);
//从24行,0列开始,输出内容为 浙大宁波理工学院,每个字大小为16*16,颜色为白色
display.display();
delay(2000);
display.clearDisplay(); //清理缓存
display.clearDisplay();
for(int i=0;i<=3;i++)
display.drawBitmap(i*16,24,xueyuan[i],charw,charh,WHITE);
//从24行,0列开始,输出内容为 浙大宁波理工学院,每个字大小为16*16,颜色为白色
display.display();
delay(2000);
display.clearDisplay(); //清理缓存
display.clearDisplay();
for(int i=0;i<=2;i++)
display.drawBitmap(i*16,24,banji[i],charw,charh,WHITE);
//从24行,0列开始,输出内容为 浙大宁波理工学院,每个字大小为16*16,颜色为白色
display.display();
display.display();
delay(2000);
display.clearDisplay(); //清理缓存
}