文章目录
- 一、了解SPI(串行外设接口)
- 二、使用0.96寸OLED显示屏显示数据
- 三、自行修改程序实现显示
- 四、总结
- 五、参考资料
一、了解SPI(串行外设接口)
- SPI的定义
SPI(Serial Peripheral Interface)就是串行外围设备接口。
SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚。SPI 是一个环形总线结构,由 ss(cs)、sck、sdi、sdo 构成,时序主要是在 sck 的控制下,两个双向移位寄存器进行数据交换。
上升沿发送、下降沿接收、高位先发送。
上升沿到来的时候,sdo 上的电平将被发送到从设备的寄存器中。
下降沿到来的时候,sdi 上的电平将被接收到主设备的寄存器中。 - SPI的连接方式
SS( Slave Select):从设备选择信号线,常称为片选信号线。
SCK (Serial Clock):时钟信号线,用于通讯数据同步。
MOSI (Master Output, Slave Input):主设备输出/从设备输入引脚。
MISO(Master Input,,Slave Output):主设备输入/从设备输出引脚。 - SPI的通讯过程
MOSI 与 MISO 的信号只在 NSS 为低电平的时候才有效,在 SCK 的每个时钟周期 MOSI 和 MISO 传输一位数据。
更多内容请参考
《【野火®】零死角玩转STM32—F103-MINI》
二、使用0.96寸OLED显示屏显示数据
- 实验工具与材料
软件:keil
硬件:PC机,STM32开发板(本过程采用的是野火stm32mini开发板),0.96寸OLED显示屏,下载器(本过程采用ST_Link) - 0.96寸OLED显示屏相关介绍
参考下面链接:
http://www.lcdwiki.com/zh/0.96inch_SPI_OLED_Module - 运行厂家给出的Demo程序
①下载程序
程序下载链接:
0.96寸SPI_OLED模块配套资料包
②打开资料包,选择与自己平台相同的实例,打开Demo的工程,使用keil编译
③将程序烧录到开发板
④连接显示屏和开发板
⑤运行结果
三、自行修改程序实现显示
显示要求:
显示姓名
显示一串数字
1.姓名中文的点阵(16*16)
由于程序并不需要显示所有的中文,所以将对应需要的文字添加到程序就可以了。
本过程显示的中文内容是哈莉特,需要从中文点阵字库中找到对应的点阵表示。
2.程序代码
哈莉特的存储代码
"哈",0x00,0x40,0x00,0x40,0x00,0xA0,0x78,0xA0,0x49,0x10,0x49,0x08,0x4A,0x0E,0x4D,0xF4,
0x48,0x00,0x48,0x00,0x7B,0xF8,0x4A,0x08,0x02,0x08,0x02,0x08,0x03,0xF8,0x02,0x08,
"莉",0x04,0x40,0x04,0x44,0xFF,0xFE,0x04,0x40,0x06,0x08,0x78,0x08,0x08,0x48,0x08,0x48,
0xFF,0x48,0x08,0x48,0x1C,0x48,0x1A,0x48,0x2A,0x48,0x48,0x08,0x88,0x28,0x08,0x10,
"特",0x10,0x40,0x10,0x40,0x50,0x48,0x53,0xFC,0x7C,0x40,0x50,0x44,0x97,0xFE,0x18,0x10,
0x30,0x10,0xD7,0xFE,0x11,0x10,0x10,0x90,0x10,0x90,0x10,0x10,0x10,0x50,0x10,0x20,
实现显示代码
void TEST_MainPage(void)
{
GUI_ShowString(28,0,"Harriet",16,1);//英文姓名
GUI_ShowCHinese(28,20,16,"哈莉特",1);//中文姓名
GUI_ShowString(4,48,"631807060517",16,1);//数字详细
delay_ms(1500);
delay_ms(1500);
}
main函数
int main(void)
{
delay_init(); //延时函数初始化
OLED_Init(); //初始化OLED
OLED_Clear(0); //清屏(全黑)
while(1)
{
TEST_MainPage(); //界面显示
}
}
3.编译烧录结果
四、总结
本过程主要是对应字库的一个了解,以及怎么实现将点阵格式转换成十六进制格式。出来了给出的几个中文的点阵之外,其他的显示也都是依据点阵进行的存储。其实,整个显示屏也是一个点阵,显示过程就是将显示屏整个点阵中的每个小点进行改变,从而实现显示。
五、参考资料
- 通用点阵字库生成工具
- 显示屏相关资料
程序完整代码
百度网盘分享链接
https://pan.baidu.com/s/1gMCljDEFuVtfhPN38MX9dA
提取码:bphx