1.使用STM32F103C8T6核心板与 OLED 模块,在OLED屏上面显示中文、符号、数字、字符串和图片。
2.完成OLED 屏幕创新显示。
1.熟悉OLED 屏幕显示中文、数字、英文和图片原理和驱动程序;
2.掌握STM32嵌入式系统IIC串行通信接口应用;
3.完成OLED模块软硬件设计,并下载程序查看显示结果。
实验技术:
1.核心板:STM32F103C8T6最小系统板
2.STM32F10X固件库版本:3.5版本
3.OLED显示模块:IIC接口
4.编译环境:Keil MDK
软件驱动:
IIC是一条SCL时钟总线和一条双向的SDA线,通过高低电平的变化传递信号,在STM32上找两个GPIO口,一个模拟SCL,一个模拟SDA通过发出不同的信号来传递数据。
1.OLED简介
OLED,即有机发光二极管,OLED显示技术具有自发光、广视角、几乎无穷高的对比度、较低耗电、极高反应速度、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优点,被认为是下一代的平面显示器新兴应用技术。该模块有以下特点:
1)尺寸小,显示尺寸为 0.96 寸,而模块的尺寸仅为 27mm27mm 大小。 2)高分辨率,该模块的分辨率为 128x64。
3)不需要高压,直接接 3.3V 就可以工作了。
4)接线说明
序号 PIN 引脚说明
1 GND OLED显示模块电源地
2 VCC OLED显示模块电源正(3.3V/5V)
3 SCL OLED显示模块IIC总线时钟信号
4 SDA OLED显示模块IIC总线数据信号
SSD1306 的显存总共为 12864bit 大小,SSD1306 将这些显存分为了 8 页。STM32内部建立一个1288个字节的缓存,每次修改时只修改STM32上的缓存(实际上就是SRAM),在修改完后,一次性把STM32上的缓存数据写入到OLED的GRAM.
OLED显示英文和数字最小可用8x8像素,但屏尺寸小看不清楚所以通常使用8×16像素。汉字的最小显示单位是16x16像素。显示区由方形发光点阵列组成分辨率为128×64
OLED分区显示,每8行为一组,一共八组,将128x64像素划分为8x8的小区快,共16x8个区块
OLED一个字节的显示,对应一个字节数据下高位,位为1亮,每个区块中的每一竖列对应着一个字节的数据,每个字节中的每一位对应着一个像素点
OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动
OLED_WR_Byte(0x26,OLED_CMD); //水平向左或者右滚动 26/27
OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节
OLED_WR_Byte(0x00,OLED_CMD); //起始页 0
OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔
OLED_WR_Byte(0x07,OLED_CMD)