CE 和 SSEL 的使能控制是反的,对于通信写数据,
都是在 SCK 的上升沿,从机进行采样,下降沿的时候,主机发送数据。 DS1302 的时序里,
单片机要预先写一个字节指令,指明要写入的寄存器的地址以及后续的操作是写操作,然后
再写入一个字节的数据。
读操作有两处需要特别注意的地方。第一, DS1302 的时序图上的箭头都是针对 DS1302
来说的,因此读操作的时候,先写第一个字节指令,上升沿的时候 DS1302 来锁存数据,下
降沿我们用单片机发送数据。到了第二个字数据,由于我们这个时序过程相当于
CPOL=0/CPHA=0,前沿发送数据,后沿读取数据,第二个字节是 DS1302 下降沿输出数据,
我们的单片机上升沿来读取,因此箭头从 DS1302 角度来说,出现在了下降沿。
第二个需要注意的地方就是,我们的单片机没有标准的 SPI 接口,和 I2C 一样需要用 IO
口来模拟通信过程。在读 DS1302 的时候,理论上 SPI 是上升沿读取,但是程序是用 IO 口模
拟的,所以数据的读取和时钟沿的变化不可能同时了,必然就有一个先后顺序。通过实验发
现,如果先读取 IO 线上的数据,再拉高 SCLK 产生上升沿,那么读到的数据一定是正确的,
而颠倒顺序后数据就有可能出错。这个问题产生的原因还是在于 DS1302 的通信协议与标准
SPI 协议存在的差异造成的,如果是标准 SPI 的数据线,数据会一直保持到下一个周期的下
降沿才会变化,所以读取数据和上升沿的先后顺序就无所谓了;但 DS1302 的 IO 线会在时钟
上升沿后被 DS1302 释放,也就是撤销强推挽输出变为弱下拉状态,而此时在 51 单片机引脚
内部上拉的作用下, IO 线上的实际电平会慢慢上升,从而导致在上升沿产生后再读取 IO 数
据的话就可能会出错。因此这里的程序我们按照先读取 IO 数据,再拉高 SCLK 产生上升沿
的顺序。

DS1302时钟芯片时序相关推荐

  1. 【蓝桥杯单片机】DS1302时钟芯片+DS18B20单总线温度传感器(官方驱动源码改写)

    实验开发板为CT107D蓝桥官方板,编译环境为MDK5 采用蓝桥官方驱动改写 目录 一.DS1302时钟芯片 二.DS18B20温度传感器 一.DS1302时钟芯片 CE 复位脚 I/O 数据输入/输 ...

  2. 【C51单片机学习笔记--DS1302时钟芯片蜂鸣器I2C总线AT24C02存储器】

    C51单片机学习笔记–DS1302时钟芯片&&蜂鸣器&&I2C总线&&AT24C02存储器 文章目录 一.DS1302时钟芯片介绍 二.DS1302时钟 ...

  3. ds1302模块 树莓派_Arduino控制DS1302时钟芯片(ds1302引脚图及功能和应用电路)

    DS1302应用电路 应用电路一: DS1302的电路一个重点就是时钟电路,它所使用的晶振是一个32.768k的晶振,晶振外部也不需要额外添加其他的电容或者电阻电路了.时钟的精度,首先取决于晶振的精度 ...

  4. DS1302时钟芯片(51单片机)

    DS1302芯片是三线SPI接口的,所以我们需要3个IO口模拟SPI时序与DS1302时钟芯片进行通信,将时钟日历数据读取出来. 话不多说直接上重点,相信大家也是想要知道怎么来使用DS1302.大致过 ...

  5. 传感器:DS1302时钟芯片及驱动代码

    传感器:DS1302时钟芯片及驱动代码 DS1302时钟芯片介绍 DS1302 硬件 引脚定义 应用电路 AD原理图 DS1302 软件 命令字节 寄存器 通信时序与数据读写 驱动程序 DS1302写 ...

  6. 基于STM32的DS1302时钟芯片驱动

    基于STM32的DS1302时钟芯片驱动 /****************************************************************************** ...

  7. 蓝桥杯单片机DS1302时钟芯片驱动代码注释

    蓝桥杯单片机DS1302时钟芯片驱动代码之前的疑惑注释了下 /* DS1302 芯片包含一个 实时时钟/日历和 31 字节的静态 RAM. 与时钟/RAM 通讯只需要三根线: CE,I/O (数据线) ...

  8. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》...

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

  9. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》... 1

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

最新文章

  1. HJ10 字符个数统计
  2. SAP CRM my task 6个roundtrip的原理讲解
  3. cute editor详细设置
  4. vue2+less开发,使用vux-loader,配置全局less变量
  5. python 列表嵌套字典 添加修改删除_【Python】列表嵌套字典修改字典里面的一个值却把全部的值都修改了。...
  6. python 子线程返回值_python-从线程返回值
  7. 设无向图g如图所示_阿里重磅发布大规模图神经网络平台 AliGraph,架构算法解读...
  8. 《PHP程序员面试笔试宝典》——如何巧妙地回答面试官的问题?
  9. 各大公司官网都有哪些显而易见的Bug?
  10. 社区奖品之USB电动迷你碎纸机
  11. Android ViewFlipper翻转视图的基本使用
  12. FPGA 实现SVPWM调制
  13. java dll源码查看工具_Java调用dll库源码
  14. pytorch中加入注意力机制(CBAM),以ResNet为例。到底要不要用ImageNet预训练?如何加预训练参数?
  15. wechaty-微信聊天机器人-调研分析
  16. 希尔排序选择排序时间复杂度分析
  17. 全球首款18GB RAM手机:腾讯ROG游戏手机5发布
  18. 乱花渐欲迷人眼:浅谈关于分布式存储的五大 “谎言”
  19. SICP读书笔记 2.5
  20. 【高中数学选修2-3】排列,组合,二项式定理,杨辉三角

热门文章

  1. java内存优化之SoftReference
  2. 不再饥饿营销 苹果公司一改中国内地销售策略
  3. Codeforces Round #742 (Div. 2) B、C 题解
  4. 单例模式懒汉式和饿汉式区别
  5. Java面向对象三大特性之【多态性】
  6. 用MVVM模式开发中遇到的零散问题总结(4)——自制摄像头拍摄大头贴控件
  7. 职业规划:兴趣不是挡箭牌,关键是要找到你的成就动机
  8. 深入理解计算机系统——缓存溢出、对抗缓存溢出的攻击、支持变长栈帧
  9. IE浏览器 对象不支持replaceAll属性或方法
  10. python网络爬虫实验报告_Python网络爬虫实例讲解