STM32软件模拟iic驱动oled(显示汉字,图片)(二)

在上一篇介绍的软件模拟iic及iic源码后,今天来实现显示汉字与图片以及各个函数的介绍。

一.函数介绍及使用

1.显示字符

OLED_ShowStr(unsigned char x, unsigned char y, unsigned char ch[], unsigned char TextSize)

x,y(所在页数)为显示字符的初始坐标,ch[]为需要显示的字符串,直接“hello world”填入即可,TextSize为字号可以填入1与2,当填入1时,函数调用的为codetab.h中的6*8点阵数组,当填入2时调用的是8*16点阵数组。所谓6*8,8*16就是在oled上占格的大小,oled分辨率为64*128,所以在应用时要计算好格数,以免oled上显示不全

OLED_ShowStr(0,0,"safasf124",2);

 

 

2.显示汉字

OLED_ShowCN(unsigned char x, unsigned char y, unsigned char N)

x,y(所在页数)为字符的起始坐标,N为汉字的模在16*16点阵中的索引,每两行为一个索引。

OLED_ShowCN(49,0 ,6);
OLED_ShowCN(65, 0,7);
OLED_ShowCN(81,0 ,8);

 

 

3.显示BMP图片

OLED_DrawBMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char BMP[])

x0,y0(所在页数)为起始点坐标,x1,y1(所在页数)为图片终点坐标,BMP[]为bmp图片模的数组。

unsigned char ssss[]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0xA0,0x00,0x10,0x08,0x08,0x00,0x44,0x34,
0x04,0x80,0x80,0x00,0x84,0x04,0x04,0x00,0x00,0x08,0x00,0x10,0x00,0x20,0x40,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x20,0x08,0x02,0x11,0x20,0x80,0x61,0xD2,0xE8,0xF4,0xFA,0xFC,0xFD,0x7E,
0x3E,0x1E,0x8E,0xDE,0xF6,0xEE,0x7F,0x7D,0x7C,0x7A,0xF4,0xE8,0x91,0x40,0x00,0x00,
0x21,0x24,0x18,0xC0,0x00,0x00,0xC0,0x08,0x18,0x00,0x00,0x40,0x60,0x20,0xE0,0x20,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xA0,0x68,0xF8,0x90,0x18,0xD4,0x16,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x04,0x0C,0x00,0x00,0x88,0x7C,0xD8,0x48,
0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x08,0x00,0x00,0x24,0xAC,0x80,0xE8,0x86,
0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0x80,0x80,0xC0,0x40,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x90,0xC0,0x4F,0x14,0xB0,0x7C,0xC0,0x00,0x00,
0x00,0x3F,0x00,0x00,0x80,0x80,0x00,0x73,0x1C,0x3F,0x7F,0x7F,0xFB,0xFD,0xFE,0xFA,
0xFE,0x9B,0xC3,0xC3,0xF3,0x7A,0x7F,0x7F,0x7E,0x7F,0x3F,0x3F,0x3F,0x8C,0x33,0x00,
0x80,0x00,0x00,0xC0,0x00,0x00,0x33,0x78,0x0C,0x01,0x00,0x10,0x18,0x0E,0x0B,0x08,
0x08,0x00,0x00,0x00,0x00,0x20,0x20,0x2C,0x16,0x0F,0x18,0x16,0x48,0x45,0x3F,0x09,
0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x0F,0x30,0x04,0x04,0x06,0x2B,0x2E,0x2B,0x1D,
0x11,0x21,0x00,0x00,0x00,0x00,0x00,0x0E,0x18,0x02,0x00,0x04,0x04,0x03,0xFF,0x02,
0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x1D,0x01,0x00,0x04,0x0C,0x18,0x10,
0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x40,0x52,0x7E,0x12,0x11,0x10,0x00,0x00,
0x00,0x00,0x01,0x04,0x10,0x23,0x0A,0x10,0x11,0x26,0x89,0x01,0x14,0x2C,0x2C,0x1C,
0x5C,0x5D,0x54,0x14,0x55,0x57,0x0B,0x2B,0xAB,0x93,0x4B,0x05,0x42,0x11,0x88,0x45,
0x20,0x08,0x06,0x00,0x00,0x00,0x10,0x20,0x1C,0x00,0x00,0x20,0x1C,0x18,0x20,0x3C,
0x08,0x10,0x00,0x18,0x24,0x24,0x30,0x00,0x2C,0x24,0x10,0x00,0x20,0x20,0x00,0x00,
0x00,0x00,0x00,0x00,0x18,0x24,0x24,0x18,0x00,0x24,0x24,0x14,0x00,0x3C,0x2C,0x24,
0x20,0x1C,0x1C,0x20,0x1C,0x08,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x1C,
0x00,0x1C,0x10,0x3C,0x00,0x00,0x00,0x04,0x30,0x0C,0x00,0x3C,0x2C,0x24,0x00,0x04,
0x04,0x38,0x00,0x2C,0x24,0x00,0x3C,0x00,0x04,0x3C,0x04,0x04,0x08,0x0C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x04,0x01,0x01,0x09,0x09,
0x01,0x00,0x02,0x02,0x00,0x00,0x09,0x08,0x00,0x04,0x04,0x02,0x00,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,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
OLED_DrawBMP(0,0,128,5, ssss);

 

 

二.汉字与图片的取模

1.汉字取模

以PCtoLCD2002为例

 设置如图所示,

然后在此处输入需要显示的字即可生成字模

 

在下方将会显示各个汉字对应的字模,将字模复制到16*16的点阵数组中利用索引引用即可显示

 2.BMP图片取模

使用Ima2Lcd,将图片导入,设置为水平扫描(其实不管怎样扫描都一样),因为oled分辨率为64*128,所以要设置最大宽度和高度不超过这两个值, 还要注意输出图像的大小(正下方有写),这个将作为输出图像的结束坐标。

导出图片之后,将图片在取模工具中打开,设置模式为图形模式,

然后将字模复制,在代码中定义图片的字模数组,调用函数即可。

 

  • 9
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值