找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10226|回复: 13
收起左侧

DS1302时钟数码管显示_c语言编写

[复制链接]
ID:1 发表于 2009-11-1 02:11 | 显示全部楼层 |阅读模式

http://www.51hei.com/ziliao/51hei-5/DS1302时钟_c.rar

显示效果:
1,数码管上显示:时,分
2,数码管分位的小数点闪烁表示秒
3,时间初始值10.59.50秒

[此贴子已经被作者于2009-11-4 2:25:47编辑过]
回复

使用道具 举报

ID:21429 发表于 2010-2-15 23:12 | 显示全部楼层
谢谢!
回复

使用道具 举报

ID:25357 发表于 2010-8-9 00:40 | 显示全部楼层
为什么开发板的电池没用呢?
回复

使用道具 举报

ID:22246 发表于 2010-8-9 04:31 | 显示全部楼层
不是电池没有用,而是这个程序在每一次上电都初始化了一次ds1302的时间值,只要把初始化的那个语句删掉,电池就有用了
回复

使用道具 举报

ID:25357 发表于 2010-8-9 08:20 | 显示全部楼层

但是,如果不初始化,开始就显示不正常了。

回复

使用道具 举报

ID:1 发表于 2010-8-9 16:00 | 显示全部楼层

倒数第2行,干掉他就行了,不过干掉之前别忘记了装上电池初始化ds1302的时间,而且电池从此时开始就不能拔掉了,不然会就导致显示不正常.

v_Set1302();   //时间初值  就是这一句

回复

使用道具 举报

ID:25357 发表于 2010-8-9 19:52 | 显示全部楼层
我就是搞不懂,干掉它之前如何初始化。。。
回复

使用道具 举报

ID:1 发表于 2010-8-10 02:33 | 显示全部楼层

过程是:先装上电池->烧录我提供的没有修改过的hex文件-> 然后删掉v_Set1302();   //时间初值 这一句 -> 然后重新生成hex文件-> 烧录新的hex文件

 

这样就行了,本人已经过试验验证ok

回复

使用道具 举报

ID:25357 发表于 2010-8-10 08:27 | 显示全部楼层

好奇怪,我的先装一次原来的hex就显示正常,再把v_set1302()删掉,重新生成后,烧入。。。可是每次都显示00 00 80

回复

使用道具 举报

ID:1 发表于 2010-8-10 17:51 | 显示全部楼层

  显示00 00 80 表示没有起振,可能你的电池已经电量不够,或者接触不良了,

你加入下面这一句即可起振,就是把秒寄存器的CH位置0.

v_W1302(0X80,0X00);//写秒起振

但是你的原始时间值还是没有被保留.

你可先看看ds1302的基础知识 http://apps.hi.baidu.com/share/detail/15013403

 

  问题是你先装了电池,烧录我提供的原始hex的时候,CH位已经被我的程序置0,而你现在读出来的秒是80,就表示CH位已经被复位为1了,而你电池是装上的,ds1302一直有持续的供电,不应该发生这种情况,所以我分析是电池没电了,或者接触不良你用万用表测一下

[此贴子已经被作者于2010-8-10 17:53:21编辑过]
回复

使用道具 举报

ID:25357 发表于 2010-8-10 20:29 | 显示全部楼层

哈,谢谢,可以用了,果然是电池没电了。

回复

使用道具 举报

ID:99130 发表于 2016-4-18 19:06 | 显示全部楼层
楼主 怎么没有电路图
回复

使用道具 举报

ID:23303 发表于 2017-5-22 10:03 | 显示全部楼层
谢谢,可以用了,果然是电池没电了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表