电子产品世界 » 论坛首页 » 高校社团 » 坤创E-Geek/天科大新电社 » 10. 单片机对DS1302进行时间数据采集、显示及存储(EEPROM)

共9条 1/1 1 跳转至

10. 单片机对DS1302进行时间数据采集、显示及存储(EEPROM)

工程师
2019-01-28 23:59:24    评分

小年大家在家应该是没有时间来看代码把?麻糖吃了吗?

本节我们即将进行第一阶段的最后一次练习题的训练了。能够坚持看到这篇帖子的同学们,首先在这里恭喜大家,你的水平已经相对来讲比较优秀了。单片机常规的模块和编程方法,基本都已经能够较好的掌握了。当然,如果真的想进一步提升自己的水平,那么听大Z老师一句话:C语言的基础,一定要搞扎实!特别是以后接触到一些RTOS操作系统源码的时候... ...好了,扯得有点远,咱们还是先简单分析一下今天的题目。

今天的题目是和DS1302这个时钟芯片相关的。大家如果之前几节都能按照题目要求进行练习的话,就会发现其实DS1302也并不难了。我们只需要按照它的芯片手册中的时序写好驱动函数,就能顺理成章的从DS1302中读取数据啦~

本节继续使用模块化编程风格来编写代码。如果仍旧对模块化编程不太了解的小伙伴,可以摸红字部分超链接单片机模块化编程系列教学帖,自行查看学习哦~

本节的题目针对DS1302芯片与EEPROM,设计了一道练习题。该题的3个要求如下:

(1)显示时分秒,并在数码管上显示;

(2)按键S4切换显示年月日;

(3)按键年月日时分秒修改;

(4)闹钟定时,定时时间存储在EEPROM中。

在解题之前,我们简单对小红板电路强调一点。由于小红板的DS1302电路是通过跳针引出的,我们分别采用杜邦线将DS1302电路的三个引脚按照如下对应关系连接到单片机IO口,同时需要取下流水灯的跳线帽,DS1302才能够正常进行数据读写(代码中也会有相应注释,请留意查看)

RST ----> P1^2

SD ----> P1^1

SCK ----> P1^0

由于本题目的代码相对来讲较长,而本帖占用的篇幅较大,其中包括delay.c、delay.h、ds1302.c、ds1302.h、iic.c、iic.h以及main.c这些代码文件,因此不再一一帖出,有需要的小伙伴们,请动动发财手,直接摸下方打包下载链接进行下载哦!

----------------所有代码打包下载链接------------------

10.单片机 对DS1302进行时间数据采集、显示及存储(EEPROM).zip

    当然,各位小伙伴如对代码有问题,或者自己写的有更好的代码,一定要及时回帖与大家分享哦~!大家多交流,才能更上一层楼嘛~

    到此,我们的第一阶段的练习题已经全部进行完了。接下来,我会在第二阶段--历年模拟题与真题篇中,带领大家一起,把从第一届竞赛以来各届的真题,进行详细的分析讲解,并在文末附上相关代码。希望能给大家一些参考。历年真题撸一遍,到时赛场上,就能胸有成竹了哟~

历年真题即将到来,各位小可耐,你们准备好了吗?





关键词: DS1302     单片机     EEPROM     存储     数据采集    

专家
2019-01-29 15:27:57    评分
2楼

大家注意,在读取 与 写入 转换时,如果数据异常,可以在转换的时候添加一些延时。


管理员
2019-01-30 09:04:21    评分
3楼

涨姿势  涨姿势


菜鸟
2019-01-31 13:35:42    评分
4楼

关于DS1302这个东西,大多就是用到时钟上面的,而关于时钟往往会涉及到暂停的操作;细心的同学就会发现DS1302里有专门的暂停时间的操作,所以不要再用软件的手段来暂停时间的了!


菜鸟
2019-01-31 14:40:15    评分
5楼

把第八届赛题电子钟弄会  ,DS1302就没有什么问题了


高工
2019-02-02 12:09:19    评分
6楼
还是觉得dht11好用。

专家
2019-02-03 08:36:26    评分
7楼

谢谢分享啊,学习了


菜鸟
2019-03-11 15:39:21    评分
8楼

时间的那个数组为什么是10进制    就是驱动里的这个uchar shijian[7] = {50,59,23,28,1,6,19};

ds1302 输出的不应该是BCD码么


菜鸟
2019-03-16 19:49:16    评分
9楼

可见




共9条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]