一.OLED简介
OLED(Organic Light Emitting Diode):
有机发光二极管OLED显示屏:性能优异的新型显示屏。具有如下特点:
功耗低:因为OLED每一个像素都是一个单独的发光二极管,不像LCD那样需要有背光,所以OLED屏幕会比较省电。
响应速度快:这个特性可以使OLED有更高的刷新率,总线时序快,也可以避免阻塞我们的程序。
宽视角:因为OLED屏幕上是自发光的,所以在任何角度看,显示内容都是清晰的。
轻薄柔韧:在手机上的折叠屏、柔性屏等,用的就是OLED显示屏。
本次课程使用的0.96寸OLED模块:小巧玲珑、占用接口少、简单易用,是电子设计中非常常见的显示屏模块。
供电:3~5.5V 通信协议:I2C(4针脚),SPI(7针脚) 分辨率:128*64
二.OLED硬件电路
4针脚OLED硬件电路如上图所示,GND接GND,VCC接3.3V,给OLED供电,剩下的是SCL和SDA是I2C的通信引脚,需要接在单片机I2C通信的引脚上,由于驱动函数模块用的是GPIO口模拟的I2C通信,所以这两个端口就可以接在任意的GPIO口上。
7针脚OLED如上图所示,GND接GND,VCC接3.3V.给OLED供电,剩下的引脚是SPI通信协议的引脚,如果是GPIO口模拟的通信协议,那也是接在任意的GPIO口上就行了。
三.OLED显示屏说明
1.硬件说明图
记得将PB7用跳线到接到旁边的正极,PB6接到负极
Stm32的引脚上电后,如果不初始化,默认是浮空输入的模式,在这个模式下,引脚不会输出电平,所以不会有什么影响。
2、添加OLED驱动函数
在江科大给的资料中,程序源码的位置能找到OLED模块的驱动函数,选择4针脚版本的,然后复制到新建工程文件夹4.1 OLED显示屏中的Hardware文件夹中。
然后在Keil软件中,右键Hardware文件夹,选择第三个添加文件至Hardware,然后文件类型选择所有文件类型,Ctrl选中红框内的三个文件,再点击Add添加,即完成在Keil软件中添加OLED驱动函数。
添加完成后,还需要对部分代码进行修改,打开OLED.c文件,找到下面代码,之前的硬件接线图中,我们将OLED的SCL口接到了PB8,SDA口接到了PB9,则后面的引脚选择都得改成GPIOB, GPIO_Pin_8和GPIO_Pin_9,包括后面的OLED初始化函数都得改成对应的引脚。
在OLED.Font.h文件中,存放的是OLDE的字库数据。由于OLED显示屏没有自带字库,因此想要显示图形,还得先定义字符的点阵数据,OLED.c文件的显示函数会用到这些数据。
3.主函数程序
#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "OLED.h"
int main(void)
{
OLED_Init();
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);
while(1)
{
}
}
4.实物展示
以上就是OLED屏显示字符串的方法