基于SPI接口的OLED数据显示


实验任务要求:
理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:

  1. 显示自己的学号和姓名;
  2. 上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者歌词、诗词。(最好使用硬件刷屏模式);
  3. 显示AHT20的温度和湿度;

一、SPI简介

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200。

二、实验前期准备

所用设备有:野火STM32F103指南者核心板、0.96inch 7线S OLED、 AHT20芯片
参考程序来源:0.96inch SPI OLED Module
实验基于此程序完成
在这里插入图片描述
0.96 inch 7线 OLED产品照片:
照片来自:0.96inch SPI OLED Module在这里插入图片描述

三、实验内容

打开前面在产品网址下载的压缩包解压后
在这里插入图片描述
在这里插入图片描述
我所选择的工程
在这里插入图片描述

1.接线

工程代码里有接线说明按照其接法即可
在这里插入图片描述
OLED大致连线如图所示
AHT20连线在之前的博客基于I2C的温湿度采集
在这里插入图片描述

2.任务一:显示自己的学号和姓名

(1)添加字模

在这里插入图片描述在这里插入图片描述
打开后按照其前面的图片提示改好设置
在这里插入图片描述
在这里插入图片描述
然后将下面的字模复制按照下面的路径
在这里插入图片描述
在这里插入图片描述
找到此行放入刚才生成的字模
在这里插入图片描述

(2)修改函数

在text.c文件中找到此行修改函数
在这里插入图片描述

#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "gui.h"
#include "test.h"
int main(void)
{
   	
	delay_init();	    	       //延时函数初始化	  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	 //设置NVIC中断分组2:2位抢占优先级,2位响应优先级	
	OLED_Init();			         //初始化OLED  
	OLED_Clear(0);             //清屏(全黑)
	while(1) 
	{
   	
		TEST_MainPage();         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值