Arduino开发实例DS3231实时时钟LCD显示
Arduino开发实例-DS3231实时时钟+LCD显示
DS3231实时时钟+LCD显示
1、DS3231介绍
DS3231是低成本、高精度I2C实时时钟(RTC),具有集成的温补晶振(TCXO)和晶体。该器件包含电池输入端,断开主电源时仍可保持精确的计时。集成晶振提高了器件的长期精确度,并减少了生产线的元件数量。DS3231提供商用级和工业级温度范围,采用16引脚300mil的SO封装。
RTC保存秒、分、时、星期、日期、月和年信息。少于31天的月份,将自动调整月末的日期,包括闰年的修正。时钟的工作格式可以是24小时或带/AM/PM指示的12小时格式。提供两个可设置的日历闹钟和一个可设置的方波输出。地址与数据通过I2C双向总线串行传输。
精密的、经过温度补偿的电压基准和比较器电路用来监视VCC状态,检测电源故障,提供复位输出,并在必要时自动切换到备份电源。另外,/RST监视引脚可以作为产生μP复位的手动输入。
除计时精度高之外,DS3231还具有一些其它功能,这些功能扩展了系统主机的附加功能和选择范围。该器件内部集成了一个非常精确的数字温度传感器,可通过I2C*接口对其进行访问(如同时间一样)。这个温度传感器的精度为±3°C。片上控制电路可实现自动电源检测,并管理主电源和备用电源(即低压电池)之间的电源切换。如果主电源掉电,该器件仍可继续提供精确的计时和温度,性能不受影响。当主电源重新加电或电压值返回到容许范围内时,片上复位功能可用来重新启动系统微处理器

DS3231的引脚如下:

- 32K:32K振荡器输出
- SQW:方波输出引脚
- SCL:串行时钟引脚(I2C 接口)
- SDA:串行数据引脚(I2C 接口)
- VCC:接电源正极
- GND:接地
2、硬件准备
本次使用到的硬件如下:
| 序号 | 组件 | 描述 | 数量 |
|---|---|---|---|
| 1 | Arduino Uno开发板 | Arduino Uno Atmega328 开发板 | 1 |
| 2 | DS3231模块 | DS3231模块 | 1 |
| 3 | LCD | LCD1602 | 1 |
| 4 | 可调电阻 | 可调电阻(电位计) | 1 |
| 5 | 连接线 | 杜邦线 | 15 |
3、硬件接线

各模块接线如下:
- 将 RTC 模块的 SCL 连接到 Arduino A5
- 将 RTC 模块的 SDA 连接到 Arduino A4
- 将 VCC 连接到 5v,将 GND 连接到 GND
- 将 LCD 的 RS 连接到 Arduino 的引脚 7
- 将 LCD 的 E 连接到 Arduino 的引脚 6
- 将 LCD 的 D7 连接到 Arduino 的引脚 2
- 将 LCD 的 D6 连接到 Arduino 的引脚 3
- 将 LCD 的 D5 连接到 Arduino 的引脚 4
- 将 LCD 的 D4 连接到 Arduino 的引脚 5
- 将 VSS、K、RW、D0、D1、D2、D3 连接到 GND
- 将 VDD 和 A 连接到 5v
- 将 VO 连接到电位器输出引脚(用于控制文本的对比度)
在前面的文章中,对LCD1602的驱动做了详细的介绍,请参考:
- Arduino与Proteus仿真实例-PCF8574驱动4x4矩阵键盘仿真
- 8051单片机Proteus仿真与开发实例-PCF8574扩展接口控制LED仿真
- 8051单片机Proteus仿真与开发实例-PCF8574扩展接口驱动LCD1602显示屏仿真
- STM32F1与STM32CubeIDE快速入门-I2C驱动LCD1602显示屏(基于PCF8574)
- Arduino与Proteus仿真实例-LCD1602液晶屏I2C(PCF8574)驱动仿真
- PIC16F877A与Proteus仿真-驱动I2C(PCF8574)-LCD1602
- Arduino与Proteus仿真实例-PCF8574接口扩展驱动仿真
- Arduino与Proteus仿真实例-LCD2004-I2C(PCF8574)驱动仿真
- ESP8266-Arduino编程实例-LCD1602-I2C(基于PCF8574)驱动
4、驱动实现
本次实例使用如下开源库:
示例代码如下:
1 | #include <Wire.h> |
文章来源: https://iotsmart.blog.csdn.net/article/details/128032411
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 秋意寒!
评论