作者:GWD 时间:2019.06.28
一、 学习要点
1、问:DS1302的(双)总线与DHT11的单总线区别?
答:DS1302的总线是一条数据线,一条时钟线,此类总线“上写下读”,上升沿写入数据给器件,下降沿读取器件发送给主机的数据,此类传感器在读写操作前一定有控制命令发送给器件告知器件此次操作是读还是写,从而决定是给数据口赋值还是读取;DHT11的单总线类是靠检测数据线时长判断高点电平信号的。双总线串行就是把时钟信号当做一扇门了,配合数据信号进行操作。
2、问:串行数据通信接收/发送时高低位的次序怎么决定?
答:数据流发送方向与一元数轴类似从左向右传输,所以先传送低位;当主机接受数据,从机发送数据时候看为数轴的负方向所以先发送高位给主机;
3、问:DS1302数据格式怎么构成的?
答:
1)、写数据发送地址(写命令)+内容;
2)、读数据发送地址(读命令)+内容
4、问:出现实际两分钟的时候,DS1302的分钟才进位的原因?
答:在读取和写入函数中的数值左移一位语句的位置不是随便放置的,写入函数要在循环体末尾插入;读取函数时候要在循环体开始插入;若是多移一次正好差二倍;
5、问:八位数据中如何快速分出高四位与低四位?
答:除以十六就是高四位的值,对16做求余数运算结果就是低四位,同理可得32位数据拆分高16位于低16位;
6、问:时序图中菱形表示什么?
答:表示数据。
二、手册分析
1、
2、DS1302 是 DALLAS (达拉斯)公司推出的涓流充电时钟芯片 内含有一个实时时钟/日历和 31 字节静态 RAM 通过简单的串行接口与单片机进行通信,实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整 时钟操作可通过 AM/PM 指示决定采用 24 或 12 小时格式 DS1302 与单片机之间能简单地采用同步串行的方式进行通信 仅需用到三个口线 1 RES 复位 2 I/O 数据线 3 SCLK串行时钟 时钟/RAM 的读/写数据以一个字节或多达 31 个字节的字符组方式通信 DS1302 工作时功