文章目录
实验要求
理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:
-
显示自己的学号和姓名;
-
显示AHT20的温度和湿度;
-
上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者歌词、诗词。(最好使用硬件刷屏模式)
一、0.96OLED显示屏模块
高分辨率:128x64(和12864同分辨率,高PPI)
超大可视角度:大于160°(显示屏中可视角度最大的一种屏幕)
超低功耗:正常显示0.06w(远低于TFT显示屏)
宽电压供电(3V~5V),兼容3.3V和5V电平逻辑,无需电平转换芯片
IIC接口只需2个IO轻松点亮
接线说明:
二、取模软件说明
根据0.96寸OLED显示屏模块购买链接提供的相应资料选择0.96寸IIC4针的资料
下载相应的例程和取模软件
打开后
选择“选项”
选择“列行式” “C51格式” 最后点击“确定”
在下面输入想要取模的汉字 生成字模 然后就得到想要输出汉字的字模格式了
三、用OLED屏显示学号姓名,AHT20温湿度
打开刚刚下载资料里面的例程
其中显示一个字符串的函数如下:
其中
u8 x 起始点的横坐标
u8 y 起始点的纵坐标
u8 *chr 所显示字符串的首地址
u8 Char_Size 所显示字符串的大小
显示汉字的函数如下:
其中
u8 x 起始点的横坐标
u8 y 起始点的纵坐标
u8 no 所显示的汉字在字模数组的位置
更改需要显示的汉字(要求显示名字)
将取模后生成的字模复制到HARDWARE——oled.c——oledfont.h
替换之前例程的字模
更改需要显示的字符串(要求显示学号)
在主函数里直接修改u8 a[ ]数组
AHT20温湿度显示
将之前AHT20、IIC的源文件和头文件bsp_i2c.c
在bsp_i2c.c代码中添加在OLED屏显示的代码
并在主函数中调用测量并显示温湿度的函数
最后烧录结果如下:
四、上下滑动显示字符
我们采用直接控制ssd1306的硬件通过给oled发送SSD1306的驱动显示命令,控制屏幕进行平滑滚动显示。而不是不是软件更新坐标起点、循环屏幕写字的方式。后者屏闪明显,显示速率不够高
在主函数里添加
最后烧录结果如下: