【STM32】OLED显示屏

1 调试方式

  1. 串口调试:通过串口通信,将调试信息发送到电脑端,电脑使用串口助手显示调试信息

  2. 显示屏调试:直接将显示屏连接到单片机,将调试信息打印在显示屏上

  3. Keil调试模式:借助Keil软件的调试模式,可使用单步运行、设置断点、查看寄存器及变量等功能

2 OLED简介

OLED(Organic Light Emitting Diode):有机发光二极管

OLED显示屏:性能优异的新型显示屏,具有功耗低、相应速度快、宽视角、轻薄柔韧等特点

0.96寸OLED模块:小巧玲珑、占用接口少、简单易用,是电子设计中非常常见的显示屏模块

供电:3~5.5V,通信协议:I2C/SPI,分辨率:128*64

一般4引脚使用I2C通信;7引脚使用SPI通信。

2.1 硬件电路

SCL和SDA是I2C通信的引脚(这里使用GPIO口模拟I2C通信)

剩下的引脚是SPI通信的引脚。

2.2 驱动函数

|---------------------------------------|------------|
| 函数 | 作用 |
| OLED_Init(); | 初始化 |
| OLED_Clear(); | 清屏 |
| OLED_ShowChar(1, 1, 'A'); | 显示一个字符 |
| OLED_ShowString(1, 3, "HelloWorld!"); | 显示字符串 |
| OLED_ShowNum(2, 1, 12345, 5); | 显示十进制数字 |
| OLED_ShowSignedNum(2, 7, -66, 2); | 显示有符号十进制数字 |
| OLED_ShowHexNum(3, 1, 0xAA55, 4); | 显示十六进制数字 |
| OLED_ShowBinNum(4, 1, 0xAA55, 16); | 显示二进制数字 |

实物对照

4行16列

3 OLED显示屏

3.1 接线图

图中右下角,PB6接GND, PB7接VCC,不影响,不初始化这两个口即可(默认浮空输入)

也可以用GPIO口给OLED供电(PB6输出低电平,PB7输出高电平)

3.2 OLED驱动

这里需要和实物对应起来。

其他的先不需要了解。

3.3 OLED显示屏

cpp 复制代码
#include "stm32f10x.h"                  // Device header
#include "Delay.h"
#include "OLED.h"

int main()
{
	OLED_Init();								// 初始化OLED
	OLED_ShowChar(1, 1, 'A');					// 显示字符'A'
	OLED_ShowString(1, 3, "HelloWorld!");   	// 显示字符串
	OLED_ShowNum(2, 1, 12345, 5);           	// 显示十进制12345,长的话,补0;短的话切掉高位
	OLED_ShowSignedNum(2, 7, -66, 2);       	// 显示有符号
	OLED_ShowHexNum(3, 1, 0xAA55, 4);       	// 显示16进制
	OLED_ShowBinNum(4, 1, 0xAA55, 16);      	// 显示二进制
	
//	OLED_Clear();								// 清屏
	while (1)
	{
		
	}
}

4 Keil的调试模式

换一个LED闪烁的工程

使用硬件在线模仿真。

点击进入调试模式

相关推荐
朝发如雪5 小时前
快速掌握单片机基础(3)(PWM)(通信协议基础)(串口通信时序与参数)(电气特性与电平标准)(51单片机UART寄存器配置)(串口应用层协议)
单片机
天空'之城7 小时前
单片机基础核心知识点汇总(四十)
单片机·嵌入式硬件
smartpi_ai7 小时前
离线语音模块误识别问题全面解决方案:命令词设计、防误触与灵敏度调优指南
人工智能·单片机·语音识别
LCG元7 小时前
STM32F103 驱动 HX711 称重实战:DOUT 就绪时序、增益切换陷阱与两点标定精度实测
stm32·单片机·嵌入式硬件
染予8 小时前
代码中相关C语言知识点总结
stm32
优信电子8 小时前
STM32 驱动 DHT30 测量环境温湿度(兼容SHT30):从时序解析到完整代码实战
stm32·嵌入式·传感器·sht30·温湿度·环境测量·dht30
小李不想当小白10 小时前
DMA直接存储器存取(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·分享
朝发如雪10 小时前
快速掌握单片机基础(6)(数据处理与传送指令)(跳转与分支指令)(栈操作与混合编程)(程序状态寄存器操作指令)(内存映射)
单片机·arm
blue_ice .10 小时前
Verilog DDS 数字信号发生器:DAC 输出模拟波形与 ADC 回采观测
开发语言·单片机·嵌入式硬件·fpga开发
深圳市恒锐丰科技杨生10 小时前
EG4318 / EG4319 / EG4320 铅酸电池三段式充电副边管理芯片|屹晶 EGmicro
嵌入式硬件·硬件工程