【嵌入式系统开发16】基于OLED屏显和汉字点阵编码原理显示姓名学号,湿度温度,滚动长字符

要求

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

  1. 显示自己的学号和姓名;

  2. 显示AHT20的温度和湿度;

  3. 上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者一段歌词或诗词(最好使用硬件刷屏模式)。

标题一.SPI

定义:

SPI是串行外设接口(Serial Peripheral Interface)的缩写,SPI是一种高速、全双工、同步通信的通信总线,被广泛应用在ADC、LCD等与MCU的通信过程中,特点就是快。
3种SPI的处理流程大同小异,使用最多的SPI-4为例来说明SPI的原理。它在发送接口和接收接口都有各自的数据通道和流控状态信息通道,其数据通道和流控状态信息通道是独立的并且是点对点通信。
oled引脚
在这里插入图片描述

对应stm32引脚

GND-GND
VCC-3.3/5V
D0-PB13
D1-PB15
RES-PB12
DC-PB10
CS-PB11

二.实例

1)个人学号姓名

文字需要使用文字取模软件。可以在网上下载。
在这里插入图片描述
在文字输入区这里输入你需要的文字,输入完成后,按CTRL+enter右边出现了你要输入的字表示你输入进去了,点击左边的取模方式,选择C51格式随后出现你文字的16进制代码。
在这里插入图片描述
在这里插入图片描述
将其复制好,备用。文字取阵完成。

/*--  文字:  未  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,
0x03,0x80,0x05,0x40,0x09,0x20,0x11,0x10,0x21,0x08,0xC1,0x06,0x01,0x00,0x01,0x00,

/*--  文字:  几  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x0F,0xE0,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,
0x08,0x20,0x08,0x20,0x10,0x20,0x10,0x22,0x20,0x22,0x20,0x22,0x40,0x1E,0x80,0x00,


代码部分
打开test.c文件 找到void TEST_MainPage(void)函数,编辑内容如下
在这里插入图片描述

void TEST_MainPage(void)
{
   
   	
//	GUI_ShowString(28,0,"Harriet",16,1);
	GUI_ShowCHinese(10,20,16,"未几",1);//
  GUI_ShowString(40,32,"12345678910",16,1);
	//GUI_ShowString(40,32,"64X128",16,1);
	
	//GUI_ShowString(4,48,"www.lcdwiki.com",16,1);
	delay_ms(1500);		
	delay_ms(1500);
}

取出来的文字代码存储到oledfont.h文件
const typFNT_GB16 cfont16[] =函数内,将刚刚取出的代码复制其中。在这里插入图片描述
随后编译烧录
效果如下在这里插入图片描述

2) 显示AHT20的温度和湿度;

main函数更改如下

#include "delay.h"
#include "usart.h"
#include "bsp_i2c.h"
#include "sys.h"

#include "oled.h"
#include 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知名未几

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值