STM32+7针脚0.96OLED屏显示数字汉字符号英文(入门级)
本文即做单纯的简单使用介绍说明,基于stm32t103函数库,采用GPIO口模拟的通信协议方式。
在OLED屏上显示字符以及汉字。
源码获取:链接:https://pan.baidu.com/s/1D6lk-fRq64gJILgeDBd2rQ?pwd=qng5
提取码:qng5
目录
一、OLED屏介绍
二、硬件接线说明
三、软件代码介绍
1、驱动代码
2、OLED引脚定义
3、中文显示
4、主函数显示
四、现象展示
一、OLED屏介绍
一般用于stm32使用的OLED显示屏常见的有两种,常见的属性:
0.96寸,供电3.3~5V,通信协议:I2C/SPI,分辨率:128*64
如上图所示,主要有4针脚跟7针脚两款,以及显示的颜色区别。
OLED显示屏供电一般3V或5.5V均兼容,4针脚为I2C通信协议,而7针脚用SPI通信协议,
在这里驱动函数模块使用的是GPIO口模拟的通信协议,即除电源外的其他引脚可接任意GPIO口。
一般为了方面显示,我们会将屏幕分为4行16列,如下图所示。以便于我们在显示屏的某处显示。
二、硬件接线说明
本文使用的是7针脚的显示屏,如下图所示,7个引脚即前两个为电源,GND低电平(地),VCC使用stm32上的3.3V输出,其余五个可接到任意引脚,在keil中软件定义引脚即可。
本文使用GPIOB中的5,6,7,8,9,即对应接到PB5,PB6,PB7,PB8,PB9五个引脚。
三、软件代码介绍
1、驱动代码
本文使用的驱动代码主要为一下三个,oled.c是驱动代码,oled.h是驱动代码声明,oledfont.h是一些字库和汉字代码。以下的代码段由官方提供,有兴趣的可以参考手册了解即可,无需掌握。
在声明函数中可以看到有以下的函数,各自的作用如下:
上述函数中,如OLED_ShowChar(a,b,'Helloworld')中,第一个函数为显示的行数,第二位为显示的列数。OLED_delete函数为本人自己修改的函数,用于某行的显示清除,参数为行数。
打开OLED.h声明函数中可以看到,除了上面官方给的驱动函数外,还有额外的几个,具体可以参考下面的函数声明后面的注释,本文只用到汉字显示,图片显示这里不作介绍。
2、OLED引脚定义
由于我们使用的是GPIO口模拟通信输出,故可使用任意端口,在OLED.c文件中的OLED_SPI_Init函数中定义。
3、中文显示
要想显示中文,必须先取模软件(我提供的源码文件夹内有),具体步骤如下:
打开软件后,在设置中选择C51格式,如下图。
在下方输入框中输入所要显示的汉字,然后点击生成字模,复制生成的字模到oledfont.h中所定义的常数字符数组Font_Chinese[][32]中,如下图
然后调用OLED_ShowChinese函数即可进行单个字符输出。
4、主函数显示
文中,我们将所有需要使用的声明函数全部放到main.h文件中,在每个.c文件开头只需要声明main.h文件即可。具体可下载源码查看,这里不做详细介绍。
如下图,在使用时先要对OLED屏初始化,这里文字使用的是单个输出,下篇文章再用遍历的方法对多个汉字进行输出。
四、现象展示
本文让大家对OLED有个简单的了解,本篇文章有一部分内容来源于B站江协科技《stm32入门教程》,其余内容为本人编写,如果文章有错误的内容,请大家多多指正。