0.96寸OLED的使用

7 篇文章 0 订阅
6 篇文章 0 订阅


本文参考和摘抄了部分文章,如下:

  1. 百度文库------0.96寸OLED点亮原理,通过对驱动芯片的设置,实现OLED的点亮,C语言例程,在OLED上显示汉字
  2. SSD1306(OLED驱动芯片)指令详解

写在前面,还是先讲一下OLED的点亮原理,当然是指映射的关系,而不是为什么会发光和和LCD有什么不一样的。


OLED的构造:

OLED由128*64个像素组成,64行和128列
在这里插入图片描述
以此为基础建立一个坐标系如下:
在这里插入图片描述


OLED的驱动芯片:

OLED的核心驱动芯片是SSD1306,单片机与SSD1306通信,SSD1306再驱动OLED点亮对应的OLED像素点。
SSD1306内部有一个GDDRAM数据内存,它有128*8字节,即128*64bit,每一个位对应一个像素点。
这些字节分别存储在Page0~Page7中,每一个页存储128*1个字节
在这里插入图片描述
COM和SEG的方向是可以软件设置的

  • 写入的数据是如何存储的?
    每一个bit存储在一个方格中,每一个方格代表着一个像素点,这样GDDRAM就和像素对应起来了
    在这里插入图片描述
  • SSD1306是如何寻址的?
    先设置内存的寻址模式,接着发送寻址模式

OLED_WCMD(0x20) // 设置内存寻址,模式
OLED_WCMD(0x02) // [1:0],00:垂直地址模式,01:水平地址模式,10:页地址模式

页地址模式:

页地址模式
通常在页地址模式下访问GDDRAM, 需要如下步骤来定义起始RAM访问指针指向:

通过命令(B0h-B7h)设置目标显示位置页起始地址
通过命令(00h-0Fh)设置列起始地址低位
通过命令(10h-1Fh)设置列起始地址高位

例如页地址是B2H,列地址的低地址是03H,列地址的高地址是10H,GDDRAM的访问指针如下:
在这里插入图片描述
给GDDRAM写数据的时候,其列地址会自动加1,列地址到SEG127之后会复位到SEG0,但是行地址不会自动增加,为了写下一页的数据,必须重新设置页地址列地址


水平地址模式:

水平地址模式下,GDDRAM访问,列地址自动加1,到达列地址终止地址时,复位到列地址起始地址,且页地址也自动加1
水平地址的访问图解如下,在页地址和列地址都达到终止地址的时候,都将复位到起始地址
在这里插入图片描述


垂直地址模式:

垂直地址模式下,GDDRAM访问,页地址自动加1,到达页地址终止地址时,复位到页地址起始地址,且列地址也自动加1
垂直地址的访问图解如下,在页地址和列地址都达到终止地址的时候,都将复位到起始地址
在这里插入图片描述
在这里插入图片描述
通常在(垂直/水平)地址模式下访问GDDRAM, 需要如下步骤来定义起始RAM访问指针指向:

通过命令(21h)设置目标显示位置列起始地址以及列终止地址
通过命令(22h)设置目标显示位置页起始地址以及页终止地址


SSD1306提供的通信方式是多种的,IIC,4线SPI,3线SPI,还有6800并行,8080并行方式
关于SSD1306的指令详解

  • 10
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值