0.96寸OLED显示屏驱动手册(SSD1306)
MCU IIC接口
IIC通信接口由从地址位SA0,IIC总线数据信号SDA(输出SDAout/D2和输入SDAin /D1)和IIC总线时钟信号SCL(D0)。不管是数据线还是时钟线都需要连接上拉电阻。RES#是用来初始化设备的。
a. 从地址位(SA0)
SSD1306必须在发送或者接收数据前,识别到IIC总线上的从地址。设备必须回复从地址通过从地址位(SA0位)并且配置读写选择位(R/W 位)以一个字节的格式。
如:
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
0 | 1 | 1 | 1 | 0 | SA0 | SA0 | R/W# |
“SA0”位提供一个额外的从地址位。不管是“0111_100”还是“0111_101”,都可以被选择为SSD1306的从地址。D/C#引脚作为SA0为从地址选择。
“R/W#”位是被用来决定IIC协议的工作模式,R/W#=1时,为读模式,R/W#=0时,为写模式。
b. IIC总线数据信号(SDA)
SDA作为通讯通通道在发送器和接收器之间,数据和应答信号在SDA线上被发送。
需要注意的事,ITO 轨道电阻和SDA引脚的上拉电阻变成一个潜在的分压器,结论就是,应答可能不会达到有效的低电平,在SDA线上。
“SDAin”和“SDAout”是绑定在一条SDA线上,当SDA线为SDAin模式时,SDAout被屏蔽,当SDAout使用时,应答信号将被IIC总线忽略。
c. IIC总线时钟信号(SCL)
IIC总线上的信息传送是根据SCL时钟信号,每一次数据为的发送都发生在一个单独的SCl时钟周期内。
IIC总线写数据
IIC总线协议允许数据和命令在设备间的通讯。时序如下:
Co:连续位 D/C#:数据/命令选择位 ACK:应答信号 SA0:从地址位
R/W:读写选择位 S:开始条件 P:停止条件
IIC写模式
1. 主设备开始数据通讯通过开始条件,开始条件的定义如下图。开始条件发生在SCL高电平期间,SDA产生一个下降沿的跳变。
2. 从地址紧跟着开始信号,用于设备从设备。对于SSD1306来说,从地址可能是“b0111100”或者“b0111101”。通过改变“SA0位”为0或1,(D/C引脚作为SA0)。
3. 写模式发生在R/W#位是低电平。
4. 应答信号在接收到一个字节的数据后有从设备产生,包括从地址和R/W#位,参考下面关于应答信号的图示。应答信号定义为在SCL时钟周期的高电平期间SDA拉低。
5. 在从地址发送结束后,不管是控制字节还是数据姐姐都可以发送通过SDA线。一个控制字节主要包括Co位和D/C#位在六个0后,
A. 如果Co位为低电平,发送的后续信息只能是数据字节。
B. D/C#位决定下一个数据字节是数据还是命令字节,如果D/C#字节设置为低电平,这意味着下一个字节是命令字节,如果D/C#为是高电平,下一个数据字节是数据字节,将被存储在GDDRAM中,GDDRAM的列地址指针在每一个数据写之后自加一。
6. 应答为在接收到一个数据字节或只命令字节后产生。
7. 写模式在接受到停止信号之后结束。停止条件定义如下图所示,停止信号发生在SCL高点平期间SDA的上升沿,作为停止信号。
2. 命令解码器
这个模块用来决定输入的到底是数据还是命令,通过D/ C#位来判断。
如果D/C#是高电平,D[7:0]是作为显示数据写在图像数据随机存储器中(GDDRM),如果是低电平,输入的数据是被理解为命令。然后数据输入被解码并且写在相应的命令寄存器中。
2. 振荡器电路和显示时间发生器
这个模块是一个片上低功耗RC振荡电路。工作时钟(CLK)可以由内部振荡器产生或者外部时钟源(CL引脚),通过引脚CLS选择,如果CLS引脚被拉到高电平,内部的时钟被选择,CL应该开路,将CLS引脚拉低则不使用内部振荡电路,这时为了工作正常一定要连接CL引脚。当内部振荡器被选择时,输出频率Fosc由命令D5h A[7:4]改变。
显示时序发生器的显示时钟(DCLK)源于CLK。分频系数D可以通过命令D5H 从1变到16。
DCLK=Fosc/D
显示帧频率由以下公式决定
* D代表时钟分频率,通过命令D5H A[3:0]决定,范围是从1到16.
*K是每行的显示时钟,该值源于
K=相1周期+相2周期+BANK0脉宽 =2+2+54(电源复位时)
(详情参考“段驱动器/公用驱动器”里的“相位”)
*多路复用比
通过命令A8H配置,复位值是(64MUX)。
* Fosc是振荡器频率,可以通过命令D5h [7:4]改变,这个值越大,设置的最终频率越高。
FR synchronization(FR 同步)
FR同步信号可以避免发生撕裂效应。
向OLED驱动器写一个新的图片的开始时间依赖于MCU的写速度,如果MCU可以完成写一帧图片在一个帧周期内,这个MCU被分类位高速写MCU。对于MCU需要更长的时间完成写操作(超过一个帧周期但每到两个帧周期),就是慢速的一种了。
对于高速写微控制器:MCU应该开启向ram里写一个新的帧数据紧跟在FR的上升沿之后,并且应该在下一个上升沿到来之前完成。
对于低速写微控制器:MCU在第一个下降沿之前开始写,必须在第三个FR脉冲上升沿到来之前完成。
复位电路
1. 显示管关
2. 配置为128*64显示模式
3. 正常的短和显示列地址和行地址映射(SEG0映射到地址00h且COM0映射到00h)。
4. 在串行接口上清除移位寄存器数据
5. 显示开始线设置在RAM地址0
6. 列地址计数器设置为0
7. 正常的com输出扫描方向
8. 反向控制寄存器设置为7Fh
9. 正常显示模式(等同于命令A4h)
段驱动器和公共驱动器
段驱动器给予128个电流源来驱动OLED板,驱动电流可以在0~100uA调节(256份),公共驱动器发生电压扫描脉冲。
段驱动波形被分割成三相:
1. 在相1,OLED上一个图片的像素放电为了准备下一个图像显示内容。
2. 在相2,OLED像素被驱动到目标电压,像素驱动到相当的对地电压,相2的周期可以被编程为1到16个DCLK的长度。如果OLED像素的电容值更大,需要更长的周期来给电容充电到达期望的电压值。
3. 在相3,OLED驱动选择使用电流源去驱动OLED像素,并且这时现在的电流驱动环节。
完成这三相之后,驱动IC将回到相1去显示下一个图片数据,这三步环节连续执行去刷新显示在OLED上。
在相3,如果电流驱动脉宽设置为50,在完成50个DCLK周期在现在的驱动相,驱动IC将回到相1继续下一个显示。
图片显示数据随机存储器(GDDRAM)
GDDRAM是一个位映射静态RAM,保持位模式直到显示在OLED上,RAM的大小是128*64位且RAM分成8页,从第零页达第七页,用来存128*64个单色点阵显示,如图:
但一个数据字节被写在GDDRAM中,当前页的所有的行图像数据被填满(例,一列(8位)使得列地址指针填满),数据为b0被写到最顶的一行,当数据位D7被写到最底下一行。如图所示:
为了灵活性,段复用和公共复用输出可以通过软件选择。
为了显示的垂直移动,一个内部寄存器存储显示开始行可以被设置通过RAM中的数据位置映射到显示屏上。(命令D3h)
SEG/COM驱动块
这个区块被用来将输入电源导出到不同级别的内部使用的电压和电流。
*Vcc是主电源。
*Vcomh 是取消选择水平,内部规定。
* Iref是段电流驱动器Isegd的参考电流源。参考电流和颜色段电流的关系如下式:
Iseg=Contrase/256*scale factor in which
The Contrase(0~255)通过设置反向命令(81h),且比例因子是8.
这个数量级的Iref通过改变电阻值来改变,连接咋Iref到地之间,如图所示,推荐电流范围12.50.2uA,以实现Iseg=100uA在最大值255时。
从Iref引脚电压为Vcc-2.5V,R1的值可以由下式确定:
Ired=12.5uA,Vcc=12V
R1=(Voltage at Iref-Vss)/Iref
=(12-2.5)/12.5uA=760k欧姆
开机和关机条件
下面用图解的方法给出了推荐的SSD1306开机和关机条件
上电条件:
1. VDD上电
2. 在VDD电源稳定之后,设置RES#引脚为逻辑低至少3us然后拉高。
3. 在RES#处于低电平状态之后,扥带至少3us,然后打开VCC。
4. 在Vcc稳定后,发送命令AFh,打开显示。SEG/COM在100ms(Taf)后开启。
POWER OFF条件:
1. 发送命令AEh,关闭显示。
2. 关掉Vcc。
3. 等待Toff,关闭VDD.(典型值toff=100ms)。
注意:
1. ESD保护电路连接达VDD和VCC之间,当VCC关闭时VDD比VCC要高。在图中用点线表示。
2. VCC在关闭时时浮空的。
3. 电源引脚(VDD,VCC)在关闭情况下一定不要拉到地。
命令列表
注意:“*”代表不需要管着一位
位组合 |
命令 |
介绍 |
D7D6D5D4D3D2D1D0 |
状态寄存器读 |
D[7]:保留 D[6]:“1”显示关“0”显示开 D[5]:保留 D[4]:保留 D[3]:保留 D[2]:保留 D[1]:保留 D[0]:保留 |
注意
除了命令表中给出的模式外,其他模式都禁止作为命令写入芯片;以防止意外的情况发生。
数据写/读
为了从GDDRAM中读数据,在6800 并行模式下,要将R/W#(WR#)
和D/C#位都拉高,在8080并行模式下,E(RD#)引脚拉低,D/C#引脚拉高。在串行模式下不提供数据读。
GDDRAM在正常数据读模式下,列地址指针在没一次数据读之后自加一。
同样,在第一次数据读前,需要读取虚拟字节。
为了向GDDRAM中写数据,将R/W#位拉低且D/C#位拉高,在6800并行通讯和8080并行通讯模式下都可以。串行接口总是在写模式下。
GDDRAM列地址指针在每一次写数据之后自加一。
D/C# |
R/W# |
描述 |
地址增加(自增) |
0 |
0 |
写命令 |
不支持 |
0 |
1 |
读状态 |
不支持 |
1 |
0 |
写数据 |
支持 |
1 |
1 |
读数据 |
支持 |
命令介绍
一.基础命令
1. 设置页地址模式的低起始地址(00h~0Fh)
这个命令说明了在页写模式下的显示数据RAM的低的8位列起始地址。列地址咋每个数据接收后自加一。
2. 设置页地址模式下的高起始地址(10h~1Fh)
这个命令说明了在页地址模式下的显示数据RAM的高的8位列起始地址。列地址在每个数据接收后自加一。
3. 设置内存地址模式(20h)
在SSD1306中有三种不同的内存地址模式:页地址模式,水平地址模式和垂直地址模式。这个命令设置内存地址模式,选择其中的一个,“COL”意思是GDDRAM的列。
页地址模式(A[1:0]=10x b)
页地址模式下,在显示RAM写过或者度过之后,列地址指针自加一,如果列地址指针到达最后的地址,列地址指针会回到开始地址且页地址指针不变。用户必须设置新的页且页地址为了几首下一个页RAM内容。
在页地址模式下正常显示数据RAM读或写,如下的几步需要定义开始RAM接收指针位置
*设置页开始地址在目标地址通过命令B0h到B7h
*设置低起始列地址指针通过命令00h~0Fh
*设置高起始列地址指针通过10h~1Fh
例如:如果页地址被设置到B2h,低列地址是03h,高列地址是00h,这就意味着在PAGE2的SEG3开始,RAM接收指针定位如图所示,输入数据字节将被写在RAM中的第3列。
水平地址模式(A[1:0]=00b)
在水平地址模式,RAM读或写后,列地址指针自动加一,如果列地址到达最后一列,列地址会复位到列开始地址并且页地址指针加1。页移动的顺序和水平地址模式列地址指针如图,当列地址指针和页地址指针都到达最后一个地址时,指针会复位到列开始地址和页起始地址。
垂直地址模式(A[1:0]=01b)
在垂直地址模式,显示RAM读或者写后,页地址自加一,如果页地址指针到达最后的页地址,页地址指针会复位到页起始地址并且列地址指针自加一。垂直地址模式页地址指针的移动顺序和列地址指针如图,当列地址指针和页地址指针都到达最后一个时,指针复位到页起始地址和列起始地址。
在正常显示数据RAM读或写且处于水平或垂直地址模式时,要遵循一下几步来定义RAM访问指针位置:
*通过命令21h设置列起始和结束地址到目标显示位置
*通过命令22h来设置页起始和结束地址达目标显示位置
4. 设置列地址(21h)
这个三字节命令描述了显示数据RAM列起始地址和结束地址。这个命令也可以设置;列起始地址的列地址指针。这个指针定义在GDDRAM中正在读或写的列地址。如果通过命令20h使能了水平地址增加模式,在完成读或写数据RAM后,下一个列地址会自加一。不管列地址指针有没有到最后一个列地址,他都会回到列起始地址并且行地址自加到下一行。
5. 设置页地址(22h)
这个三字节命令描述了显示数据RAM的页起始地址和结束地址。也包括设置页起始地址指针,用来定义GDDRAM中的当前在读或写的页地址。如果使用命令20h设置为垂直地址模式,在完成读或写一页数据后,下一个页地址将自加一到下一个页地址,不管页地址指针有没有到最后一个页地址,都会被复位到起始页地址。
该图展示了列地址和页地址指针移动顺序:列起始地址设置位2,结束地址设置位125,页起始地址设置为1,页结束地址为6,通过命令20h设置的水平地址增加模式,在这个例子中,GDDRAM可用列范围从第2列到第125列,从第一页到第六列,另外,列地址指针位置为2,页地址指针设置为1.在完成读或写整篇的数据后,列地址自加一到达下一个读或写的RAM中的位置,不管列地址指针是否到达最后的125列,都会回到最开始的第2列且页地址自加一。当到达最后的第六页和最后的125列时,页地址复位到1,列地址复位到2.
6. 设置显示起始线
这个命令通过选择0到63的一个值来设置显示起始线寄存器为了决定显示RAm的起始地址。当该值等于0时,RAM的第0行映射到COM0,当该值等于1时,第一行映射到COM0等等。
7. 为BANK0设置对比度控制(81h)
这个命令设置显示的对比度,SSD1306将对比度分成256份,对应值为00h-FFh。
端输出电流在该值增加时增加。
8. 设置段重映射(A0h/A1h)
这个命令改变显示数据列地址和段驱动器之间的映射关系。这允许OLED模块的灵活设计。
这个命令值影响数据输入的顺序,数据早存在在GDDRAM中的数据不会改变。
9. 整体显示开(A4h/A5h)
A4h命令使能根据GDDRAM中的内容显示输出。
如果A5h命令发送后,通过发送A4命令,GDDRAM中的内容将重新出现。
换句话说,A4h命令就是使整个重新开始显示。
A5h命令强制打开整个显示,而不管显示数据RAM中的数据。
10. 设置正常显示/反显(A6h/A7h)
这个命令设置正常显示或反显,在正常显示一个RAM数据“1”代表打开一个像素点,而在反显模式下,“0”代表点亮一个像素点。
11. 设置复用率(A8h)
该命令选择63种复用模式,范围是16到63.输出块COM0~COM63被选择为相应的COM信号。
12. 设置显示开/关(AEh/AFh)
这个单字节命令被用来打开OLED显示或关闭。
当显示打开时,通过设置主配置命令打开被选择的电路。
当显示关闭时,一些电路被关闭并且segment和com输出为高阻态,以下命令用来设置显示的两种状态。
AEh:显示关闭
AFh:显示打开
13. 设置页地址模式下的页开始地址(B0h~B7h)
这个命令设置在页地址模式下GDDRAM的页起始地址,范围(PAGE0~PAGE7)。
14. 设置COM输出扫描方向(C0h/C8h)
该命令设置COM输出的扫描方式,在OLED模块设计上允许更多的灵活设计。另外,一旦该命令被发送,显示将立即生效。例如,如果在正常显示模式期间,该命令被发送,图像显示将立即垂直翻转。
15. 设置显示偏移(D3h)
该命令是双字节命令,第二个命令描述显示开始行在COM0~COM63的映射(假设COM0是显示起始行,然后显示起始寄存器就等于0)。
例如,为了把COM16移动16行到COM0,则设置第二个字节为010000b,下面两个表展示了设置命令C0h/C8h和D3h。
16. 设置显示时钟分频率/振荡器频率(D5h)
该命令包括两个功能:
*显示时钟分频率(D)(A[3:0])
从CLK中设置分频率去产生DCLK(显示时钟)。范围1到16,
复位值位1。
*振荡器频率(A[7:4])
如果CLS引脚被拉高时,可编程振荡器频率 Fosc就是CLK时钟源,这个四位数值包括16种不同的频率可供选择,默认值位1000b。
17. 设置预充电周期(D9h)
该命令被用来设置预充电周期的持续时间,以DCLK的整数倍位间隔,复位值等于2个DCLK。
18. 设置COM引脚硬件配置(DAh)
该命令设置COM信号引脚配置去配合OLED的硬件电路布局。
下表展示了COM引脚配置在不同的情况下(MUX=64):
条件 |
COM引脚配置 |
1连续COM引脚配置(DAh,A[4]=0) COM输出扫描方向:从COM0到COM63(C0h) 屏蔽COM左/右重映射(DAh,A[5]=0) |
|
2连续COM引脚配置(DAh,A[4]=0) COM输出扫描方向:从COM0到COM63(C0h),使能COM左/右重映射 |
|
3连续COM引脚配置(DAh,A[4]=0) COM输出扫描:从COM63到COM0(C8h) 屏蔽COM左/右映射(DAh A[5]=0) |
|
4连续COM引脚配置(DAh,A[4]=0) COM输出扫描方向:从COM63到COM0(C8h) 使能COM左/右重映射(DAh,A[5]=1) |
|
5备用COM引脚配置(DAh,A[4]=1) COM输出扫描方向:从COM0到COM63(C0h) 屏蔽COM左/右重映射(DAh,A[5]=0) |
|
6备用COM引脚配置(DAh,A[4]=1) COM输出扫描方向:从COM0到COM63(C0h) 使能COM左/右重映射(DAh,A[5]=1) |
|
7备用COM引脚配置(DAh,A[4]=1) COM输出扫描方向:从COM63到COM0(C8h) 屏蔽COM左/右重映射(DAh,A[5]=0) |
8备用COM引脚配置(DAh,A[4]=1) COM输出扫描方向:从COM63到COM0(C8h) 使能COM左/右重映射(DAh,A[5]=1) |
19. 设置Vcomh取消选择等级(D8h)
该命令用来设置调压器输出
20. NOP(E3h)
无操作命令
21. 状态寄存器读
通过在数据读期间设置D/C#位为低电平执行。他允许MCU读取监视器的内部状态。在串行通讯模式下,没有状态读寄存器。
二.图像加速命令
1. 水平滚动设置(26h/27h)
该命令由五个连续字节设置水平滚动参数且决定滚动起始页,结束页,滚动速度。
在执行该命令前,必须屏蔽水平滚动(2Eh),否则,RAM内容会被破坏。
SSD1306水平滚动被设计成128列滚动,下列两个图表为例。
2 连续垂直和水平滚动设置(29h/2Ah)
该命令包含六个连续字节为了设置连续垂直滚动参数和决定滚动开始页,结束页,滚动速度和垂直滚动偏移量。
命令29h/2Ah之后的字节B[2:0],C[2:0]和D[2:0]是用来设置连续垂直滚动,字节E[5:0]是用来设置连续垂直滚动偏移量,所有的这些字节一起设置连续对角线(垂直+水平)滚动。如果垂直滚动失调量字节E[5:0]被设置成0,这时就只有水平滚动就像命令26h/27h那样。
在执行该命令之前必须要平布滚动(2Eh),否则,RAM中的内容会被破坏,显示效果如图:
3. 屏蔽滚动(2Eh)
此命令停止滚动的进行,在发送2Eh命令之后,停止滚动,RAM中的内容需要重新写入。
4. 开始滚动(2Fh)
该命令开始滚动且在滚动参数配置完成(命令26h/27h/29h/2Ah)之后执行,最后一次写的滚动设置命令将覆盖上一个滚动配置命令。
在滚动开始之后下面这些操作是禁止的
1,RAM操作(读或写)
2. 改变水平滚动设置参数
5. 设置垂直滚动区域(A3h)
该命令包括三个连续字节用来设置垂直滚动区域。为了连续垂直滚动功能(命令29h/2Ah),在垂直滚动模式下行的数量应该小于或等于MUX比。
最大参数范围
符号 |
参数 |
值 |
单位 |
Vdd |
供电电压 |
-0.3~+4 |
V |
Vcc |
0~16 |
V |
|
Vseg |
SEG输出电压 |
0~Vcc |
V |
Vcom |
COM输出电压 |
0~0.9xVcc |
V |
Vin |
输入电压 |
Vss-0.3~Vdd+0.3 |
V |
Ta |
工作温度 |
-40~85 |
℃ |
Tstg |
存储温度范围 |
-65~150 |
℃ |
最大范围是不可以超过的值,如果超过这些值得话,可能会损坏设备。基础工作配置应该参考电气特性列表或者引脚描述部分。
该设备对光敏感,正常工作是应该注意避免在任何光源下暴晒该设备。该设备位非辐射防护设备。
直流特征
条件(除非另有说明):
电压参考到Vss
Vdd=1.65~3.3V,Ta=25℃
符号 |
参数 |
测试条件 |
最小值 |
典型值 |
最大值 |
单位 |
VCC |
工作电压 |
- |
7 |
- |
15 |
V |
VDD |
逻辑供电电压 |
- |
1.65 |
- |
3.3 |
V |
VOH |
输出逻辑高电平 |
Iout=100uA,3.3Mhz |
0.9xVDD |
- |
- |
V |
VOL |
输出逻辑低电平 |
Iout=10uA,3.3Mhz |
- |
- |
0.1xVDD |
V |
VIH |
输入逻辑高电平 |
- |
0.8xVDD |
- |
- |
V |
VIL |
输入逻辑低电平 |
- |
- |
- |
0.2xVDD |
V |
ICC |
VCC供电电流 VDD=2.8V,VCC=12V,IREF=12.5uA 无负载,显示开所有开 |
对比度=FFh
|
- |
430 |
780 |
uA |
IDD |
VDD供电电流 VDD=2.8V,VCC=12V,IREF=12.5uA 无负载,显示开,所有开, |
- |
50 |
150 |
uA |
|
ISEG |
段输出电流 VDD=2.8V,VCC=12V, IREF=12.5uA,显示开 |
对比度=FFh |
- |
100 |
- |
uA |
对比度=AFh |
- |
69 |
- |
|||
对比度=3Fh |
- |
25 |
- |
|||
DEV |
段输出电流一致性 |
DEV=(ISEG-IMID)/IMID IMID=(IMAX+IMIN)/2 ISEG[0:132]=对比度在FFh时的段电流 |
-3 |
- |
+3 |
% |
Adj.Dev |
输出电流一致性调节引脚(对比度FFh) |
Adj Dev=(I[n]-I[n-1])/(I[n]+I[n+1]) |
-2 |
- |
+2 |
% |
13交流特性
条件:
电压参考到Vss
VDD=1.65~3.3V25℃
符号 |
参数 |
测试条件 |
最小值 |
典型值 |
最大值 |
单位 |
Fosc |
显示时序发射器的振荡器频率 |
VDD=2.8V |
333 |
370 |
407 |
KHz |
Ffrm |
64MUX模式的帧频率 |
128x64GDDRAM 显示开,内部振荡器使能 |
- |
Fosc/(DxKx64) |
- |
Hz |
RES# |
复位低脉宽 |
|
3 |
- |
- |
us |
注意:
1. Fosc以内部振荡器为参考且命令D5h A[7:4]为定义值。
2. D:分率(默认为1)
K:显示时钟的数量(默认是54)
6800系列MCU并行接口时序特性
工作环境:(VDD-VSS=2.8V) 25 ℃
符号 |
参数 |
最小值 |
典型值 |
最大值 |
单位 |
Tcycle |
时钟周期时间 |
300 |
- |
- |
ns |
Tas |
地址设置时间 |
0 |
- |
- |
ns |
Tah |
地址保持时间 |
0 |
- |
- |
ns |
Tdsw |
写数据设置时间 |
40 |
- |
- |
ns |
Tdhw |
写数据保持时间 |
7 |
- |
- |
ns |
Tdhr |
读数据保持时间 |
20 |
- |
- |
ns |
Toh |
输出失能时间 |
- |
- |
70 |
ns |
Tacc |
接收时间 |
- |
- |
140 |
ns |
PWcsl |
片选低脉宽时间(读) 片选低脉宽时间(写) |
120 60 |
- |
- |
ns |
PWcsh |
片选高脉宽时间(读) 片选高脉宽时间(写) |
60 60 |
- |
- |
ns |
Tr |
上升时间 |
- |
- |
40 |
ns |
Tf |
下降时间 |
- |
- |
40 |
ns |
8080系列MCU并行接口时序特性
工作环境:(VDD=2.8V,Ta=25℃)
符号 |
参数 |
最小值 |
典型值 |
最大值 |
单位 |
Tcycle |
时钟周期时间 |
300 |
- |
- |
ns |
Tas |
地址设置时间 |
10 |
- |
- |
ns |
Tah |
地址保持时间 |
0 |
- |
- |
ns |
Tdsw |
写数据设置时间 |
40 |
- |
- |
ns |
Tdhw |
写数据保持时间 |
7 |
- |
- |
ns |
Tdhr |
读数据保持时间 |
20 |
- |
- |
ns |
Toh |
输出使能时间 |
- |
- |
70 |
ns |
Tacc |
接收时间 |
- |
- |
140 |
ns |
Tpwlr |
读低电平时间 |
120 |
- |
- |
ns |
Tpwlw |
写低电平时间 |
60 |
- |
- |
ns |
Tpwhr |
读高电平时间 |
60 |
- |
- |
ns |
Tpwhw |
写高电平时间 |
60 |
- |
- |
ns |
Tr |
上升时间 |
- |
- |
40 |
ns |
Tf |
下降时间 |
- |
- |
40 |
ns |
Tcs |
片选建立时间 |
0 |
- |
- |
ns |
Tcsh |
片选读信号保持时间 |
0 |
- |
- |
ns |
Tcsf |
片选保持时间 |
20 |
- |
- |
ns |
写周期时序
读周期时序
四线串行接口时序特征
工作环境:(VDD-VSS=2.8V,25℃)
符号 |
参数 |
最小值 |
典型值 |
最大值 |
单位 |
Tcycle |
时钟周期时间 |
250 |
- |
- |
ns |
Tas |
地址设置时间 |
150 |
- |
- |
ns |
Tah |
地址保持时间 |
150 |
- |
- |
ns |
Tcss |
片选建立时间 |
120 |
- |
- |
ns |
Tcsh |
片选保持时间 |
60 |
- |
- |
ns |
Tdsw |
写数据建立时间 |
50 |
- |
- |
ns |
Tdhw |
写数据保持时间 |
15 |
- |
- |
ns |
Tclkl |
时钟低电平时间 |
100 |
- |
- |
ns |
Tclkh |
时钟高电平时间 |
100 |
- |
- |
ns |
Tr |
上升时间 |
- |
- |
15 |
ns |
Tf |
下降时间 |
- |
- |
15 |
ns |
四线串行接口特性
三线串行接口时序特征
工作环境:(VDD-VSS=2.8V,25℃)
符号 |
参数 |
最小值 |
典型值 |
最大值 |
单位 |
Tcycle |
时钟周期时间(写周期) |
250 |
- |
- |
ns |
Tas |
地址设置时间 |
15 |
- |
- |
ns |
Tah |
地址保持时间 |
10 |
- |
- |
ns |
Tdsw |
数据设置时间 |
10 |
- |
- |
ns |
Tdhw |
数据保持时间 |
20 |
- |
- |
ns |
Tacc |
数据接收时间 |
15 |
- |
170 |
ns |
Toh |
输出保持时间 |
20 |
- |
60 |
ns |
三线串行接口特性
IIC接口时序特征
工作环境:(VDD-VSS=2.8V,Ta=25℃)
符号 |
参数 |
最小值 |
典型值 |
最大值 |
单位 |
Tcycle |
时钟周期时间 |
2.5 |
- |
- |
us |
Thstart |
开始条件保持时间 |
0.6 |
- |
- |
us |
Thd |
数据保持时间(SDAout) |
0 |
- |
- |
ns |
数据保持时间(SDAin) |
300 |
- |
- |
ns |
|
Tsd |
数据设置时间 |
100 |
- |
- |
ns |
Tsstart |
开始条件设置时间(一个重复的开始条件相对应) |
0.6 |
- |
- |
us |
Tsstop |
结束条件设置时间 |
0.6 |
- |
- |
us |
Tr |
数据引脚或者时钟引脚的上升时间 |
- |
- |
300 |
ns |
Tf |
数据引脚和时钟引脚的下降时间 |
- |
- |
300 |
ns |
Tidle |
在一个新的传送开始前始前的待电时间 |
1.3 |
- |
- |
us |
0.96寸OLED显示屏驱动手册(SSD1306)的更多相关文章
- 基于I2C总线的0.96寸OLED显示屏驱动
资料未整理,先占位置,以后补充
- 灵感手环第一步——0.96寸OLED显示实验
这算是我这个系列的第一篇博客吧.首先要解决的就是屏幕显示问题.我选择了目前新兴起的OLED显示模块. OLED(OrganicLightEmittingDiode),中文译作有机发光二极管,目前被广泛 ...
- Arduino SPI驱动7引脚0.96寸OLED SSD1306 调试笔记
https://www.geek-workshop.com/thread-37818-1-1.html 2.下载最新库https://learn.adafruit.com/monoc ... ibra ...
- Arduino通过I2C(SSD1306)驱动0.96寸12864OLED
I2C驱动的128x64 OLED I2C (Inter-Integrated Circuit) 集成电路总线是I2CBus的简称, 是一种串行通信总线, 使用多主从架构. 飞利浦公司在1980年代为 ...
- 张高兴的 Windows 10 IoT 开发笔记:0.96 寸 I2C OLED
This is a Windows 10 IoT Core project on the Raspberry Pi 2/3, coded by C#. GitHub:https://github.co ...
- [TPYBoard - Micropython之会python就能做硬件 6] 学习使用OLED显示屏
转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.实验器材 1.TPYBoard板子一块 2.数据线一条 ...
- Arduino和C51开发OLED显示屏
技术:51单片机.Arduino.OLED显示屏.U8glib 概述 OLED显示屏常常用作为智能产品的显示设备,本文简单介绍OLED显示屏的使用方法. 详细 代码下载:http://www.de ...
- 基于NIOS-II的示波器:PART1 按键&显示屏驱动&界面
NIOS II 相关资料以及基础入门 <NiosII的奇幻漂流> <Nios II那些事儿> 本文所有的硬件基础以及工程参考来自魏坤示波仪,重新实现驱动并重构工程. 基于NIO ...
- 基于FPGA的5寸LCD显示屏的显示控制
基于FPGA的5寸LCD显示屏的显示控制 作者:lee神 1,图像处理基础知识 数字图像处理是指将图像信号转换成数字信号并利用计算机对其进行处理的过程.图像处理最早出现于 20 世纪 50 年代,当时 ...
随机推荐
- ios---scrollview用法总结
一.使用步骤: 1.添加子组件到scrollview //必要步骤 2.设置clipsToBounds来确定超出范围是否被剪裁 (默认yes) self.scrolltest.clipsToBound ...
- python学习Day06--编码
[主要内容] 1. is 和 == 区别 id()函数 == 判断两边的值 is 判断内存地址回顾编码: 1. ASCII: 英文, 特殊字符, 数字, 8bit, 1byte 2. GBK: 中文 ...
- JS刷算法题:二叉树
Q1.翻转二叉树(easy) 如题所示 示例: 输入: 4 / \ 2 7 / \ / \ 1 3 6 9 输出: 4 / \ 7 2 / \ / \ 9 6 3 1 来源:力扣(LeetCode) ...
- Android客户端OkHttp的使用以及tomcat服务器的解析客户端发过来的数据
2020-02-15 21:25:42 ### android客户端客户向服务器发送json字符串或者以参数请求的方式发送数据 其中又分为post请求和get请求 1.activity.xml < ...
- pdo数据操作,3-4,0724
require 'connect.php'; $linshi = $dbh->prepare('UPDATE `category` SET `name` = :name, `alias`=:al ...
- 计蒜客A1998 Ka Chang (分块+dfs序+树状数组)
题意 给你一个\(1e5\)的有点权的树,有\(1e5\)个操作: 1.给第\(x\)层的点加上\(y\) 2.求以\(x\)为根的子树的点权和 思路 首先处理出层数为x的所有点 操作2一般都是用df ...
- Eclipse导入项目提示No projects are found to import解决办法
使用Eclipse导入项目时遇到No projects are found to import提示的解决办法. 这是因为导入的文件里面缺少两个文件:.classpath.project 在这里三种方案 ...
- Python3(十一) 原生爬虫
一.爬虫实例 1.原理:文本分析并提取信息——正则表达式. 2.实例目的:爬取熊猫TV某个分类下面主播的人气排行 分析网站结构 操作:F12查看HTML信息,Ctrl+Shift+C鼠标选取后找到对应 ...
- golang 自定义结构体(与其他语言对象类似)
/* 结构体变量: 结构体的定义只是一种内存布局的描述,只有当结构体实例化时,才会真正地分配内存, 因此必须在定义结构体并实例化后才能使用结构体的字段. type 类型名 struct { 字段1 字 ...
- 20191230--python学习第一天(补)
1.py第一个脚本 打开电脑终端,功能键+R 输入命令:解释器路径+脚本路径(建议.py后缀) 2.编码 (1)初始编码 ascii,英文,8为表示一个东西,2**8 8位 = 1字节 unicod ...