片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。
223工作原理DS1302工作时为了对任何数据传送进行初始化,需要将复位脚(RST)置为高
电平且将8位地址和命令信息装入移位寄存器。数据在时钟(SCLK)的上升沿串行输入,前8位指定访问地址。命令字装入移位寄存器后,在之后的时钟周期,读操作时输出数据,写操作时输入数据。时钟脉冲的个数在单字节方式下为88(8位地址8位数据),在多字节方式下最多可达8248。
224控制字节及寄存器DS1302的一次数据传送是从发送控制字节开始的。控制字节的最高有效位位7
必须是逻辑1,如果该位为0,则无法把数据写入到DS1302中;位6表示要读写的数据类型,为0表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示要操作单元的地址;最低有效位位0表示命令类型,为0表示要进行写操作,为1表示要进行读操作。控制字节总是从最低位开始输出。其控制字节格式如图24所示。
图24控制字节格式
对DS1302的操作就是对其内部寄存器的操作,DS1302内部共有12个寄存器,
6
f其中有7个寄存器与日历、时钟有关,存放的数据位为BCD码形式。
表21DS1302的日历时钟寄存器及控制字
此外还有控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为C0HFDH其中奇数为读操作,偶数为写操作;另一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH写、读。225数据的传送
向DS1302写入数据时,数据在控制字节输入后的下一个SCLK周期的上升沿被写入,多余的SCLK将被忽略。数据写入时从低位位0开始;同样,从DS1302读取数据时,数据在紧跟控制字节后的下一个SCLK的下降沿读出,读出数据时也是从低位0位到高位7位,只要RST保持高电平,额外的SCLK将导致数据字节的持续读出,这个特性用于实现该芯片的突发读模式。
对DS1302的每一次读写需16个时钟脉冲前8个脉冲输入操作地址和读写命令,后8个脉冲写入或读出数据。数据传送时序如图25。
7
f图25数据读写时序图
8
f3电子钟软件设计
31系统结构图及总流程图
根据软件功能要求,将系统软件r