单片机学习小组
直播中

628215

12年用户 783经验值
擅长:电源/新能源
私信 关注

怎样使用STM32F103的SPI或IIC接口实现显示功能呢

OLED屏显和汉字点阵编码原理是什么?
怎样使用STM32F103的SPI或IIC接口实现显示功能呢?

回帖(1)

王明钊

2022-1-21 14:26:51
一、实验要求



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

  • 显示自己的学号和姓名;
  • 显示AHT20的温度和湿度;
  • 上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”


   
二、SPI


  SPI( Serial Peripheral Interface-串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为: 控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。外围设备包括 FLASHRAN、网络控制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOS和低电平有效的从机选择线NSS(有的SP接口芯片带有中断信号线NT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。


   
三、显示自己的学号和姓名


在0.96寸OLED官网上下载相关程序。

资料包下载完成后解压出来,选择适合自己板子的相应的程序。


点开工程,修改相应的程序代码

3)将字模代码粘贴到oledfront.h文件中
野火stm32有相应的字模软件

打开字模软件,点击选项,将取模方式设置为逐行式,显示数设置为16X16。

输入需要的文字,点击生成字模,复制备用。

复制到oledfront.h文件中


按开发板的要求将oled显示屏连接起来



进行编译和烧录等操作


四、显示AHT20的温度和湿度


根据上次基于I2C的温湿度采集的实验,可利用该实验的相关文件来完成本次的显示AHT20的温度和湿度的任务。

将bsp_i2c.c,bsp_i2c.h,usart.c,usart.h这几个文件加入到USER目录下。

在HARDWARE文件夹中添加stm32f10x_usart.c,该文件位于STM32F10x_FWLibsrc中


利用野火stm32自带的字模软件生成相应文字的字模。

复制到oledfront.h文件中

五、滑动显示长字符

利用野火stm32自带的字模软件生成相应文字的字模。

复制到oledfront.h文件中

六、小结

通过本次做了SPI的OLED显示实验,实现了显示姓名、学号、温湿度、文字滚动显示等基础功能。熟悉了通过字模来显示中文等操作。对SPI写入等有了更好的认识
举报

更多回帖

发帖
×
20
完善资料,
赚取积分