oled.h
#ifndef __oled_H__ #define __oled_H__ #include "sys.h" #define OLED_DC_PORT PTA #define OLED_SDA_PORT PTA #define OLED_SCL_PORT PTA #define OLED_RST_PORT PTA #define OLED_DC_PIN 12 #define OLED_SDA_PIN 16 #define OLED_SCL_PIN 15 #define OLED_RST_PIN 13 #define OLED_DC PAout(OLED_DC_PIN) #define OLED_SDA PAout(OLED_SDA_PIN) #define OLED_SCL PAout(OLED_SCL_PIN) #define OLED_RST PAout(OLED_RST_PIN) #define XLevelL 0x00 #define XLevelH 0x10 #define XLevel ((XLevelH&0x0F)*16+XLevelL) #define Max_Column 128 #define Max_Row 64 #define Brightness 0xCF #define X_WIDTH 128 #define Y_WIDTH 64 //本构件实现的接口函数 void OLED_WRCMD(u8 com); void OLED_WRDATA(u8 dat); void OLED_Setxy(u8 x, u8 y); //OLED 设置坐标 void OLED_Fill(u8 bmp_dat); //bmp_dat=0x00全屏灭,bmp_dat=0xff全屏亮 void OLED_Init(void); //OLED初始化 void OLED_6x8(u8 x,u8 y,u8 ch[]);//显示6*8一组标准ASCII字符串 显示的坐标(x,y),y为页范围0~7 void OLED_Cler_6x8(u8 x,u8 y,u8 n);//清除N个6*8字符 void OLED_8x16(u8 x,u8 y,u8 ch[]);//显示8*16一组标准ASCII字符串 显示的坐标(x,y),y为页范围0~7 void OLED_Cler_8x16(u8 x,u8 y,u8 n); //清除n个8*16字符 void OLED_16x16(u8 x,u8 y,u8 N);//显示16*16点阵 显示的坐标(x,y),y为页范围0~7 void OLED_Cler_16x16(u8 x,u8 y,u8 n);//清除n个16*16字 void Draw_BMP(u8 x0,u8 y0,u8 x1,u8 y1,u8 BMP[]);//显示显示BMP图片128×64起始点坐标(x,y),x的范围0~127,y为页的范围0~7* void OLED_Refresh_Gram(void); void OLED_DRAWPoint(u8 x,u8 y,u8 t); #endif
#include "oled.h" #include "delay.h" #include "gpio.h" #include "6x8.h" #include "8x16.h" #include "16x16.h" unsigned char OLED_GRAM[128][8]; void OLED_WRCMD(u8 cmd) { u8 i=0; OLED_DC=0; for(i=0;i<8;i++) { OLED_SCL=0; if(cmd&0x80) OLED_SDA=1; else OLED_SDA=0; OLED_SCL=1; cmd<<=1; } } void OLED_WRDATA(u8 dat) // 实现写入一字节数据 { u8 i=0; OLED_DC=1; for(i=0;i<8;i++) { OLED_SCL=0; if(dat&0x80) OLED_SDA=1; else OLED_SDA=0; OLED_SCL=1; dat<<=1; } } void OLED_Setxy(u8 x, u8 y) //OLED 设置坐标 { OLED_WRCMD(0xb0+y); OLED_WRCMD(((x&0xf0)>>4)|0x10); OLED_WRCMD((x&0x0f)|0x01); } void OLED_Fill(u8 bmp_dat) //bmp_dat=0x00全屏灭,bmp_dat=0xff全屏亮 { u8 y,x; for(y=0;y<8;y++) { OLED_WRCMD(0xb0+y); OLED_WRCMD(0x01); OLED_WRCMD(0x10); for(x=0;x<X_WIDTH;x++) OLED_WRDATA(bmp_dat); } } void OLED_Init(void) //OLED初始化 { SIM->SCGC5|=SIM_SCGC5_PORTA_MASK;//使能PA时钟 GPIO_Init(OLED_SCL_PORT,OLED_SCL_PIN,1,1); GPIO_Init(OLED_DC_PORT,OLED_DC_PIN,1,1);//初始化DC口 GPIO_Init(OLED_RST_PORT,OLED_RST_PIN,1,1);//初始化RST GPIO_Init(OLED_SDA_PORT,OLED_SDA_PIN,1,1); OLED_SCL=1; OLED_RST=0; delayms(50); OLED_RST=1; //从上电到下面开始初始化要有足够的时间,即等待RC复位完毕 OLED_WRCMD(0xae);//--关闭显示 turn off oled panel OLED_WRCMD(0x00);//---设置低列地址 set low column address OLED_WRCMD(0x10);//---高列地址 set high column address OLED_WRCMD(0x40);//--设置起始地址映射内存显示开始行(0x 00 ~ 0x3f) set start line address Set Mapping RAM Display Start Line (0x00~0x3F) OLED_WRCMD(0x81);//--设置对比度控制寄存器 set contrast control register OLED_WRCMD(0xcf); // 电流输出亮度设置赛格 Set SEG Output Current Brightness OLED_WRCMD(0xa1);//--设置赛格/列映射 0xa0左右反置0xa1正常 Set SEG/Column Mapping 0xa0左右反置 0xa1正常 OLED_WRCMD(0xc8);//设置网站/行扫描方向 0xc0上下反置 0xc8正常 Set COM/Row Scan Direction OLED_WRCMD(0xa6);//--正常显示 set normal display OLED_WRCMD(0xa8);//--集复用率(1 - 64) set multiplex ratio(1 to 64) OLED_WRCMD(0x3f);//--1/64 duty OLED_WRCMD(0xd3);//-设置显示偏移位移映射内存计数器(0x 00 ~ 0x3f) set display offset Shift Mapping RAM Counter (0x00~0x3F) OLED_WRCMD(0x00);//-不偏移 not offset OLED_WRCMD(0xd5);//--设置显示时钟的分频比/振荡器频率 set display clock divide ratio/oscillator frequency OLED_WRCMD(0x80);//--组分比,时钟设置为100帧/秒 set divide ratio, Set Clock as 100 Frames/Sec OLED_WRCMD(0xd9);//--设定充电周期 set pre-charge period OLED_WRCMD(0xf1);//15集充电放电1钟钟表 Set Pre-Charge as 15 Clocks & Discharge as 1 Clock OLED_WRCMD(0xda);//--设置组件的引脚配置硬件 set com pins hardware configuration OLED_WRCMD(0x12); OLED_WRCMD(0xdb);//--集vcomh set vcomh OLED_WRCMD(0x40);//威科姆取消水平集 Set VCOM Deselect Level OLED_WRCMD(0x20);//-设置页面寻址模式(0x 00 /将/ 0x02) Set Page Addressing Mode (0x00/0x01/0x02) OLED_WRCMD(0x02);// OLED_WRCMD(0x8d);//--充电泵启用/禁用 set Charge Pump enable/disable OLED_WRCMD(0x14);//--集(0x 10个)禁用 set(0x10) disable OLED_WRCMD(0xa4);// 使整个显示(0xa4 / 0xa5) Disable Entire Display On (0xa4/0xa5) OLED_WRCMD(0xa6);// 禁用反显示(0xa6 / 7) Disable Inverse Display On (0xa6/a7) OLED_WRCMD(0xaf);//--打开面板 turn on oled panel OLED_Fill(0x00); //初始清屏 OLED_Setxy(0,0); } void OLED_6x8(u8 x,u8 y,u8 ch[])//显示6*8一组标准ASCII字符串 显示的坐标(x,y),y为页范围0~7 { u8 c=0,i=0,j=0; while (ch[j]!='\0') { c =ch[j]-32; if(x>126) {x=0;y++;} OLED_Setxy(x,y); for(i=0;i<6;i++) OLED_WRDATA(F6x8[c][i]); x+=6; j++; } } void OLED_Cler_6x8(u8 x,u8 y,u8 n)//清除N个6*8字符 { unsigned int i=0; OLED_Setxy(x,y); if(x>126) {x=0;y++;} for(i=0;i<6*n;i++) OLED_WRDATA(0x00); } void OLED_8x16(u8 x,u8 y,u8 ch[])//显示8*16一组标准ASCII字符串 显示的坐标(x,y),y为页范围0~7 { unsigned char c=0,i=0,j=0; while (ch[j]!='\0') { c =ch[j]-32; if(x>120) {x=0;y++;} OLED_Setxy(x,y); for(i=0;i<8;i++) OLED_WRDATA(F8X16[c*16+i]); OLED_Setxy(x,y+1); for(i=0;i<8;i++) OLED_WRDATA(F8X16[c*16+i+8]); x+=8; j++; } } void OLED_Cler_8x16(u8 x,u8 y,u8 n) //清除n个8*16字符 { unsigned char i; if(x>120) {x=0;y++;} OLED_Setxy(x,y); for(i=0;i<8*n;i++) OLED_WRDATA(0x00); OLED_Setxy(x,y+1); for(i=0;i<8*n;i++) OLED_WRDATA(0x00); } void OLED_16x16(u8 x,u8 y,u8 N)//显示16*16点阵 显示的坐标(x,y),y为页范围0~7 { unsigned char wm=0; unsigned int adder=32*N; // OLED_Setxy(x , y); for(wm = 0;wm < 16;wm++) // { OLED_WRDATA(F16x16[adder]); adder += 1; } OLED_Setxy(x,y + 1); for(wm = 0;wm < 16;wm++) // { OLED_WRDATA(F16x16[adder]); adder += 1; } } void OLED_Cler_16x16(u8 x,u8 y, u8 n)//清除n个16*16字 { unsigned char i=0; OLED_Setxy(x,y); for(i=0;i<16*n;i++) OLED_WRDATA(0x00); OLED_Setxy(x,y+1); for(i=0;i<16*n;i++) OLED_WRDATA(0x00); } void Draw_BMP(u8 x0,u8 y0,u8 x1,u8 y1,u8 BMP[])//显示显示BMP图片128×64起始点坐标(x,y),x的范围0~127,y为页的范围0~7* { 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_Setxy(x0,y); for(x=x0;x<x1;x++) { OLED_WRDATA(BMP[j++]); } } } void OLED_Refresh_Gram(void) { u8 ii,nn; for(ii=0;ii<8;ii++) { OLED_WRCMD(0xb0+ii); OLED_WRCMD(0x00); OLED_WRCMD(0x10); for(nn=0;nn<120;nn++)OLED_WRDATA(OLED_GRAM[nn][ii]); } } void OLED_DRAWPoint(u8 x,u8 y,u8 t) { u8 pos,bx,temp=0; if(x>127||y>63)return; pos=y/8; bx=y%8; temp=1<<(7-bx); if(t)OLED_GRAM[x][pos]|=temp; else OLED_GRAM[x][pos]&=~temp; }
6x8.h
#ifndef __6x8_H__ #define __6x8_H__ #include "sys.h" 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 }; #endif
#ifndef __8x16_H__ #define __8x16_H__ #include "sys.h" 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 }; #endif
#ifndef __16x16_H__ #define __16x16_H__ #include "sys.h" const unsigned char F16x16[] = { 0x00,0x00,0x30,0x10,0x10,0xD0,0x52,0x2E,0xA8,0x68,0x08,0x18,0x18,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x3C,0x25,0x25,0x25,0x24,0x16,0x0C,0x04,0x00,0x00,0x00,0x00,/*"宫",2*/ 0x00,0x80,0x40,0xF0,0x0C,0x02,0xBC,0xA4,0xE4,0xA4,0xBC,0x40,0x40,0x00,0x00,0x00, 0x00,0x00,0x20,0x7F,0x01,0x09,0x04,0x02,0x7F,0x01,0x02,0x04,0x08,0x08,0x08,0x00,/*"保",3*/ 0x00,0x00,0x00,0xA0,0x90,0x70,0x00,0x70,0x88,0xAE,0x88,0xF8,0x00,0x00,0x00,0x00, 0x00,0x00,0x08,0x06,0x01,0x13,0x14,0x13,0x12,0x0A,0x0A,0x4A,0x42,0x3E,0x00,0x00,/*"鸡",4*/ 0x00,0x00,0x10,0x10,0x10,0x10,0x10,0x10,0xF0,0x08,0x08,0x08,0x08,0x08,0x08,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x60,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"丁",5*/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xF0,0xC0,0x80,0x00,0x00,0x00, 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x0F,0x07,0x03,0x00,0x00,0x00,/*"→",4*/ 0x40,0x40,0xC0,0xC0,0x40,0x40,0x40,0x38,0x07,0x38,0x40,0x40,0x40,0xC0,0xC0,0x40, 0x00,0x00,0x00,0x01,0x73,0x2E,0x30,0x10,0x08,0x10,0x30,0x2E,0x73,0x01,0x00,0x00,/*"☆",5*/ 0x00,0x30,0x18,0x08,0x08,0xD8,0x70,0x00,0x00,0xF0,0x18,0x08,0x08,0x18,0xE0,0x00, 0x00,0x30,0x38,0x34,0x33,0x31,0x30,0x00,0x00,0x0F,0x10,0x20,0x30,0x18,0x0F,0x00,/*"20",6*/ 0x00,0x00,0x00,0x80,0x80,0x40,0xC8,0x48,0xC8,0x44,0x20,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x10,0x10,0x0C,0x02,0x01,0x0E,0x11,0x20,0x20,0x20,0x20,0x20,0x38,0x00,/*"元",7*/ 0x00,0x00,0x00,0x00,0xA0,0xA0,0x90,0x8C,0x74,0x58,0x48,0xC0,0x40,0x00,0x00,0x00, 0x00,0x20,0x20,0x20,0x20,0x27,0x2A,0x2A,0x25,0x25,0x26,0x21,0x30,0x20,0x20,0x00,/*"鱼",0*/ 0x00,0x00,0x00,0x20,0x20,0xA0,0x68,0xF8,0x34,0x54,0x90,0x90,0x10,0x00,0x00,0x00, 0x00,0x00,0x02,0x02,0x01,0x7E,0x2A,0x2B,0x2A,0x22,0x7E,0x01,0x01,0x01,0x01,0x00,/*"香",1*/ 0x00,0x00,0x00,0xF0,0x10,0x90,0x50,0x3C,0x50,0x50,0x10,0x10,0xF0,0x00,0x00,0x00, 0x00,0x00,0x00,0x1F,0x00,0x04,0x02,0x01,0x02,0x02,0x04,0x20,0x7F,0x00,0x00,0x00,/*"肉",2*/ 0x00,0x00,0x00,0xC0,0xA0,0x98,0xC0,0x60,0x40,0xA0,0x90,0x8C,0x60,0x00,0x00,0x00, 0x00,0x00,0x00,0x24,0x26,0x25,0x12,0x12,0x10,0x16,0x15,0x12,0x12,0x10,0x10,0x00,/*"丝",3*/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xF0,0xC0,0x80,0x00,0x00,0x00, 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x0F,0x07,0x03,0x00,0x00,0x00,/*"→",4*/ 0x40,0x40,0xC0,0xC0,0x40,0x40,0x40,0x38,0x07,0x38,0x40,0x40,0x40,0xC0,0xC0,0x40, 0x00,0x00,0x00,0x01,0x73,0x2E,0x30,0x10,0x08,0x10,0x30,0x2E,0x73,0x01,0x00,0x00,/*"☆",5*/ 0x00,0x30,0x18,0x08,0x08,0xD8,0x70,0x00,0x00,0xF0,0x18,0x08,0x08,0x18,0xE0,0x00, 0x00,0x30,0x38,0x34,0x33,0x31,0x30,0x00,0x00,0x0F,0x10,0x20,0x30,0x18,0x0F,0x00,/*"20",6*/ 0x00,0x00,0x00,0x80,0x80,0x40,0xC8,0x48,0xC8,0x44,0x20,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x10,0x10,0x0C,0x02,0x01,0x0E,0x11,0x20,0x20,0x20,0x20,0x20,0x38,0x00,/*"元",7*/ 0x00,0x00,0x00,0x98,0xF0,0x80,0x20,0xC0,0x00,0xFC,0x40,0x20,0xC0,0x00,0x00,0x00, 0x00,0x10,0x10,0x0F,0x04,0x02,0x02,0x1F,0x21,0x27,0x22,0x27,0x20,0x30,0x18,0x00,/*"地",0*/ 0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x10,0x18,0x88,0x88,0x08,0x00,0x00,0x00,0x00, 0x00,0x00,0x10,0x10,0x10,0x11,0x11,0x11,0x11,0x10,0x10,0x08,0x08,0x18,0x10,0x00,/*"三",1*/ 0x00,0x00,0xD0,0xA8,0xD6,0xAA,0xEC,0x60,0xA0,0xA8,0xF0,0x58,0x56,0x00,0x00,0x00, 0x00,0x08,0x09,0x0A,0x09,0x0A,0x05,0x02,0x02,0x02,0x7F,0x01,0x01,0x01,0x01,0x00,/*"鲜",2*/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xF0,0xC0,0x80,0x00,0x00,0x00, 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x0F,0x07,0x03,0x00,0x00,0x00,/*"→",3*/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xF0,0xC0,0x80,0x00,0x00,0x00, 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x0F,0x07,0x03,0x00,0x00,0x00,/*"→",4*/ 0x40,0x40,0xC0,0xC0,0x40,0x40,0x40,0x38,0x07,0x38,0x40,0x40,0x40,0xC0,0xC0,0x40, 0x00,0x00,0x00,0x01,0x73,0x2E,0x30,0x10,0x08,0x10,0x30,0x2E,0x73,0x01,0x00,0x00,/*"☆",5*/ 0x00,0x30,0x18,0x08,0x08,0xD8,0x70,0x00,0x00,0xF0,0x18,0x08,0x08,0x18,0xE0,0x00, 0x00,0x30,0x38,0x34,0x33,0x31,0x30,0x00,0x00,0x0F,0x10,0x20,0x30,0x18,0x0F,0x00,/*"20",6*/ 0x00,0x00,0x00,0x80,0x80,0x40,0xC8,0x48,0xC8,0x44,0x20,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x10,0x10,0x0C,0x02,0x01,0x0E,0x11,0x20,0x20,0x20,0x20,0x20,0x38,0x00,/*"元",7*/ 0x00,0x00,0x00,0x00,0x00,0x10,0x10,0xF0,0x30,0x88,0x08,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x20,0x20,0x20,0x11,0x11,0x1F,0x11,0x10,0x10,0x12,0x16,0x10,0x10,0x00,/*"玉",0*/ 0x00,0x00,0x00,0x80,0x80,0xA0,0x80,0xFE,0x60,0x50,0x48,0x48,0x00,0x00,0x00,0x00, 0x00,0x00,0x10,0x08,0x04,0x02,0x01,0x7F,0x01,0x02,0x04,0x0C,0x08,0x08,0x00,0x00,/*"米",1*/ 0x00,0x00,0x80,0x00,0xFC,0x20,0x00,0x20,0x50,0x8C,0xF0,0x18,0x00,0x00,0x00,0x00, 0x00,0x20,0x10,0x0D,0x02,0x04,0x04,0x3A,0x49,0x28,0x28,0x3D,0x0A,0x02,0x04,0x00,/*"烙",2*/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xF0,0xC0,0x80,0x00,0x00,0x00, 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x0F,0x07,0x03,0x00,0x00,0x00,/*"→",3*/ 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xF0,0xC0,0x80,0x00,0x00,0x00, 0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x0F,0x07,0x03,0x00,0x00,0x00,/*"→",4*/ 0x40,0x40,0xC0,0xC0,0x40,0x40,0x40,0x38,0x07,0x38,0x40,0x40,0x40,0xC0,0xC0,0x40, 0x00,0x00,0x00,0x01,0x73,0x2E,0x30,0x10,0x08,0x10,0x30,0x2E,0x73,0x01,0x00,0x00,/*"☆",5*/ 0x00,0x30,0x18,0x08,0x08,0xD8,0x70,0x00,0x00,0xF0,0x18,0x08,0x08,0x18,0xE0,0x00, 0x00,0x30,0x38,0x34,0x33,0x31,0x30,0x00,0x00,0x0F,0x10,0x20,0x30,0x18,0x0F,0x00,/*"20",6*/ 0x00,0x00,0x00,0x80,0x80,0x40,0xC8,0x48,0xC8,0x44,0x20,0x20,0x00,0x00,0x00,0x00, 0x00,0x00,0x10,0x10,0x0C,0x02,0x01,0x0E,0x11,0x20,0x20,0x20,0x20,0x20,0x38,0x00,/*"元",7*/ }; //0x00,0x00,0x80,0x80,0x80,0x80,0xC0,0xFC,0xF8,0xC0,0x80,0x80,0x80,0x80,0x00,0x00, //0x00,0x00,0x00,0x41,0x39,0x1F,0x1F,0x0F,0x0F,0x1F,0x1F,0x71,0x01,0x00,0x00,0x00, //★ #endif