[STM32F3] SSD1306 OLED驱动芯片 详细介绍(使用I2C)

[复制链接]
 楼主| 喂什么玩意 发表于 2023-8-25 17:13 | 显示全部楼层
设置起始/终止列地址 (21H+A[6:0]+B[6:0])
  这是一条三字节指令,由A[6:0]指定起始列地址,B[6:0]指定终止列地址。
  同样,由于前1位值无规定,所以:A[6:0] 和 B[6:0] 从 00H~7FH 的取值指定起始/终止列地址为 0~127。
  这条指仅在水平/垂直模式下有效,用来设置水平/垂直模式的初始列和结束列
 楼主| 喂什么玩意 发表于 2023-8-25 17:13 | 显示全部楼层
设置起始/终止页地址 (22H+A[2:0]+B[2:0])
  这是一条三字节指令,由A[2:0]指定起始也地址,B[2:0]指定终止页地址。
  由于前5位值无规定,所以:A[2:0]和B[2:0]从 00H~07H 的取值指定起始/终止页地址为 0~7。
  这条指仅在水平/垂直模式下有效,用来设置水平/垂直模式的初始页和结束页
 楼主| 喂什么玩意 发表于 2023-8-25 17:13 | 显示全部楼层
设置起始/终止页地址 (22H+A[2:0]+B[2:0])
  这是一条三字节指令,由A[2:0]指定起始也地址,B[2:0]指定终止页地址。
  由于前5位值无规定,所以:A[2:0]和B[2:0]从 00H~07H 的取值指定起始/终止页地址为 0~7。
  这条指仅在水平/垂直模式下有效,用来设置水平/垂直模式的初始页和结束页
 楼主| 喂什么玩意 发表于 2023-8-25 17:13 | 显示全部楼层
设置起始列地址低位 (00H~0FH)
  这是一条单字节指令。
  高4位恒定为0H,低4位为要设置的起始列地址的低4位。这条指令仅用于页寻址模式。
 楼主| 喂什么玩意 发表于 2023-8-25 17:14 | 显示全部楼层
设置起始列地址高位 (10H~1FH)
  这是一条单字节指令
  高4位恒定为1H,低4位为要设置的起始列地址的高4位。这条指令仅用于页寻址模式。

 楼主| 喂什么玩意 发表于 2023-8-25 17:14 | 显示全部楼层
设置页地址 (B0H~B7H)
  这是一条单字节指令
  高4位恒定为BH,第5位规定为0,低3位用于设置页地址,从 B0H~B7H 分别设置起始页为 0~7。这条指令仅用于页寻址模式。
 楼主| 喂什么玩意 发表于 2023-8-25 17:14 | 显示全部楼层
4.3 硬件指令 4130164e870ec38aef.png
 楼主| 喂什么玩意 发表于 2023-8-25 17:16 | 显示全部楼层
设置GDDRAM起始行 (40H~7FH)
 这是一条单字节指令。
 高2位规定为01b,由低6位的取值来决定起始行。整体指令从 40H~7FH 分别设置起始行为 0~63。

 楼主| 喂什么玩意 发表于 2023-8-25 17:17 | 显示全部楼层
设置SEG映射关系 (A0H / A1H)
 这是一条单字节指令。
 A0H 设置GDDRAM的COL0映射到驱动器输出SEG0。
 A1H 设置COL127映射到SEG0
 楼主| 喂什么玩意 发表于 2023-8-25 17:17 | 显示全部楼层
设置COM扫描方向 (C0H / C8H)
 这是一条单字节指令。
 C0H 设置 从COM0扫描到COM[N-1],N为复用率
 C1H 设置 从COM[N-1]扫描到COM0
 楼主| 喂什么玩意 发表于 2023-8-25 17:17 | 显示全部楼层
设置复用率 (A8H+A[5:0])
 这是一条双字节指令,由A[5:0]指定要设置的复用率
 复用率(MUX ratio)即选通的COM行数,不能低于16,通过A[5:0]来指定。
 A[5:0] 高两位无规定视为0,所以第二条指令从 0FH~3FH 的取值设置复用率为 1~64(即A[5:0]+1)。A[5:0]从0到14的取值都是无效的。
 楼主| 喂什么玩意 发表于 2023-8-25 17:26 | 显示全部楼层
设置垂直显示偏移 (D3H+A[5:0])
 这是一条双字节指令,由A[5:0]指定偏移量。
 垂直显示偏移即整个屏幕向上移动的行数,最顶部的行会移到最底行。
 A[5:0] 高两位无规定视为0,所以第二条指令从0FH~3FH的取值设置垂直偏移为 0~63
 楼主| 喂什么玩意 发表于 2023-8-25 17:26 | 显示全部楼层
设置COM硬件配置 (DAH+A[5:4])
 这是一条双字节指令,由A[5:4]进行设置。
 A[5] 位设置COM左右反置,A[4] 用来设置序列/备选引脚配置,其他位有规定,规定如下所示。
 楼主| 喂什么玩意 发表于 2023-8-25 17:26 | 显示全部楼层
 楼主| 喂什么玩意 发表于 2023-8-25 17:26 | 显示全部楼层
 SSD1306的COMn引脚一共有左边 COM32~COM63 和右边 COM0~COM31 共64个(金手指面朝上方)。通过设置A[5]可以让左右COM引脚的输出互换。A[5]=0时禁止左右反置,A[5]=1时启用左右反置。
  COM引脚的排列有序列和奇偶间隔(备选)两种,通过A[4]进行设置。A[4]=0时使用序列COM引脚配置,A[5]=1时使用奇偶间隔(备选)COM引脚配置。
 楼主| 喂什么玩意 发表于 2023-8-25 17:26 | 显示全部楼层
4.4 时序和指令
6942964e873cfaa67c.png
 楼主| 喂什么玩意 发表于 2023-8-25 17:26 | 显示全部楼层
1.设置显示时钟分频数和fosc (D5H+A[7:0])
2.设置预充电周期 (D9H+A[7:0])
3.设置VCOMH输出的高电平 (DBH+A[6:4])
4.空操作 (E3H)
 楼主| 喂什么玩意 发表于 2023-8-25 17:27 | 显示全部楼层
4.5 滚动指令
3190664e873e26fecf.png
wenfen 发表于 2023-8-25 21:38 | 显示全部楼层
喂什么玩意 发表于 2023-8-25 17:10
主机收到从机(驱动器)的应答信号之后,随后传输1byte控制字节。一个控制字节主要由
CO 和 D/C# 位后面再 ...

没看到图呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部