DS1302时钟芯片的使用
DS1302时钟芯片的使用详解
DS1302 是 DALLAS 公司推出的涓流充电时钟芯片
内含有一个实时时钟/日历和 31 字节静态 RAM可通过简单的串行接口与单片机进行通信
可提供:
–秒分时日日期月年的信息
–每月的天数和闰年的天数可自动调整
–可通过 AM/PM 指示决定采用 24 或 12 小时格式
–保持数据和时钟信息时功率小于 1mW
引脚功能
Vcc1:主电源;
Vcc2:备份电源。
当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电
当Vcc2< Vcc1时,由Vcc1向DS1302供电。
SCLK:串行时钟,输入,控制数据的输入与输出;
I/O:三线接口时的双向数据线;
CE:输入信号,在读、写数据期间,必须为高。
该引脚有两个功能:
第一,CE开始控制字访问移位寄存器的控制逻辑;
其次,CE 提供结束单字节或多字节数据传输的方法。
X1 X2 32.768KHz 晶振管脚
DS1302地址字节
控制字节逻辑有效位必须是逻辑1,若为0,则数据就写不进去1302中。
位6如果是0,则表示存取日历时钟数据
位6如果是0,则表示存取RAM数据。
一到五位则为操作地址,最低为为0表示写操作,1表示读操作。
控制字总是从最低位开始输出。在控制字指令输入后的下一个 SCLK 时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0 位)开始。同样,在紧跟 8 位的控制字指令后的下一个 SCLK 脉冲的下降沿,读出 DS1302 的数据,读出的数据也是从最低位到最高位
注意 控制字节总是从最低位开始输出
SINGLE-BYTE WRITE(单字节写入)
写一个字节相当于写两个,第一个写数据字节,第二个写地址字节。
数据写入时候CE必须拉高,否则输入数据无效
注意sclk信号线的变化
SINGLE-BYTE READ (单字节读取)
读取字节的过程中,也是先读取数据字节,之后再读取地址字节,信号线CE必须拉高。
注意:
在读取字节的过程中写字节过程上升沿有效,读取字节过程中是下降沿有效。
字节的写过程和读过程都是从低位到高位
DS1302寄存器
每个寄存器根据读写操作都分为读操作和写操作,同时还有对应的读地址写地址。
存放数据为BCD码形式
秒寄存器(81h,80h) 位7 定义为时间暂停位。
当 BIT1 为 1 时,时钟振荡器停止工作,DS1302 进入低功耗模式,电源消耗小于 100 微安。
当 BIT1 为 0 时,时钟振荡器启动,DS1302 正常工作。
小时寄存器(85h,84h) 位7 定义为 12 或 24 小时工作模式选择位。
当 BIT7 为高时,为 12 小时工作模式,此时 BIT5 为 AM/PM 位,
低电平标示 AM,高电平标示PM
在 24 小时模式下,位5 为第二个 10 小时位标示(20~23 时)。
写保护寄存器(8Fh,8Eh) 位7 WP 是写保护位
工作时,出 WP 外的其他位都置为 0,
对时钟/日历寄存器或 RAM 进行写操作之前,WP 必须为 0,
当 WP 为高电平的时候,不能对任何时钟/日历寄存器或 RAM 进行写操作。
如果要进行写操作,先让WP=0,才能对寄存器进行操作。
小总结
ds1302主要操作就是:
去掉写保护,对时间进行初始值设置,加上写保护,不断读取时间和日期,通过lcd或者数码管进行显示
- 通过8eH去掉写保护
- 对80H 82H 84H 86H 88H 8AH 8CH进行初值写入,同时通过秒寄存器将位7设置使CH=0,ds1302开始走时。
- 把写保护寄存器改为80H,防止时间出错
- 不断读取各个寄存器里面的值,将BCD码转换成十进制,用lcd或者数码管进行显示。
下一篇,直接上代码。
DS1302时钟芯片的使用相关推荐
- 基于STM32的DS1302时钟芯片驱动
基于STM32的DS1302时钟芯片驱动 /****************************************************************************** ...
- 蓝桥杯单片机DS1302时钟芯片驱动代码注释
蓝桥杯单片机DS1302时钟芯片驱动代码之前的疑惑注释了下 /* DS1302 芯片包含一个 实时时钟/日历和 31 字节的静态 RAM. 与时钟/RAM 通讯只需要三根线: CE,I/O (数据线) ...
- 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》...
引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...
- 【蓝桥杯单片机】DS1302时钟芯片+DS18B20单总线温度传感器(官方驱动源码改写)
实验开发板为CT107D蓝桥官方板,编译环境为MDK5 采用蓝桥官方驱动改写 目录 一.DS1302时钟芯片 二.DS18B20温度传感器 一.DS1302时钟芯片 CE 复位脚 I/O 数据输入/输 ...
- 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》... 1
引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...
- 51单片机进阶案例(1)——基于MATLAB GUI的单片机串口与PC的通信实现实时时钟和双向可调时钟功能(利用DS1302时钟芯片和LCD1602液晶屏)
目录 一.案例描述 二.实现功能 三.51单片机部分实现 3.1 实时时钟的实现 3.2 串口通信的实现 3.2.1 接收数据 3.2.2 发送数据 四.MATLAB部分实现 4.1 GUI界面 4. ...
- 【C51单片机学习笔记--DS1302时钟芯片蜂鸣器I2C总线AT24C02存储器】
C51单片机学习笔记–DS1302时钟芯片&&蜂鸣器&&I2C总线&&AT24C02存储器 文章目录 一.DS1302时钟芯片介绍 二.DS1302时钟 ...
- 使用51单片机和DS1302时钟芯片做一个简易的电子时钟
简易的电子时钟实验 一.前言 二.DS1302模块介绍 三.驱动DS1302的代码 3.1 初始化DS1302时钟芯片 3.2 读取DS1302时钟芯片的时间 3.3 设置DS1302时钟芯片的时间 ...
- 用单片机用c语言做闹钟,基于单片机与ds1302时钟芯片的电子闹钟C程序
原标题:基于单片机与ds1302时钟芯片的电子闹钟C程序 #include #define w_second 0x80 //秒写入地址 #define w_minute 0x82 //分写入地址 #d ...
- ds1302模块 树莓派_Arduino控制DS1302时钟芯片(ds1302引脚图及功能和应用电路)
DS1302应用电路 应用电路一: DS1302的电路一个重点就是时钟电路,它所使用的晶振是一个32.768k的晶振,晶振外部也不需要额外添加其他的电容或者电阻电路了.时钟的精度,首先取决于晶振的精度 ...
最新文章
- 2019年这50个Kafka面试题,你知道答案么?
- 汇编语言随笔(9)-实验11(用条件转移指令来编写子程序)
- 浅谈三层架构中的实体类(C#)
- Oracle 12C R2-新特性-转换函数的增强
- sonarQube 7.2版本下载配置pmd插件(版本要兼容),并设置只使用pmd规则
- 007--C++动态内存(数组)
- python画方波_python实现周期方波信号频谱图
- mac上用qt调用自己生成的qt动态库,该动态库又依赖第三方库
- myeclipse9安装SVN插件
- C#Const与static readonly的区别
- Node.js 的Web 服务器--Fenix
- Arrays和比较器
- As-If-Serial 理解
- 体验火热的Python抢票神器,先让你50个加速包
- matlab添加坐标,Matlab绘图添加直角坐标轴
- 【模拟电路】电源效率与散热
- python行业中性_知乎
- 面向对象:珍视你的好,一生温柔以待!
- linux千兆网卡接百兆交换机,千兆交换机可以接百兆网线吗?
- 解决iview weapp的i-input组件在微信开发者工具中不能输入值的问题
热门文章
- 禁用Google英文翻译功能
- 一文详述 Python 中的 property 语法
- 哔哩哔哩mac客户端!亲测!支持big sur系统
- 淘宝爬虫:看看房地产拍卖行情怎么样?附可视化分析
- 2.1.1 操作系统之进程的定义、特征、组成、组织
- html的九宫格构图教学视频,构图的基本技巧之九宫格构图
- 数据库驱动加载失败问题
- pat乙级【数列的片段和 (20分)】测试样例修改(第二个测试点)
- python:epub文件批量转TXT
- yolov 论文发表在什么期刊上_joe期刊是什么期刊_joe是什么意思_joe牌子