博客
关于我
基于SPI/IIC接口的OLED数据显示
阅读量:565 次
发布时间:2019-03-09

本文共 1242 字,大约阅读时间需要 4 分钟。

基于SPI/IIC接口的OLED数据显示实验报告


1. 实验任务

本次实验旨在通过STM32F103开发板和基于SPI/IIC接口的0.96寸OLED显示屏,完成以下功能的实现:

  • 显示学号和姓名:利用OLED屏显的汉字点阵编码原理,实现固定位置显示个人信息。
  • 显示AHT20温湿度数据:通过SPI接口读取AHT20传感器的温度和湿度数据,并在OLED屏上进行显示。
  • 实现长字符滚动显示:采用硬件刷屏模式,实现字符的上下或左右滚动显示。

  • 2. 实验环境

  • 开发工具:Keil5 IDE
  • 开发板:野火mini开发板
  • OLED显示屏:基于SPI接口的0.96寸OLED屏

  • 3. 资源与工具

    • 字模工具:用于生成和编辑OLED显示字符的字模文件。
    • 开发资源:包含OLED驱动程序、字模文件及相关示例代码。

    4. 引脚连接

    根据开发板和OLED屏的引脚表进行连接,确保以下接口正确对齐:

    • SPI接口:包括数据线(SDI)、钟信号(SCK)、卡线(CS)和片选信号。
    • IIC接口:包括数据线(SDA)和时钟信号(SCL)。

    连接完成后,系统应通过串口监控工具验证各接口是否正常工作。


    5. 字模工具使用

  • 字模生成:使用字模软件将目标字符(如姓名和学号)转换为对应的8-bit字模数据。
  • 字模导入:将生成的字模文件导入到OLED显示程序中,确保字符显示位置和格式正确。

  • 6. 显示代码修改

    在主程序中完成以下设置:

    int main(void){    delay_init();        // 初始化延时功能    NVIC_Configuration(); // 设置中断配置    OLED_Init();         // 初始化OLED屏    OLED_Clear(0);       // 清屏(全黑显示)    OLED_WR_Byte(0x2E, OLED_CMD); // 关闭滚动    OLED_WR_Byte(0x27, OLED_CMD); // 设置水平滚动方向(如左或右)    OLED_WR_Byte(0x00, OLED_CMD); // 设置起始页    OLED_WR_Byte(0x07, OLED_CMD); // 设置滚动时间间隔    TEST_MainPage();      // 调用主界面显示函数    while(1)    {    }}

    7. 滚动显示功能

  • 字符优化:确保字模文件中的字符完整性,避免截断或错误显示。
  • 滚动设置:在OLED初始设置中,启用滚动功能并调整滚动速度和方向。
  • 测试显示:通过串口监控工具,验证滚动显示效果,确保字符顺序正确无间断。

  • 8. 烧录与测试

  • 程序烧录:将修改好的代码通过Keil5 IDE烧录到野火mini开发板。
  • 结果验证:通过OLED屏查看显示效果,确保学号、姓名及温湿度数据正确显示。

  • 本次实验通过以上步骤,成功实现了OLED屏显的基本功能,包括静态显示和滚动显示,为后续实验奠定了基础。

    转载地址:http://fetpz.baihongyu.com/

    你可能感兴趣的文章
    Plotly 域变量解释(多图)
    查看>>
    Plotly 绘制表面 3D 未显示
    查看>>
    Plotly-Dash 存在未知问题并创建“加载依赖项时出错“;通过使用 Python-pandas.date_range
    查看>>
    Plotly-Dash:如何过滤具有多个数据框列的仪表板?
    查看>>
    Plotly:如何为 x 轴上的时间序列设置主要刻度线/网格线的值?
    查看>>
    Plotly:如何从 x 轴删除空日期?
    查看>>
    Plotly:如何从单条迹线制作堆积条形图?
    查看>>
    Plotly:如何以 Root 样式绘制直方图,仅显示直方图的轮廓?
    查看>>
    Plotly:如何使用 Plotly Express 组合散点图和线图?
    查看>>
    Plotly:如何使用 plotly.graph_objects 和 plotly.express 定义图形中的颜色?
    查看>>
    Plotly:如何使用 Python 对绘图对象条形图进行颜色编码?
    查看>>
    Plotly:如何使用 updatemenus 更新一个特定的跟踪?
    查看>>
    Plotly:如何使用长格式或宽格式的 pandas 数据框制作线图?
    查看>>
    Plotly:如何向烛台图添加交易量
    查看>>
    Plotly:如何在 plotly express 中找到趋势线的系数?
    查看>>
    Plotly:如何在桑基图中设置节点位置?
    查看>>
    Plotly:如何处理重叠的颜色条和图例?
    查看>>
    Plotly:如何手动设置 plotly express 散点图中点的颜色?
    查看>>
    Plotly:如何结合 make_subplots() 和 ff.create_distplot()?
    查看>>
    Plotly:如何绘制累积的“步骤“;直方图?
    查看>>