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
    +关注

    关注

    118

    文章

    5975

    浏览量

    221309
  • STM32
    +关注

    关注

    2239

    文章

    10663

    浏览量

    348503
  • 图形化编程
    +关注

    关注

    1

    文章

    16

    浏览量

    11358
  • HAL
    HAL
    +关注

    关注

    2

    文章

    68

    浏览量

    12463
收藏 人收藏

    评论

    相关推荐

    [分享]图形化系统的设计

    法、开发应用、编程逻辑、建模系统并将系统部署于指定的对象。结论电子系统设计的新方法现已诞生。 图形化系统设计带来了结合硬件平台的软件平台,这能够极大缩减开发成本和面市时间。集成多种运算模型的软件平台
    发表于 05-30 15:56

    图形化编程

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

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

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

    LabVIEW图形化编程语言的编程范式

    。 2.4 图形化语言事件驱动与数据流编程之间的关系 由于事件是随时随地发生的,是不可预知的,所以事件结构本身应该讲与数据流关联性不大,它主要利用中断来响应事件的产生。但是,对事件响应后的处理(如果
    发表于 01-19 16:51

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

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

    【Landzo C1试用体验】试用-ArdBlock图形化编程的便捷性按钮点亮led灯

    Landzo C1蓝宇官网制作的教程贴,里面详细介绍了arduino c及ardblock图形化编程两种方法;除了用按钮点亮led这样简单的编程之外,蓝宇结合传感器制作了24课时的教材供参考,这里
    发表于 07-06 22:25

    【推荐】Arduino图形化编程软件

    我是一个菜鸟+小白 arduino爱好者:以前玩过一点51单片机,现在在看arduino单片机发现一个很好的图形化软件,Linkboy,可以在这个软件里仿真,图形化编程的,对于新手,刚入门的菜鸟来说
    发表于 05-13 00:02

    labview图形化编程分享!

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

    浅析Mixly图形化编程软件

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

    基于开源鸿蒙的图形化编程语言 ( OpenBlock )

    该特别兴趣小组定位少儿编程科普教育以图形化编程语言为基础,服务少儿编程、STEM 教育领域维护和制定各类设备通用的图形化
    发表于 08-05 11:03

    Mixly图形化编程软件介绍

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

    如何安装hal

    1.什么是hal  hal是ST公司针对STM32单片机推出的全新开发,旨在取代原来用于开发STM32的标准
    发表于 01-27 06:03

    求openharmony图形化编程软件

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

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

    单片机的图形化编程方法分析   单片机可以用汇编语言编程,也可以用高级语言C、Basic编程,也可以用图形化语言
    发表于 03-29 15:09 4779次阅读
    单片机的<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