首页 » 互联网 » STM32进修笔记-OLED屏幕驱动_地址_敕令

STM32进修笔记-OLED屏幕驱动_地址_敕令

乖囧猫 2024-11-27 21:02:31 0

扫一扫用手机浏览

文章目录 [+]

OLED 显示和传统的 LCD 显示不同,其可以自发光,以是不须要背光灯,这使得OLED显示屏相对付LCD显示屏尺寸更薄,同时显示效果更优。
LCD都须要背光,而OLED不须要,由于它是自发光的。
这样同样的显示,OLED效果 要来得好一些。
以目前的技能,OLED的尺寸还难以大型化,但是分辨率却可以做到很高。

二,SSD1306框图

图片来自于网络

STM32进修笔记-OLED屏幕驱动_地址_敕令 互联网

干系引脚解释:

1,RES:复位引脚。

该引脚是复位旗子暗记输入。
当引脚被拉低,芯片的初始化被实行。
保持此引脚高(即连接到VDD)在正常运行。

2,CS:片选旗子暗记,相应时拉低。

3,D/C:命令数据掌握引脚

这是数据/命令掌握引脚。
当它被拉高(即连接到VDD),数据D[7:0]被视为数据。
当它被拉低时,D[7:0]处的数据将被传输到命令寄存器。

4,D[7:0]:数据引脚

这些是连接到微处理器的数据总线的8位双向数据总线。
当选择串行接口办法,D0为串行时钟输入:SCLK;D1是序列数据输入:SDIN。

5,BS0,BS1,BS2:单片机总线接口引脚选择

此模块只支持四线 SPI、三线 SPI、IIC 接口和 6800、8080 并口办法,我们可以通过 BS0,BS1,BS2 三个管脚来配置我们所利用的通讯办法。

通讯办法配置

6,CL:外部时钟输入引脚。

当内部时钟是启用(CLS引脚为高),该引脚不该用,该当连接到VSS。
当内部时钟被禁用(CLS引脚为低),这个引脚是外部时钟源输入管脚。

详细硬件连接(4线spi办法)如下:

三,屏幕驱动干系指令

个人采取4线spi办法驱动屏幕,4线串行接口由串行时钟SCLK、串行数据SDIN、D/C、cs组成。
在4线SPI模式下,D0为SCLK, D1为SDIN。
对付从D2到D7的未利用的数据引脚,R/ w# (wr#), E和D/ c#可以连接外部接地。

发送命令时须要掌握D/C引脚为低电平,写入数据时为高电平。

根本命令:

设置页寻址模式的低列起始地址(00h~0Fh)

设置页面寻址模式的高列起始地址(10h~1Fh)

设置寻址模式:20h

寻址模式包括:页寻址(A[1:0]=10xb) 水平寻址(A[1:0]=00b) 垂直寻址(A[1:0]=01b)

设置列起始地址 (21h)

设置页起始地址(22h)

设置叶寻址的流程如下

1. 发送命令 20H

2. 发送命令 02H

3. 发送命令 B0--B7H 页地址

4. 发送命令 00H--0FH 列地址高位

5. 发送命令 10H--1FH 列地址低位

设置垂直/水平寻址:

1 发送命令 20H

2 发送命令 00/01 H

3. 发送命令 21H

4. 发送命令列起始地址 0-127

5. 发送命令列结束地址 0-127

6. 发送命令 22H

7. 发送命令页起始地址 0-7

8. 发送命令页结束地址 0-7

四,oled启动流程

官方给出的启动流程如下:

五,驱动屏幕代码(已删减)

//启动代码void Oled_Confing(void){ //Oled_SpiSendData是一个spi发送数据的函数。
Init_SPI();//初始化spi通讯,为传输数据准备 OLED_RES(1); //复位 Delay_ms(200); OLED_RES(0); Delay_ms(200); OLED_RES(1); Delay_ms(200); Oled_SpiSendData(0,0xAE); /display off/ Oled_SpiSendData(0,0x00); /set lower column address/ Oled_SpiSendData(0,0x10); /set higher column address/ Oled_SpiSendData(0,0x40); /set display start line/ Oled_SpiSendData(0,0xB0); /set page address/ Oled_SpiSendData(0,0x81); /contract control/ Oled_SpiSendData(0,0x66); /128/ Oled_SpiSendData(0,0xA1); /set segment remap/ Oled_SpiSendData(0,0xA6); /normal / reverse/ Oled_SpiSendData(0,0xA8); /multiplex ratio/ Oled_SpiSendData(0,0x3F); /duty = 1/64/ Oled_SpiSendData(0,0xC8); /Com scan direction/ Oled_SpiSendData(0,0xD3); /set display offset/ Oled_SpiSendData(0,0x00); Oled_SpiSendData(0,0xD5); /set osc division/ Oled_SpiSendData(0,0x80); Oled_SpiSendData(0,0xD9); /set pre-charge period/ Oled_SpiSendData(0,0x1f); Oled_SpiSendData(0,0xDA); /set COM pins/ Oled_SpiSendData(0,0x12); Oled_SpiSendData(0,0xdb); /set vcomh/ Oled_SpiSendData(0,0x30); Oled_SpiSendData(0,0x8d); /set charge pump enable/ Oled_SpiSendData(0,0x14); Oled_SpiSendData(0,0xAF); /display ON/ Oled_clear();}/设置显示区域col列地址 0-127page页地址 0-63wide显示宽度 0-128heigth显示高度0-64/void Oled_DisplayArear(u8 col,u8 page,u8 wide,u8 heigth){Oled_SpiSendData(DC_CMD ,0x20);//发送指令确定寻址办法Oled_SpiSendData(DC_CMD ,0x00);//垂直寻址Oled_SpiSendData(DC_CMD ,0x21);//设置列地址Oled_SpiSendData(DC_CMD ,col);//列起始地址Oled_SpiSendData(DC_CMD ,col+wide-1);//列结束地址Oled_SpiSendData(DC_CMD ,0x22);//设置页地址Oled_SpiSendData(DC_CMD ,page/8);//页起始地址Oled_SpiSendData(DC_CMD ,(page+heigth-1)/8);//页结束地址}

相关文章

好书推荐:《芯片简史》_芯片_本书

这些器件的发展就像一颗种子萌芽,逐渐演化成了双极型晶体管、MOS场效应晶体管、光电二极管等,并集成到一起,构成了各种芯片。本书还先...

互联网 2025-01-22 阅读0 评论0

企业和家庭组网简单的窍门_端口_这款

往常我们说到交流机,都会想到机房里那轰鸣做响的一个“大箱子”。对付中小企业来说,办公室内的组网既须要交流机来完成,但是经济上和空间...

互联网 2025-01-22 阅读2 评论0