| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 【蓝桥杯-单片机学习笔记(十四)】DS1302 -> 正文阅读 |
|
[嵌入式]【蓝桥杯-单片机学习笔记(十四)】DS1302 |
一、DS1302介绍 1.功能介绍 DS1302包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信仅通过一条串行输入输出口,实时时钟/日历提供包括秒、分、时、日期、月份和年份信息。闰年可自行调整,可选择12小时制和24小时制,可设置AM、PM。 DS1302工作电压范围是2V~5.5V。DS1302只通过三根线进行数据的控制和传递:CE、I/O(Data line)、SCLK(Serial clock),如下图所示。读写时钟寄存器或内部RAM(31*8位的额外数据暂存寄存器)可以采用单字节模式和突发模式。 2.工作过程 工作原理图如下所示,包括移位寄存器、控制逻辑、晶振、时钟和RAM。在进行任何数据传输时,CE必须置为高电平(CE被置为高电平,内部时钟还是在晶振作用下走时,此时允许外部读写数据),在每个SCLK上升沿时数据被输入,下降沿时数据被输出,一次只能读写一位,是读还是写取决于串行输入控制指令,通过8个脉冲便可以读取一个字节从而实现串行输入与输出。 刚开始时,通过8个时钟周期载入控制字节到移位寄存器,如果控制指令是单字节模式,连续的8个时钟脉冲可以进行8位数据的写和8位数据的读操作,SCLK时钟的上升沿时,数据被写入DS1302,SCLK时钟为下降沿时读出DS1302的数据,8个脉冲便可以读写一个字节。在突发模式,通过连续脉冲一次性读写完7个字节的时钟/日历寄存器,也可以一次性读写8~328位RAM数据(可按实际情况读写一定数量的,不必全部读写)。 3.控制指令 ?每个字节的传输是有控制字节指定的,控制字节最高位bit7必须是1,如果是‘0’,写入将被禁止。如果这位是0,可以禁止写入。bit6为‘0’表示对时钟/日历寄存器控制读写操作,为‘1’表示对RAM区数据的控制读写操作,bit1~bit5指定相关寄存器待进行输入输出操作,最低位bit0指定是输入还是输出,为‘0’则为写(输入),为‘1’则为读(输出)。 4.数据传输 所有数据传输在CE置1时进行,CE输入信号有两个功能:一是CE接通控制逻辑,允许地址/命令序列送入移位寄存器;二是CE提供终止单字节或多字节数据的传送手段。当CE为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。在传送过程中如果CE置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc≥2.5V之前,CE必须保持低电平。只有在SCLK为低电平时,才能将CE置为高电平。I/O为串行数据输入输出端(双向),SCLK始终是输入端。如图是读数据和写数据时序图。 ?(1)数据输入 经过8个时钟周期的控制字节的输入,一个字节的输入将在8个时钟周期的上升沿完成,数据传输从字节最低位开始。 (2)数据输出 经过8个时钟周期的控制读指令的输入,一个字节的数据将在下个8个时钟周期的下降沿被输出,注意第一位输出是在最后一位控制指令所在脉冲的下降沿被输出,要求CE保持高电平。 同理8个时钟周期的控制读指令如果指定的是突发模式,将会在脉冲的上升沿读入数据,下降沿读出数据,突发模式一次可以进行多字节数据的一次性读写,只要控制好脉冲就行了。 (3)日历时钟寄存器(数据格式:BCD码) 1° 秒寄存器(80H和81H)的bit7(CH)是时钟暂停标志位 ?CH为0时,时钟振荡停止; CH为1时,时钟开始运行。 2° 控制寄存器(8EH和8FH)的bit7(WP)为写保护位。 WP为0时,可对任何的时钟或RAM寄存器进行写操作; WP为1时,禁止对任一寄存器进行写操作。 二、程序编写
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 10:44:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |