小年大家在家应该是没有时间来看代码把?麻糖吃了吗?
本节我们即将进行第一阶段的最后一次练习题的训练了。能够坚持看到这篇帖子的同学们,首先在这里恭喜大家,你的水平已经相对来讲比较优秀了。单片机常规的模块和编程方法,基本都已经能够较好的掌握了。当然,如果真的想进一步提升自己的水平,那么听大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
当然,各位小伙伴如对代码有问题,或者自己写的有更好的代码,一定要及时回帖与大家分享哦~!大家多交流,才能更上一层楼嘛~
到此,我们的第一阶段的练习题已经全部进行完了。接下来,我会在第二阶段--历年模拟题与真题篇中,带领大家一起,把从第一届竞赛以来各届的真题,进行详细的分析讲解,并在文末附上相关代码。希望能给大家一些参考。历年真题撸一遍,到时赛场上,就能胸有成竹了哟~
历年真题即将到来,各位小可耐,你们准备好了吗?