基于STM32的OLED显示

  • 一、什么是OLED
  • 二、了解SPI
    • SPI协议概括
    • 同步串行口
  • 三、学号姓名的显示
    • 1.汉字点阵获取
    • 代码修改
    • 3.硬件连接
    • 4.烧录编译结果
  • 总结
  • 参考文献

一、什么是OLED

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

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

二、了解SPI

SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议,比如AT91RM9200。

SPI协议概括

SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。

(1)SDI –SerialDataIn,串行数据输入;
(2)SDO –SerialDataOut,串行数据输出;
(3)SCLK – Serial Clock,时钟信号,由主设备产生;
(4)CS – Chip Select,从设备使能信号,由主设备控制。>

SPI总线四种工作状态:

SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果CPOL=0,串行同步时钟的空闲状态为低电平;SPI主模块和与之通信的外设时钟相位和极性应该一致。SPI接口时序如图3、图4所示。

同步串行口

SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。

(1)MOSI– SPI总线主机输出/ 从机输入(SPI Bus Master Output/Slave Input);
(2)MISO– SPI总线主机输入/ 从机输出(SPI Bus Master Input/Slave Output);
(3)SCLK –时钟信号,由主设备产生;
(4)CS – 从设备使能信号,由主设备控制(Chip select),有的IC此pin脚叫SS。>

三、学号姓名的显示

1.汉字点阵获取

下载一个小程序

点击设置


输入你想要的信息

代码修改

在 oledfont.h文件中插入你需要显示的汉字点阵信息

"任",0x08,0x10,0x08,0x78,0x0B,0xC0,0x10,0x40,0x10,0x40,0x30,0x40,0x30,0x40,0x5F,0xFE,
0x90,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x17,0xFC,0x10,0x00,/*"任",0*/
"智",0x20,0x00,0x3E,0x7C,0x48,0x44,0x08,0x44,0xFF,0x44,0x14,0x44,0x22,0x7C,0x40,0x00,
0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,/*"智",1*/
"慧",0x10,0x10,0xFE,0xFE,0x10,0x10,0x7C,0x7C,0x10,0x10,0xFE,0xFE,0x10,0x10,0x3F,0xF8,
0x00,0x08,0x1F,0xF8,0x00,0x08,0x3F,0xF8,0x01,0x00,0x48,0x84,0x48,0x12,0x87,0xF2,/*"慧",2*/"6",0x00,0x00,0x00,0x18,0x24,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x22,0x1C,0x00,0x00,/*"6",0*/
"3",0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x04,0x02,0x42,0x42,0x3C,0x00,0x00,/*"3",1*/
"1",0x00,0x00,0x00,0x08,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,/*"1",2*/
"9",0x00,0x00,0x00,0x38,0x44,0x42,0x42,0x42,0x46,0x3A,0x02,0x02,0x24,0x18,0x00,0x00,/*"9",3*/
"0",0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,/*"0",4*/
"7",0x00,0x00,0x00,0x7E,0x42,0x04,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x00,0x00,/*"7",5*/
"0",0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,/*"0",6*/
"3",0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x04,0x02,0x42,0x42,0x3C,0x00,0x00,/*"3",7*/
"0",0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,/*"0",8*/
"5",0x00,0x00,0x00,0x7E,0x40,0x40,0x40,0x78,0x44,0x02,0x02,0x42,0x44,0x38,0x00,0x00,/*"5",9*/
"2",0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x02,0x04,0x08,0x10,0x20,0x42,0x7E,0x00,0x00,/*"2",10*/
"0",0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,/*"0",11*/

在text.c文件中修改TEST_MainPage(void)函数

void TEST_MainPage(void)
{   GUI_ShowCHinese(28,20,16,"任智慧",1);GUI_ShowString(4,48,"631907030520",16,1);delay_ms(1500);      delay_ms(1500);
}

main主函数如下

#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "gui.h"
#include "test.h"
int main(void)
{   delay_init();                  //延时函数初始化      NVIC_Configuration();        //设置NVIC中断分组2:2位抢占优先级,2位响应优先级     OLED_Init();                     //初始化OLED  OLED_Clear(0);             //清屏(全黑)while(1) { TEST_MainPage();         //主界面显示测试}
}

3.硬件连接

OLEDM模块 STM32单片机
VCC DC 5V/3.3V
GND GND
D1 PB15
CS PB11
RES PB12
DC PB10
D0 PB13

4.烧录编译结果


总结

经过这次的实验,第一次玩到了OLED显示屏,感觉很新奇诶,很好玩,嘿嘿嘿

参考文献

基于stm32的0.96寸OLED显示屏显示数据
SIP百度资料

基于STM32的OLED显示相关推荐

  1. 基于STM32进行OLED显示

    目录 一.SPI接口简介 1.SPI的简介 2. SPI 接口4条线通信: 3.SPI的特征 4.接口框图 5.SPI整体的通讯过程 二.OLED的原理 1.OLED模块参数 2.该模块的特点: 3. ...

  2. 基于STM32下OLED显示实现文字取模软件配置

    在做OLED显示实验时,文字很难编辑出对应的点,从网上找到了这个文字转换软件,以下是软件的配置项,由于是STM32所以自定义格式选择C51格式, 取模方式:列行式 取模走向:逆向 输出数制:16进制 ...

  3. 基于STM32的OLED播放Bad apple

    基于stm32的oled显示badapple 有屏幕的地方就有bad apple 原理 将视频用opencv转换成图片,之后进行图片取模,转化为16进制,使用oled图片显示函数显示. 硬件所需 st ...

  4. 基于STM32实现OLED滚动显示

    基于STM32实现OLED滚动显示 滚动方式 水平滚动 水平加垂直滚动 一.文字取模 二.代码修改 三.硬件连接加结果 总结 参考文献 滚动方式 水平滚动 OLED_WR_Byte(0x2E,OLED ...

  5. 基于STM32的OLED多级菜单GUI实现(简化版智能手表)

    前言:本文的OLED多级菜单UI为一个综合性的STM32小项目,使用多传感器与OLED显示屏实现智能终端的效果.项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换,搭配DH ...

  6. 毕业设计 —— 基于STM32手势控制显示系统的设计

    目录 一.前言 二.项目背景及资源分享 三.项目简介 1.项目名称 2.系统框架 3.功能简介 4.控制核心 5.最小系统: 6.外围模块: 四.相关设计原理及框图 1.系统设计的原理 2.手势识别原 ...

  7. 基于stm32的OLED显示屏显示

    文章目录 一.内容 二.关于SPI 三.关于OLED 四.功能实现 1)实验准备 2)代码准备 1.显示学号和姓名 2.显示AHT20的温度和湿度 3.滑动显示长字符 3)结果展示 五.参考内容 六. ...

  8. STM32与OLED显示姓名学号

    一.SPI简介 SPI是串行外设接口(Serial Peripheral Interface)的缩写,是由 Motorola 公司提出的一种高速的,全双工,同步的通信总线,被广泛地使用在 ADC.LC ...

  9. 基于SPI的OLED显示

    文章目录 一.SPI协议 1. SPI简介 2. SPI通信原理 3. GPIO口配置 二.OLED原理及应用 1. OLED原理 2. OLED显示 2.1 姓名学号显示 ①准备工作及部分代码 ②实 ...

最新文章

  1. 有道翻译 excel webservice 失效_VBA实践+excel英文逐句自动有道翻译为中文
  2. 查询Windows api
  3. 自定义圆形控件 RoundImageView
  4. C语言const专题
  5. 在Java、C#和C++中遍历集合
  6. Redis 多线程网络模型全面揭秘|网络硬核系列
  7. python对字符串数组进行排序、依据字符数_Python进行数据的排序以及字符串的操作...
  8. IDEA优雅整合Maven+SSM框架(详细思路+附带源码)
  9. AndroidStudio_安卓原生开发_自定义ToastUtils---Android原生开发工作笔记135
  10. 基于资源的权限系统-数据库设计
  11. TEANMA(天玛)-公共广播系统中扬声器配置及相关注意事项解析
  12. 爬虫基础回顾-requests
  13. 【调剂】2022年燕山大学电气工程学院 程淑红教授“计算机视觉与人工智能”团队调剂招生信息...
  14. python绘画海贼王_入门级项目实战,Python生成海贼王云图!
  15. r语言爬虫数据html表格,如何用R语言爬取网页表格数据节省一天工作时间
  16. CIAA 网络安全模型 — 数据传输安全
  17. 阿里巴巴 Excel工具easyExcel
  18. 解决Flutter Android sdkmanager tool not found
  19. Android JNI 中文字符传递
  20. 国产android系统哪个好用吗,国产手机中哪个系统优化的最好

热门文章

  1. 华为的OD,值得去吗?
  2. PCB电路设计的14个误区
  3. Win 7XP2003Vista下单/双网卡实现×××+NAT代理服务器共享上网的方法
  4. 华为多元化激励TUP(时间单位计划)
  5. ThreeJs_投影
  6. 当经历所有大厂的实习面试过后
  7. 百度API的基本介绍和使用场景
  8. 汇编入门(长文多图,流量慎入!!!)
  9. 三星java世界x108_我对三星X100/X108的使用感受
  10. 何以解忧,唯有暴富,手把手教你打造财富方程式