下载此文档

ds1302编程手册.doc


文档分类:汽车/机械/制造 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
DS1302编程操作
1、DS1302有关日历、时间的寄存器
这张表是DS1302内部的7个与时间、日期有关的寄存器图和一个写保护寄存器,我们要做的就是将初始设置的时间、日期数据写入这几个寄存器,然后再不断地读取这几个寄存器来获取实时时间和日期。这几个寄存器的说明如下:
1、秒寄存器(81h、80h)的位7定义为时钟暂停标志(CH).当初始上电时该位置为1,时钟振荡器停止,DS1302处于低功耗状态;只有将秒寄存器的该位置改写为0时,时钟才能开始运行。ﻫ2、小时寄存器(85h、84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是 ,当为1时,表示PM。在24小时模式时,位5是第二个10小时位
3、控制寄存器(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就开始走时运了。
3 将写保护寄存器再写为80H,防止误改写寄存器的值.
4 不断读取80H-8CH的值,将它们格式化后显示到1602LCD液晶上
void Init_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 写操作是90H
4-7位:      TCS=1010  能充电          

ds1302编程手册 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sanshenglu2
  • 文件大小123 KB
  • 时间2021-01-22
最近更新