iic四线OLED 屏幕
10 指令说明
10.1 基本命令
10.1.1 设置页面寻址模式的下列起始地址(00h〜0Fh)
该命令指定显示数据RAM的8位列起始地址的低半字节页面寻址模式。列地址将随每次数据访问而增加。请参阅部分有关详细信息,请参见表9-1和第10.1.3节。
10.1.2为页面寻址模式设置较高的列起始地址(10h〜1Fh)
该命令指定显示数据RAM的8位列起始地址的高半字节页面寻址模式。列地址将随每次数据访问而增加。请参阅部分有关详细信息,请参见表9-1和第10.1.3节。
10.1.3设置存储器寻址模式(20h)
SSD1306中有3种不同的内存寻址模式:页面寻址模式,水平寻址模式和垂直寻址模式。此命令将内存寻址方式设置为上述之一三种模式。此处的“ COL”表示图形显示数据RAM列。
页面寻址模式(A [1:0] = 10xb)
在页面寻址模式下,读取/写入显示RAM后,增加列地址指针自动按1。如果列地址指针到达列结束地址,则列地址指针为重置为列起始地址,并且页面地址指针不变。用户必须设置新页面,然后列地址以访问下一页RAM内容。 PAGE的移动顺序页寻址模式的列地址点如图10-1所示。
在正常的显示数据RAM读写或页面寻址模式下,需要执行以下步骤定义起始RAM访问指针位置:
•通过命令B0h至B7h设置目标显示位置的页面起始地址。
•通过命令00h〜0Fh设置指针的下起始列地址。
•通过命令10h〜1Fh设置指针的高位起始列地址。
例如,如果页面地址设置为B2h,则下列地址为03h,上列地址为10h,那么这意味着起始列为PAGE2的SEG3。 RAM访问指针的位置如图所示图10-2。输入数据字节将写入第3列的RAM位置。
图10-2:页面寻址模式下的GDDRAM访问指针设置示例(无行和列重新映射)
水平寻址模式(A [1:0] = 00b)
在水平寻址模式下,读取/写入显示RAM后,增加列地址指针自动按1。如果列地址指针到达列结束地址,则列地址指针为重置为列起始地址,页面地址指针加1。水平寻址模式的页面和列地址点如图10-3所示。当两列并且页面地址指针到达结束地址,指针将重置为列起始地址和页面起始地址(图10-3中的虚线。)
垂直寻址模式:(A [1:0] = 01b)
在垂直寻址模式下,读取/写入显示RAM后,页面地址指针增加自动按1。如果页面地址指针到达页面结束地址,则重置页面地址指针到页面的起始地址和列地址指针增加1。页面的移动顺序垂直寻址模式的列地址点如图10-4所示。当列和页面都地址指针到达结束地址,指针将重置为列起始地址和页面起始地址(图10-4中的虚线。)
在正常显示数据RAM的读取和写入以及水平/垂直寻址模式下,以下步骤是定义RAM访问指针位置所需:
•通过命令21h设置目标显示位置的列开始和结束地址。
•通过命令22h设置目标显示位置的页面开始和结束地址。
示例如图10-5所示。
10.1.4设置列地址(21h)
该三字节命令指定显示数据RAM的列起始地址和结束地址。这个命令还将列地址指针设置为列起始地址。该指针用于定义图形显示数据RAM中的当前读/写列地址。如果水平地址递增模式为通过命令20h启用后,完成对一列数据的读/写后,它会自动递增到下列地址。每当列地址指针完成对末尾列地址的访问时,重置回起始列地址,行地址递增到下一行。
10.1.5设置页面地址(22h)
该三字节命令指定显示数据RAM的页面起始地址和结束地址。这个命令还将页面地址指针设置为页面起始地址。该指针用于定义当前图形显示数据RAM中的读/写页地址。如果通过以下方式启用了垂直地址递增模式命令20h,完成读/写一页数据后,它会自动递增到下一页地址。每当页面地址指针完成对结束页面地址的访问时,都会将其重置回开始页面地址。
下图通过示例显示了列和页面地址指针的移动方式:列起始地址设置为2,列结束地址设置为125,页面起始地址设置为1,页面结束地址设置为6;水平地址递增模式由命令20h启用。在这种情况下,图形显示数据RAM列的可访问范围仅从第2列到第125列以及从第1页到第6页。此外,列地址指针设置为2,页面地址指针设置为1。完成后读/写一个数据像素,列地址自动加1以访问下一个RAM下一个读/写操作的位置(图10-5中的实线)。每当列地址指针
完成访问结束列125后,将其重置回到列2,并且页面地址自动增加1(图10-5中的实线)。而第6页末尾和第125列末尾的RAM位置是访问后,页面地址被重置为1,列地址被重置为2(图10-5中的虚线)
)。
10.1.6设置显示起始行(40h〜7Fh)
该命令通过选择显示起始行寄存器来确定显示RAM的起始地址。
值从0到63。值等于0,RAM行0映射到COM0。值等于1,RAM
第1行映射到COM0,依此类推。
有关更多说明,请参见表10-1。
10.1.7设置BANK0的对比度控制(81h)
该命令设置显示器的对比度设置。该芯片具有从00h到FFh的256个对比度阶跃。的
分段输出电流随着对比度阶跃值的增加而增加。
10.1.8设置路段重映射(A0h / A1h)
此命令更改显示数据列地址和段驱动器之间的映射。它允许OLED模块设计的灵活性。请参考表9-1。
该命令仅影响后续数据输入。已经存储在GDDRAM中的数据将保持不变。
10.1.9全屏显示(A4h / A5h)
A4h命令启用根据GDDRAM内容显示的输出。如果发出了A5h命令,则通过使用A4h命令,显示将恢复到GDDRAM内容。换句话说,A4h命令从整个显示“ ON”阶段恢复显示。无论显示数据RAM的内容如何,A5h命令都将整个显示器强制为“ ON”。
10.1.10设置正/反向显示(A6h / A7h)
此命令将显示设置为正常显示或反向显示。在正常显示中,RAM数据为1表示反向显示时,“ ON”像素为0,表示RAM数据为“ ON”。
10.1.11设置多路传输比率(A8h)
此命令将默认的63复用模式切换为16到63之间的任何复用率。输出焊盘COM0〜COM63将切换到相应的COM信号。
10.1.12设置显示ON / OFF(AEh / AFh)
这些单字节命令用于打开或关闭OLED面板显示。当显示屏打开时,通过“设置主站配置”命令选择的电路将打开。当显示屏关闭时,这些电路将关闭,并且段和公共输出在VSS中状态和高阻抗状态。这些命令将显示设置为两种状态之一:
o AEh:显示关闭
o AFh:显示开
10.1.13设置页面寻址模式(B0h〜B7h)的页面起始地址
此命令在页面寻址模式下将页面起始地址从0定位到GDDRAM中的7。有关详细信息,请参见表9-1和10.1.3节。
10.1.14设置COM输出扫描方向(C0h / C8h)
此命令设置COM输出的扫描方向,从而在OLED模块中提供布局灵活性设计。此外,发出此命令后,显示屏将显示。例如,如果此命令是在正常显示期间发送,则图形显示将立即垂直翻转。请参阅详情见表10-3
10.1.15设置显示偏移量(D3h)
这是一个双字节命令。第二条命令指定显示起始行到以下一项的映射COM0〜COM63(假设COM0是显示起始行,则显示起始行寄存器等于0)。例如,要将COM16朝COM0方向移动16行,第二个字节中的6位数据应指定为010000b。要沿相反方向移动16行,应通过以下方式给出6位数据:64 – 16,因此第二个字节为100000b。以下两个表(表10-1,表10-2)显示了设置命令C0h / C8h和D3h的示例。
10.1.16设置显示时钟分频比/振荡器频率(D5h)
该命令包含两个功能:
•显示时钟分频比(D)(A [3:0])
设置分频比以从CLK生成DCLK(显示时钟)。分频比为1到16复位值为1时,DCLK和CLK的详细关系请参考8.3节。
•振荡器频率(A [7:4])
如果将CLS引脚拉高,则对作为CLK源的振荡器频率Fosc进行编程。 4位值会产生16种不同的频率设置,如下所示。默认设置是1000b。
10.1.17设定预充电时间(D9h)
此命令用于设置预充电时间的持续时间。间隔以DCLK,其中RESET等于2个DCLK。
10.1.18设置COM引脚的硬件配置(DAh)
此命令设置COM信号引脚配置以匹配OLED面板的硬件布局。下表为不同条件下的COM引脚配置(MUX ratio =64):
10.1.19设置VCOMH取消选择级别(DBh)
该命令调整VCOMH调节器输出。
10.1.20 NOP(E3h)
无操作命令
10.1.21状态寄存器读取
这个命令是在数据读取期间通过将D/ c#设置为低来发出的(并行接口波形参见图13-1到图13-2)。它允许MCU监视芯片的内部状态。串行模式不提供状态读取。
10.2图形加速命令
10.2.1水平滚动设置(26h / 27h)
此命令由连续的字节组成,用于设置水平滚动参数并确定滚动开始页面,结束页面和滚动速度。
发出此命令之前,必须禁用水平滚动(2Eh)。否则,RAM内容可能会被破坏。
SSD1306水平滚动设计用于128列滚动。以下两个图(图10-7,图10-8,图10-9)显示了使用水平滚动的示例:
图10-7:水平滚动示例:向右滚动1列
图10-8:水平滚动示例:向左滚动1列
图10-9:水平滚动设置示例
10.2.2连续垂直和水平滚动设置(29h / 2Ah)
此命令由6个连续字节组成,用于设置连续垂直滚动参数和确定滚动的起始页,结束页,滚动速度和垂直滚动偏移量。
命令29h / 2Ah的字节B [2:0],C [2:0]和D [2:0]用于设置连续水平滚动。字节E [5:0]用于设置连续垂直滚动偏移量。所有这些字节在一起用于设置连续对角线(水平+垂直)滚动。如果垂直滚动偏移字节E [5:0]设置为零,然后仅执行水平滚动(如命令26 / 27h)。
在发出此命令之前,必须禁用滚动(2Eh)。否则,RAM内容可能是损坏了。下图(图10-10)显示了使用连续垂直方向和水平滚动:
图10-10:连续垂直和水平滚动设置示例
10.2.3取消滚动(2Eh)
此命令停止滚动运动。发送2Eh命令停用滚动操作后,ram数据需要重写。
10.2.4激活滚动(2Fh)
该命令开始滚动运动,仅在滚动设置参数设置为由滚动设置命令:26h / 27h / 29h / 2Ah定义。最后滚动设置中的设置命令将覆盖先前的滚动设置命令中的设置。
激活滚动后,禁止执行以下操作
1. RAM访问(数据写入或读取)
2.更改水平滚动设置参数
10.2.5设置垂直滚动区域(A3h)
该命令由3个连续字节组成,用于设置垂直滚动区域。对于连续垂直滚动功能(命令29 / 2Ah),在垂直滚动中可以设置的行数小于或等于MUX比率。
iic四线OLED 屏幕相关推荐
- 51单片机IIC 12864 OLED屏幕滚动显示仿真
51单片机IIC 12864 OLED屏幕滚动显示仿真 程序代码接着前面文章<STC15W408AS单片机IIC驱动0.96寸OLED显示> 这里不再贴出代码了,前面有一篇有实物效果演示, ...
- ESP8266(NodeMCU)+Lua语言+IIC驱动OLED屏幕
前言 本来打算用Arduino IDE驱动OLED屏幕,但是因为在家无法安装Arduino的第三方库,改用ESPlorer和Lua语言驱动. 硬件准备 1. NodeMCU开发板 2. OLED屏幕( ...
- STM32使用IIC总线通讯协议在OLED屏幕上显示字符串、汉字、图像(硬件IIC)
参考:基于STM32-Oled(IIC)的使用 作者:奋斗的小殷 发布时间: 2021-05-07 13:09:26 网址:https://blog.csdn.net/boybs/article/de ...
- 【矿渣】【玩客云】玩客云驱动OLED屏幕
玩客云上驱动iic的OLED屏幕 在闲鱼买了花50块买了一台玩客云,拆开刷了armbian系统后发现玩客云这块板子预留了一个单片机芯片的封装,心想这个单片机应该是连接玩客云的GPIO的,所以查了点资料 ...
- STM32使用IIC总线通讯协议在OLED屏幕上显示字符串、汉字、单总线获取DHT11模块温湿度并通过IIC显示到屏幕(软件IIC)
参考:基于stm32软件IIC的oled显示温湿度 作者:ZPZ DayUp 发布时间: 2021-07-25 20:52:43 网址:https://blog.csdn.net/m0_5619768 ...
- OLED屏幕的IIC驱动程序
目录 一.IIC驱动 二.自己动手写的模拟IIC 三.OLED驱动 四.常用的OLED函数 五.咕咕咕 今天有个小老弟问我OLED的IIC驱动问题,正好我前段时间写了SPI的OLED驱动程序,也想把I ...
- IIC协议下的OLED屏幕的三种寻址方式
根据手册SSD1306我们可以知道,OLED屏幕一共有三种寻址方式.分别是页面寻址,水平寻址和垂直寻址.本篇文章将分别使用以上三种方式对OLED屏幕进行全部点亮和熄灭的操作.(使用到了IIC底层驱动代 ...
- 51单片机 IIC OLED屏幕驱动+Proteus仿真+实物验证示例程序
51单片机 IIC OLED屏幕驱动+Proteus仿真+实物验证示例程序 Proteus仿真效果 注意点击运行仿真后,图像刷新出来比较慢. 示例主程序 #include "REG51.h& ...
- Arduino 驱动OLED屏幕IIC接线方式简单入门
OLED一款小巧的显示屏,感觉可以做出很可爱的东西. 这次实验的这款是128X64的OLED屏幕 , 芯片是SSD1306,请确认自家模块芯片型号,不然对不上号啊 使用IIC的方法,简单实验显示示例程 ...
最新文章
- Windows2008/2012多用户同时远程连接终端服务授权
- 查看自己电脑可以支持的最大内存量
- MATLAB(四)在高等数学中的应用
- RocketMQ(二)——系统架构及基本知识
- Chpater 10: Sorting
- 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一
- 一体机服务器性能,一体机的服务器
- LeetCode 53.最大子序和(动态规划)
- D3D12渲染技术概述
- 全球五十家知名传感器制造商分布盘点、特点分析
- linux日志过大怎么查看,Linux查看日志常用命令
- Java并发之-队列同步器AQS
- 纯前端集成视频会议和聊天室
- java 中的radix_Java Scanner radix()用法及代码示例
- Android 更换皮肤
- 安装了yarn还是有 The project seems to require yarn but it‘s not installed
- cad指定许可服务器,AutoCAD许可证版本
- js控制excel打印完美解决方案(转)
- 永恒之蓝(Eternal Blue)复现
- Linux WIFI 驱动