你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】基于 STM32 和 DS3231 的带 OLED 的实时时钟

[复制链接]
STMCU小助手 发布时间:2022-6-21 13:09
概述$ m) V1 K3 U9 }  ^! A7 P
4 Y: h0 F) @2 a* ^+ d) ?
在这个项目中,我们将学习如何将 RTC 模块 DS3231 与 STM32(STM32F103C8 板)和 0.96 英寸 I2C OLED 显示器连接起来。然后使用 DS3231 实时时钟 (RTC) 模块来跟踪正确的时间和日期,并通过我们的核心控制器STM32F103C8 将时间和日期显示在 OLED 显示器上。
3 m+ J5 \+ @( m  l1 y! s+ I5 i, ]( C( I. P
DS3231的替代 IC是DS1307。DS3231 RTC具有内置报警功能以及温度传感器,分辨率为 0.25,精度为 ±3°C。
- O: ^0 Y  D7 w+ O% a; h/ `2 q# i  ^/ Z
材料清单
" L2 D9 c: A0 b( r* Y% `
4 S- }: m' H  f以下是制作此项目所需的组件。所有组件都可以从亚马逊轻松购买。购买链接也给出了。+ n; a+ y: ^3 F# W5 c/ U0 a, u  ?( [6 y  P

9 W* X% S7 [: k" P& c2 u d24d86a20da0664c2b91da52190ad5ca.jpg + O. B2 B& W- e& Q* F2 s
. M1 J0 `2 d4 {. R( n
DS3231 实时时钟模块
/ N2 m7 H+ w1 n1 }1 v1 p& A! u) v8 n7 T1 \9 Y5 z
DS3231是一款低成本、极其精确的 IC实时时钟 (RTC),具有集成的温度补偿晶体振荡器 (TCXO) 和晶体。该设备包含一个纽扣电池,用于在设备的主电源切断后保持准确的计时。
, c/ j% Y; Y  h5 D6 B; b0 s' Y/ v4 f' e0 q2 H  j
867a48914da9954ac5d4ff6092c12786.jpg
7 E, @# G' [5 \4 e3 ], ^0 Z: N, q# w* L. P  h0 {
RTC 维护秒、分钟、小时、星期、日期、月份和年份信息。对于少于31 天的月份,月末的日期会自动调整,包括闰年的更正。时钟以24 小时制或12 小时制运行,具有低电平有效AM/PM指示器。提供了两个可编程的时间警报和一个可编程的方波输出。! u4 ^- U0 c/ o4 {0 s

) e* o- E5 O- W) J' [8 f精密的温度补偿电压基准和比较器电路监控 VCC 的状态,以检测电源故障,提供复位输出,并在必要时自动切换到备用电源。此外,低电平有效的 RST 引脚被监控为按钮输入,用于生成 P 复位。7 L% C+ j  V. B

+ Q4 W4 H4 ?% ~/ J5 w* \: Y, y主要特点:; x7 ^" n1 N; Y; r
1 i$ @9 V5 }* [# z& H
1. 高度精确的 RTC 完全管理所有计时功能% l$ f! l$ w! a/ n0 g/ K
2. 实时时钟计数秒、分、小时、月、月、星期和年,闰年补偿有效至 21008 }$ K" j; [  G2 U# O% s! S
3. 精度±2ppm,0°C 至 +40°C) R: ^. i0 J2 Z5 V. f1 i
4. 精度 ±3.5ppm,-40°C 至 +85°C( h' b1 |) U& Y5 R# o
5. 数字温度传感器输出:±3°C 精度/ x& ~- e7 L; L% t# j
6. 老化调整寄存器
4 X: H/ y& V, J$ Z7 j4 ?7. 低电平有效RST 输出/按钮复位去抖输入+ X' E5 E7 f6 w' E- a" d
8. 每天两次警报  p( X9 R- n, `) F
9. 可编程方波输出信号
1 o0 K/ k+ T- c8 y6 s1 ^10. 简单的串行接口可连接到大多数微控制器
" S( S, r1 U5 |% F/ U; \* w11. 快速 (400kHz) I2C 接口
% n% a* s& C+ d. Q/ d3 a12. 用于连续计时的备用电池4 [3 \4 B  X& j' p
13. 低功耗运行延长了备用电池的运行时间
) X/ D- m. h$ q% y14. 3.3V 运行
8 A" Z0 r* R- \+ C15. 工作温度范围:商业(0°C 至 +70°C)和工业(-40°C 至 +85°C)3 a- e3 V6 y. @, R+ b! O: I0 q
16. Underwriters Laboratories (UL) 认可0 ?, B! p0 n8 G

) U, F: J- b! P% R  K) ?电路:
8 {: [0 S$ F% o' ]: V7 x) z+ l
6 D) |" [8 k, Z$ a- T# R& P( p下面是连接 DS3231 模块与 STM32F103C8T6微控制器和 OLED 的电路图。连接相当简单。您也可以在面包板上组装电路。" w& B" t5 u# _
( ]# P  y* S$ t
ddeec5bd3a1a7d87fb225d5bb03a0733.png
4 l: |5 U; [5 {' n1 G
4 X% R5 L5 M: gDS3231 和 OLED 显示器都是 I2C 模块。所以我们只需要 2 个引脚进行连接。因此,将串行数据 (SDA) 引脚连接到 STM32F103C8 B7 引脚并将串行时钟 (SCL) 连接到 STM32F103C8 B6 引脚。通过 STM32F103C8 的 3.3V 引脚为 OLED 和 RTC 模块提供 3.3V。(DS3231 和 OLED 模块可以使用 5V 电源)。
, N) {' C4 E$ i( |4 D3 }7 e
9 M: g& _! T& h) n$ R' n4 f 977cb836fe99a5d97417a765bf818b8a.png
4 u: ]# L9 O( H4 S$ q: |6 h' w. L( ?3 s
源代码/程序(略)
, l' [6 [- ~; ~- q6 p7 A+ d; u+ Y' Z0 f" ]" O
STM32 & DS3231 RTC 模块的源代码是在 Arduino IDE 上编写的。您需要在 Arduino IDE 上安装 STM32 开发板库。您可能需要导入或安装一些库。5 x9 C2 H2 [; d4 y7 v

9 a. U" ~+ W1 P/ D; k* I( e上传代码后,RTC 模块将开始工作。时间和日期将显示在 OLED 显示屏中。不需要其他设置,也不需要任何额外的按钮或开关。7 r- I! O- M+ x% u( l
ad16b81d8442386917128df1154e025e.png % c/ n3 B% U5 M( b# F# k
( z) p( ]" y, V* K% M; F# p' l
/ q6 p' Z6 `* @6 I) y7 e# z8 h
8 ^: @# F8 z9 T5 V8 z3 ?

: E/ @. e, u/ k' G! J
收藏 评论0 发布时间:2022-6-21 13:09

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版