一、DS1302
DS1302是由美国DALLAS公司推出的具有涓细电流充电能力的低功耗实时时钟芯片。它可以对年、月、日、周、时、分、秒进行计时,并且具有闰年补偿等多种功能。
RTC:实时时钟 ,一种集成电路,通常称为时钟芯片。
直插和贴片分装
晶振提高稳定性,使时钟按一定的频率走。(石英晶体振荡器,在较大的温度范围内能保持稳定频率,精度极高)
CE相当于开关,控制IO和SCLK可以正常工作。
二、内部框架图
可写入也可以读取。
CE(芯片使能):相当于开关,只有当他是高电频时,LO和SCLK才能控制移位寄存器传输数据才作用域RAM(一个寄存器),否则LO和SCLK无论如何工作,移位寄存器中的数据都无法访问RAM。
三、寄存器定义
WP:使能标志位,如果置1,对于上面的秒,分等寄存器,就只能读取数据,无法通过这些寄存器对时钟写入数据。(置1,只读不写)
最后一行寄存器是用来对备用电源进行涓流充电的。
命令字:寄存器的地址,单片机写入或读取数据要在特定地方。
操作RAM第6位给1,操作CK(时钟)给0。
RD是读,置1时读。WR是写,置0时写入。
四、时序定义
要先给出命令字(地址),然后单片机才知道写入到哪里或 在哪里读取。(有低位到高位)
CE使能标志,给1单片机才能写入或读取。
写入:给lO口一个数据再让SCLK处于上升沿就可以读取第一个数据,不断循环就可以读取8个数据(1个字节)。(注意:数据写入是从左到右,先给数据再使SCLK处于上升沿)
读取:先写入命令字,同写入,读取时是单片机操控时钟,每有一个下降沿单片机就读取一个数据,此时单片机不操控lO,数据到lO口被识别。数据读取是在下降沿后读入到lO口。(先给下降沿,数据才到lO口,才被读取)
注意:八位数据最右边填到命令字的最左边这样延续下去。读取也是一样。
BCD码
BCD/16取高4位:BCD码由计算机读取会被看成8位二进制,所以显示时转换成十进制时会按1,2,3,4,5,6,7,8,9,16...这样延续,所以BCD/16其实是十进制下的数除以16,则可以求得十进制下的高位。
写入数据时由于时钟只能读取BCD码,所以要转换成BCDD码形式。