在OLED上显示各种各样的数据(文字、字母、图片)

今天来说一说OLED,也同时记录一下成果。

在学习OLED之前需要知道IIC协议,不了解的可以看(IIC协议相关_dxdlnu的博客-CSDN博客

什么是OLED? OLED_百度百科 (baidu.com)

 一.OLED写入指令和数据

因为OLED是有写入指令/数据的操作的,至于为什么有在后面编写程序的时候就能知道。

先看一下如何写入指令和数据?

CO和D/C说明如下:

根据协议图,封装一个写入指令的函数

 封装一个写入数据的函数:

**********87行有误应该是0x40写入数据

二.OLED显示一个点的思路及代码实现

首先思考,一个OLED屏有那么大,我们如何在一个自己想要的地方显示一个点呢?这就先要解决,OLED显示方式的问题。

首先我们要了解OLED显示屏它的构成:

我们可以看到,这里Page共有8行,并且每一个Page里有8位(bit),也就是一个Page的一列代表一个字节。

大致了解之后我们看看OLED如何寻址呢?

这里有三个寻址方式(前两种最常见),图还是比较形象的不做过多解释。

如何在Keil中设定自己想要的寻址模式?

 

比如这里我们想要定为页寻址模式,我们可以在代码的发送cmd并写入0x20,再发送0x02,成功进入页寻址模式。

接下来用代码实现一个点。 

在OLED上显示一个点主要就是这三大步

以下对代码逐行分析:

141行.首先是初始化Init,这个手册里有,直接cv过来就好(我们的Cmd和Data函数已经写好了)

 142.行选择一个位置

猜你喜欢

转载自blog.csdn.net/weixin_62599865/article/details/130233210