1 / 7
文档名称:

ds1302编程手册.docx

格式:docx   大小:248KB   页数:7页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ds1302编程手册.docx

上传人:buzaiwuzhuang123 2020/5/18 文件大小:248 KB

下载得到文件列表

ds1302编程手册.docx

文档介绍

文档介绍:DS1302编程操作1、DS1302有关日历、时间的寄存器这张表是DS1302内部的7个与时间、日期有关的寄存器图和一个写保护寄存器,我们要做的就是将初始设置的时间、日期数据写入这几个寄存器,然后再不断地读取这几个寄存器来获取实时时间和日期。这几个寄存器的说明如下:秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH)。当初始上电时该位置为1,时钟振荡器停止,DS1302处于低功耗状态;只有将秒寄存器的该位置改写为0时,时钟才能开始运行。小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是,当为1时,表示PM。在24小时模式时,位5是第二个10小时位控制寄存器(8Fh、8Eh)的位7是写保护位(WP),其它7位均置为0。在对任何的时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。也就是说在电路上电的初始态WP是1,这时是不能改写上面任何一个时间寄存器的,只有首先将WP改写为0,才能进行其它寄存器的写操作。2、我们现在就来编程看一下,如何对DS1302进行操作把时钟信息显示在1602LCD上。1首先要通过8EH将写保护去掉,将日期,时间的初值写入各个寄存器。然后就可以对80H、82H、84H、86H、88H、8AH、8CH进行初值的写入。同时也通过秒寄存器将位7的CH值改成0,这样DS1302就开始走时运了。将写保护寄存器再写为80H,防止误改写寄存器的值。不断读取80H-8CH的值,将它们格式化后显示到1602LCD液晶上voidInit_DS1302(void){WriteSet1302(0x8E,0x00);//根据写状态寄存器命令字,写入不保护指令WriteSet1302(0x80,((0/10)<<4|(0%10)));//根据写秒寄存器命令字,写入秒的初始值WriteSet1302(0x82,((0/10)<<4|(0%10)));//根据写分寄存器命令字,写入分的初始值WriteSet1302(0x84,((12/10)<<4|(12%10)));//根据写小时寄存器命令字,写入小时的初始值WriteSet1302(0x86,((16/10)<<4|(16%10)));//根据写日寄存器命令字,写入日的初始值WriteSet1302(0x88,((11/10)<<4|(11%10)));//根据写月寄存器命令字,写入月的初始值WriteSet1302(0x8c,((8/10)<<4|(8%10)));//根据写小时寄存器命令字,写入小时的初始值}3、DS1302有关RAM的地址DS1302中附加31字节静态RAM的地址4、DS1302的工作模式寄存器所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。突发模式寄存器5、DS1302充电寄存器寄存器地址是08H读操作是91H写操作是90H2-3位: DS=01为一个二极管4-7位:TCS=1010能充电 DS=10为二个二极管DS=00无二极管,不能充电DS=11无二极管,不能充电0-1位:RS=00无电阻,不能充电 RS=012KRS=104KRS=118K10100101 10100110101001111010100101011100其它