0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HAL库图形化编程之OLED屏应用

嵌入式技术 来源:嵌入式技术 作者:嵌入式技术 2022-06-06 09:22 次阅读

1.OLED简介

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

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

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

2.硬件接口

poYBAGKWxWKAQZkSAABrpEeT6qQ790.png

显示屏为0.91寸OLED屏,4线串行接口:时钟CLK,数据线MOSI,数据命令选择线DS,片选线CS。屏幕复位信号脚RES(低电平复位)。

3. 通信协议

在每一个 SCLK 的上升沿上 SDIN 按照 D7, D6...D0 的顺序被转换成一个 8 位的移位寄存器。 在每第 8 个时钟上采样 D/C# , 在同一个时钟上移位寄存器中的数据字节被写到图形显示数据 RAM(GDDRAM) 或命令寄存器中。在串行模式下, 只允许写操作。

poYBAGKWxeuAMkkgAAHc_cKw8VU486.png

发送一个字节函数示例:

void OLED_SPI_ReadWriteOneByte(u8 data,u8 cmd)
{
	u8 i;
	if(cmd) OLED_DC(1);
	else OLED_DC(0);
	OLED_CS(0);//片选拉低,选择OLED屏
	OLED_SCK(0);
	for(i=0;i<8;i++)
	{
		OLED_SCK(0);
		if(data&0x80)OLED_MOSI(1);
		else OLED_MOSI(0);
		OLED_SCK(1);
		data<<=1;
	}
	OLED_CS(1);
	OLED_SCK(0);
}

3.软件设计

打开STM32CubeMx软件,配置DHT11硬件接口和OLED屏幕接口。

poYBAGKWxrSATETjAAEx9TRaJo0210.pngpoYBAGKWxsmAD4aKAABgK35U7Mk990.png

4. 生成代码

4.1 基本硬件接口配置

pYYBAGKWxvuAW2XLAAKj1nt4Jsg580.png

4.2 OLED屏幕相关接口函数

OLED屏幕SPI发送一字节函数示例:时钟线空闲电平为低电平,在时钟的下将沿发送数据。在oled.c中:

pYYBAGKWxy2AKBYRAAGCQxZuAPY707.png

OLED硬件接口宏定义,在oled.h中:

pYYBAGKWx0WASH7JAAF8qOOpc6M611.png

4.3 主函数

pYYBAGKWx2WAZfnVAAJd-_30QX0506.pngpYYBAGKWx3qAZRrxAA89rWf0uXA137.png

4.4 取模工具使用

OLED屏幕本身并不带有字库,要显示汉字或字符则需要通过取模工具获取点阵码信息

poYBAGKWx5yAcdjgAAXcReAsGZE204.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OLED
    +关注

    关注

    119

    文章

    6171

    浏览量

    223662
  • STM32
    +关注

    关注

    2264

    文章

    10854

    浏览量

    354249
  • 图形化编程
    +关注

    关注

    1

    文章

    16

    浏览量

    11414
  • HAL
    HAL
    +关注

    关注

    2

    文章

    69

    浏览量

    12576
收藏 人收藏

    评论

    相关推荐

    图形化编程

    图形化编程语言的线型如何区分
    发表于 05-24 13:57

    图形化编程软件LabVIEW应用课程

    清华大学虚拟仪器实验室图形化编程软件LabVIEW应用课程 软件简介:通过NI LabVIEW 平台完成测控系统的设计、仿真及实现 数百万工程师和科学家可使用NI LabVIEW图形化编程
    发表于 08-01 10:45

    自己开发的机器人图形化编程软件

    自己开发的机器人图形化编程软件从2005年起就开始搞机器人教学了,至今每年夏天都举行机器人夏令营。10年来一直尝试做一款简单稳定好用的机器人编程软件,上次做的类似于app inventor 的积木
    发表于 07-02 20:15

    labview图形化编程分享!

    工作以来一直从事下位机的开发,对上位机了解很少。有的时候DIY时,想将下位机与上位机结合起来,但不知上位机编程怎么回事。从网上了解到一种图形化编程语言(也叫G语言),LABVIEW就是图形化
    发表于 10-20 20:15

    浅析Mixly图形化编程软件

    Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要
    发表于 08-04 07:35

    Mixly图形化编程软件介绍

    Mixly 是由北师大米思齐团队开发的图形化编程软件,自发布以来深受国内创客圈的喜爱。Mixly 编程软件采用图形化编程,不用记代码,只需要
    发表于 09-01 08:22

    求openharmony图形化编程软件

    学openharmony那些开发板,有图形化编程软件嘛?
    发表于 05-05 07:43

    cpuview图形化单片机编程软件下载

    cpuview图形化单片机编程软件下载
    发表于 04-09 12:05 1095次下载

    单片机的图形化编程方法分析

    单片机的图形化编程方法分析   单片机可以用汇编语言编程,也可以用高级语言C、Basic编程,也可以用图形化语言
    发表于 03-29 15:09 5075次阅读
    单片机的<b class='flag-5'>图形化</b><b class='flag-5'>编程</b>方法分析

    Arduino教程_Arduino图形化编程教程_ArduBlock

    Arduino教程_Arduino图形化编程软件_ArduBlock
    发表于 09-25 09:22 0次下载
    Arduino教程_Arduino<b class='flag-5'>图形化</b><b class='flag-5'>编程</b>教程_ArduBlock

    Scratch图形化编程软件安装包下载

    Scratch图形化编程软件安装包下载
    发表于 06-18 09:14 0次下载

    Codecraft:嵌入式机器学习的图形化编程

    电子发烧友网站提供《Codecraft:嵌入式机器学习的图形化编程.zip》资料免费下载
    发表于 11-08 09:32 5次下载
    Codecraft:嵌入式机器学习的<b class='flag-5'>图形化</b><b class='flag-5'>编程</b>

    面向STEM教育的图形化编程机器人

    电子发烧友网站提供《面向STEM教育的图形化编程机器人.zip》资料免费下载
    发表于 01-03 11:27 1次下载
    面向STEM教育的<b class='flag-5'>图形化</b><b class='flag-5'>编程</b>机器人

    基于单芯片的图形化编程的快速设计方案

    电子发烧友网站提供《基于单芯片的图形化编程的快速设计方案.pdf》资料免费下载
    发表于 10-25 11:22 1次下载
    基于单芯片的<b class='flag-5'>图形化</b><b class='flag-5'>编程</b>的快速设计方案

    单片机图形化编程软件有哪些

    单片机图形化编程软件为开发者提供了一种更加直观、易于上手的编程方式,尤其适合初学者和教育领域。以下是一些常见的单片机图形化编程软件: Ard
    的头像 发表于 09-02 10:14 724次阅读