使用stm32工程模板,移植其他人使用0.96寸的Oled代码,在OLED上显示字符,使用的引脚是PB3和PB4,是用了重映射的引脚
这里使用的IC是stm32f103vet6,软件是keil5
百度网盘链接:https://pan.baidu.com/s/1xFrQsbjuPpt2DRcLkoDnjA
提取码:wzya
包含keil5工程和取字模工具
接线方法:
stm32 oled
PB3 <-------------------> SCL
PB4 <-------------------> SDA
GND <-------------------> GND
VCC <-------------------> VCC
我们使用的屏幕是长128 * 宽64的OLED屏,可以将每个点想象成有个像素点
OLED_ShowString(0,0,“ABCDEFG”,8)
第一个参数0意思是从x方向的第1个像素开始,填1就是从第2个像素开始,范围是(0~127)
第二个参数0意思是从y方向的第1个像素开始,填1就是从第9个像素开始(这里y每次+1间隔的是8个像素),范围是(0~7)
第三个参数就是我们要显示的字符,要现在工程的"oled_font.h"中设置函数才能找到需要显示的字符,汉字也是如此
这里第四个参数8就是设置一个字符占了 8 * 8个像素,相当于一个64像素的正方形(只能填写8或者16)
下面贴出oled使用的.c和.h文件,还有在main.c的使用
(另外提一下,oled_bmp.c的第一幅图像bmp1被我换成了一个熊猫人,显示的很模糊我也没有去替换成其他的)

1 1 #include "oled.h" 2 2 #include "oled_bmp.h" 3 3 #include "oled_font.h" 4 4 5 5 //字符串 6 6 u8 string[16]; 7 7 8 8 //如果是IIC接口 9 9 10 10 /********************************************** 11 11 //IIC Start 12 12 **********************************************/ 13 13 void IIC_Start(void) 14 14 { 15 15 GPIO_SetBits(SCL_GPIO,SCL_GPIO_Pin); 16 16 GPIO_SetBits(SDA_GPIO,SDA_GPIO_Pin); 17 17 GPIO_ResetBits(SDA_GPIO,SDA_GPIO_Pin); 18 18 GPIO_ResetBits(SCL_GPIO,SCL_GPIO_Pin); 19 19 } 20 20 21 21 /********************************************** 22 22 //IIC Stop 23 23 **********************************************/ 24 24 void IIC_Stop(void) 25 25 { 26 26 GPIO_ResetBits(SCL_GPIO,SCL_GPIO_Pin); 27 27 GPIO_ResetBits(SDA_GPIO,SDA_GPIO_Pin); 28 28 GPIO_SetBits(SCL_GPIO,SCL_GPIO_Pin); 29 29 GPIO_SetBits(SDA_GPIO,SDA_GPIO_Pin); 30 30 } 31 31 /********************************************** 32 32 // IIC Write byte 33 33 **********************************************/ 34 34 void Write_IIC_Byte(u8 IIC_Byte) 35 35 { 36 36 u8 i; 37 37 for(i=0;i<8;i++) 38 38 { 39 39 GPIO_ResetBits(SCL_GPIO,SCL_GPIO_Pin); 40 40 if(IIC_Byte & 0x80) 41 41 GPIO_SetBits(SDA_GPIO,SDA_GPIO_Pin); 42 42 else 43 43 GPIO_ResetBits(SDA_GPIO,SDA_GPIO_Pin); 44 44 GPIO_SetBits(SCL_GPIO,SCL_GPIO_Pin); 45 45 IIC_Byte<<=1; 46 46 } 47 47 GPIO_ResetBits(SCL_GPIO,SCL_GPIO_Pin); 48 48 GPIO_SetBits(SDA_GPIO,SDA_GPIO_Pin); 49 49 GPIO_SetBits(SCL_GPIO,SCL_GPIO_Pin); 50 50 GPIO_ResetBits(SCL_GPIO,SCL_GPIO_Pin); 51 51 } 52 52 void OLED_WR_Byte(u8 dat,u8 cmd) 53 53 { 54 54 //写一个字节函数 55 55 //dat 要写入的数据或命令 56 56 //CMD 数据/命令标志位 0命令 1数据 57 57 if(cmd==0) 58 58 { 59 59 IIC_Start(); 60 60 Write_IIC_Byte(0x78); 61 61 Write_IIC_Byte(0x00); 62 62 Write_IIC_Byte(dat); 63 63 IIC_Stop(); 64 64 } 65 65 else 66 66 { 67 67 IIC_Start(); 68 68 Write_IIC_Byte(0x78); 69 69 Write_IIC_Byte(0x40); 70 70 Write_IIC_Byte(dat); 71 71 IIC_Stop(); 72 72 } 73 73 } 74 74 75 75 76 76 void OLED_Set_Pos(u8 x,u8 y) 77 77 { 78 78 OLED_WR_Byte(0xb0+y,OLED_CMD); 79 79 OLED_WR_Byte(((x&0xf0)>>4)|0x10,OLED_CMD); 80 80 OLED_WR_Byte((x&0x0f),OLED_CMD); 81 81 } 82 82 83 83 void OLED_Display_On(void) 84 84 { 85 85 //开启OLED显示 86 86 OLED_WR_Byte(0x8d,OLED_CMD); 87 87 OLED_WR_Byte(0x14,OLED_CMD); 88 88 OLED_WR_Byte(0xaf,OLED_CMD); 89 89 90 90 } 91 91 void OLED_Display_Off(void) 92 92 { 93 93 //关闭OLED显示 94 94 OLED_WR_Byte(0x8d,OLED_CMD); 95 95 OLED_WR_Byte(0x10,OLED_CMD); 96 96 OLED_WR_Byte(0xaf,OLED_CMD); 97 97 98 98 } 99 99 void OLED_Clear(void) 100100 { 101101 //清屏 102102 u8 i,n; 103103 for(i=0;i<8;i++) 104104 { 105105 OLED_WR_Byte(0xb0+i,OLED_CMD); 106106 OLED_WR_Byte(0x02,OLED_CMD); 107107 OLED_WR_Byte(0x10,OLED_CMD); 108108 for(n=0;n<128;n++)OLED_WR_Byte(0,OLED_DATA); 109109 } 110110 } 111111 112112 void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size) 113113 { 114114 //在指定地方显示一个字符,包括部分字符 115115 //x:0~127 116116 //y:0~63 117117 //size:选择字体16*16或8*6 118118 u8 c=0,i=0; 119119 c=chr-' '; 120120 if(x>127) 121121 { 122122 x=0; 123123 y=y+2; 124124 } 125125 if(size == 16) 126126 { 127127 OLED_Set_Pos(x,y); 128128 for(i=0;i<8;i++) 129129 { 130130 OLED_WR_Byte(F8X16[c*16+i],OLED_DATA); 131131 } 132132 OLED_Set_Pos(x,y+1); 133133 for(i=0;i<8;i++) 134134 { 135135 OLED_WR_Byte(F8X16[c*16+i+8],OLED_DATA); 136136 } 137137 138138 } 139139 else 140140 { 141141 OLED_Set_Pos(x,y); 142142 for(i=0;i<6;i++) 143143 { 144144 OLED_WR_Byte(F6x8[c][i],OLED_DATA); 145145 } 146146 } 147147 } 148148 149149 u32 oled_pow(u8 m,u8 n) 150150 { 151151 //m^n函数 152152 u32 result = 1; 153153 while(n--)result*=m; 154154 return result; 155155 } 156156 157157 void OLED_ShowNum(u8 x,u8 y,long num,u8 len,u8 size) 158158 { 159159 //功能:显示数字 160160 //x,y :起点坐标 161161 //num:+-65535; 162162 //len :数字的位数,负号算一位 163163 //size:字体大小 164164 u32 t,temp1,temp2,temp3,flag; 165165 if(num<0) 166166 { 167167 flag=1; //负数标志位置1 168168 num=-num; //数字变正数 169169 } 170170 for(t=0;t<len;t++) 171171 { 172172 temp1=num/oled_pow(10,len-t-1); 173173 temp2=temp1%10; 174174 if(flag==1) 175175 { 176176 temp3 = num/oled_pow(10,len-t-2); 177177 } 178178 if(temp1!=0) 179179 { 180180 OLED_ShowChar(x,y,'0'+temp2,size); 181181 182182 } 183183 else 184184 { 185185 if(t==len-1&&temp2==0) 186186 { 187187 OLED_ShowChar(x,y,'0',size); 188188 } 189189 else 190190 { 191191 if(flag==1&&temp3!=0) //该数是负数 192192 { 193193 OLED_ShowChar(x,y,'-',size); //输出负号 194194 flag=0; //负号已输出,标志位置0 195195 } 196196 else 197197 { 198198 OLED_ShowChar(x,y,' ',size); 199199 } 200200 } 201201 } 202202 x+=8; 203203 } 204204 205205 } 206206 207207 void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size) 208208 { 209209 //显示一个汉字串和字符号串 210210 //输入\r可以换行 211211 //写入新汉字需要进行登记 212212 u8 x0=x; 213213 u16 k; 214214 while(*chr!='\0') 215215 { 216216 if((*chr)<128) 217217 { 218218 if(*chr==13) 219219 { 220220 x=x0; 221221 y+=size/8; 222222 } 223223 else 224224 { 225225 OLED_ShowChar(x,y,*chr,size); 226226 x+=8; 227227 if(x>120) 228228 { 229229 x=0; 230230 y+=size/8; 231231 } 232232 } 233233 chr++; 234234 } 235235 else if(size==16) //字体是否为16 236236 { 237237 for(k=0;k<hz16_num;k++) //汉字搜索 238238 { 239239 if ((hz16[k].Index[0]==*(chr))&&(hz16[k].Index[1]==*(chr+1))) //是否是已登记汉字 240240 { 241241 u8 t; 242242 OLED_Set_Pos(x,y); 243243 for(t=0;t<16;t++) 244244 { 245245 OLED_WR_Byte(hz16[k].Msk[t],OLED_DATA); 246246 247247 } 248248 OLED_Set_Pos(x,y+1); 249249 for(t=0;t<16;t++) 250250 { 251251 OLED_WR_Byte(hz16[k].Msk[t+16],OLED_DATA); 252252 } 253253 254254 } 255255 256256 } 257257 if(x>112) 258258 { 259259 x=0; 260260 y+=2; 261261 } 262262 chr+=2;x+=16; 263263 264264 } 265265 else //输入错误,忽略汉字 266266 { 267267 chr+=2; 268268 } 269269 } 270270 } 271271 void OLED_Draw12864BMP(u8 BMP[]) 272272 { 273273 //显示显示BMP图片128×64 274274 u16 j=0; 275275 u8 x,y; 276276 for(y=0;y<8;y++) 277277 { 278278 OLED_Set_Pos(0,y); 279279 for(x=0;x<128;x++) 280280 { 281281 #if DISPLAY_MODE 282282 OLED_WR_Byte(~BMP[j++],OLED_DATA); 283283 #else 284284 OLED_WR_Byte(BMP[j++],OLED_DATA); 285285 #endif 286286 } 287287 } 288288 } 289289 void OLED_DrawBMP(u8 x0,u8 y0,u8 x1,u8 y1,u8 BMP[]) 290290 { 291291 //显示显示BMP图片128×64起始点坐标(x,y),x的范围0~127,y为页的范围0~7 292292 u16 j=0; 293293 u8 x,y; 294294 for(y=y0;y<y1;y++) 295295 { 296296 OLED_Set_Pos(x0,y); 297297 for(x=x0;x<x1;x++) 298298 { 299299 OLED_WR_Byte(BMP[j++],OLED_DATA); 300300 } 301301 } 302302 } 303303 304304 void OLED_Init(void) 305305 { 306306 307307 //初始化需要用到的IO,从头文件修改即可 308308 //执行初始化OLED代码 309309 GPIO_InitTypeDef GPIO_InitStructure; 310310 //SCL D0 311311 RCC_APB2PeriphClockCmd(SCL_GPIOClock,ENABLE); 312312 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 313313 GPIO_InitStructure.GPIO_Pin = SCL_GPIO_Pin; 314314 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 315315 GPIO_Init(SCL_GPIO,&GPIO_InitStructure); 316316 GPIO_SetBits(SCL_GPIO,SCL_GPIO_Pin); 317317 //SDA D1 318318 RCC_APB2PeriphClockCmd(SDA_GPIOClock,ENABLE); 319319 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 320320 GPIO_InitStructure.GPIO_Pin = SDA_GPIO_Pin; 321321 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 322322 GPIO_Init(SDA_GPIO,&GPIO_InitStructure); 323323 GPIO_SetBits(SDA_GPIO,SDA_GPIO_Pin); 324324 325325 326326 OLED_WR_Byte(0xAE,OLED_CMD);//关闭显示 327327 OLED_WR_Byte(0x02,OLED_CMD);//[1:0],00,列地址模式;01, 328328 //行地址模式;10,页地址模式;默认 10; 329329 OLED_WR_Byte(0x10,OLED_CMD);//设置高列地址 330330 OLED_WR_Byte(0x40,OLED_CMD);//设置显示开始行 [5:0],行数 331331 OLED_WR_Byte(0x81,OLED_CMD);//对比度设置 332332 OLED_WR_Byte(0xCF,OLED_CMD);//设定SEG输出电流亮度 333333 OLED_WR_Byte(0xA1,OLED_CMD);//段重定义设置,bit0:0,0->0;1,0->127; 0xa0左右反置 0xa1正常 334334 OLED_WR_Byte(0xC8,OLED_CMD);//设置 COM 扫描方向;bit3:0,普通模式;1, 335335 //重定义模式 COM[N-1]->COM0;N:驱动路数 0xc0上下反置 0xc8正常 336336 OLED_WR_Byte(0xA8,OLED_CMD);//设置驱动路数 337337 OLED_WR_Byte(0x3f,OLED_CMD);//默认 0X3F(1/64) 338338 OLED_WR_Byte(0x81,OLED_CMD);//对比度设置 339339 OLED_WR_Byte(0xfF,OLED_CMD);//1~255;默认0X7F (亮度设置,越大越亮) 340340 OLED_WR_Byte(0xD3,OLED_CMD);////设置显示偏移(0x00~0x3F) 341341 OLED_WR_Byte(0x00,OLED_CMD);//-not offset 342342 OLED_WR_Byte(0xd5,OLED_CMD);//设置时钟分频因子,震荡频率 343343 OLED_WR_Byte(0x80,OLED_CMD);//[3:0],分频因子;[7:4],震荡频率 344344 OLED_WR_Byte(0xD9,OLED_CMD);//设置预充电周期 345345 OLED_WR_Byte(0xF1,OLED_CMD);//将预充电作为15个时钟和放电作为1个时钟 346346 OLED_WR_Byte(0xDA,OLED_CMD);//设置 COM 硬件引脚配置 347347 OLED_WR_Byte(0x12,OLED_CMD);//[5:4]配置 348348 OLED_WR_Byte(0xDB,OLED_CMD);//设置 VCOMH 电压倍率 349349 OLED_WR_Byte(0x40,OLED_CMD);//Set VCOM Deselect Level 350350 OLED_WR_Byte(0x20,OLED_CMD);//设置内存地址模式 (0x00/0x01/0x02) 351351 OLED_WR_Byte(0x02,OLED_CMD);//[1:0],00,列地址模式;01, 352352 //行地址模式;10,页地址模式;默认 10; 353353 OLED_WR_Byte(0x8D,OLED_CMD);//电荷泵启用/禁用 354354 OLED_WR_Byte(0x14,OLED_CMD);//--set(0x10) disable 355355 OLED_WR_Byte(0xA4,OLED_CMD);// Disable Entire Display On (0xa4/0xa5) 356356 #if DISPLAY_MODE == 1 357357 OLED_WR_Byte(0xA7,OLED_CMD);//设置显示方式;bit0:1,反相显示;0,正常显示 358358 #else 359359 OLED_WR_Byte(0xA6,OLED_CMD);//设置显示方式;bit0:1,反相显示;0,正常显示 360360 #endif 361361 OLED_WR_Byte(0xAF,OLED_CMD);//--turn on oled panel 362362 363363 OLED_WR_Byte(0xAF,OLED_CMD); /*display ON*/ 364364 OLED_Clear(); 365365 OLED_Set_Pos(0,0); 366366 367367 368368 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE); 369369 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE); 370370 }
oled.c

1 1 #ifndef _OLED_H_ 2 2 #define _OLED_H_ 3 3 4 4 #include "stm32f10x_gpio.h" 5 5 #include "oled_bmp.h" 6 6 #include "oled_font.h" 7 7 8 8 9 9 /****************可根据需求设置的选项******************/ 1010 #define DISPLAY_MODE 1 //显示模式,1为黑字白底,2为白字黑底 1111 1212 1313 /********************引脚定义*************************/ 1414 // IIC_SCL 1515 #define SCL_GPIOClock RCC_APB2Periph_GPIOB 1616 #define SCL_GPIO GPIOB 1717 #define SCL_GPIO_Pin GPIO_Pin_3 1818 //IIC_SDA 1919 #define SDA_GPIOClock RCC_APB2Periph_GPIOB 2020 #define SDA_GPIO GPIOB 2121 #define SDA_GPIO_Pin GPIO_Pin_4 2222 2323 2424 /***************************************************/ 2525 2626 #define OLED_CMD 0 2727 #define OLED_DATA 1 2828 2929 3030 extern u8 string[16]; 3131 3232 /* OLED初始化函数 */ 3333 void OLED_Init(void); 3434 3535 /* 功能函数 */ 3636 void OLED_Clear(void); //清屏 3737 void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size); //显示一个字符,(x坐标,y坐标,显示的字符,字体)ps:字体为16或者8 3838 void OLED_ShowNum(u8 x,u8 y,long num,u8 len,u8 size); //显示数字,(x坐标,y坐标,显示的数字,长度,字体) ps:字体为16或者8 3939 void OLED_DrawBMP(u8 x0,u8 y0,u8 x1,u8 y1,u8 BMP[]); //显示图片,(起始x,y坐标,终止x,y坐标,图片地址) 4040 void OLED_Draw12864BMP(u8 BMP[]); //显示128*64的图片(图片地址) 4141 void OLED_ShowString(u8 x,u8 y,u8 *chr,u8 size); //显示汉字和字符串,可以输入已登记的汉字,(x坐标,y坐标,文字串,字符串字体) 4242 //汉字的字体固定16*16,不可改变,若要输入汉字,字体必须位16,字体为8为纯字符串 4343 4444 /* PS:可以实验sprintf函数实现带参数的字符串 4545 方法: 4646 定义一个u8 string[16];这样的变量 4747 然后使用sprintf(string,"display_num:%d",num); 4848 再然后调用OLED_ShowString(0,0,string,8);函数即可显示带参数的字符串,sprintf函数的更多用法可以百度查找 4949 */ 5050 5151 /***************************************************/ 5252 5353 /* 其他函数,不需要调用 */ 5454 void OLED_Set_Pos(u8 x,u8 y); 5555 void OLED_WR_Byte(u8 dat,u8 cmd); 5656 5757 5858 #endif
oled.h

1 1 #include "oled_bmp.h" 2 2 //图片地址 3 3 //用于存放图片数组,存放后需要在头文件声明 4 4 //图片需要为PCtol2002设置为 逆向 十六进制 C51代码 行前缀无 行后缀, 5 5 unsigned char BMP1[]= 6 6 { 7 7 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 8 8 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 9 9 0xF0,0x70,0x30,0xD0,0xEC,0xF4,0xF8,0xF8,0xFA,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFA, 10 10 0x78,0x78,0xB4,0xB4,0xD4,0xD4,0xD4,0xDC,0xD8,0xD8,0xF8,0xE8,0xE8,0xE8,0xE8,0xE8, 11 11 0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,0xE8,0x98,0x9C,0x94,0x94,0x54,0x74, 12 12 0xB4,0xB4,0x78,0xF8,0xF8,0xFC,0xFC,0xFC,0xFC,0xFC,0xF8,0xFA,0xF8,0xFC,0xF4,0xEC, 13 13 0x8C,0x60,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 14 14 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 15 15 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 16 16 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 17 17 0x03,0x03,0x03,0x00,0xCB,0xF7,0x77,0x8F,0xEF,0x7F,0x9F,0xEF,0xF7,0xEB,0xFD,0xFE, 18 18 0xFE,0xF7,0xEF,0xED,0xED,0xAE,0xEE,0xEE,0xBE,0x9E,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE, 19 19 0xFD,0xED,0x6D,0xEE,0x7E,0x6E,0x5E,0xBE,0xBF,0xFE,0xFE,0xDE,0xDE,0x9E,0xDE,0xEE, 20 20 0xEE,0xFF,0xFD,0xFE,0xFC,0x0D,0x0B,0x27,0x8F,0x7F,0xEF,0x8F,0x6F,0x07,0x0B,0x0B, 21 21 0x0C,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 22 22 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 23 23 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 24 24 0xC0,0xC0,0x40,0x40,0x80,0x80,0xC0,0xD0,0xD0,0xF0,0xE0,0xE0,0xE8,0xF0,0xF4,0xF4, 25 25 0xF5,0xFF,0xFA,0xFA,0xFD,0xFD,0xFE,0xFF,0xE0,0xD0,0xB1,0xFC,0x68,0x59,0x07,0x0F, 26 26 0x1F,0x1F,0x3F,0x3F,0x3F,0xFF,0xFF,0xBF,0xBF,0xFF,0xFF,0xFD,0xFD,0xFD,0xDD,0xFD, 27 27 0xFD,0xFF,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0xFD,0xFD,0xFD,0xED,0x7F,0x7F,0xBF,0x3F, 28 28 0x1F,0x1F,0x0F,0x07,0xC3,0x40,0x40,0x80,0x9F,0xC0,0xFF,0xFF,0xFE,0xFD,0xFD,0xFD, 29 29 0xF9,0xFA,0xFA,0xF8,0xF4,0xF4,0xF4,0xE0,0xC0,0xD0,0x90,0x90,0x70,0x00,0x40,0x40, 30 30 0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 31 31 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDE,0x2E,0x0E,0xF8, 32 32 0xFD,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F, 33 33 0xBF,0xBF,0xBF,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE, 34 34 0xFE,0xFE,0xFD,0xFD,0xFD,0xFC,0xFC,0xF8,0xF8,0xFA,0xF8,0xF9,0xF9,0xF9,0xF9,0xF9, 35 35 0xF8,0x78,0x78,0x78,0x7B,0x7B,0x7B,0x7B,0x78,0x78,0x78,0x7C,0x7D,0x7D,0x7D,0x7D, 36 36 0x7D,0x7D,0x7E,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0x3F,0xBF, 37 37 0xBF,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE, 38 38 0xFD,0xF8,0xF6,0xE4,0xCC,0x30,0x70,0x90,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 39 39 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF7,0x80,0x7F,0xFF, 40 40 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8, 41 41 0xF8,0xFF,0xF7,0xF6,0xE1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 42 42 0xFF,0xFF,0x01,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 43 43 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x01,0x01,0x01,0x01, 44 44 0x01,0x70,0x33,0x30,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xF1, 45 45 0xF7,0xFB,0xFB,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 46 46 0xFF,0xFF,0x7F,0x7F,0xBF,0xBF,0xDC,0x23,0x16,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 47 47 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x03,0x00, 48 48 0x06,0x05,0x05,0x03,0x0B,0x0B,0x03,0x07,0x17,0x07,0x17,0x17,0x07,0x17,0x07,0x07, 49 49 0x07,0x07,0x0F,0x0F,0x6F,0x2F,0x6F,0x4F,0xBF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 50 50 0xFF,0xFF,0xFF,0xF8,0xE6,0xCC,0xB0,0x30,0x40,0x40,0x40,0x40,0x80,0x80,0x80,0x80, 51 51 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80, 52 52 0xC0,0x70,0x70,0x90,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xBF,0xC7, 53 53 0x77,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x01,0x01,0x01,0x01,0x01, 54 54 0x02,0x02,0x03,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 55 55 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 56 56 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0xD4,0x54,0x78,0x7B,0xFB,0xFD,0xFD, 57 57 0xFA,0xFA,0xFA,0xFA,0xDA,0xDE,0x36,0xAC,0x2D,0xAD,0xAC,0xAD,0xFF,0xFF,0x3F,0xAF, 58 58 0xAF,0xAF,0xA3,0x8B,0x8F,0xBF,0xBF,0xEF,0xDF,0xDF,0xEE,0xBE,0x9E,0xAE,0xA2,0xF2, 59 59 0x72,0xF2,0xFA,0xFA,0xFE,0xFE,0xFE,0xFA,0xFA,0xF2,0x72,0xF2,0x8A,0x82,0xFE,0x7E, 60 60 0xBA,0x02,0xFB,0xFF,0xBB,0x93,0xF3,0xC3,0xFB,0xFF,0x7F,0xFF,0xFD,0xFC,0xFD,0xFD, 61 61 0xFD,0xFD,0xFD,0xFD,0x7C,0x88,0xFC,0xFC,0xF4,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 62 62 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 63 63 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 64 64 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD7,0xA9,0xBE,0x1E,0xFE,0x7F,0x7F,0x7F, 65 65 0x7F,0x7F,0x7F,0xFF,0xFE,0x9A,0x9B,0xFD,0xFE,0x2B,0x3D,0xFF,0xD7,0x7C,0x7E,0x97, 66 66 0xBF,0x3D,0x7F,0x7B,0x7F,0xFF,0xFE,0x7E,0x7E,0x7E,0x7E,0x7E,0x7F,0x7F,0x5F,0x99, 67 67 0x5D,0x5D,0x7D,0x7F,0x7B,0x5B,0x7F,0x7D,0x5D,0xDD,0x99,0x49,0x45,0x61,0x3E,0xFE, 68 68 0xC1,0x81,0x7E,0x7F,0x41,0x4D,0x75,0x78,0x4B,0x7F,0x7F,0x7B,0x7F,0x7F,0x7F,0xFF, 69 69 0x7E,0x7E,0x7F,0x7B,0x4D,0xEF,0x67,0x71,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 70 70 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 71 71 }; 72 72 73 73 unsigned char BMP2[] = 74 74 { 75 75 //测试图片2,可爱的卡通少女 76 76 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 77 77 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 78 78 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 79 79 0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0x3F,0xBF,0xBF,0x9F,0xDF,0xDF,0xDF,0xDF,0xDF, 80 80 0xDF,0xDF,0xDF,0xDF,0x9F,0xBF,0xBF,0xBF,0x3F,0x7F,0x7F,0xFF,0xFF,0x7F,0x7F,0xFF, 81 81 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 82 82 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 83 83 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 84 84 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 85 85 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 86 86 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x1F,0x0F,0x0F,0x03,0x01,0x80, 87 87 0xE0,0xF0,0xFC,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 88 88 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFC,0xF8,0xF0,0xC0, 89 89 0x00,0x01,0x07,0x0F,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 90 90 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 91 91 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 92 92 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 93 93 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 94 94 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x83,0xF8,0xFF,0xF8,0xF0,0xF0,0x00,0x3C,0x03, 95 95 0xFD,0xFF,0xFF,0xFF,0x7F,0x3F,0xDF,0xEF,0xE7,0xC7,0xBF,0x7F,0xFF,0xFF,0xFF,0xFF, 96 96 0xFF,0xFF,0xFF,0x1F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF9,0xC3, 97 97 0x1F,0x70,0x80,0xF0,0xF8,0xFE,0xF8,0x03,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 98 98 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 99 99 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 100100 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 101101 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 102102 0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00, 103103 0xEF,0xDF,0x3F,0xE1,0xFC,0xFF,0x8F,0x07,0x07,0x8F,0xFF,0xFF,0xFE,0x1E,0xDC,0xDD, 104104 0xDD,0xDD,0x1D,0xFC,0xFF,0xFE,0x8E,0x04,0x05,0x8D,0xFD,0xFB,0xFB,0x07,0x9F,0xE3, 105105 0x00,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 106106 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 107107 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 108108 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 109109 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 110110 0xFF,0xFF,0xFF,0x0F,0xE0,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0x0E, 111111 0x7C,0xFD,0xF8,0xF9,0xF3,0xF7,0xE7,0xEF,0xEF,0x6F,0x0F,0x1F,0xDF,0xDE,0x9D,0x1D, 112112 0x1D,0x9D,0xDE,0xDF,0x0F,0x0F,0x6F,0xEF,0xEF,0xF7,0xF7,0xFB,0xF9,0xFC,0x79,0x80, 113113 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xE3,0x1F,0xFF,0xFF,0xFF,0xFF, 114114 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 115115 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 116116 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 117117 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 118118 0xFF,0xFF,0xFF,0xFC,0xE3,0xC7,0xC7,0x9F,0xBF,0xBF,0x3F,0x7F,0x7F,0x7F,0x7F,0x7F, 119119 0x3E,0xA0,0xC3,0xDF,0xC7,0x03,0x3B,0xF9,0x39,0x18,0x80,0x1E,0xBF,0xBF,0x39,0x46, 120120 0x46,0x39,0xBF,0xBF,0xBE,0x00,0x0E,0x3C,0x7D,0x3B,0x1B,0x87,0xEF,0x33,0x14,0x67, 121121 0x7F,0x7F,0x3F,0xBF,0xBF,0x9F,0x8F,0x8F,0x9F,0xDF,0xCF,0xE0,0xFC,0xFF,0xFF,0xFF, 122122 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 123123 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 124124 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 125125 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 126126 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 127127 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFC,0xFD,0x00,0x7B,0xFB,0x00,0xFB, 128128 0xFB,0x00,0xFB,0x7B,0x83,0xFC,0xFC,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 129129 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 130130 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 131131 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 132132 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 133133 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 134134 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 135135 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFF, 136136 0xFF,0xFE,0xFE,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 137137 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 138138 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 139139 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF, 140140 };
oled_bmp.c

11 #ifndef __BMP_H 22 #define __BMP_H 33 44 extern unsigned char BMP1[]; 55 extern unsigned char BMP2[]; 66 77 88 #endif
oled_bmp.h

1 1 #include "oled_font.h" 2 2 3 3 /* 4 4 此文件用来存放汉字的点阵和字符点阵 5 5 必须在.h文件声明 6 6 */ 7 7 8 8 /* 字模选项 9 9 阴码 10 10 列行试 11 11 点阵32 12 12 索引 随便 13 13 取模逆向 14 14 输出数制 十六进制数 15 15 C51格式 16 16 段前缀 无 17 17 段后缀 无 18 18 注释前缀 " 19 19 注释后缀 ", 20 20 数据前缀 0x 21 21 数据后缀 , 22 22 行前缀 无 23 23 行后缀 , 24 24 行尾缀 , 25 25 */ 26 26 27 27 //常用ASCII表 28 28 //偏移量32 29 29 //ASCII字符集 30 30 //偏移量32 31 31 //大小:12*6 32 32 /************************************6*8的点阵************************************/ 33 33 const unsigned char F6x8[][6] = 34 34 { 35 35 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// sp 36 36 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,// ! 37 37 0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// " 38 38 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// # 39 39 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,// $ 40 40 0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// % 41 41 0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// & 42 42 0x00, 0x00, 0x05, 0x03, 0x00, 0x00,// ' 43 43 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// ( 44 44 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// ) 45 45 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// * 46 46 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// + 47 47 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// , 48 48 0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// - 49 49 0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// . 50 50 0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// / 51 51 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0 52 52 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,// 1 53 53 0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// 2 54 54 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// 3 55 55 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// 4 56 56 0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// 5 57 57 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6 58 58 0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// 7 59 59 0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// 8 60 60 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// 9 61 61 0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// : 62 62 0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ; 63 63 0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// < 64 64 0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// = 65 65 0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// > 66 66 0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// ? 67 67 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// @ 68 68 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// A 69 69 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// B 70 70 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// C 71 71 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// D 72 72 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// E 73 73 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// F 74 74 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// G 75 75 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// H 76 76 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// I 77 77 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// J 78 78 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// K 79 79 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// L 80 80 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// M 81 81 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// N 82 82 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// O 83 83 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// P 84 84 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q 85 85 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// R 86 86 0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// S 87 87 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// T 88 88 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// U 89 89 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// V 90 90 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// W 91 91 0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// X 92 92 0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// Y 93 93 0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// Z 94 94 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// [ 95 95 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// 55 96 96 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ] 97 97 0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^ 98 98 0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// _ 99 99 0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// ' 100100 0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a 101101 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b 102102 0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c 103103 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d 104104 0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e 105105 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f 106106 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g 107107 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h 108108 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i 109109 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j 110110 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k 111111 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l 112112 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m 113113 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n 114114 0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o 115115 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p 116116 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q 117117 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r 118118 0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s 119119 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t 120120 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u 121121 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v 122122 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w 123123 0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x 124124 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y 125125 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// z 126126 0x14, 0x14, 0x14, 0x14, 0x14, 0x14,// horiz lines 127127 }; 128128 /****************************************8*16的点阵************************************/ 129129 const unsigned char F8X16[]= 130130 { 131131 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0 132132 0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//! 1 133133 0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//" 2 134134 0x40,0xC0,0x78,0x40,0xC0,0x78,0x40,0x00,0x04,0x3F,0x04,0x04,0x3F,0x04,0x04,0x00,//# 3 135135 0x00,0x70,0x88,0xFC,0x08,0x30,0x00,0x00,0x00,0x18,0x20,0xFF,0x21,0x1E,0x00,0x00,//$ 4 136136 0xF0,0x08,0xF0,0x00,0xE0,0x18,0x00,0x00,0x00,0x21,0x1C,0x03,0x1E,0x21,0x1E,0x00,//% 5 137137 0x00,0xF0,0x08,0x88,0x70,0x00,0x00,0x00,0x1E,0x21,0x23,0x24,0x19,0x27,0x21,0x10,//& 6 138138 0x10,0x16,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//' 7 139139 0x00,0x00,0x00,0xE0,0x18,0x04,0x02,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x40,0x00,//( 8 140140 0x00,0x02,0x04,0x18,0xE0,0x00,0x00,0x00,0x00,0x40,0x20,0x18,0x07,0x00,0x00,0x00,//) 9 141141 0x40,0x40,0x80,0xF0,0x80,0x40,0x40,0x00,0x02,0x02,0x01,0x0F,0x01,0x02,0x02,0x00,//* 10 142142 0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x1F,0x01,0x01,0x01,0x00,//+ 11 143143 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xB0,0x70,0x00,0x00,0x00,0x00,0x00,//, 12 144144 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,//- 13 145145 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//. 14 146146 0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x04,0x00,0x60,0x18,0x06,0x01,0x00,0x00,0x00,/// 15 147147 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,//0 16 148148 0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//1 17 149149 0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,//2 18 150150 0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,//3 19 151151 0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,//4 20 152152 0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,//5 21 153153 0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,//6 22 154154 0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,//7 23 155155 0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,//8 24 156156 0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00,//9 25 157157 0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,//: 26 158158 0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,//; 27 159159 0x00,0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x00,//< 28 160160 0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x00,//= 29 161161 0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x20,0x10,0x08,0x04,0x02,0x01,0x00,//> 30 162162 0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,//? 31 163163 0xC0,0x30,0xC8,0x28,0xE8,0x10,0xE0,0x00,0x07,0x18,0x27,0x24,0x23,0x14,0x0B,0x00,//@ 32 164164 0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20,//A 33 165165 0x08,0xF8,0x88,0x88,0x88,0x70,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x11,0x0E,0x00,//B 34 166166 0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,//C 35 167167 0x08,0xF8,0x08,0x08,0x08,0x10,0xE0,0x00,0x20,0x3F,0x20,0x20,0x20,0x10,0x0F,0x00,//D 36 168168 0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x20,0x23,0x20,0x18,0x00,//E 37 169169 0x08,0xF8,0x88,0x88,0xE8,0x08,0x10,0x00,0x20,0x3F,0x20,0x00,0x03,0x00,0x00,0x00,//F 38 170170 0xC0,0x30,0x08,0x08,0x08,0x38,0x00,0x00,0x07,0x18,0x20,0x20,0x22,0x1E,0x02,0x00,//G 39 171171 0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x20,0x3F,0x21,0x01,0x01,0x21,0x3F,0x20,//H 40 172172 0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//I 41 173173 0x00,0x00,0x08,0x08,0xF8,0x08,0x08,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,0x00,//J 42 174174 0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,//K 43 175175 0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x20,0x20,0x20,0x20,0x30,0x00,//L 44 176176 0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,//M 45 177177 0x08,0xF8,0x30,0xC0,0x00,0x08,0xF8,0x08,0x20,0x3F,0x20,0x00,0x07,0x18,0x3F,0x00,//N 46 178178 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x10,0x20,0x20,0x20,0x10,0x0F,0x00,//O 47 179179 0x08,0xF8,0x08,0x08,0x08,0x08,0xF0,0x00,0x20,0x3F,0x21,0x01,0x01,0x01,0x00,0x00,//P 48 180180 0xE0,0x10,0x08,0x08,0x08,0x10,0xE0,0x00,0x0F,0x18,0x24,0x24,0x38,0x50,0x4F,0x00,//Q 49 181181 0x08,0xF8,0x88,0x88,0x88,0x88,0x70,0x00,0x20,0x3F,0x20,0x00,0x03,0x0C,0x30,0x20,//R 50 182182 0x00,0x70,0x88,0x08,0x08,0x08,0x38,0x00,0x00,0x38,0x20,0x21,0x21,0x22,0x1C,0x00,//S 51 183183 0x18,0x08,0x08,0xF8,0x08,0x08,0x18,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//T 52 184184 0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//U 53 185185 0x08,0x78,0x88,0x00,0x00,0xC8,0x38,0x08,0x00,0x00,0x07,0x38,0x0E,0x01,0x00,0x00,//V 54 186186 0xF8,0x08,0x00,0xF8,0x00,0x08,0xF8,0x00,0x03,0x3C,0x07,0x00,0x07,0x3C,0x03,0x00,//W 55 187187 0x08,0x18,0x68,0x80,0x80,0x68,0x18,0x08,0x20,0x30,0x2C,0x03,0x03,0x2C,0x30,0x20,//X 56 188188 0x08,0x38,0xC8,0x00,0xC8,0x38,0x08,0x00,0x00,0x00,0x20,0x3F,0x20,0x00,0x00,0x00,//Y 57 189189 0x10,0x08,0x08,0x08,0xC8,0x38,0x08,0x00,0x20,0x38,0x26,0x21,0x20,0x20,0x18,0x00,//Z 58 190190 0x00,0x00,0x00,0xFE,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x7F,0x40,0x40,0x40,0x00,//[ 59 191191 0x00,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x38,0xC0,0x00,//\ 60 192192 0x00,0x02,0x02,0x02,0xFE,0x00,0x00,0x00,0x00,0x40,0x40,0x40,0x7F,0x00,0x00,0x00,//] 61 193193 0x00,0x00,0x04,0x02,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//^ 62 194194 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,//_ 63 195195 0x00,0x02,0x02,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//` 64 196196 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x19,0x24,0x22,0x22,0x22,0x3F,0x20,//a 65 197197 0x08,0xF8,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x11,0x20,0x20,0x11,0x0E,0x00,//b 66 198198 0x00,0x00,0x00,0x80,0x80,0x80,0x00,0x00,0x00,0x0E,0x11,0x20,0x20,0x20,0x11,0x00,//c 67 199199 0x00,0x00,0x00,0x80,0x80,0x88,0xF8,0x00,0x00,0x0E,0x11,0x20,0x20,0x10,0x3F,0x20,//d 68 200200 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x22,0x22,0x22,0x22,0x13,0x00,//e 69 201201 0x00,0x80,0x80,0xF0,0x88,0x88,0x88,0x18,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//f 70 202202 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00,//g 71 203203 0x08,0xF8,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//h 72 204204 0x00,0x80,0x98,0x98,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//i 73 205205 0x00,0x00,0x00,0x80,0x98,0x98,0x00,0x00,0x00,0xC0,0x80,0x80,0x80,0x7F,0x00,0x00,//j 74 206206 0x08,0xF8,0x00,0x00,0x80,0x80,0x80,0x00,0x20,0x3F,0x24,0x02,0x2D,0x30,0x20,0x00,//k 75 207207 0x00,0x08,0x08,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,//l 76 208208 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x20,0x3F,0x20,0x00,0x3F,0x20,0x00,0x3F,//m 77 209209 0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x3F,0x21,0x00,0x00,0x20,0x3F,0x20,//n 78 210210 0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x00,//o 79 211211 0x80,0x80,0x00,0x80,0x80,0x00,0x00,0x00,0x80,0xFF,0xA1,0x20,0x20,0x11,0x0E,0x00,//p 80 212212 0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x00,0x00,0x0E,0x11,0x20,0x20,0xA0,0xFF,0x80,//q 81 213213 0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x20,0x20,0x3F,0x21,0x20,0x00,0x01,0x00,//r 82 214214 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x33,0x24,0x24,0x24,0x24,0x19,0x00,//s 83 215215 0x00,0x80,0x80,0xE0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x00,0x00,//t 84 216216 0x80,0x80,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x1F,0x20,0x20,0x20,0x10,0x3F,0x20,//u 85 217217 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x00,0x01,0x0E,0x30,0x08,0x06,0x01,0x00,//v 86 218218 0x80,0x80,0x00,0x80,0x00,0x80,0x80,0x80,0x0F,0x30,0x0C,0x03,0x0C,0x30,0x0F,0x00,//w 87 219219 0x00,0x80,0x80,0x00,0x80,0x80,0x80,0x00,0x00,0x20,0x31,0x2E,0x0E,0x31,0x20,0x00,//x 88 220220 0x80,0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,0x81,0x8E,0x70,0x18,0x06,0x01,0x00,//y 89 221221 0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x21,0x30,0x2C,0x22,0x21,0x30,0x00,//z 90 222222 0x00,0x00,0x00,0x00,0x80,0x7C,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x3F,0x40,0x40,//{ 91 223223 0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,//| 92 224224 0x00,0x02,0x02,0x7C,0x80,0x00,0x00,0x00,0x00,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,//} 93 225225 0x00,0x06,0x01,0x01,0x02,0x02,0x04,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~ 94 226226 }; 227227 228228 //宋体5号 229229 #define hz16_num 54 230230 const struct typFNT_GB162 hz16[] = { 231231 0x40,0x40,0x42,0xCC,0x00,0x08,0x28,0x48,0x89,0x0E,0xC8,0x38,0x08,0x08,0x00,0x00, 232232 0x00,0x40,0x20,0x1F,0x20,0x50,0x48,0x44,0x42,0x41,0x42,0x44,0x58,0x40,0x40,0x00,"这",0, 233233 /* (16 X 16 , 宋体 )*/ 234234 0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00, 235235 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,"一",1, 236236 /* (16 X 16 , 宋体 )*/ 237237 0x40,0x40,0x40,0xFF,0x20,0x20,0x20,0x04,0x04,0xFC,0x04,0x04,0x04,0xFC,0x00,0x00, 238238 0x00,0x00,0x00,0x1F,0x08,0x84,0x42,0x20,0x18,0x07,0x40,0x80,0x40,0x3F,0x00,0x00,"切",2, 239239 /* (16 X 16 , 宋体 )*/ 240240 0x00,0x00,0x00,0x7E,0x42,0x42,0x42,0xC2,0x42,0x42,0x42,0x7E,0x00,0x00,0x00,0x00, 241241 0x80,0x40,0x30,0x0E,0x10,0x20,0x40,0x7F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00,"足",3, 242242 /* (16 X 16 , 宋体 )*/ 243243 0x10,0xCC,0x4B,0x48,0xC8,0x08,0xF8,0x00,0x90,0x8C,0x57,0xA4,0x14,0x0C,0x00,0x00, 244244 0x00,0x0F,0x04,0x44,0x8F,0x40,0x3F,0x00,0x88,0x84,0x46,0x29,0x11,0x0D,0x03,0x00,"够",4, 245245 /* (16 X 16 , 宋体 )*/ 246246 0x00,0x02,0x02,0x02,0x02,0x02,0x02,0xE2,0x22,0x12,0x0A,0x06,0x02,0x00,0x00,0x00, 247247 0x00,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,"了",5, 248248 /* (16 X 16 , 宋体 )*/ 249249 };
oled_font.c

1 1 #ifndef __OLEDFONT_H 2 2 #define __OLEDFONT_H 3 3 4 4 #define hz16_num 54 //汉字个数 5 5 6 6 struct typFNT_GB162 //汉字用的结构体 7 7 { 8 8 char Msk[32]; 9 9 unsigned char Index[2]; 1010 unsigned char num; 1111 }; 1212 extern const struct typFNT_GB162 hz16[]; 1313 extern const unsigned char F6x8[][6]; 1414 extern const unsigned char F8X16[]; 1515 1616 1717 #endif
oled_font.h

1 1 #include "sys.h" 2 2 #include "delay.h" 3 3 #include "usart.h" 4 4 #include "oled_bmp.h" 5 5 #include "oled_font.h" 6 6 #include "oled.h" 7 7 8 8 int main(void) 9 9 { 1010 delay_init(); 1111 OLED_Init(); 1212 1313 //OLED_ShowString(0,0,"ABCDEFG",8); 1414 //OLED_ShowString(0,1,"ABCDEFG",8); 1515 1616 OLED_ShowString(0,0,"ABCDEFG",16); 1717 OLED_ShowString(0,2,"这一切足够了",16); 1818 1919 //OLED_Draw12864BMP(BMP1); 2020 while(1) 2121 { 2222 2323 } 2424 }
main.c
字模工具使用:
从百度网盘中下载了PCtoLCD2002以后直接解压运行exe文件就可以使用了
首先在模式中选择字符模式

在字模选项中按下面图片的样式填写

1 1 /* 2 2 阴码 3 3 列行试 4 4 点阵32 5 5 索引 随便 6 6 取模逆向 7 7 输出数制 十六进制数 8 8 C51格式 9 9 段前缀 无 1010 段后缀 无 1111 注释前缀 " 1212 注释后缀 ", 1313 数据前缀 0x 1414 数据后缀 , 1515 行前缀 无 1616 行后缀 , 1717 行尾缀 , 1818 */
字模选项

设置好之后我们在下方的空格栏填入自己想要显示的字符

点击生成字模就可以生成我们需要的编码

1 1 0x00,0x04,0x04,0xF4,0x54,0x54,0x54,0x5F,0x54,0x54,0x54,0xF4,0x04,0x04,0x00,0x00, 2 2 0x10,0x10,0x90,0x5F,0x35,0x15,0x15,0x15,0x15,0x15,0x35,0x5F,0x90,0x10,0x10,0x00,"真",0, 3 3 /* (16 X 16 , 宋体 )*/ 4 4 0x00,0xF8,0x0C,0x0B,0x08,0x08,0xF8,0x40,0x30,0x8F,0x08,0x08,0x08,0xF8,0x00,0x00, 5 5 0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,0x43,0x80,0x40,0x3F,0x00,0x00,"的",1, 6 6 /* (16 X 16 , 宋体 )*/ 7 7 0x00,0x40,0x20,0x1E,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0x00,0x00,0x00, 8 8 0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFF,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,"牛",2, 9 9 /* (16 X 16 , 宋体 )*/ 1010 0x00,0x00,0xF8,0x08,0x88,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x28,0x18,0x00,0x00, 1111 0x80,0x60,0x1F,0x80,0x80,0x43,0x44,0x28,0x10,0x28,0x44,0x43,0x80,0x80,0x80,0x00,"皮",3, 1212 /* (16 X 16 , 宋体 )*/
真的牛皮

将编码放在oled_font.c中保存就可以在OLED_ShowString中使用我们需要的字符了
例如OLED_ShowString(0,2,"这一切足够了",16);
(这里我没有用上图的"真的牛皮",我显示的是"这一切足够了")

结束啦
想要显示图片也可以使用这个工具,这里不多介绍了
图片必须是128*64的二值bmp图片,不然直接导入生成显示的图片会有些问题
2月4日,今天也是充满希望的一天
