实验用具
1.OLED屏幕
以下是关于 0.96 寸 OLED 屏幕的详细介绍:
- 基本参数
- 尺寸:0.96 寸指的是显示屏的对角线尺寸,通常为 0.96 英寸,约 24.4 毫米。
- 分辨率:一般为 128×64 像素,能够清晰地显示图像和文本。
- 物理尺寸:不同厂家生产的 0.96 寸 OLED 屏幕物理尺寸略有差异,如某款屏幕的物理尺寸为 24.74×16.6×1.28mm,显示区域为 21.74×10.86mm2。
- 性能特点
- 显示效果
- 高对比度:每个像素可独立控制发光,显示黑色时像素完全关闭,能实现真正的黑色,使对比度极高,图像更加生动清晰。
- 广视角:视角通常大于 160°,从各个角度观看,画面的亮度和颜色表现都能保持相对一致。
- 色彩丰富:有黄蓝、白、蓝等颜色可选,其中黄蓝屏上 1/4 部分为黄光,下 3/4 为蓝;白光屏为纯白,即黑底白字;蓝色屏为纯蓝,即黑底蓝字1。
- 电气特性
- 多种接口:支持 6800、8080 两种并行接口方式,3 线或 4 线的串行 SPI 接口方式以及 IIC 接口方式,可通过屏上的 BS0~BS2 来配置1。
- 工作电压:一般工作电压在 3V 至 5.5V 之间,驱动 IC 的逻辑电压 VDD=1.65V 至 3.3V,面板驱动电压 VCC=7V 至 15V1。
- 低功耗:正常显示时功耗仅为 0.04W,适合电池供电的便携式设备4。
- 其他特点
- 轻薄便携:采用薄型设计,重量轻,适合应用于便携式设备和可穿戴设备。
- 响应速度快:像素反应速度极快,能够实现高速响应,几乎没有拖影,显示动态画面时更为流畅。
- 显示效果
- 驱动芯片:常用的驱动芯片为 SSD1306,具有内部升压功能,可执行接收数据、显示存储、扫描刷新等任务。它的通信接口丰富,包括 8 位 6800/8080 并行接口、3/4 线 SPI 接口、I2C 接口,内置 128×64bit 的显示存储器1。
- 应用领域
- 消费电子:如智能手表、便携式游戏机等,0.96 寸 OLED 屏幕的高对比度、广视角和低功耗等特性,能够为用户带来更好的视觉体验,同时也适合电池供电的设备。
- 工业控制:可用于工业仪表、小型控制器等设备的显示屏,显示设备的运行状态、参数设置等信息,方便操作人员进行监控和操作。
- 智能家居:如智能门锁、智能传感器等设备,通过 OLED 屏幕可以实时显示门锁状态、温湿度数据等,提升智能家居设备的用户体验4。
- 医疗设备:在一些小型医疗设备如便携式血糖仪、血压计等上,0.96 寸 OLED 屏幕可以清晰地显示测量结果和相关信息,方便医护人员或用户查看。
屏幕上有4个引脚: VCC接电源正极 GND接地 SCL代表I2C接口的串行时钟线 SDA代表I2C接口的串行数据线
2.stm32最小系统板
STM32 最小系统板是基于意法半导体(ST)公司的 STM32 系列微控制器构建的一个可以独立工作的最小硬件电路集合,能够为 STM32 芯片提供正常运行所需的基本条件。以下从几个方面详细介绍:
主要组成部分
- 微控制器芯片
- 作为核心部件,它是整个最小系统板的运算和控制中心。常见的 STM32 芯片型号有 STM32F103、STM32F407 等,不同型号在性能、外设资源等方面存在差异,可根据具体项目需求进行选择。例如,STM32F103 系列适用于对成本和功耗有要求的一般应用场景;而 STM32F407 系列性能更强大,具备更高的主频和更丰富的外设,适合处理较为复杂的任务。
- 电源电路
- 为芯片提供稳定的电源供应,通常支持多种供电方式,如 USB 供电、外部电源适配器供电等。电源电路一般会包含滤波电容,用于去除电源中的杂波和干扰,保证电源的稳定性。此外,还可能配备电源转换芯片,将输入的电源电压转换为芯片所需的合适电压,如将 5V 转换为 3.3V。
- 时钟电路
- 为芯片提供时钟信号,是芯片正常工作的基础。STM32 芯片通常需要至少两个时钟源,即高速外部时钟(HSE)和低速外部时钟(LSE)。HSE 一般采用晶振提供,频率通常为 8MHz 或 12MHz 等,用于为系统提供高速时钟;LSE 通常采用 32.768kHz 的晶振,主要用于实时时钟(RTC)模块。此外,芯片内部还有高速内部时钟(HSI)和低速内部时钟(LSI)作为备用时钟源。
- 复位电路
- 用于将芯片恢复到初始状态。常见的复位方式有上电复位和手动复位。上电复位是在系统上电时,通过电容和电阻组成的电路产生一个复位信号,使芯片进行初始化操作;手动复位则是通过一个按键,当按下按键时,向芯片发送复位信号,实现手动复位功能。
- 调试接口
- 方便开发人员对芯片进行程序下载和调试。常见的调试接口有 SWD(Serial Wire Debug)和 JTAG(Joint Test Action Group)。SWD 接口只需要两根线(SWCLK 和 SWDIO)即可完成程序下载和调试,占用引脚资源少;JTAG 接口则需要更多的引脚,但功能更强大,支持更多的调试功能。
- BOOT 选择电路
- 通过设置 BOOT 引脚的电平状态,可以选择芯片的启动模式。STM32 芯片有三种主要的启动模式:主闪存存储器启动、系统存储器启动和内置 SRAM 启动。主闪存存储器启动是最常用的模式,芯片从内部的闪存中读取程序并运行;系统存储器启动模式下,芯片会从系统存储器中启动,通常用于通过串口等方式对芯片进行固件升级;内置 SRAM 启动模式则用于将程序加载到内部 SRAM 中运行,可用于一些特殊的调试和测试场景。
特点
- 成本低:只包含了芯片运行的必要电路,相比完整的开发板,元件数量少,因此成本较低,适合初学者入门学习和一些低成本项目的开发。
- 体积小:由于去除了一些不必要的外设和接口,最小系统板的体积小巧,不占空间,方便集成到各种小型设备中。
- 可扩展性强:虽然最小系统板本身功能有限,但它提供了丰富的 GPIO(通用输入输出)引脚和外设接口,用户可以根据需要外接各种传感器、执行器、通信模块等,扩展系统的功能。
- 开发灵活:开发人员可以根据自己的需求选择不同的开发环境和编程语言进行开发,如 Keil MDK、IAR Embedded Workbench 等集成开发环境,以及 C、C++ 等编程语言。
应用场景
- 学习和实验:是初学者学习 STM32 单片机编程和嵌入式系统开发的理想选择,通过在最小系统板上进行实验和调试,可以快速掌握 STM32 芯片的基本原理和开发方法。
- 小型项目开发:在一些对成本、体积和功耗有严格要求的小型项目中,如智能家居传感器节点、便携式医疗设备、小型机器人等,STM32 最小系统板可以作为核心控制模块,满足项目的基本需求。
3.杜邦线
4.面包板
stm32cubemx的配置
打开stm32cubemx
接着点击connectivity 找到i2c接口 两个接口,任选哪一个都行
点击
会发现I2C有三种不同的工作模式
选择第一种
之后下面会出现参数
stm32可以作为主机来连接大量外部设备
也可以作为从机挂载在I2C总线上
我们继续
然后
分析线路
把OLED显示器的VCC接高电压GND接地
有两条线——>时钟线和数据线
把显示器的SCL和SDA连接到这两条线上,将单片机的两条线也连接到这两条线上
I2C1的SCL位于PB6引脚
I2C1的SDA位于PB7引脚
转换成接线图
转成实物图
对屏幕发送指令

分析编程
编程
uint8_t commands[] ={0x00,0x8d,0x14,0xaf,0xa5};
HAL_I2C_Master_Transmit(&hi2c1,0x78,commands,sizeof(commands)/sizeof(commands[0]),HAL_MAX_DELAY);
uint8_t dateRcvd;
HAL_I2C_Master_Receive(&hi2c1,0x78,&dateRcvd,1,HAL_MAX_DELAY);
if((dateRcvd & (0x01 <<6))==0)
{
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);
}
else
{
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);
}
接着按单片机复位按钮 就完成啦