OLED上显示文字

一、OLED操作原理

cmd::0xAB:   A为命令码,B为参数

1、程序对SSD1306的操作:

初始化SSD1306,把数据写进显存

  1. 初始化:主设备写寄存器,写各种命令,把命令发给主控芯片
  2. 写数据:就可以把数据发给图像显示寄存器(GDDRAM显存)

2、问题:如何分辨发出的是命令还是显存中 的数据

参考《OLED芯片手册中》的IIC接口章节

Control byte的D/C位就是为了分辨后面的Data byte到底是命令还是数据

D/C位也就是bit6为0,则后面的是命令;为1则后面的Data byte是数据

3、问题:显存中的数据与像素的关系

假设已经初始化了SSD1306,怎么写显存?显存和像素是什么关系?

  • 显存中的bit0对应屏幕中第一列的前八个像素;显存中的bit1对应屏幕中第2列的前八个像素
  • 显存的行用page0/1/2/3...来表示

要往 GDDRAM 里写入数据,需要指定地址。如果每写一个数据都要先指定地址,效率太低。高效的方法是:先指定起始行、列地址后,每写一个数据,地址就自动增加。

3 种地址模式:

① 页地址模式(Page Addressing Mode):
每写一个数据,列地址增加 1;当列地址到达最右边后:又从第 0 列开始,行地址不变


② 行地址模式(Horizontal Addressing Mode):
每写一个数据,列地址增加 1;当列地址到达最右边后:又从第 0 列开始,页地址加 1。当列地址、页地址都到达最大值后,又从起始列地址、起始页地址开始。


③ 列地址模式(Vertical Addressing Mode):
每写一个数据,页地址增加 1;当页地址到达最底边后:又从第 0 页开始,列地址也加 1。当列地址、页地址都到达最大值后,又从起始列地址、起始页地址开始。程序里使用页地址模式。

4、OLED的初始化

1、OLED初始化函数代码

1、设置地址模式函数代码

参考数据手册得知20是模式设置

1、参考命令表,得到20的使用方式

 

2、发命令   控制字节;代码; 

 PS:写多个字节

 2、写显存数据

设置地址模式,设置地址,写入数据

1、清屏为例

位置设置 及页地址

 A来源

位置设置及列地址

二、在OLED显示文字

1、显示原理,如0x00000010

2、字符矩阵

3、显示汉字

依次显示每个汉字,每个汉字占据16个字节(16pixel*16/8),所以每次写16个字节,也就是上面的一行

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值