查看: 637|回复: 0

[资料] 【开发教程6】开源蓝牙心率防水运动手环_OLED屏幕显示

[复制链接]
  • TA的每日心情
    开心
    2022-4-17 15:37
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2022-4-20 13:09:18 | 显示全部楼层 |阅读模式
    分享到:
    OLED 屏幕显示


    配套资料:https://www.fengke.club/GeekMart/su_fkZyGYgrp.jsp
    配套视频:https://www.fengke.club/GeekMart/su_fTSgUL3y3.jsp



    Lcd 屏幕显示


    1  相关简介

      本次 Lcd 屏幕显示是采用 SSD1306。SSD1306 是一个单片 CMOS OLED/PLED 驱动芯片可以驱动有机/聚合发光二级管点阵图形显示系统。有 128segments 和64Commons 组成。该芯片专为共阴极 OLED 面板设计。SSD1306 中嵌入了对比度控制器、显示 RAM 和晶振,并因此减少了外部器件和功耗。有 256 级亮度控制。数据/命令的发送有三种接口可选择:6800/8000 串口,I2C 接口或 SPI 接口。我们本次就是使用软件模拟 I2C 接口控制 LCD 屏幕。


    2  硬件设计

      下图是我们的 LCD 屏幕的接口,这里使用 I2C 通信,SCL,SDA 分别接在 P25、P26。

    1.png

    图 1


    3  软件设计

      关于软件,首先就是要把模拟 I2C 的两个引脚配置成普通输出 IO 口,
    GPIO_ConfigurePin(LCD_I2C_PORT, SCL, OUTPUT, PID_GPIO, false);
    GPIO_ConfigurePin(LCD_I2C_PORT, SDA, OUTPUT, PID_GPIO, false);
    首先模拟起始信号:当 SCL 为高电平期间,SDA 由高电平跳变到低电平。


    2.png
    3.png


      最后就是数据的传送:I2C 总线进行数据传送时,时钟信号为高电平期间, 数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化。

    4.png


      上面的函数 Delay_us(1)可以根据 datasheet 进行更改。
      我们通过对 SSD1306 写指令,写数据,控制 LCD。


    5.png

    图 2

    6.png
    7.png

      LCD 初始化完成之后,就可以调用显示函数了。

    4  实验现象

      首先打开 SmartSnippets。

    8.png
            
    图 3
    (1)设置好 SmartSnippets 之后,点击上图中的 Open。


    (2)点击 Connect,连接我们的单片机。

    9.png

    图 4
    (3)点击 Erase,擦除 Flash。

    10.png

    图 5
    (4)点击 Browse,找到我们工程的.hex 文件。

    11.png

    图 6
    (5)点击 Burn,完成代码下载。

    12.png

    图 7
    代码下载完成之后,运行代码,就能看到 LCD 上有显示图案。

    13.png

    图片 8

    文件下载请点击: 4_(100%开源)蓝牙心率防水运动手环_OLED屏幕显示.pdf (1.38 MB, 下载次数: 3)
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-20 13:36 , Processed in 0.128848 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.