基于SPI接口的OLED数据显示

目录

一、SPI原理

1.SPI的定义

SPI(Serial Peripheral Interface)就是串行外围设备接口。
SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI 是一个环形总线结构,由 ss(cs)、sck、sdi、sdo 构成,时序主要是在 sck 的控制下,两个双向移位寄存器进行数据交换。
上升沿发送、下降沿接收、高位先发送。
上升沿到来的时候,sdo 上的电平将被发送到从设备的寄存器中。
下降沿到来的时候,sdi 上的电平将被接收到主设备的寄存器中。

2.SPI引脚

SS( Slave Select):从设备选择信号线,常称为片选信号线。
SCK (Serial Clock):时钟信号线,用于通讯数据同步。
MOSI (Master Output, Slave Input):主设备输出/从设备输入引脚。
MISO(Master Input,,Slave Output):主设备输入/从设备输出引脚。

二、显示数据

1.实验环境

(1)本次使用的是野火STM32指南者开发板
(2)0.96寸OLED显示屏相关介绍
参考下面链接:
http://www.lcdwiki.com/zh/0.96inch_SPI_OLED_Module
按照下表,连接开发板和OLED显示屏

模块引脚 指南者开发板引脚 备注
GND GND OLED接地
VCC 3.3V/5V OLED电源线
D0 PB13 SPI总线时钟信号
D1 PB15 SPI总线数据信号
RES PB12 复位信号
DC PB10 数据输入选择信号
CS PB11 片选信号

基于SPI接口的OLED数据显示

2.实现功能

显示姓名
显示一串数字

3.程序详解

由于程序并不需要显示所有的中文,所以将对应需要的文字添加到程序就可以了
(1)首先我们使用字模软件,取出自己所需要的字模数据
基于SPI接口的OLED数据显示
进入字模软件后,我们需要进行一些设置,点击选项,设置成如下选项
基于SPI接口的OLED数据显示
设置完成后,我们在下方白框内输入需要的汉字和数字,计算机就能够直接把汉字和数字的字模数据转换成十六进制输出
基于SPI接口的OLED数据显示
这样我们就可以直接复制字模数据到我们所需的工程里面去,汉字取字同理

0x00,0x00,0x00,0x18,0x24,0x40,0x40,0x5C,0x62,0x42,0x42,0x42,0x22,0x1C,0x00,0x00,//60

0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x04,0x02,0x42,0x42,0x3C,0x00,0x00,//31

0x00,0x00,0x00,0x08,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,//12

0x00,0x00,0x00,0x3C,0x42,0x42,0x42,0x24,0x18,0x24,0x42,0x42,0x42,0x3C,0x00,0x00,//83

0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,//04

0x00,0x00,0x00,0x7E,0x42,0x04,0x04,0x08,0x08,0x10,0x10,0x10,0x10,0x10,0x00,0x00,//75

0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,//06

0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x04,0x02,0x42,0x42,0x3C,0x00,0x00,//37

0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,//08

0x00,0x00,0x00,0x3C,0x42,0x42,0x02,0x04,0x18,0x04,0x02,0x42,0x42,0x3C,0x00,0x00,//39

0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,//010

0x00,0x00,0x00,0x08,0x38,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x3E,0x00,0x00,//111

(2)打开keil中的测试程序
基于SPI接口的OLED数据显示
找到数据显示的代码:
基于SPI接口的OLED数据显示
然后将我们的刚刚得到的字模数据粘贴到这个库里面,最后我们找到工程中的显示数据代码进行细微修改,代码如下

void TEST_MainPage(void)
{	
	GUI_ShowCHinese(28,20,16,"曾子铭",1);//中文姓名
	GUI_ShowString(4,48,"631807030301",16,1);//数字详细
	delay_ms(1500);		
	delay_ms(1500);
}

main函数修改

int main(void)
{	
	delay_init();	    	       //延时函数初始化	  
	OLED_Init();			         //初始化OLED  
	OLED_Clear(0);             //清屏(全黑)
	while(1) 
	{	
		TEST_MainPage();         //界面显示
	}
}

4.烧录结果

基于SPI接口的OLED数据显示

上一篇:laravel Authentication and Security


下一篇:HLS——图像灰度化和二值化处理示例