单片机小白学习之路(三十三)---DS1302电子时钟的理解

目标:DS1302电子时钟的理解


1.DS1302简介

DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低
功耗实时时钟芯片。
主要性能指标:
(1)DS1302实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年调整的能力。
(2)内部含有31个字节静态RAM,可提供用户访问。
(3)采用串行数据传送方式,使得管脚数量最少,简单SPI 3线接口。
(4)工作电压范围宽:2.0~5.5V。
(5)工作电流:2.0V时,小于300nA。
(6)时钟或RAM数据的读/写有两种传送方式:单字节传送和多字节传送方式。
(7)采用8脚DIP封装或SOIC封装。
(8)与TTL兼容,Vcc=5V。
(9)可选工业级温度范围:-40C~+85C。
(10)具有涓流充电能力。
(11)采用主电源和备份电源双电源供应。
(12)备份电源可由电池或大容量电容实现。


2.ds1302引脚

单片机小白学习之路(三十三)---DS1302电子时钟的理解
ds1302

  • Vcc2是电源,Vcc1是备用电源(可以接一个纽扣电池,主电源断时可以使用)
  • X1,X2是晶振输入端口,提供时钟脉冲
  • SCLK是用来进行控制数据传输
  • I/O是数据输入输出端口
  • /RST是复位引脚,低电平有效

3.DS1302相关寄存器
DS1302有一个控制寄存器、12个日历、时钟寄存器和31个RAM。

  • (1)控制寄存器
    控制寄存器用于存放DS1302的控制命令字,DS1302的RST引脚回到高电平后(复位后)写入的第一个字节就为控制命令。它用于对DS1302读写过程进行控制,格式如下:


    单片机小白学习之路(三十三)---DS1302电子时钟的理解
    ds1302

0位:用于选择是写入ds1302还是读取ds1302里面的数据
1~5位:进行组合来选择控制哪个日期寄存器
6位:进行选择是对RAM进行控制还是时钟寄存器进行控制
7位:固定为1

单片机小白学习之路(三十三)---DS1302电子时钟的理解
日期寄存器

单片机小白学习之路(三十三)---DS1302电子时钟的理解
RAM为1

可以进行选择哪个RAM寄存器


  • (2)日历/时钟寄存器
    DS1302共有12个寄存器,其中有7个与日历、时钟相关,存放的数据为BCD码形式。格式如下:


    单片机小白学习之路(三十三)---DS1302电子时钟的理解
    日期寄存器
  • 秒寄存器:取值范围是0~59. CH是控制选择位,当CH为1可以进行秒的调整,当CH为0不可以调整
  • 分寄存器:取值范围是0~59. 0 ~ 3是表示分的个位,4~6是表示分的十位
  • 小时寄存器:取值范围是1~ 12或0~ 23. D7位是用于选择是12小时制还是24小时制的。D5位是选择上午还是下午。D4位是小时的十位。D0~ D3是小时的个位
  • 日寄存器:取值范围是1~ 31.
单片机小白学习之路(三十三)---DS1302电子时钟的理解
日期寄存器
  • 重要的是写保护位,当其开启的时候不能对ds1302中数据进行修改,我们使用的时候必须使其为0

  • BCD码是什么?
    BCD码是通过4位二进制码来表示1位十进制中的0~9这10个数码。
    单片机小白学习之路(三十三)---DS1302电子时钟的理解
    BCD码

3.DS1302数据读写操操作

在控制指令字输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从低位(位0)开始。

同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位到高位7。

单片机小白学习之路(三十三)---DS1302电子时钟的理解
脉冲

第一个字节都是控制字节,对应上面说的DS1302的RST引脚回到高电平后(复位后)写入的第一个字节就为控制命令,控制字节低位在前高位在后。


4.DS1302时钟模块电路

单片机小白学习之路(三十三)---DS1302电子时钟的理解
ds1302模块电路

CE是复位引脚