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

【更好用的单片机】【Stduino】Stduino学习(三十二)DS1302模块

[复制链接]
stduino 发布时间:2020-8-22 17:52
37种传感器(三十二)DS1302模块+Stduino Nano&UNO
关键词:
51stm32arduinostduino单片机stduino UNO&Nano;DS1302时钟模块

说明:
DS1302 是美国 DALLAS 公司推出的一种高性能、低功耗、带 RAM 的实时时钟电路, 它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能。且能自动对少于31天的月份日期进行调整,支持12小时制和24小时制。
32-DS1302展示图.png

工作电压为 2.5V 5.5V。其内部包含一个实时时钟/日历以及一个31字节的RAM,同时采用三线接口与 CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM 数据。
通过使用串行通信,可以简化DS1302与单片机的连接。与DS1302连接只需要三条线:
RST(复位)
I/O(数据线)
SCLK(串行时钟信号)
可以一次1字节或最多31个字节的在RAM之间传输数据。
其他引脚的说明:
VCC2:工作电源。
GND:电源接地。
VCC1:后背电源,需要3V的纽扣电池,能够在VCC2断开的时候继续供电,从而保持时钟数据。
DS1302的运行只需要非常低的能耗,维持数据与时钟信息只需要不到1微瓦的功率。其内部有多个寄存器,通过访问特定地址,我们就能对这些寄存器进行读写操作。例如访问秒寄存器,我们通过下图左一,就可以知道在这里可以引用DS1302.h,读写操作等繁琐步骤已经被封装好了。
ds1302时钟寄存器.png
实验目的:
在本例中,我们将利用DS1302库,编写一个互动式的环境,从而帮助我们读取时间、修改时间、更改12/24小时制等等。

器材:
Stduino UNO/Nano;杜邦线;DS1302模块

电路连接:
VCC -> 5V
GND -> GND
CLK -> D4
DAT -> D3
RST -> D2

代码展示:
  1. <font face="Arial" size="3">#include <DS1302.h>
  2. void setup()
  3. {
  4.   DS1302_Init();
  5.   Serial.begin(9600);
  6.   Serial.println("欢迎使用!");  
  7.   DS1302_GetTime(&DS1302Data);
  8.   Show_RTCC();
  9.   Serial.println("输入 "help" 获得帮助");
  10. }
  11. // 获取串口输入
  12. void Scan_Input()
  13. {
  14.   String comdata="";
  15.   while (Serial.available() > 0)  
  16.     {
  17.      comdata += char(Serial.read());
  18.      delay(2);
  19.     }
  20.    
  21.     if(comdata.length()==20 && comdata.startsWith("set"))
  22.     {
  23.       Set_Time(comdata);
  24.     }
  25.     else if(comdata=="show")
  26.     {
  27.       Serial.println("The Time Now Is:");
  28.       Show_RTCC();
  29.     }
  30.     else if(comdata=="help")
  31.     {
  32.       help();
  33.     }
  34.     else if(comdata.length()==11 && comdata.endsWith("hours"))
  35.     {
  36.       Set_HourSystem(comdata);
  37.     }
  38. }

  39. //帮助内容
  40. void help()
  41. {
  42.   Serial.println("************************************* HELP *****************************************");
  43.   Serial.println("Type "set YY MM DD WEEK HH MM" To Set The Time!");
  44.   Serial.println("Such As Type "set 08 08 08 1 12 00" To Set The Time As 2008-8-8 Monday 12:00");
  45.   Serial.println("Type "show" To Display The Time Now!");
  46.   Serial.println("Type "set 24hours" or "set 12hours" To Change The Hour System");
  47.   Serial.println("************************************* HELP *****************************************");
  48. }

  49. void loop()
  50. {
  51.   Scan_Input();
  52.   DS1302_GetTime(&DS1302Data);        //获取当前RTCC值
  53.   
  54. }</font>
复制代码



实验效果:
打开串口显示器,显示了友好的交互界面:
32-ds1302效果图01.png

Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。
IDE当前支持的功能有:



  • GDB调试
  • 封装库下载安装
  • 代码自动补全提示
  • 中英文模式
  • UTF-8\GBK编码格式
  • 代码快速格式化
  • SWD\串口程序下载&调试(已验证)
  • DFU程序下载方式(待验证)
  • USB HID程序下载方式(待验证)
  • maple DFU程序下载方式(待验证)
  • maple DFU2程序下载方式(待验证)
  • MassStorage程序下载方式(待验证)

    更多功能细节请前往www.stduino.com
    进行了解

    已经支持的芯片&板型列表:


    • Stduino UNO&Nano
    • Nucleo 144 boards
    • Nucleo 64 boards
    • Nucleo 32 boards
    • Discovery boards
    • Eval boards
    • STM32MP1 series coprocessor boards
    • Generic STM32F0 boards
    • Generic STM32F1 boards
    • Generic STM32F3 boards
    • Generic STM32F4 boards
    • Generic STM32H7 boards
    • Generic STM32L0 boards
    • 3D printer boards
    • LoRa boards
    • Electronic Speed Controller boards
    • Generic flight controllers
    • Garatronics boards
    • Midatronics boards

      更多功能集成正在进行中~




收藏 评论0 发布时间:2020-8-22 17:52

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

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