STM32CubeMX驱动OLED屏模块_IIC

1. IIC-OLED模块简介

IIC-OLED模块是一种高品质、高性能的显示屏,采用了有机发光二极管(OLED)技术,通过四个针脚控制电源和信号来实现对显示内容的控制。该模块具有以下特点:

  • 高分辨率和色彩深度:该OLED模块具有高达128x64像素的分辨率和16位色彩深度,可以呈现出细腻、清晰的画面效果。
  • 显示角度广泛:该模块具有178度的广角度,可以在各种角度下提供清晰的图像显示,同时也适用于不同的应用场景。
  • 低功耗:OLED技术具有自发光特性,因此相比其他类型的显示屏,该模块具有更低的功耗,延长了电池寿命。
  • 高可靠性:该模块采用了高品质的材料和工艺,严格把控生产流程,保证了产品的稳定性和可靠性,适用于各种环境下的使用。
  • 简单易用:该模块通过四个针脚进行控制,接口简单,易于集成到各种设备中。

总之,IIC-OLED模块是一种高品质、高性能的显示屏,具有广泛的应用前景。

OLED正反面实物图:
在这里插入图片描述
在这里插入图片描述

2. 移植源码到工程

提前创建一个文件夹,用来存放工程(文件夹路径建议全英文)
打开STM32CubeMX,选择芯片(这里选择STM32F103ZET6),配置Debug,ST-LINK选择Serial Wire。
在这里插入图片描述
使能HSE和LSE,配置时钟频率为72M。
在这里插入图片描述
在这里插入图片描述
配置硬件IIC,这里使能IIC1,对应STM32F103ZET6引脚为PB6和PB7。
在这里插入图片描述
创建工程名,配置编译环境。
在这里插入图片描述
这里用keil5编译,因此选择MDK-ARM-V5。
点击配置代码生成器并生成代码。
在这里插入图片描述
点击GENERATE CODE即可生成代码。
打开工程存放的位置。
移植oled相关的.h和.c文件到工程中。

相关文件提取方式(内含取字模软件PCtoLCD2002完美版):
关注微信公众号:码上芯路人
私信:模块驱动

说明:oled.h中是一些宏定义和oled相关的函数声明,oled.c中是oled相关函数的定义,oledfont.h是一些字库,可以使用取字模软件生成字库代码添加到oledfont.h中使用。
将oled.h和oledfont.h文件复制到工程文件目录Oled_test\Core\Inc中
在这里插入图片描述
将oled.c文件复制到工程文件目录Oled_test\Core\Src中
在这里插入图片描述
双击打开Oled_test\MDK-ARM目录中UVPROJX文件,按下图提示操作。
在这里插入图片描述
在这里插入图片描述
编译后oled.h和oledfont.h将被包含在oled.c目录下。
在这里插入图片描述
下面介绍取字模软件的使用和驱动函数。

3. 取字模软件的使用

3.1 汉字取模

  1. 打开取模软件PCtoLCD2002,然后模式选择字符模式,然后点击选项。
    在这里插入图片描述

  2. 汉字取模设置如下,点击确定。
    在这里插入图片描述
    ①:阴码表示点亮的像素点对应的二进制值为0,而未点亮的像素点对应的二进制值为1;而阳码则恰好相反,即点亮的像素点对应的二进制值为1,未点亮的像素点对应的二进制值为0。具体参考OLED屏幕的数据手册。
    ②:不同的取模方式对应不同的屏幕尺寸,如果取模方式与屏幕尺寸能很好对应,那么就会减小读写次数,提高转换效率,这里使用的是128×64的屏幕,因此选择适用于列数较多的取模方式->列行式。
    ③:在128×64OLED屏中,为了能使显示的汉字辨识度较高,采用16×16像素大小(8×8基本认不出是什么汉字),那么就需要256个二进制数来点亮这个16×16区域中对应汉字的像素点(每个二进制数点亮一个像素点),由于生成的字模数据,每个数据占用8位,一个汉字有256÷8=32个数据,这里点阵为16即生成字模一行16个数据,共两行。索引文件就是保存当前生成字模的数据后的文件,文件内容是汉字和对应的序号,文件名默认为_index.txt。
    ④:取模走向参考OLED屏幕的数据手册。
    ⑤:16进制数能更好的表示位数。
    ⑥:选择输出索引文件。
    ⑦:液晶色彩有白-黑,蓝-黑等。像素大小是指在液晶仿真界面上,每个字符的宽度为8个像素点
    ⑧:C51生成适用于C语言的数据,A51生成适用于汇编语言的数据。
    ⑨:这里设置一些注释等格式,复制数据到汉字数组中后方便操作。

  3. 设置好后,在文字框输入“比心”生成字模并复制到汉字数组Hzk中。
    在这里插入图片描述

//部分汉字
const unsigned char Hzk[][32] =
{
   
   
    {
   
   0x00,0x00,0xFE,0x40,0x40,0x40,0x40,0x00,0xFF,0x80,0x40,0x20,0x10,0x08,0x00,0x00},
    {
   
   0x00,0x00,0x7F,0x20,0x20,0x10,0x10,0x00,0x3F,0x40,0x40,0x40,0x40,0x40,0x78,0x00},/*"比",0*/
    /* (16 X 16 , 宋体 )*/

    {
   
   0x00,0x00,0x80,0x00,0x00,0xE0,0x02,0x04,0x18,0x00,0x00,0x00,0x40,0x80,0x00,0x00},
    {
   
   0x10,0x0C,0x03,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x40,0x78,0x00,0x01,0x0E,0x00},/*"心",1*/
    /* (16 X 16 , 宋体 )*/
};

3.2 图片取模

  1. 打开取模软件,先选择图片模式,然后点击选项
    在这里插入图片描述

  2. 图片设置如下,点击确定。
    在这里插入图片描述

  3. 使用系统自带的绘图软件绘制一张128×64图片(点击文件->图像属性->宽高分别设置为128和64),点击另存为->BMP格式。
    在这里插入图片描述

  4. 在取模软件中打开绘制的BMP文件并点击生成字模。
    在这里插入图片描述
    在这里插入图片描述

  5. 复制生成的字模到图片数组BMP中。

//一张图片
uint8_t BMP[][1024] =
{
   
   
    {
   
   
        0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
        0x80,0x80,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,
        0xC0,0x80,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,0x80,0x80,0xC0,0xC0,0xC0,
        0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0x80,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,0xE0,0xF0,0xF8,0xFC,0xFE
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值