使用Arduino和DS12C887芯片制作电子时钟(附Arduino源代码)

如何使用Arduino对DS12C887时钟模块进行时间读写

搜了一下DS12C887的资料,最详细的是郭天祥关于这个模块的视频教程,教程中讲解了这个模块的使用手册和程序的编写,但是这个教程是在51单片机上讲的,由于51与Arduino的不同,把程序直接移植到Arduino上比较困难。

由于在网上没有搜到与这个时钟模块相关的Arduino库或基于arduino的教程,本人参考了一些资料,写出了Arduino下的程序,并成功进行了时间的读写,于是就把方法记录下来保存了。

本文将提供相应的接线方法以及程序。

先简单介绍一下DS12C887这个时钟模块:

可计算到2100年前的秒、分、小时、星期、日期、月、年七种日历信息并带闰年补偿;
自带晶体振荡器和锂电池。在没有外部电源的情况下可工作10年;
——百度百科

模块实物

缺点:
地址/数据总线有8根,占用了很多IO口
相比1302,3231时钟模块体积更大,不适合装在小体积产品上


零件表

零件 数量
arduino UNO 1
arduino 拓展版 1
DS12C887模块 1
面包板 1
电池 1
杜邦线 若干

Arduino UNO+DS12C887接线

NC=not connect,就是不连接的意思。
MOT悬空即Inter总线模式,这里我们选用Inter总线模式,所以MOT引脚悬空。
NC为悬空
DS12C887对应Arduino UNO引脚

DS12C887 UNO
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 GND
13 14(A0)
14 15(A1)
15 16(A2)
17 17(A3)
18 VCC
19 12
24 VCC

程序源码

  1const int dscs=14;
2const int dsas=15;
3const int dsrw=16;
4const int dsds=17;
5const int dsirq=12;
6//define bidirectional address-data bus(定义双向地址总线)
7const int ad[8]={ 4,5,6,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值