单片机通过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 年行业权威性与时效性,以下梳理国内知名软件定制开发企业,涵盖综合型、垂直领域及特色技术服务商:   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转型、新能源软件、光伏软件、汽车软件,ERP,系统二次开发,CRM等领域有很多成功案例。   五木恒润科技有限公司:是一家专业的部队信
    华盛恒辉l58ll334744 2025-05-12 16:13 246浏览
  •   舰艇电磁兼容分析与整改系统平台解析   北京华盛恒辉舰艇电磁兼容分析与整改系统平台是保障海军装备作战效能的关键技术,旨在确保舰艇电子设备在复杂电磁环境中协同运行。本文从架构、技术、流程、价值及趋势五个维度展开解析。   应用案例   目前,已有多个舰艇电磁兼容分析与整改系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润舰艇电磁兼容分析与整改系统。这些成功案例为舰艇电磁兼容分析与整改系统的推广和应用提供了有力支持。   一、系统架构:模块化智能体系   电磁环境建模:基
    华盛恒辉l58ll334744 2025-05-14 11:22 44浏览
  • 在印度与巴基斯坦的军事对峙情境下,歼10C的出色表现如同一颗投入平静湖面的巨石,激起层层涟漪,深刻印证了“质量大于数量”这一铁律。军事领域,技术优势就是决定胜负的关键钥匙。歼10C凭借先进的航电系统、强大的武器挂载能力以及卓越的机动性能,在战场上大放异彩。它能够精准捕捉目标,迅速发动攻击,以一敌多却毫不逊色。与之形成鲜明对比的是,单纯依靠数量堆砌的军事力量,在面对先进技术装备时,往往显得力不从心。这一现象绝非局限于军事范畴,在当今社会的各个领域,“质量大于数量”都已成为不可逆转的趋势。在科技行业
    curton 2025-05-11 19:09 253浏览
  •   电磁数据管理系统深度解析   北京华盛恒辉电磁数据管理系统作为专业的数据处理平台,旨在提升电磁数据的处理效率、安全性与可靠性。以下从功能架构、核心特性、应用场景及技术实现展开分析:   应用案例   目前,已有多个电磁数据管理系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁数据管理系统。这些成功案例为电磁数据管理系统的推广和应用提供了有力支持。   一、核心功能模块   数据采集与接入:实时接收天线、频谱仪等设备数据,兼容多协议接口,确保数据采集的全面性与实时性
    华盛恒辉l58ll334744 2025-05-13 10:59 261浏览
  • 在 AI 浪潮席卷下,厨电行业正经历着深刻变革。AWE 2025期间,万得厨对外首次发布了wan AiOS 1.0组织体超智能系统——通过AI技术能够帮助全球家庭实现从健康检测、膳食推荐,到食材即时配送,再到一步烹饪、营养总结的个性化健康膳食管理。这一创新之举并非偶然的个案,而是整个厨电行业大步迈向智能化、数字化转型浪潮的一个关键注脚,折射出全行业对 AI 赋能的热切渴求。前有标兵后有追兵,万得厨面临着高昂的研发成本与技术迭代压力,稍有懈怠便可能被后来者赶
    用户1742991715177 2025-05-11 22:44 177浏览
  •   电磁数据展示系统平台解析   北京华盛恒辉电磁数据展示系统平台是实现电磁数据高效展示、分析与管理的综合性软件体系,以下从核心功能、技术特性、应用场景及发展趋势展开解读:   应用案例   目前,已有多个电磁数据展示系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁数据展示系统。这些成功案例为电磁数据展示系统的推广和应用提供了有力支持。   一、核心功能模块   数据采集与预处理   智能分析处理   集成频谱分析、时频变换等信号处理算法,自动提取时域频域特征;
    华盛恒辉l58ll334744 2025-05-13 10:20 353浏览
  • 感谢面包板论坛组织的本次测评活动,本次测评的对象是STM32WL Nucleo-64板 (NUCLEO-WL55JC) ,该测试板专为LoRa™应用原型构建,基于STM32WL系列sub-GHz无线微控制器。其性能、功耗及特性组合经过精心挑选,支持通过Arduino® Uno V3连接,并利用ST morpho接头扩展STM32WL Nucleo功能,便于访问多种专用屏蔽。STM32WL Nucleo-64板集成STLINK-V3E调试器与编程器,无需额外探测器。该板配备全面的STM
    无言的朝圣 2025-05-13 09:47 142浏览
  • ‌磁光克尔效应(Magneto-Optic Kerr Effect, MOKE)‌ 是指当线偏振光入射到磁性材料表面并反射后,其偏振状态(偏振面旋转角度和椭偏率)因材料的磁化强度或方向发生改变的现象。具体表现为:1、‌偏振面旋转‌:反射光的偏振方向相对于入射光发生偏转(克尔旋转角 θK)。2、‌椭偏率变化‌:反射光由线偏振变为椭圆偏振(克尔椭偏率 εK)。这一效应直接关联材料的磁化状态,是表征磁性材料(如铁磁体、反铁磁体)磁学性质的重要非接触式光学探测手段,广泛用于
    锦正茂科技 2025-05-12 11:02 297浏览
  •   定制软件开发公司推荐清单   在企业数字化转型加速的2025年,定制软件开发需求愈发多元复杂。不同行业、技术偏好与服务模式的企业,对开发公司的要求大相径庭。以下从技术赛道、服务模式及行业场景出发,为您提供适配的定制软件开发公司推荐及选择建议。   华盛恒辉科技有限公司:是一家专注于高端软件定制开发服务和高端建设的服务机构,致力于为企业提供全面、系统的开发制作方案。在部队政企开发、建设到运营推广领域拥有丰富经验,在教育,工业,医疗,APP,管理,商城,人工智能,部队软件、工业软件、数字化转
    华盛恒辉l58ll334744 2025-05-12 15:55 325浏览
  • 文/Leon编辑/cc孙聪颖‍2025年1月至今,AI领域最出圈的除了DeepSeek,就是号称首个“通用AI Agent”(智能体)的Manus了,其邀请码一度被炒到8万元。很快,通用Agent就成为互联网大厂、AI独角兽们的新方向,迅速地“卷”了起来。国外市场,Open AI、Claude、微软等迅速推出Agent产品或构建平台,国内企业也在4月迅速跟进。4月,字节跳动、阿里巴巴、百度纷纷入局通用Agent市场,主打复杂的多任务、工作流功能,并对个人用户免费。腾讯则迅速更新腾讯元器的API接
    华尔街科技眼 2025-05-12 22:29 145浏览
  • 在当下竞争激烈的 AI 赛道,企业高层的变动往往牵一发而动全身,零一万物近来就深陷这样的动荡漩涡。近日,零一万物联合创始人、技术副总裁戴宗宏离职创业的消息不胫而走。这位在大模型基础设施领域造诣颇深的专家,此前在华为云、阿里达摩院积累了深厚经验,在零一万物时更是带领团队短期内完成了千卡 GPU 集群等关键设施搭建,其离去无疑是重大损失。而这并非个例,自 2024 年下半年以来,李先刚、黄文灏、潘欣、曹大鹏等一众联创和早期核心成员纷纷出走。
    用户1742991715177 2025-05-13 21:24 90浏览
  • 在全球供应链紧张和国产替代需求推动下,国产存储芯片产业快速发展,形成设计到封测一体化的完整生态。北京君正、兆易创新、紫光国芯、东芯股份、普冉股份和佰维存储等六大上市公司在NOR/NAND Flash、DRAM、嵌入式存储等领域布局各具特色,推动国产替代提速。贞光科技代理的品牌紫光国芯,专注DRAM技术,覆盖嵌入式存储与模组解决方案,为多领域客户提供高可靠性产品。随着AI、5G等新兴应用兴起,国产存储厂商有望迎来新一轮增长。存储芯片分类与应用易失性与非易失性存储芯片易失性存储芯片(Volatile
    贞光科技 2025-05-12 16:05 196浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦