单片机通过I²C实现OLED显示原理和实现方法

strongerHuang 2025-02-15 09:02

关注+星标公众,不错过精彩内容
直接来源 | 瑞萨嵌入式小百科

I²C(Inter-Integrated Circuit)是一种串行通信协议,常用于连接低速外设。


由于I²C在很多场景下都会使用,所以很多单片机内部都集成了I²C控制器,

通过I²C实现OLED显示,主要涉及硬件连接、通信协议和软件驱动。


下面就结合瑞萨 RA0E1单片机以及e2 studio工具给大家讲述一下通过I²C实现OLED显示原理和实现方法。


RA0E1单片机概述


  • 32MHz Arm Cortex-M23内核

  • 高达64KB闪存和12KB SRAM 

  • 1KB数据闪存(100,000次编程/擦除 (P/E) 周期)

  • 16引脚和32引脚封装选项

  • 1.6V至5.5V的宽电压范围

  • TAU(16位通用PWM定时器)

  • TML32(32位间隔定时器)

  • 实时时钟

  • 12位模数转换器

  • 温度传感器

  • SAU(UART、简单SPI、简单 I2C)

  • UART

  • I2C总线

  • 随机数发生器

  • 安全功能

  • +-1%高精度、高速片上振荡器

  • 灵活的电源架构,具有快速唤醒功能

  • HAL驱动器代码

  • 支持Arm生态系统和瑞萨电子原创开发工具


1

背景

简单介绍IIC通信协议、OLED显示原理、SS1306驱动IC等。


IIC通信协议

IIC(Inter-Integrated Circuit)即集成电路总线。它是一种串行通信总线,使用多主从架构,如图所示。



关于IIC

https://www.i2c-bus.org/

飞利浦Philips公司于二十世纪八十年代初设计,最初是为了让主板、嵌入式系统或手机用以连接低速周边设备。


自2006年10月1日起,使用IIC协议不需要支付专利费,但制造商仍然需要付费以获取IIC从属设备地址。


IIC通信协议的功能特点如下

  • 只需要两条总线线路

  • 没有严格的波特率要求,例如使用RS232,主站生成总线时钟

  • 所有组件之间存在简单的主/从关系连接到总线的每个设备都可通过唯一地址进行软件寻址

  • IIC是真正的多主总线,提供仲裁和冲突检测

    https://www.i2c-bus.org/MultiMaster/


IIC使用两根线进行通信:一根时钟线SCL,一根数据线 SDA。


IIC将SCL处于高时SDA拉低的动作作为开始信号,SCL处于高时SDA拉高的动作作为结束信号;


传输数据时,SDA在SCL低电平时改变数据,在SCL高电平时保持数据,每个SCL脉冲的高电平传递1位数据。


7-bit设备的数据传输



  • 软件模拟IIC一般是用GPIO管脚,软件控制管脚高低电平输出,以模拟IIC通信波形。

  • 硬件IIC对应芯片上的IIC外设,有相应IIC驱动电路,其所使用的IIC管脚也是专用。


软硬件IIC对比

  • 硬件IIC效率远高于软件IIC,软件IIC不受管脚限制,接口更灵活;

  • 软件模拟IIC是通过GPIO软件模拟寄存器的工作方式,而硬件IIC是直接调用内部寄存器进行配置;

  • 性能方面,硬件IIC由于由专门的硬件模块处理,减少了软件干预,因此具有更高的可靠性和稳定性;

  • 硬件IIC模块可以在后台自动处理数据传输,释放CPU资源,因此CPU占用率更低;

  • 软件IIC的代码量多于硬件IIC,相比之下更为复杂;

  • 硬件IIC通常还支持更高的通信速率。


OLED显示原理

OLED(Organic Electroluminescence Display)即有机发光二极管。



OLED由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异特性,被认为是下一代的平面显示器新兴应用技术。


0.96英寸OLED基本参数

  • 工作电压:3.3~5V(内置3.3V LDO,IIC通信接口电平是3.3V的)

  • 像素点阵规模:128*64(128列,64行,共8192颗LED)

  • 驱动IC:SSD1306


OLED模块电路



SSD1306驱动电路



详见:oled i2c , SSD1306 Datasheet .

https://www.alldatasheet.com/datasheet-pdf/pdf/1179026/ETC2/SSD1306.html


2

方法说明


  1. 使用e2 studio建立硬件IIC框架;

  2. 编译OLED相关主函数,特别是初始化、打开IIC、写入IIC等部分,或移植相关函数,并进行修改;

  3. 运行程序,构建项目,调试项目。


3

操作说明


  • 新建项目;

  • 引脚Pins定义;

  • 新建Stacks - IIC master,并修改属性,定义地址0x3C;



  • 移植并修改oled.c、oled.h、oledfont.h、bmp.h文件;

  • 构建主函数hal_entry.c,调试项目。


4

系统框图



5

代码

主函数

hal_entry.c


左右滑动查看完整内容

while(1){        /*---------- Picture ------------*/        OLED_Clear();//clear screen        OLED_DrawBMP(0,0,128,8,BMP1);        R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);        /*----------- Text ------------*/        OLED_Clear();//clear screen        OLED_ShowString(0,0,"RA",16);        OLED_ShowCHinese(16,0,0);//生        OLED_ShowCHinese(32,0,1);//态        OLED_ShowCHinese(48,0,2);//工        OLED_ShowCHinese(64,0,3);//作        OLED_ShowCHinese(80,0,4);//室        OLED_ShowString(0,2,"2024.12.14",16);        OLED_ShowString(0,4,"Renesas RA0E1",16);        R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);}
oled.c
oled.h
oledfont.h
bmp.h


6

结果

如主代码所示,图片和文字交替显示。

左右滑动查看完整内容

while(1){        /*---------- Picture ------------*/        OLED_Clear();//clear screen        OLED_DrawBMP(0,0,128,8,BMP1);        R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);        /*----------- Text ------------*/        OLED_Clear();//clear screen        OLED_ShowString(0,0,"RA",16);        OLED_ShowCHinese(16,0,0);//生        OLED_ShowCHinese(32,0,1);//态        OLED_ShowCHinese(48,0,2);//工        OLED_ShowCHinese(64,0,3);//作        OLED_ShowCHinese(80,0,4);//室        OLED_ShowString(0,2,"2024.12.14",16);        OLED_ShowString(0,4,"Renesas RA0E1",16);        R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);}


每隔500ms刷新页面一次。


7

演示视频



8

最后

通过以上实践操作,你能掌握瑞萨RA0E1单片机的开发流程、了解I2C通信协议,以及外设OLED的基础原理。


------------ END -----------


单片机4种互补PWM模式原理和实现方法


DeepSeek上RA8单片机,实现教程来了!


基于RA2单片机移植RTT打印功能


strongerHuang 作者黄工,高级嵌入式软件工程师,分享嵌入式软硬件、物联网、单片机、开发工具、电子等内容。
评论 (0)
  • 新兴的个人健康监测技术为何在医疗场景和日常生活中越来越受到青睐?为了准确回答这个关键问题,我们首先需要理解三个全球性趋势:如今,几乎人手一部智能手机,这等于随身携带了一台高性能计算机、一个全天候运行的智能医疗传感器中心,还有一块显示屏。发达工业国家的人口正在迅速老龄化,而老年群体的疾病发病率较高。与此同时,年轻人也比过去更加关注如何延长健康寿命。这些人群以及服务他们的医务人员可以利用新技术来优化生活方式,合理调控运动、饮食、睡眠和压力等关键因素,帮助他们作出更健康的生活选择。如摩尔定律所预言,半
    艾迈斯欧司朗 2025-03-17 21:50 72浏览
  • esp32s3使用platformio 点亮1.69寸TFT历程之LVGL移植 继上一篇我历经很久的时间点亮了1.69寸TFT之后。我开始进行LVGL的移植。开始LVGL的学习。用platformio 开发esp32s3真的好方便。按照上一节的环境。本次由于需要使用LVGL。打开platformio lib界面搜索LVGL。目前里面的版本是9.2.2。我使用的8.3.6。然后按照下图加载到自己的工程项目。待加载完毕后。我们会看到libdeps下面会出现LVGL库好了,这一步完成后。我们就开始移植
    zhusx123 2025-03-15 20:58 119浏览
  • 随着汽车行业逐步迈向电气化和电池动力,位置传感器以及其他长期在车辆中被忽视但却至关重要的小型元器件正逐渐成为关注的焦点。某些电子元器件常常吸引大量关注,例如如今用于训练AI模型的强大GPU几乎每天都出现在新闻中。而其他元器件则默默地执行着重要但鲜为人知的功能。艾迈斯欧司朗一些历史悠久的产品线便隶属于后者,其中包括磁性和电感式位置传感器、电容式传感器和电池监控芯片。工业泵和风扇等产品的制造商利用位置传感器实现电动机高效平稳运行。在车辆的方向盘中安装电容传感器可以保障安全,它可以用于在辅助驾驶模式下
    艾迈斯欧司朗 2025-03-17 22:22 65浏览
  • 在工业4.0与智能制造深度融合的今天,设备实时性、稳定性和成本效益成为企业核心竞争力的关键。触觉智能将基于RK3506平台,分享工业应用方案,本期为大家带来DSMC串行接口在数控行业的应用。DSMC技术解析底层架构突破双倍数据速率:通过上升沿与下降沿双重触发机制,实现单周期内2倍数据吞吐量,较传统SPI接口效率提升300%。多通道并行:支持8线/16线位宽可配置模式,满足多轴协同场景下的同步通信需求。性能实测标杆超低延迟:FPGA互联场景下,写延时小于75ns,读延时小于260ns,相比PCIe
    Industio_触觉智能 2025-03-18 11:46 42浏览
  • 在制药行业中,生产工艺的精准控制与产品质量安全密切相关。随着制药工业4.0的发展,传感器作为生产流程的"感知器官",在确保合规性、提升效率、降低风险方面发挥着不可替代的作用。本文将以晨穹电子科技(以下简称"晨穹")的压力、温度、流量及液位传感器为例,解析制药厂关键工艺流程中的传感器应用场景及技术要求。一、制药核心工艺流程中的传感器需求1. 原料处理与配液系统液位监测:储罐内原料液位实时监控需使用卫生型液位计。晨穹磁翻板液位计采用316L不锈钢材质,具备CIP/SIP(在线清洗/灭菌)耐受性,符合
    传感器晨穹 2025-03-18 15:51 38浏览
  • 近期,据全球物联网市场调研机构IoT Analytics公布数据显示,2025年全球物联网设备连接数预计将突破200亿,同比增长约14%,物联网技术正以稳定上升态势向工业自动化、智慧城市、智慧农业与智慧家居等领域纵深推进。在多样化的应用场景和复杂环境需求的驱动下,物联网无线通信技术的运行功耗、传输距离和频段兼容性正受到前所未有的关注。为增加物联网通信模块的配置灵活度,消除物联网设备的“连接焦虑”,华普微重磅推出了一款自主研发的超低功耗、可兼容Sub-GHz与2.4GHz 双频段的高性能LoRa
    华普微HOPERF 2025-03-18 15:43 35浏览
  •        在工业视觉检测线上,一台搭载传统图像传感器的机器人因高温导致图像噪点激增,误将合格零件判定为瑕疵品,每小时损失超10万元;在深夜的安防监控画面中,模糊的噪点让犯罪分子身影难以识别,导致案件侦破延迟—— 噪声,已成为图像传感器行业的“无声杀手”。据Yole统计,全球约35%的工业检测误差源于传感器噪声干扰,而安防场景下60%的有效信息因低照度噪点丢失。传统方案试图通过单一优化像素或电路来降噪,却陷入“按下葫芦浮起瓢”的困境。  &nb
    中科领创 2025-03-18 10:24 38浏览
  • 在招聘合适的人才时,清晰度至关重要。想要找到合适的人选,并确保他们在岗位上取得成功,第一步就是明确职位的关键绩效指标(KPI)和预期成果。但光有这些还不够,如何判断候选人是否具备必要的特质?这时,KSA模型就派上用场了。它是一个简单但强大的方法,能帮助你聚焦于真正影响岗位表现的关键要素。今天,我想和你聊聊这个模型,帮你更轻松地为合适的候选人设定合适的KPI。了解KSA模型KSA代表知识(Knowledge)、技能(Skills)和态度(Attitude),是评估候选人是否适合岗位的三个关键维度。
    优思学院 2025-03-18 15:03 36浏览
  • 失效模式与影响分析(FMEA)失效模式与影响分析(FMEA)是一种系统方法,用于识别和分析系统或过程中的潜在失效,广泛应用于工程和制造领域,以提高产品可靠性和安全性。最新标准由 2019 年发布的 AIAG-VDA FMEA 手册(第一版) 定义,该手册结合了美国和欧洲汽车行业的最佳实践,并引入了 七步法,确保分析全面且结构化。图:优思学院六西格玛新版 FMEA 失效分析的七个步骤1. 规划与准备确定 FMEA 研究的 范围、边界和目标。组建跨职能团队(设
    优思学院 2025-03-17 14:43 111浏览
  • 晨穹电子一家专业从事研发、生产、销售各类传感器为一体的高新科技企业。1 人赞同了该文章在工业4.0、智能家居、新能源汽车等场景中,传感器作为数据采集的核心器件,其抗电磁干扰(EMC)能力直接影响系统可靠性。尤其在5G通信、高功率电机、无线充电等复杂电磁环境下,传感器的信号失真问题愈发突出。本文结合MEMS传感器、物联网(IoT)设备、边缘计算等热度技术,解析提升传感器抗干扰能力的6大策略。 一、电磁干扰对传感器的威胁; 1、电磁干扰(EMI)会导致传感器出现 。2、信号跳变(
    传感器晨穹 2025-03-18 09:28 79浏览
  • 文/Leon编辑/cc孙聪颖‍蛇年春晚最有意思的节目,一定非机器人跳舞莫属。就算是遥控或预编程,机器人能够做出如此复杂的动作,在五年前都是不敢想象的事情,其制造商宇树科技也因此火爆全网。就在春节过后不到一个月,会骑自行车的人形机器人诞生了。这背后,是近年来“具身智能”概念的迅猛发展。“我们造了一个跟人一样灵动的机器人!”3月11日,智元机器人联合创始人兼首席技术官彭志辉在微博上说道。在视频中,灵犀X2会骑自行车、能跳《科目三》,还可以与人促膝长谈,甚至拿起葡萄“穿针引线”。在全球人形机器人领域,
    华尔街科技眼 2025-03-17 12:38 105浏览
  • 一、引言:语音芯片的智能化浪潮在万物互联的智能化时代,语音交互技术已成为人机交互的重要纽带。从智能家电的提示音到儿童玩具的趣味互动,从工业设备的语音告警到公共服务设施的自动播报,语音播放芯片IC作为核心硬件支撑,正在重塑各行各业的用户体验。在众多解决方案中,WTN6、WT588、WT2003H、WTV四大系列产品,凭借差异化的技术特性构建了完整的语音芯片产品矩阵。本文将深度解析这四大主流芯片的技术特点与应用场景,为开发者提供选型参考。二、主流语音芯片技术特性全解析2.1 WTN6系列:高性价比的
    广州唯创电子 2025-03-17 09:04 143浏览
  • 一、问题现象:语音播放异常的典型表现在使用WT588F(E)系列语音芯片的开发过程中,工程师常会遇到以下两类典型异常现象:播放不全:语音仅播放前段内容后突然中断,或特定段落无法触发播放断续:音频输出存在明显卡顿、爆音或波形畸变某智能门锁项目实测数据显示,在首批样机中有2%的设备出现语音提示突然中断的情况,经排查发现电源电压在播放瞬间跌落至2.0V(低于芯片工作阈值)。这类问题的根源往往隐藏于硬件设计与系统协同的细节之中。二、核心机理:电压稳定性对语音芯片的影响2.1 电源系统的动态响应特性WT5
    广州唯创电子 2025-03-17 09:18 127浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦