DS1302时钟芯片的51单片机程序设计

一、 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单元,本文我们只对和时间相关的寄存器做介绍。
具体请看下表
ds102芯片内部寄存器
在以上表格中需注意:
1、秒寄存器的最高位ch为时钟停止位,为0时振荡器工作,为1是停止。
2、时寄存器的最高位是12小时制和24小时制的选择位,此位为1是12小时制,此时第5位ap=1位下午,ap=0为上午,反之亦然。
ds1302的串行数据传输是从低位开始的,不管是读操作还是写操作。具体看时序图:
ds1302时序图
我们来总结下如何对ds1302操作:
1)首先要通过8eh将写保护去掉,这样我们才能将日期,时间的初值写时各个寄存器。
2)然后就可以对80h、82h、84h、86h、88h、8ah、8ch进行初值的写入。同时也通过秒寄存器将位7的ch值改成0,这样ds1302就开始走时运行了。
3)将写保护寄存器再写为80h,防止误改写寄存器的值。
4)不断读取80h-8ch的值,将他们转化为十进制后显示出来就可以啦,之前我们说过,ds1302读出的数据是bcd码,所以需要转换一下。
二、ds1302的接口电路
ds1302接口电路
三、ds1302的c51程序设计
此处提供的程序主要是ds1302芯片的读写操作的驱动程序,完整程序将会在后面的教程里提供。(小代提供的程序保证是源码,可完全运行的源码,将会在视频教程中全部讲解,在此提供图片形式代码,需要请自行动手敲进去,小代不提倡初学直接来复制粘贴)。
ds1302初始化函数
ds1302读操作函数
ds1302写操作函数
ds1302写数据到某个地址函数
ds1302读某地址数据函数

支付清算市场:7年TOP1 文思海辉金融加速“智慧国结”落地
加密货币为什么很难升值
如何构建基于垂直的水培系统
口腔护理从NANK/南卡-Shiny声波电动牙刷开始,高效清洁口腔健康
iphone8什么时候上市?iphone8最新消息:iphone8要想胜,全面屏是最基本,但最期待的屏幕指纹识别还不定!
DS1302时钟芯片的51单片机程序设计
多位院士技术方向研究及发展路线图
通过指纹识别技术保护数字资产
私有化部署会议室无线投屏方案的简介
集成混合云存储在企业中存在什么意义
研华边缘可视化解决方案为客户提供更多的增值服务
Qualcomm完成具备Vantage 2特性的运营商Wi-Fi增强特性试验
探讨工业RFID解决罐箱堆场管理混乱的解决方案
冷思考:COB热潮下的技术与成本
小型无人机对地观测系统的特点及数据研究
资本助推、媒体炒作使得创业者在VR领域纷纷转战人工智能
聚划算超级聚享日,长虹·美菱AI智能家电重磅来袭
OPPO R11首发骁龙660 就是传说中的骁龙835低配版?
台积电和联发科什么关系_有什么区别
Power Integrations推出可控硅调光LYTSwitch-7 LED驱动器IC,可将BOM元件数减少40%