0.96寸OLED液晶显示器

news2024/11/24 22:53:32

在日常的小项目制作中我们经常会接触到OLED液晶显示器,本文介绍0.96寸液晶显示器的基本原理,辅助我们后续的小项目开发

OLED被称为有机激光二极管,也被称为有机激光显示,OLED采用有机材料涂层和玻璃基板,当有电流通过时有机材料就会发光,所以OLED具有自发光特性,不需要背光源(只上电不会亮的,需要完整的程序驱动)

下图所示是我们项目中常用的0.96寸的OLED液晶显示屏(图片来源于网络),其有4pin(IIC接口)和7pin(SPI接口)两种,它的显示区域是128X64的点阵,每个点都可以自己独立发光,所以不需要背光,可以显示汉字、ASIIC码、图案等,分别对其进行介绍

0.96寸屏幕具有以下特点:
(1)0.96 寸 OLED 有黄蓝,白,蓝三种颜色可选;其中黄蓝是屏上 1/4 部分为黄光,下 3/4 为蓝;而且是固定区域显示固定颜色,颜色和显示区域均不能修改;白光则为纯白,也就是黑底白字;蓝色则为纯蓝,也就是黑底蓝字。

(2)分辨率为 128*64

(3)多种接口方式;OLED 裸屏总共种接口包括:6800、8080 两种并行接口方式、3 线或 4 线的串行 SPI 接口方式、 IIC 接口方式(只需要 2 根线就可以控制 OLED 了),这五种接口是通过屏上的 BS0~BS2 来配置的。
在这里插入图片描述
大家可以看出来;模块的通信接口是通过 BS0,BS1,BS2 三个管脚来配置的。

(4)本屏开发了两种接口的 Demo 板,接口分别为七针的 SPI/IIC 兼容模块,四针的IIC 模块。两种模块都很方便使用;希望大家根据实际需求来选择不同的模块。
在这里插入图片描述

4pin-IIC接口

接口类型IIC接口
管脚定义VCC、GND、SCL、SDA
VCC电源接口(电源3.3V-5V)
GND电源地
SCLIIC时钟线
SDAIIC数据线

7pin-IIC接口

接口类型IIC接口
VCC电源接口(电源3.3V-5V)
GND电源地
D0SPI:时钟线 -//- IIC:时钟
D1SPI:数据线 -//- IIC:数据
RESILED复位,OLED在上电后需要一次复位(低电平复位)
DCSPI数据/命令选择脚
CSOLED SPI片选,低电平有效,不用时接地

大家在使用的时候一定注意,如下图所示。在 SPI 接口中 R1,R2,R8 三个电阻是不焊接的,如果大家想用 IIC 接口的话需要将 R3 换到 R1 上,R8 可以焊接也可不焊接
在这里插入图片描述
对于七针OLED模块特别是想用 IIC 接口的朋友们,在 IIC 接口中需要将 RES 接高电平,可以与 VCC 对接,使 OLED 复位脚一直操持高电平,也就是不复位的状态;同时需要将 DC,CS 接电源地;此时 IIC 通信中只需要 GND ,VCC,D0(时钟信号),D1(数据信号)四根线了。如果大家感觉这样比较麻烦也可直接选用四针的 IIC 接口模块

0.96 寸OLED 原理图设计注意事项

在这里插入图片描述

SPI 接口设计

在 SPI 接口中需保证 BS0,BS1,BS2 全为 0,也就是接地;所以在接口配置电阻中R1,R2 不焊接,R3,R4 焊接就可以了;同时电阻 R8 一定不要焊接,否则会出现不稳定情况。附加说明原理图中的662K为3.3v的稳压管,如果直接用 3.3v供电的话可以省去662k
在这里插入图片描述

IIC 接口设计

在 IIC 接口中需要将 BS1 配置为 1,BS0 为 0;所以 R1,R4 焊接,R2,R3 不焊接,R8 可焊接也可不焊接

程序说明

很多新手工程师或是学生比较在意在某个处理器下的程序;其实这个没有必要;大家可以打开几个不同平台下的程序,会发同一通信接口类型下的程序内部的操作函数是完全一样的,只是管脚定义方式不同,还有一个就是需要包含所用平台的头文件;其它的其实都不用作修改;因为其它的函数均是对 OLED 屏的操作;与所用的处理器平台没有关系
Bmp.h 是存放的图片数据,也就是大家对一 BMP 图片取模的数据
Oledfont.H 主要是存放的字库数据,包含常用的字符和用户自己所取模的中文
Oled.c 主要是函数的操作

取模说明

取模主要有三种一是图片、字符、汉字三种,取的原理是一样的

(1)图片取模

打开 PCtoLCD2002.exe 软件
在这里插入图片描述
打开手机桌面图片
在这里插入图片描述
模式设置
在这里插入图片描述
在这里插入图片描述
生成 BMP 图像字模
在这里插入图片描述

(2)汉字字模取模

其方法与图像的相似, 打开软件以后,如下操作
在这里插入图片描述
在这里插入图片描述
之后操作与图像取模操作一样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448741.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

#Chrome扩展程序开发教程--02:Hello Extensions

#Chrome扩展程序开发教程--02:Hello Extensions 引言1、Hello Extensions2、固定扩展程序3、重新加载扩展程序4、查看扩展程序的输出 引言 本系列博客旨在带来最新的Chrome扩展程序开发入门教程。 1、Hello Extensions 本节博客中,笔者将带领读者创建一个…

C++附加篇: 空间适配器

"我有时难过,却还有些抚慰和感动。" 一、我们来谈谈空间适配器 (1) 什么是空间配置器? STL的六大组件,容器、算法、迭代器、适配器、仿函数,最后一个也就是"空间适配器"。 所谓"空间适配器"&#x…

轻松掌握K8S使用kubectl操作配置文件挂载ConfigMap和密钥Secret知识点05

1、挂载应用配置文件配置集ConfigMap 当有许多应用如redis、mysql,希望将它的配置文件挂载出去,以便随时修改,可以用ConfigMap配置集 具体用法查看使用命令行操作里的 3、ConfigMap配置集实战 2、挂载应用配置文件的敏感信息Secret Secre…

JAVA开发运维(云基础设备监控)

在大型的商用系统中,经常需要监控云设备的健康状态,性能情况,流量数据等。及时发现系统问题,及时修复,以确保系统的高可用。检查云资源的工作内容主要包括基础监控、主动拨测、用户体验、APM监控、指标体系、业务分析、…

Java运行时内存管理

一、前言 希望能在我们平时开发写代码的时候,能够知道当前写的这段代码,内存方面是如何分配的。 我们深知,一个Java程序员在很多时候根本不用操心内存的释放,而是依靠JVM去管理,以前写C代码的时候,却要时刻…

SAP 自定义生产订单状态

1、生产订单通常系统有一整套订单状态,做PP的各位同学都应该知道。 CRTD状态 REL已下达 CNF已报工 DLV已入库 TECO技术性完成 等等状态这里就不在罗列了,可以自行在生产订单中看到 2、这篇文章主要是在生产订单系统外,在自定义一套状态。这个…

Spring更简单的读取和存储Bean(基于注解)

目录 ①从Maven中央仓库获取spring-context和spring-beans的依赖,将依赖引入到pom.xml中 ②配置扫描路径 ③添加注解存储Bean对象(可以使用5大类注解和方法注解) 类注解(写在类上,作用于类上) Contro…

【致敬未来的攻城狮计划】— 连续打卡第十一天:FSP固件库开发点亮第一个灯。

系列文章目录 1.连续打卡第一天:提前对CPK_RA2E1是瑞萨RA系列开发板的初体验,了解一下 2.开发环境的选择和调试(从零开始,加油) 3.欲速则不达,今天是对RA2E1 基础知识的补充学习。 4.e2 studio 使用教程 5.…

leetcode刷题--辅助工具

idea插件 插件商店搜索leetcode,可以让你利用idea调试leetcode的题目 插件首先需要填写用户名密码登录,登录上就可以在idea搜题、做题、提交等 注意: 一些版本登录可能登录失败,解决方法是换leetcode地址为leetcode.cn。 有些可…

通过用户名密码认证保障 MQTT 接入安全

认证是一种安全措施,用于识别用户并验证他们是否有权访问系统或服务器。它能够保护系统免受未经授权的访问,确保只有经过验证的用户才能使用系统。 物联网连接万物,对试图访问基础设施的用户进行认证至关重要。未经授权的访问存在重大的安全…

数据保管库的数据质量错误

数据保管库的数据质量错误 在过去的几年里,数据仓库发生了巨大的变化,但这并不意味着支撑健全数据架构的基本原理需要被抛在窗外。事实上,随着GDPR等数据法规的日益严格以及对优化技术成本的重新重视,我们现在看到了“Data Vault…

设计模式之备忘录模式(C++)

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、备忘录模式是什么? 备忘录模式是一种行为型的软件设计模式,在不破坏封装的前提下,获取一个…

OpenCV实例(八)行人跟踪

OpenCV实例(八)行人跟踪 1.目标跟踪概述2.基于背景差分检测运动物体2.1 实现基本背景差分器2.2 使用MOG背景差分器2.3 使用卡尔曼滤波器寻找运动趋势 3.跟踪行人 作者:Xiou 1.目标跟踪概述 目标跟踪是对摄像头视频中的移动目标进行定位的过…

数据结构与算法基础-学习-20-查找之散列表(HASH TABLE)

目录 目录 一、基本思想 二、术语 1、散列方法 2、散列函数 3、散列表 4、冲突 5、同义词 三、如何减少哈希冲突 四、构造散列函数需考虑的情况 五、散列函数的构造方法 1、直接定址法 2、除留余数法 六、如何处理哈希冲突 1、开地址法 2、拉链法 七、散列表查…

【微服务笔记16】微服务组件之Gateway服务网关基础环境搭建、高可用网关环境搭建

这篇文章,主要介绍微服务组件之Gateway服务网关基础环境搭建、高可用网关环境搭建。 目录 一、Gateway服务网关 1.1、什么是Gateway 1.2、Gateway基础环境搭建 (1)基础环境介绍 (2)引入依赖 (3&#…

快速上手Navicat~

众所周知, Navicat是一款轻量级的用于MySQL连接和管理的工具,非常好用,使用起来方便快捷,简洁。下面我会简单的讲一下其安装以及使用的方法。并且会附带相关的永久安装教程。 简介 一般我们在开发过程中是离不开数据库的&#xf…

【Unity VR开发】结合VRTK4.0:添加对象追随器

语录: 我已经准备好了足够挡雨的伞,可是却迟迟没有等到雨的到来,这样的尴尬只是我漫长人生中的小插曲罢了。 前言: 对象追随器的目的是让一个或多个游戏对象跟随场景中的另一个对象,而无需将游戏对象嵌套在彼此之下。 …

『pyqt5 从0基础开始项目实战』13. 打包生成exe(保姆级图文)

目录 项目源码打包exe打开闪退需要db文件夹总结 欢迎关注 『pyqt5 从0基础开始项目实战』 专栏,持续更新中 欢迎关注 『pyqt5 从0基础开始项目实战』 专栏,持续更新中 项目源码 请查阅专栏上文获取源码 ## 安装库包 python pip install pyinstaller ![…

Stable Diffusion的原理

CSDN-markdown语法之怎样使用LaTeX语法编写数学公式 参考视频:【diffusion】扩散模型详解!原理代码! 用一颗桃树为你讲清楚 知识点:AI绘图原理 Diffusion扩散模型 Windows深度学习环境搭建:Windows深度学习环境搭建 …

FFmpeg开发笔记(三)FFmpeg的可执行程序介绍

外界对于FFmpeg主要有两种使用途径,一种是在命令行运行FFmpeg的可执行程序,该方式适合没什么特殊要求的普通场景;另一种是通过代码调用FFmpeg的动态链接库,由于开发者可以在C代码中编排个性化的逻辑,因此该方式适合厂商…