scratch创意设计 发表于 2022-7-21 13:47:13

ASR扩展库——SSD1306驱动

本帖最后由 scratch创意设计 于 2022-7-21 13:49 编辑

扩展库使用说明——SSD1306
一、OLED简介

OLED显示,主要是通过电场驱动,有机半导体材料和发光材料通过过载流子注入和复合后实现发光。从本质上来说,就是通过ITO玻璃透明电极作为器件阳极,金属电极作为阴极,通过电源驱动,将电子从阴极传输到电子传输层,空穴从阳极注入到空穴传输层,之后分迁移到发光层,二者相遇后产生激子,让发光分子激发,经过辐射后产生光源。简单来说,一块OLED屏幕,就是由百千万个“小灯泡”组成。

规格参数

驱动芯片 SSD1306
支持接口 I2C
分辨率128×64
显示尺寸 0.96英寸
显示颜色白光/蓝光
外形尺寸27.5×27.8(mm)
玻璃尺寸26.7×19.26×1.4(mm)
显示区域 21.74(W)×10.864(mm)
点间距 0.17×0.17(mm)
点大小0.15×0.15(mm)
管脚数 4针
功耗 正常显示功耗为 21mA-28MAX
工作电流 正常工作时电流在20ma左右休眠时在ua级电流
视角全视角
工作温度 -20℃~70℃
存储温度-30℃~80℃
工作电压 5V / 3.3V

接口定义

PIN SYMBOL Descriptions
1 GND Ground of Logic Circuit(逻辑电路接地)
2 VDD Power Supply for Logic(逻辑电源)
3 SCK Serial clock input(串行时钟输入)
4 SDA Serial data inpu(串行数据)

从地址数据格式

b7 b6 b5 b4 b3 b2 b1 b0
0 1 1 1 1 0 SA0 R/W#
“SA0”位为从机地址提供扩展位。“0111100”(即0x3c)或“0111101”(0x3d)可以选择作为SSD1306的从机地址。D/C#引脚充当SA0,用于从机地址选择。“R/W#”位用于确定I2C总线接口的操作模式。R/W#=1,处于读取模式。R/W#=0,处于写入模式。
二、硬件连线图



三、库函数功能


SSD1306初始化,模拟IIC
输入参数:
1.宽度:设置分辨率的宽度,默认为128
2.宽度:设置分辨率的高度,默认为64
3.SDA:串行SPI数据输入端
4.SCL:串行SPI时钟信号
5.设备地址:根据SA0引脚电平设为0x3c。设备地址设置规则请参考从机地址数据格式。


SSD1306初始化,硬件IIC
输入参数:
1.宽度:设置分辨率的宽度,默认为128
2.宽度:设置分辨率的高度,默认为64
3.设备地址:根据SA0引脚电平设为0x3c。设备地址设置规则请参考从机地址数据格式。


SSD1306清屏
输入参数:
1.状态:亮,屏幕所有像素点亮
灭,屏幕所有像素熄灭


SSD1306设置光标位置
输入参数:
1.X:设置光标的X轴坐标。
2.Y:设置光标的Y轴坐标。


SSD1306显示汉字
输入参数:
1.显示汉字,自定义,默认为好好搭搭
2.字体大小,可选12,16,24,32。


SSD1306更新显示

四、程序范例



五、实现效果


joring 发表于 2022-9-17 11:12:42

lu-asr01可以用吗

TinyStar 发表于 2022-9-29 18:23:56

用该模块打印英文和数字咋都是乱码啊

DuoXingLuoYu 发表于 2022-12-4 14:59:19

怎么显示变量啊,一直报错

skygod50 发表于 2023-3-7 22:14:09

你好,请问这个扩展库能改成7线的吗

一千个爱你的理由 发表于 2023-3-23 14:42:11

在PROTEUS上面仿真怎么不显示,实际的1306OLED就会正常显示。

zhangyikai 发表于 2023-10-18 21:21:29

为什么我没有硬件外设初始化和临界保护?
页: [1]
查看完整版本: ASR扩展库——SSD1306驱动