一、OLED显示原理

1、OLED名词解释

OLED可以自发光,无需背光光源。

2、正点原子OLED模块

模块总体概述

模块接口模式选择

MCU与模块外部连接

8080并口读写过程

OLED显存

因为要进行显示,所以需要有显存。

显存容量为128 x 8 byte,一个点用一位表示。

SSD1306命令

命令和数据是写入前,要设置DC表示为0。

命令结构为 命令字 + 系数。

要注意列地址设置的是起始页地址,换句话说,就是只用设置一次。

二、代码详解

1、OLED初始化

2、更新缓存 显示内容

当程序中表示缓存的变量完成后,我们需要向模块的缓存中进行写入。

OLED是每页进行操作的。

初始列地址设置一次,就可以一直向后写。

图中高位地址 0x10-0x1F,格子里应该是写错了。

3、画点函数

因为缓存的修改,利用的是行号(0~7)和列号(0~127),所以本函数利用点阵坐标计算相应行号和列号。

OLED屏幕的点阵是一个64 x 128 大小的矩阵。

x表示列号,y表示行号(点阵中的行号,供64行)。

pos表示对称后的行号。

temp是计算出一个操作掩码,表示在一个字节中(某行某列)中的位置。

OLED采用最高位优先,因此计算出的行号和列号,都要进行对称计算。

4、显示字符

5、字符码表

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

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

相关文章

会议系统核心流程详解:创建、加入与消息交互

一、系统架构概览 会议系统采用"主进程线程池进程池"的分层架构,实现高并发与业务隔离: #mermaid-svg-fDJ5Ja5L3rqPkby0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-fDJ5Ja5L3r…

Spring 创建 Bean 的 8 种主要方式

Spring(尤其是 Spring Boot)提供了多种方式来让容器创建和管理 Bean。Component、Configuration Bean、EnableConfigurationProperties 都是常见方式。 下面我为你系统地梳理 Spring 创建 Bean 的所有主要方式,并说明它们的使用场景和区别。…

React 第七十节 Router中matchRoutes的使用详解及注意事项

前言 matchRoutes 是 React Router v6 提供的一个核心工具函数,主要用于匹配路由配置与当前路径。它在服务端渲染(SSR)、数据预加载、权限校验等场景中非常实用。下面详细解析其用法、注意事项和案例分析: 1、基本用法 import { m…

iSCSI服务配置全指南(含服务器与客户端)

iSCSI服务配置全指南(含服务器与客户端)一、iSCSI简介 1. 概念 互联网小型计算机系统接口(Internet Small Computer System Interface,简称iSCSI)是一种基于TCP/IP的协议,其核心功能是通过IP网络仿真SCSI高…

堆(Heap):高效的优先级队列实现

什么是堆?堆是一种特殊的完全二叉树,满足以下性质:堆序性:每个节点的值与其子节点满足特定关系最小堆:父节点 ≤ 子节点(根最小)最大堆:父节点 ≥ 子节点(根最大&#xf…

朝花夕拾(四) --------python中的os库全指南

目录 Python os模块完全指南:从基础到高阶文件操作 1. 引言:为什么需要os模块? 1.1 os模块的重要性 1.2 适用场景 1.3 os模块的"瑞士军刀"特性 2. os模块基础功能 2.1 文件与目录操作 2.1.1 核心方法介绍 2.1.2 避坑指南 …

uniappx 安卓端本地打包的一些总结

本人之前没用过android studio,因为有打包到安卓端的需求,所以有了这篇文章。下面一些内容不正常工作,也不报错,是很烦的,根本不知道是哪里出了问题。比如对应的aar包没有引入。或者没有注册信息。 在实现过程中我遇到…

AUTOSAR进阶图解==>AUTOSAR_SWS_UDPNetworkManagement

AUTOSAR UDP网络管理详解 基于AUTOSAR标准的UDP网络管理模块架构分析与实现指南目录 1. 概述2. UDP网络管理架构 2.1 整体架构图2.2 架构组件详解 3. UDP网络管理状态机 3.1 状态机图3.2 状态详解 4. UDP网络管理操作序列 4.1 序列图4.2 操作流程详解 5. UDP网络管理配置模型 …

AI搜索引擎下的内容优化新范式:GEO的关键技术解析

摘要: 生成式AI搜索引擎的崛起,催生了GEO(Generative Engine Optimization)这一新的优化领域。本文将深入剖析GEO背后的关键技术,包括深度语义理解、结构化内容生成、以及AI算法的适配性,旨在为品牌在AI时代…

Java Lambda表达式是什么,怎么用

这种代码是什么&#xff0c;怎么阅读/*** 批量插入** param entityList ignore* param batchSize ignore* return ignore*/Transactional(rollbackFor Exception.class)Overridepublic boolean saveBatch(Collection<T> entityList, int batchSize) {String sqlStateme…

集成运算放大器(反向加法,减法)

反向加法电路原理&#xff1a;示波器显示&#xff1a;结论&#xff1a;输出电压-&#xff08;R4/R1*V1R4/R2*V2R4/R3*V3&#xff09;。平衡电阻R4等于R1和R2和R3的并联电压。减法运算电路原理&#xff1a;结论&#xff1a;减法运算电路分为三种不同情况&#xff0c;第一种情况为…

Maven入门到精通

目录 一&#xff0c;Maven概述 1.1介绍 1.2安装 1.3Maven生命周期和插件 1.4Maven的坐标的本地仓库的存储地址 二&#xff0c;依赖管理 2.1依赖管理——依赖范围 2.2依赖管理——添加依赖 获取依赖坐标 依赖添加后的操作 2.3依赖管理——依赖传递 2.4依赖管理——依…

计算机网络 TCP 延迟确认机制

TCP 延迟确认&#xff08;Delayed Acknowledgments&#xff0c;简称 Delayed ACK&#xff09;是 TCP 协议中一项旨在减少网络中小数据包数量、提升传输效率的优化机制。其核心思想是&#xff1a;不立即回复 ACK&#xff0c;而是等待一段时间&#xff08;通常 40ms&#xff09;&…

【visual studio】visual studio配置环境opencv和onnxruntime

下载opencv https://opencv.org/releases/?spma2ty_o01.29997173.0.0.57f4c921RELipW配置环境变量visual studio配置opencv 新建c项目选中文件后右键选择属性添加include文件夹库文件添加lib添加lib文件 将上一步的lib文件夹下的两个文件复制到这里以下两者区别在于&#xff0…

【Java】多线程Thread类

1. 进程与线程进程与线程的基本认识进程&#xff08;Process&#xff09;&#xff1a;进程是程序的一次动态执行过程&#xff0c;它经历了从代码加载、执行、到执行完毕的一个完整过程&#xff1b;同时也是并发执行的程序在执行过程中分配和管理资源的基本单位&#xff0c;竞争…

C/C++复习(四)

一.模版 模版涉及的是泛型编程&#xff0c;即通过编译器去确定类型的编程方式&#xff0c;模版分为&#xff1a;类模板和函数模版&#xff0c;下面我们一一复习&#xff1a; 函数模版&#xff1a; 格式&#xff1a; template<typename T1, typename T2,......,typename Tn&g…

022 基础 IO —— 文件

&#x1f984; 个人主页: 小米里的大麦-CSDN博客 &#x1f38f; 所属专栏: Linux_小米里的大麦的博客-CSDN博客 &#x1f381; GitHub主页: 小米里的大麦的 GitHub ⚙️ 操作环境: Visual Studio 2022 文章目录基础 IO —— C 语言文件 I/O 操作基础前言1. C 语言文件操作函数汇…

MNN LLM Chat iOS 流式输出优化实践

本文介绍了在 iOS 平台上使用 MNN 框架部署大语言模型&#xff08;LLM&#xff09;时&#xff0c;针对聊天应用中文字流式输出卡顿问题的优化实践。通过分析模型输出与 UI 更新不匹配、频繁刷新导致性能瓶颈以及缺乏视觉动画等问题&#xff0c;作者提出了一套包含智能流缓冲、U…

【开发技巧】VS2022+QT5+OpenCV4.10开发环境搭建QT Creator

VS2022编译器支持配置 QT5默认安装以后支持的是VS2015与VS2017&#xff0c;不支持VS2022&#xff0c;所以必须首先在Qt Creator中配置支持VS2022。配置顺序如下&#xff1a; 首先打开【工具】->【选项】 然点击Kits里面的【编译器】选项。点击Manual下面的【C】然后点击【…

【Linux系统】动静态库的制作

前言&#xff1a; 上文我们讲到了文件系统【Linux系统】详解Ext2&#xff0c;文件系统-CSDN博客 本文我们来讲讲动静态库的制作 库 【Linux】编译器gcc/g及其库的详细介绍_linux gcc 有哪些库-CSDN博客 这篇文章的第4大点&#xff0c;简单是介绍了一下库的基本概念。 静态库 静…