单片机系统硬件DS1302时钟设计电路解析

2023-07-26

ds1302时钟芯片工作原理

DS1302结构与工作原理

DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟,有计时的作用,和日常接触的电子表,万年历差不多,可以对年月日、时分秒、星期计时。可以用单片机往DS1302里面写入时间进行时间设置,也可以用单片机从DS1302中读取时间,读出来的时间也可以放在液晶上显示。这样就可以实现一块电子表的功能了。

DS1302引脚及功能:

X1,X2: 振荡源管脚,外接32.768KHz晶振

GND: 地

RST: 复位/片选线(通过置高电平来启动所有的数据传送。)

IO: 数据输入输出

SCLK: 串行时钟

VCC1: 电池引脚

VCC2: 主电源引脚 (双电源供电,在主电源关闭的情况下,有VCC1的电池供电,也能保持时钟的连续运行)

DS1302的工作原理很简单,它外接32768Hz的晶振提供震荡时钟。芯片内部的电路对晶振频率32768分频后获得周期为1S的秒信号,然后对秒信号计数,获得分钟、小时、天、星期、月、年等的数值。

实现方法:

DS1302的时间信息以寄存器的形式搭拆历存储在芯片内部。DS1302的通讯接口由3根线组成,即RST,SCLK,I/O。单片机与DS1302通讯,采用的是SPI通讯接口,只不过是半双工了,只能分时进行收发。通过SPI接口,对相应的寄存器进行读操作,可以获得当前时间数值;写操作,可以设定当前时间。

下面介绍怎么对DS1302发号施令。

DS1302的命令字节格式:

一个完整的通讯帧由由2字节组成。第一字节是控制字节,第二字节为数据位。控制字格式如下:

1.bit0:读写标志。高电平为读,第二字节(蓝色圈内)会由DS1302输出数据;低电平为写,第二字节由单片机输出数据, DS1302接收;

2.bit1~5: 5位操作元地址,就是要对哪个寄存器进行操作。寄存器地址知搜列表如图2.1。(红色圈内)

3.bit6:选择RAM区或寄存器区。如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;

4. bit7:必须是逻辑1,如果它为0,则不能把数据写入DS1302中。

图2.1

(CH:时钟停止位;为0时振荡器工作;为1时振荡器停止;AP=1时为下午模式,为0时上午模式。图2.1内还应该有第八个寄存器,地址为8E。它的bit7是需要重视的。bit7是一个保护位,如果这一位是1,那么是禁止给任何其他的寄存器或者那31个字节的RAM写数据的。因此在写数据之前,这一位必须先写成0。)

因为是SPI接口,单片机与DS1302通讯也是上升沿发送(写入1302数据),下降沿接收(读取1302数据)。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始御和。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据。读出的数据也是从最低位到最高位。数据读写时序如下图:

用51和DS1302设计时钟电路,都需

除了5书沙载福厚表育孔研齐1单片机(stc,就不需外围器件了)和ds1302,还需要32.768kz时误输提论散华会亲海钟晶体,22pF电容,10k列该沿四架映电阻,5V电源(稳压源)基本就可以了,
要显示要有数码管,或者液晶也可以.

求教这个DS1302实时时钟电路图是如何工作的,各个引脚的作用

主是要3个引脚,SCLK串行时钟脉冲输入端,I/O串行数据输入/输出端,即同双向的,能输入串行数据,也能输出串行数据。RST复位端。它的工作必须要由单片机来控制,写入控制字和初始时间后就可以自动计时了。这完全是要由程序来完成的,硬件工作原理很简单,上电后就能工作了,主要是对32768Hz的时钟脉冲信号计数,得到秒,分,小时,日,月,年,星期的。最根本的是要有单片机用程序来控制,即串行写入控制字,串行读出串行时间。

文章推荐

相关推荐