今天来讲DS1302实时时钟。
DS1302是由美国一公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,且具有闰年补偿等多种功能。(由于单片机的DS1302里没有备用电池,所以断电后它不能持续进行计时了)
其中值得注意的是VCC2是主电源,VCC1是备用电池。X1、X2是用来提供脉冲,进行计时的。CE就是他的开关。IO就是来进行输入读出数据的。
它的内部结构框图如下
其中1是他的电源,2是生成1JZ标准频率进行计时的,3是它的内部寄存器,4是让芯片读取输出数据的。
寄存器的内部定义如下
第一个是秒,第二个是分,第三个是小时,第四个是天,第四个是月,第五个是周,第六个是年,第七个是写保护。
然后我们就要进行曲写入以及读出它。
其中第七位固定为1,第六位给一就是操作ram给零就是操作ck,第五到第一位是确定位置,第零位是给一就是读取给零就是写入。
其中时序定义如下:
其中只有读入的右边那8位是由芯片操控的,其余都是由单片机操作的。
对于单字节写入:给一个上升沿它就会读一位依次重复。
对于单字节读出:其中前半段与写入相同,后半段是由一个下降沿读出一位,依次重复8次。