单片机-STM32 IIC通信(OLED屏幕)(十一)

一、屏幕的分类

1、LED屏幕:

由无数个发光的LED灯珠按照一定的顺序排列而成,当需要显示内容的时候,点亮相关的LED灯即可,市场占有率很高,主要是用于户外,广告屏幕,成本低。

LED屏是一种用发光二极管按顺序排列而制成的新型成像电子设备。由于其亮度高、可视角度广、寿命长等特点,正被广泛应用于户外广告屏等产品中。

采用LED光源进行照明,首先取代耗电的白炽灯,然后逐步向整个照明市场进军,将会节约大量的电能。近期,白色LED已达到单颗用电超过1瓦,光输出 25流明,也增大了它的实用性。

2、LCD屏幕:

液晶显示器,或称LCD(Liquid Crystal Display),为平面超薄的显示设备,它由一定数量的彩色或黑白像素组成,放置于光源或者反射面前方。

液晶显示器:是一种借助于薄膜晶体管驱动的有源矩阵液晶显示器,它主要是以电流刺激液晶分子产生点、线、面配合背部灯管构成画面,

LCD屏幕目前是市面消费类电子设备主流屏幕,主要在电脑 电视机,智能手表......

3、OLED屏:

OLED (Organic Light-Emitting Diode)即有机发光二极管,在手机OLED上属于新型产品,被称誉为“梦幻显示器”。

OLED显示技术与传统的LCD显示方式不同,无需背光灯,采用非常薄的有机材料涂层和玻璃基板(或柔性有机基板),当有电流通过时,这些有机材料就会发光。而且OLED显示屏幕可以做得更轻更薄,可视角度更大,并且能够显著的节省耗电量。

2023年5月,三星展示了一款具有革命性的 12.4 英寸可卷曲 OLED 面板。

OLED也被称之为第三代显示技术。OLED不仅更轻薄、能耗低、亮度高、发光率好、可以显示纯黑色,并且还可以做到弯曲,如当今的曲屏电视和手机等。当今国际各大厂商都争相恐后的加强了对OLED技术的研发投入,使得OLED技术在当今电视、电脑(显示器)、手机、平板等领域里应用愈加广泛。

4、数码管显示:

数码管,也称作辉光管,是一种可以显示数字和其他信息的电子设备。玻璃管中包括一个金属丝网制成的阳极和多个阴极。大部分数码管阴极的形状为数字。管中充以低压气体,通常大部分为氖加上一些汞和/或氩。给某一个阴极充电,数码管就会发出颜色光,视乎管内的气体而定,一般都是橙色或绿色。

二、基本概念

像素点:在显示屏幕上成像的最小单位

像素:在拍照的过程中,一次曝光采集的像素点个数

分辨率:在屏幕中,固定的尺寸大小中,集成的像素点个数

我们目前使用的屏幕分辨率:128*64

一行:128像素点

一列:64像素点

三、屏幕接口

1. GND 电源地
2. VCC 电源正(3~5.5V)
3. SCL OLED 的 D0 脚,在 IIC 通信中为时钟管脚
4. SDA OLED 的 D1 脚,在 IIC 通信中为数据管脚

我们使用的屏幕接口是:IIC

IIC通信

IIC通信主要用于低速传输,速度没有SPI传输高

IIC全双工还是半双工??

IIC只有一条数据线,所以肯定是半双工

IIC和主机连接:

I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。

SDA--数据线

SCK--时钟线

IIC通信原理

IIC收发过程

1.假设微控制器 A 要发送信息到微控制器 B

• 微控制器 A 主机 寻址微控制器 B 从机

微控制器 A 主机 发送器 发送数据到微控制器 B 从机 接收器

• 微控制器 A 终止传输

2.如果微控制器 A 想从微控制器 B 接收信息

• 微控制器 A 主机 寻址微控制器 B 从机

• 微控制器 A 主机 接收器 从微控制器 B 从机 发送器 接收数据

• 微控制器 A 终止传输

IIC中的几个要点

位传输

由于连接到 I2C 总线的器件有不同种类的工艺 CMOS NMOS 双极性 逻辑 0 低 和 1高 的电平不是固定的 它由 VDD 的相关电平决定 , 每传输一个数据位就产生一个时钟脉冲

时钟为高电平--数据保持稳定,只能传输

时钟为低电平--数据可以切换

0101 0101

数据的有效性

为了让数据传输的过程时序和起始信号终止信号不冲突,制定了以下规则

SDA 线上的数据必须在时钟的高电平周期保持稳定 数据线的高或低电平状态只有在 SCL 线的时钟

信号是低电平时才能改变

起始和停止条件

应答信号

确保数据的正确性

IIC通信中,每发一个字节的数据,都需要接收设备给出应答,代表当前接收到了数据

数据传输必须带响应 相关的响应时钟脉冲由主机产生 在响应的时钟脉冲期间 发送器释放 SDA 线

有效响应:低电平

错误响应:高电平

IIC通信的要点

依发数据为例:

1.主机寻址 ---7bit

2.从机给出应答信号,

3.主机发送数据给从机,每一个字节都需要从机给出响应信号

4.当传输结束,主机发送停止信号。

7 位的地址格式

7Bit的地址+1bit的读写标志位

在起始条件 S 后 发送了一个从机地址 这个地址共有 7 位紧接着的第 8 位是数据方向位 R/ W 0 表示发送 写 1 表示请求数据 读 数据传输一般由主机产生的停止位 P 终止 但是 如果主机仍希望在总线上通讯 它可以产生重复起始条件 Sr和寻址另一个从机 而不是首先产生一个停止条件 在这种传输中 可能有不同的读 写格式结合。

0--写操作

1--读操作

驱动器

SSD1306B--用于接收MCU的数据和指令,控制OLED屏幕的显示,以及字符的位置。

SSD1306 的每页包含了128 个字节,总共 8 页,这样刚好是 128*64 的点阵大小

需要详细的去了解SSD1306B驱动器,需要查看以下手册:

驱动器介绍:

接口:

6800/8080--并行接口

SPI通信---串行接口,全双工

IIC通信--串行接口,半双工(我们使用的)

在驱动器中IIC应用:

SCL OLED 的 D0 脚,在 IIC 通信中为时钟管脚

SDA OLED 的 D1 脚,在 IIC 通信中为数据管脚

不同的通信接口引脚定义:

SPI通信可以通过片选选择从设备,那么我们的IIC可以通过什么选择从设备?---IIC可以通过地址(设备的地址)

驱动器中关于IIC的解释--SDA SCK 从机地址:

DC的设置:

co dc

0 0 000 000

命令指令:0x00

co dc

0 1 000 000

有效数据:0x40

4.指令

列地址设置:

将列地址分为高四位和低四位,分别存储

页地址设置:

OLED屏的SSD1306B中,8行为一个页

图像显示内存分布:

5.IIC配置

OLED的初始化

如何将MCU中的内容发送至OLED屏幕呢????

英文字符显示:

从空格到~,总共95个

将以上95个字符取模:

首先先配置:

{0x00,0x00,0xC0,0x38,0xE0,0x00,0x00,0x00,0x20,0x3C,0x23,0x02,0x02,0x27,0x38,0x20},/"A",0/

图片的显示方式:

获取图片:

iconfont-阿里巴巴矢量图标库

打开图片取模工具:

设置:

将生成的.c文件中的内容复制到工程中:

去掉数组前面的const关键字

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

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

相关文章

Windows cmd常用命令

文章目录 Windows cmd常用命令一、引言二、文件和目录操作1、查看和切换目录2、文件和目录的创建与删除 三、系统信息与网络配置1、系统信息2、网络配置 四、使用示例五、总结 Windows cmd常用命令 一、引言 Windows 命令提示符(cmd)是一个强大的工具&a…

snippets router pinia axios mock

文章目录 补充VS Code 代码片段注册自定义组件vue routerpinia删除vite创建项目时默认的文件axiosmock3.0.x版本的 viteMockServe 补充 为文章做补充:https://blog.csdn.net/yavlgloss/article/details/140063387 VS Code 代码片段 为当前项目创建 Snippets {&quo…

神经网络基础 | 给定条件下推导对应的卷积层参数

神经网络基础 | 给定条件下推导对应的卷积层参数 按照 PyTorch 文档中 给定的设置: H o u t ⌊ H i n 2 padding [ 0 ] − dilation [ 0 ] ( kernel_size [ 0 ] − 1 ) − 1 stride [ 0 ] 1 ⌋ H_{out} \left\lfloor\frac{H_{in} 2 \times \text{padding}[0]…

欧拉(Euler 22.03)安装ProxySQL

下载离线安装包 proxysql-2.0.8-1-centos7.x86_64.rpm 链接: https://pan.baidu.com/s/1R-SJiVUEu24oNnPFlm9wRw 提取码: sa2w离线安装proxysql yum localinstall -y proxysql-2.0.8-1-centos7.x86_64.rpm 启动proxysql并检查状态 systemctl start proxysql 启动proxysql syste…

Sharding-JDBC 5.4.1+SpringBoot3.4.1+MySQL8.4.1 使用案例

最近在升级 SpringBoot 项目,原版本是 2.7.16,要升级到 3.4.0 ,JDK 版本要从 JDK8 升级 JDK21,原项目中使用了 Sharding-JDBC,版本 4.0.0-RC1,在升级 SpringBoot 版本到 3.4.0 之后,服务启动失败…

WPS计算机二级•幻灯片的基础操作

听说这是目录哦 PPT的正确制作步骤🛣️认识PPT界面布局🏜️PPT基础操作 快捷键🏞️制作PPT时 常用的快捷技巧🏙️快速替换PPT的 文本字体🌃快速替换PPT 指定文本内容🌅能量站😚 PPT的正确制作步…

easyexcel读取写入excel easyexceldemo

1.新建springboot项目 2.添加pom依赖 <name>excel</name> <description>excelspringboot例子</description><parent> <groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId&…

Neural networks 神经网络

发展时间线 基础概念 多层神经网络结构 神经网络中一个网络层的数学表达 TensorFlow实践 创建网络层 神经网络的创建、训练与推理 推理 推理可以理解为执行一次前向传播 前向传播 前向传播直观数学表达 前向传播直观数学表达的Python实现 前向传播向量化实现 相关数学知识…

AR智慧点巡检系统探究和技术方案设计

一、项目背景 随着工业生产规模的不断扩大和设备复杂度的提升&#xff0c;传统的人工点巡检方式效率低下、易出错&#xff0c;难以满足现代化企业对设备运行可靠性和安全性的要求。AR&#xff08;增强现实&#xff09;技术的发展为点巡检工作带来了新的解决方案&#xff0c;通…

AI如何帮助解决生活中的琐碎难题?

引言&#xff1a;AI已经融入我们的日常生活 你有没有遇到过这样的情况——早上匆忙出门却忘了带钥匙&#xff0c;到了公司才想起昨天的会议资料没有打印&#xff0c;或者下班回家还在纠结晚饭吃什么&#xff1f;这些看似微不足道的小事&#xff0c;往往让人疲惫不堪。而如今&a…

用Python绘制一只懒羊羊

目录 一、准备工作 二、Turtle库简介 三、绘制懒羊羊的步骤 1. 导入Turtle库并设置画布 2. 绘制头部 3. 绘制眼睛 4. 绘制嘴巴 5. 绘制身体 6. 绘制四肢 7. 完成绘制 五、运行代码与结果展示 六、总结 在这个趣味盎然的技术实践中,我们将使用Python和Turtle图形…

form表单row中的col排列错位混乱

如图所示 form表单新增时排列整齐 编辑时就混乱 具体原因未知 解决方法&#xff1a;在el-row中加入样式 style"flex-wrap: wrap; display: flex" <el-row style"flex-wrap: wrap; display: flex">

OpenCV:高通滤波之索贝尔、沙尔和拉普拉斯

目录 简述 什么是高通滤波&#xff1f; 高通滤波的概念 应用场景 索贝尔算子 算子公式 实现代码 特点 沙尔算子 算子公式 实现代码 特点 拉普拉斯算子 算子公式 实现代码 特点 高通滤波器的对比与应用场景 相关阅读 OpenCV&#xff1a;图像滤波、卷积与卷积核…

error Parsing error: invalid-first-character-of-tag-name vue/no-parsing-error

标签的第一个字符不符合 HTML 或 Vue 的语法要求 [0] Module Warning (from ./node_modules/eslint-loader/index.js): [0] [0] /Users/dgq/Downloads/cursor/spid-admin/src/views/tools/fake-strategy/components/identify-list.vue [0] 87:78 error Parsing error: in…

在Unity中使用大模型进行离线语音识别

文章目录 1、Vosk下载下载vosk-untiy-asr下载模型在项目中使用语音转文字音频转文字2、whisper下载下载unity项目下载模型在unity中使用1、Vosk 下载 下载vosk-untiy-asr Github链接:https://github.com/alphacep/vosk-unity-asr 进不去Github的可以用网盘 夸克网盘链接:h…

【c语言日寄】Vs调试——新手向

【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋&#xff1a;这是一个专注于C语言刷题的专栏&#xff0c;精选题目&#xff0c;搭配详细题解、拓展算法。从基础语法到复杂算法&#xff0c;题目涉及的知识点全面覆盖&#xff0c;助力你系统提升。无论你是初学者&#xff0c;还是…

双指针+前缀和习题(一步步讲解)

前言&#xff1a;如果解决下面这几道题有些问题&#xff0c;或者即使看了我画的过程图也不理解的可以去看看我的上一篇文章&#xff0c;有可能会对你有帮助。 一、《数值元素的目标和》---来自AcWing 数组元素的目标和 给定两个升序排序的有序数组 A和 B&#xff0c;以及一个…

单调栈详解

文章目录 单调栈详解一、引言二、单调栈的基本原理1、单调栈的定义2、单调栈的维护 三、单调栈的应用场景四、使用示例1、求解下一个更大元素2、计算柱状图中的最大矩形面积 五、总结 单调栈详解 一、引言 单调栈是一种特殊的栈结构&#xff0c;它在栈的基础上增加了单调性约束…

分布式光纤应变监测是一种高精度、分布式的监测技术

一、土木工程领域 桥梁结构健康监测 主跨应变监测&#xff1a;在大跨度桥梁的主跨部分&#xff0c;如悬索桥的主缆、斜拉桥的斜拉索和主梁&#xff0c;分布式光纤应变传感器可以沿着这些关键结构部件进行铺设。通过实时监测应变情况&#xff0c;能够精确捕捉到车辆荷载、风荷…

《安富莱嵌入式周报》第349期:VSCode正式支持Matlab调试,DIY录音室级麦克风,开源流体吊坠,物联网在军工领域的应用,Unicode字符压缩解压

周报汇总地址&#xff1a;嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 视频版&#xff1a; 《安富莱嵌入式周报》第349期&#xff1a;VSCode正式支持Matlab调试&#xff0c;DIY录音室级麦克风…