查看: 515  |  回复: 0
【智能穿戴开发教程5】开源蓝牙心率防水运动手环-OLED 屏幕显示
Jack007x
59
主题
0
回复
发表于2022-09-05 15:04:40 | 只看该作者
1# 电梯直达

开源蓝牙心率防水运动手环

——疯壳·智能穿戴开发系列

OLED 屏幕显示






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



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 由高电平跳变到低电平。



 

 


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



 


 上面的函数 Delay_us(1)可以根据 datasheet 进行更改。

 我们通过对 SSD1306 写指令,写数据,控制 LCD。


 


图 2


 

 


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


4  实验现象


 首先打开 SmartSnippets。



 


图 3

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



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


 

图 4

(3)点击 Erase,擦除 Flash。


 

图 5

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


 

图 6

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


 

图 7

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


 

图片 8




文件下载请点击:5_(100%开源)蓝牙心率防水运动手环_OLED屏幕显示.pdf 



主题

回复
  • 温馨提示: 标题不合格、重复发帖、发布广告贴,将会被删除帖子或禁止发言。 详情请参考: 社区发帖规则
  • 您当前输入了 0 个文字。还可以输入 8000 个文字。 已添加复制上传图片功能,该功能目前仅支持chrome和火狐

禁言/删除

X
请选择禁言时长:
是否清除头像:
禁言/删除备注:
昵 称:
 
温馨提示:昵称只能设置一次,设置后无法修改。
只支持中文、英文和数字。

举报

X
请选择举报类型:
请输入详细内容:

顶部