SSD1315驱动的OLED

屏幕参数:
尺寸:0.96寸
分辨率:128*64
通信方式:I2C
模块内部驱动芯片:SSD1315
管脚定义:GND、VCC、SCK、SDA

SSD1315 MCU 接口包含 8 个数据引脚和 5 个控制引脚。 下表总结了不同接口模式下的引脚分配。 可以通过BS [2:0]引脚上的硬件选择来设置不同的MCU模式。
在这里插入图片描述
I2C对应的BS [2:0]=010。
在这里插入图片描述

I2C 通信接口

  1. 从机地址位 SA0
  2. I2C 总线数据信号 SDA(用于输出的 SDAOUT / D2 和用于输入的 SDAIN / D1)
  3. I2C 总线时钟信号SCL组成。
    RES用于设备初始化。
1. 从机地址位 SA0在这里插入图片描述

"SA0"为从机地址扩展位,SS1315可以选择“ 0111100”或“ 0111101”作为从地址。D / C#引脚用作从机地址选择的 SA0。
“ R / W#”位用于确定 I2C 总线接口的操作模式。 R / W#= 1,读模式。 R / W#= 0,写模式。

2. I2C 总线数据信号 SDA
3. I2C 总线时钟信号 SCL

初始化

OLED的分辨率为12864可以看做由12864个LED组成,每行有128个LED共64行,控制LED的显示内容其实就是控制第几行第几列的LED是亮还是灭。一定会有“一段空间”来控制LED是亮还是灭,我们将LED人为的拆成两部分:

  1. 128*64个LED构成的画面
  2. 128*64的表格
    表格里的数填1代表LED亮,0代表LED灭。
    无论想要在OLED上显示字符、汉字还是图像,它们本质上都是由点阵组成的,那就可以通过点阵的亮暗来显示任何内容。
    在这里插入图片描述
    从左到右:
    S:START
    Slave Address:b7_b0中的写模式:0111100(0x78)
    ACK:回复一个应答信号
    control bite:(CO为0代表后面发送的是数据,D/C取0代表后面发送的是命令,取1表示后面发送的是数据。我们这里要写命令∴后面发送的CO=0,DC=0)
    写命令:0 0 000000
    写数据:0 1 000000
    ACK:回复一个应答信号
    data_byte_cmd:发送命令具体是什么
    ACK:回复一个应答信号
    STOP:停止信号
    在这里插入图片描述
    在这里插入图片描述

PAGE0-PAGE8:8bit*8page=64bit
col0-col127:128bit
一个page刚好对于一个字节,第D0位数据写入最上面一行,第D7位数据写入最下面一行。举例:ox08→bit7-bit0:0000_1000对应在屏幕上的大致分区:
在这里插入图片描述

如果接下去再写一个0x08是填到PAGE1_col0上,还是填到PAGE0_col1上呢?这个由SSD1315的寻址模式决定。SSD1315有3种寻址模式:水平寻址、垂直寻址、页寻址
(这里选用页寻址模式)
水平寻址:
在这里插入图片描述
垂直寻址:
在这里插入图片描述

页寻址:
在这里插入图片描述
在页寻址模式,在RAM进行读写后会自动移向下一个COL,用户必须设置新PAGE和COL地址才能访问下一个PAGE的内容。移动方向如图所示。先确定PAGE,再确定COL,最后写入数据。
(写命令下:)
设置寻址模式:
在这里插入图片描述
设置初始PAGE:
在这里插入图片描述
设置初始COL:(起始地址低四位和高四位)
在这里插入图片描述
(写数据下:)
在确定要写入的行列以后,按照要显示的图样控制oled亮灭,0X00全亮 0xff全灭。

  • 10
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
对于ESP8266与SSD1315的组合,您可能想了解如何使用ESP8266控制SSD1315显示屏的相关信息。为了使用ESP8266与SSD1315进行通信,您可以使用SPI接口。 首先,您需要将ESP8266与SSD1315连接。连接是通过将以下引脚连接在一起完成的: - ESP8266的SPI引脚(如D5、D6和D7)连接到SSD1315的相应SPI引脚(如CLK、MOSI和CS)。 - ESP8266的GPIO引脚(如D0或D1)连接到SSD1315的RST引脚,以便进行复位操作。 - ESP8266的GPIO引脚(如D4)连接到SSD1315的DC引脚,以便指定数据或命令。 其次,您需要在ESP8266上安装相应的库。对于SSD1315显示屏,您可以使用Adafruit SSD1306库,该库支持多种OLED显示屏,并且兼容SSD1315。您可以在Arduino IDE中通过以下步骤安装该库: 1. 打开Arduino IDE。 2. 转到“工具”>“库管理器”菜单。 3. 在库管理器中搜索“Adafruit SSD1306”。 4. 找到适用于ESP8266的Adafruit SSD1306库并单击“安装”。 安装完库后,您可以使用以下代码示例来控制SSD1315显示屏: ```cpp #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define OLED_RESET D1 // RST引脚连接到D1 Adafruit_SSD1306 display(-1); // 使用默认的I2C地址(0x3C) void setup() { display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // 初始化显示屏 display.clearDisplay(); // 清除显示屏内容 } void loop() { display.setTextSize(1); display.setTextColor(WHITE); display.setCursor(0, 0); display.println("Hello, World!"); // 在(0,0)的位置打印文本 display.display(); // 更新显示屏内容 delay(1000); // 等待1秒 } ``` 这是一个简单的示例,它在SSD1315上显示“Hello, World!”文本。您可以根据需要修改代码以满足您的要求。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值