0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >工业控制 > 基于DS1302时钟芯片的51单片机程序设计方案

基于DS1302时钟芯片的51单片机程序设计方案

来源: toutiao
2020-08-06
类别:工业控制
eye 70
文章创建人 拍明

原标题:DS1302时钟芯片的51单片机程序设计方案

  今天我们来讲的是时钟芯片DS1302.在之前的文章中已经简单介绍过这块芯片的原理,在此我们主要讲的是程序设计部分。关于DS1302的一个简介大家可以自行百度,在此小代就不做过多的说明。

  一、 DS1302时钟芯片的原理

  DS1302是美国推出的一片带有RAM的实时时钟芯片,它能对年月日周,时分秒进行技术,具有闰年补偿那功能,动作电压2.5-5.5V,采用三线接口和MCU连接。计时的时钟来源为外接的32.768K晶振产生。三线接口分别为RST、IO和SCLK。RST是复位/片选信号,当RST为高电平是,允许DS1302进行操作,在传送数据过程中RST置为低电平则会终止此次数据的传送,IO变为高阻态。IO为串行数据输入输出端口,SCLK为串行传输的时钟信号线,只有在SCLK为低电平是,才能将RST置为高电平。

  DS1302内部有14个和时间相关的寄存器,还有2个控制寄存器,还有31个RAM单元,本文我们只对和时间相关的寄存器做介绍。

  具体请看下表

  

1.png

  DS102芯片内部寄存器

  在以上表格中需注意:

  1、秒寄存器的最高位CH为时钟停止位,为0时振荡器工作,为1是停止。

  2、时寄存器的最高位是12小时制和24小时制的选择位,此位为1是12小时制,此时第5位AP=1位下午,AP=0为上午,反之亦然。

  DS1302的串行数据传输是从低位开始的,不管是读操作还是写操作。具体看时序图:

  

原创|DS 1302时钟芯片的<a target=51单片机程序设计" src="https://supp.iczoom.com/images/public/202008/1596681280520055707.jpg" width="640" height="339"/>

  DS1302时序图

  我们来总结下如何对DS1302操作:

  1)首先要通过8eH将写保护去掉,这样我们才能将日期,时间的初值写时各个寄存器。

  2)然后就可以对80H、82H、84H、86H、88H、8AH、8CH进行初值的写入。同时也通过秒寄存器将位7的CH值改成0,这样DS1302就开始走时运行了。

  3)将写保护寄存器再写为80H,防止误改写寄存器的值。

  4)不断读取80H-8CH的值,将他们转化为十进制后显示出来就可以啦,之前我们说过,DS1302读出的数据是BCD码,所以需要转换一下。

  二、DS1302的接口电路

  

原创|DS 1302时钟芯片的51单片机程序设计

  DS1302接口电路

  三、DS1302的C51程序设计

  此处提供的程序主要是DS1302芯片的读写操作的驱动程序,完整程序将会在后面的教程里提供。(小代提供的程序保证是源码,可完全运行的源码,将会在视频教程中全部讲解,在此提供图片形式代码,需要请自行动手敲进去,小代不提倡初学直接来复制粘贴)。

  

原创|DS 1302时钟芯片的51单片机程序设计

  DS1302初始化函数

  

原创|DS 1302时钟芯片的51单片机程序设计

  DS1302读操作函数

  

原创|DS 1302时钟芯片的51单片机程序设计

  DS1302写操作函数

  

原创|DS 1302时钟芯片的51单片机程序设计

  DS1302写数据到某个地址函数

  

原创|DS 1302时钟芯片的51单片机程序设计

  DS1302读某地址数据函数



责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案