论坛上用DS1302做万年历的人很多,我以前在面板板上也调试成功过。但是这次做这个是为一验证一个目的。我在玩单片机的过程中发现有很多项目要跟人互动时都需要显示屏和按键,然而还有很多其他硬件。如何协调这些模块的相互工作就是难点了,我之前做这类项目代码非常乱以至于过一段时间再去看就完全不知道自己写的是什么东西,所以非常想要一个可以容易实现管理有显示屏和按键等多个硬件的框架结构。后来不经意间发现windows的消息机制非常好,就想借鉴用。后来发现自己根本没有能力和时间去研究wiindows的消息机制,所以最后就按自己的理解构建了一个属于51单片机用的消息机制。为了验证好不好用就借用了这个万年历来实验。不多说了,还是先看下图片吧。
我的程序通过在DS1302的RAM中设置完全断电标志位来实现只有在完全断电的情况下(包括备用电池断开)才重新给DS1302初始化。备用电池存在时每次单片机上电是不会初始化DS1302的,这点可以给新手借鉴下