【单片机自学】8.数字时钟DS1302 1 概述 DS1302 是美国DALLAS 公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM 数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202 的升级产品,与DS1202 兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 DS1302的引脚排列,其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下也能保持时钟的连续运行。DS1302 由VCC1 或VCC2 两者中的较大者供电。当Vcc2 大VCC1+0.2V时,VCC2给DS1302 供电。当VCC2 小于VCC1 时,DS1302由VCC1供电。X1和X2是振荡源,外接32.768kHz 晶振。RST是复位/片选线,通过把RST 输入驱动置高电平来启动所有的数据传送。RST 输入有两种功能:首先,RST 接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST 提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O 引脚变为高阻态。上电运行时,在VCC>2.0V之前,RST 必须保持低电平。只有在SCLK为低电平时,才能将RST 置为高电平。I/O 为串行数据输入输出端(双向)。SCLK为时钟输入端。 下图是DS1302 寄存器,读取和写入时钟都使用这些寄存器。
图1 2 硬件原理与连接
图2 原理图
图3 实物图
表1 接线表 3 DS13012时钟原理程序 DS1302 端口定义
主函数如下
主函数的主循环之前初始化定时器(数码管扫描和时间基础),初始化DS1302 并写入预置的时间。
主循环中循环扫描按键,并判断键值是否为1,如果为1 表示低1 个按键按下,增加显示切换用数值displaynum,如果等于3 的时候清零。Displaynum的有效数值是0、1 和2。
根据已经判断的显示信息值进行选择性显示,上述三种情况分别判断Displaynum的数值,在对应的值的时候显示对应的信息,任何时刻三种信息只能显示一种,使用if-else if-else语句。 实验现象
图4 现场效果 源码下载链接 后续还将教你制作智能寻迹避障小车等项目,先,后面慢慢教你学单片机!
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/61157.html